/**
 * TailAdmin bridge — Bootstrap-compatible utilities mapped to TailAdmin Free 1.3 look.
 */
:root {
  --ta-primary: #3c50e0;
  --ta-stroke: #e2e8f0;
  --ta-black: #1c2434;
  --ta-body: #64748b;
  --ta-meta-3: #10b981;
  --ta-meta-1: #dc3545;
  --ta-gray-2: #f7f9fc;
  --ta-boxdark: #24303f;
  --ta-strokedark: #2e3a47;
  --ta-form-input: #1d2a39;
}

.row { display:flex; flex-wrap:wrap; margin-left:-.5rem; margin-right:-.5rem; }
.row > [class*="col"] { padding-left:.5rem; padding-right:.5rem; }
.g-2 { --g:.5rem; margin:calc(var(--g)/-2); }
.g-2 > * { padding:calc(var(--g)/2); }
.g-3 { --g:.75rem; margin:calc(var(--g)/-2); }
.g-3 > * { padding:calc(var(--g)/2); }
.g-4 { --g:1rem; margin-left:calc(var(--g)/-2); margin-right:calc(var(--g)/-2); row-gap:var(--g); }
.g-4 > * { padding-left:calc(var(--g)/2); padding-right:calc(var(--g)/2); }
.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:.75rem!important}.mb-4{margin-bottom:1rem!important}
.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:.75rem!important}.m-0{margin:0!important}
.p-0{padding:0!important}.p-3{padding:.75rem!important}.p-4{padding:1rem!important}
.px-0{padding-left:0!important;padding-right:0!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}
.w-100{width:100%!important}.h-100{height:100%!important}
.d-flex{display:flex!important}.d-inline{display:inline!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.d-block{display:block!important}
.flex-column{flex-direction:column!important}.flex-grow-1{flex-grow:1!important}.flex-wrap{flex-wrap:wrap!important}
.align-items-center{align-items:center!important}.align-items-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}
.justify-content-between{justify-content:space-between!important}.justify-content-center{justify-content:center!important}
.gap-2{gap:.5rem!important}.gap-3{gap:.75rem!important}
.text-end{text-align:right!important}.text-center{text-align:center!important}.text-nowrap{white-space:nowrap!important}
.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fw-semibold{font-weight:600!important}
.small,small{font-size:.875rem}.opacity-50{opacity:.5}.font-monospace{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}
.fs-3{font-size:1.75rem!important;line-height:1.2}.fs-4{font-size:1.35rem!important;line-height:1.3}
.col-6{flex:0 0 50%;max-width:50%}.col-12{flex:0 0 100%;max-width:100%}
@media (min-width:576px){.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-9{flex:0 0 75%;max-width:75%}.d-sm-block{display:block!important}.d-sm-inline{display:inline!important}.flex-sm-row{flex-direction:row!important}}
@media (min-width:768px){
  .col-md-3{flex:0 0 25%;max-width:25%}
  .col-md-4{flex:0 0 33.333%;max-width:33.333%}
  .col-md-6{flex:0 0 50%;max-width:50%}
  .col-chart-70{flex:0 0 70%;max-width:70%}
  .col-chart-30{flex:0 0 30%;max-width:30%}
  .d-md-table-cell,.d-none.d-md-table-cell{display:table-cell!important}
}
@media (max-width:767px){
  .col-chart-70,.col-chart-30{flex:0 0 100%;max-width:100%}
}
@media (min-width:992px){
  .col-lg-4{flex:0 0 33.333%;max-width:33.333%}
  .col-lg-5{flex:0 0 41.666%;max-width:41.666%}
  .col-lg-6{flex:0 0 50%;max-width:50%}
  .col-lg-7{flex:0 0 58.333%;max-width:58.333%}
  .col-lg-8{flex:0 0 66.666%;max-width:66.666%}
  .d-lg-block{display:block!important}.d-lg-flex{display:flex!important}
  .d-none.d-lg-block{display:block!important}.d-none.d-lg-flex{display:flex!important}
  .d-none.d-lg-table-cell{display:table-cell!important}
}
@media (min-width:1200px){
  .col-xl-3{flex:0 0 25%;max-width:25%}
  .col-xl-5{flex:0 0 41.666%;max-width:41.666%}
  .col-xl-6{flex:0 0 50%;max-width:50%}
  .col-xl-7{flex:0 0 58.333%;max-width:58.333%}
}
.text-muted{color:var(--ta-body)!important}.text-success{color:var(--ta-meta-3)!important}.text-danger{color:var(--ta-meta-1)!important}
.dark .text-muted{color:#8a99af!important}
.card,.panel-card,.stat-card,.login-card,.action-card{border-radius:.125rem;border:1px solid var(--ta-stroke);background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.08);color:var(--ta-black)}
.dark .card,.dark .panel-card,.dark .stat-card,.dark .login-card,.dark .action-card{border-color:var(--ta-strokedark);background:var(--ta-boxdark);color:#fff}
.card-body{padding:1.25rem}
.stat-label{font-size:.875rem;font-weight:500;color:var(--ta-body)}
.stat-value{font-size:1.5rem;font-weight:700;color:var(--ta-black)}.dark .stat-value{color:#fff}
a.action-card{display:block;padding:1.25rem;text-decoration:none;transition:border-color .2s}
a.action-card:hover{border-color:var(--ta-primary)}
.action-icon{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;margin-bottom:.75rem;border-radius:.25rem;background:#eff2f7;color:var(--ta-primary);font-size:1.125rem}
.dark .action-icon{background:var(--ta-strokedark);color:#fff}
.form-label,label.form-label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--ta-black)}
.dark .form-label,.dark label.form-label{color:#fff}
.form-control,.form-select,select.form-select,input.form-control,textarea.form-control{display:block;width:100%;border-radius:.5rem;border:1px solid var(--ta-stroke);background:transparent;padding:.75rem 1.25rem;font-size:.95rem;color:var(--ta-black);outline:none;transition:border-color .15s}
.form-control:focus,.form-select:focus{border-color:var(--ta-primary)}
.dark .form-control,.dark .form-select{border-color:var(--ta-strokedark);background:var(--ta-form-input);color:#fff}
.form-control:disabled,.form-select:disabled{opacity:.65;cursor:not-allowed}
.form-control.is-invalid,.form-select.is-invalid{border-color:var(--ta-meta-1)}
.invalid-feedback{display:block;margin-top:.25rem;font-size:.8125rem;color:var(--ta-meta-1)}
.form-text{margin-top:.25rem;color:var(--ta-body);font-size:.8125rem}
.form-check{display:flex;align-items:center;gap:.5rem}
.form-check-input{width:1rem;height:1rem;accent-color:var(--ta-primary)}
.input-group{display:flex;align-items:stretch;width:100%}
.input-group > .form-control{flex:1 1 auto;min-width:0;border-radius:.5rem 0 0 .5rem}
.input-group > .form-select{flex:0 0 auto;width:auto;min-width:5.5rem;border-radius:0;border-left-width:0}
.input-group > .btn{border-radius:0 .5rem .5rem 0;white-space:nowrap}
.input-group > .form-control:focus,
.input-group > .form-select:focus{z-index:1;position:relative}
.scan-box{font-size:1.125rem;padding:1rem 1.25rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;border-radius:.25rem;border:1px solid transparent;padding:.625rem 1.25rem;font-size:.9rem;font-weight:500;line-height:1.25;cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s,color .15s}
.btn:disabled{opacity:.6;cursor:not-allowed}
.btn-sm{padding:.375rem .75rem;font-size:.8125rem}
.btn-pos-dark,.btn-primary{background:var(--ta-primary);border-color:var(--ta-primary);color:#fff}
.btn-pos-dark:hover,.btn-primary:hover{background:#3244c5;border-color:#3244c5;color:#fff}
.btn-outline-secondary{background:transparent;border-color:var(--ta-stroke);color:var(--ta-black)}
.btn-outline-secondary:hover{border-color:var(--ta-primary);color:var(--ta-primary)}
.dark .btn-outline-secondary{border-color:var(--ta-strokedark);color:#fff}
.btn-outline-warning{background:transparent;border-color:#ffba00;color:#ffba00}
.btn-outline-success{background:transparent;border-color:var(--ta-meta-3);color:var(--ta-meta-3)}
.btn-link{background:none;border:none;color:var(--ta-primary);padding:0;text-decoration:none}
.btn-link:hover{text-decoration:underline}
.table-responsive{overflow-x:auto;width:100%}
.table{width:100%;border-collapse:collapse;margin-bottom:0}
.table th,.table td{padding:.875rem 1rem;border-bottom:1px solid var(--ta-stroke);vertical-align:middle;text-align:left;font-size:.9rem}
.dark .table th,.dark .table td{border-bottom-color:var(--ta-strokedark)}
.table thead th{font-weight:500;color:var(--ta-body);background:var(--ta-gray-2);text-transform:uppercase;font-size:.75rem;letter-spacing:.02em}
.dark .table thead th{background:#313d4a;color:#8a99af}
.table.align-middle td,.table.align-middle th{vertical-align:middle}
.alert{border-radius:.125rem;border:1px solid transparent;padding:.75rem 1rem;font-size:.9rem}
.alert-success{background:rgba(16,185,129,.1);border-color:var(--ta-meta-3);color:var(--ta-meta-3)}
.alert-danger{background:rgba(220,53,69,.1);border-color:var(--ta-meta-1);color:var(--ta-meta-1)}
.badge{display:inline-flex;align-items:center;border-radius:9999px;padding:.2rem .6rem;font-size:.75rem;font-weight:500}
.text-bg-success{background:rgba(16,185,129,.15);color:var(--ta-meta-3)}
.text-bg-secondary{background:#eff2f7;color:var(--ta-body)}
.dark .text-bg-secondary{background:var(--ta-strokedark);color:#8a99af}
.list-group{display:flex;flex-direction:column;border:1px solid var(--ta-stroke);border-radius:.125rem;overflow:hidden;max-height:16rem;overflow-y:auto}
.dark .list-group{border-color:var(--ta-strokedark)}
.list-group-item,.list-group-item-action{display:block;width:100%;text-align:left;background:#fff;border:0;border-bottom:1px solid var(--ta-stroke);padding:.75rem 1rem;color:var(--ta-black);cursor:pointer;font-size:.9rem}
.list-group-item:last-child,.list-group-item-action:last-child{border-bottom:0}
.list-group-item-action:hover{background:var(--ta-gray-2)}
.dark .list-group-item,.dark .list-group-item-action{background:var(--ta-boxdark);border-bottom-color:var(--ta-strokedark);color:#fff}
.dark .list-group-item-action:hover{background:#313d4a}
.h5,.h6{font-weight:600;color:var(--ta-black)}.dark .h5,.dark .h6{color:#fff}
.text-uppercase{text-transform:uppercase}
.container{width:100%;max-width:72rem;margin-left:auto;margin-right:auto}
.bi{vertical-align:-.1em}
.pay-row{margin-bottom:.5rem}
/* Keep sidebar icons light on dark nav */
aside .bi{color:inherit}

/* Shared page card header */
.page-card-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid var(--ta-stroke);
}
.dark .page-card-head { border-bottom-color: var(--ta-strokedark); }
.page-card-head__title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--ta-black);
}
.dark .page-card-head__title { color: #fff; }
.page-card-head__meta {
  margin: 0.15rem 0 0;
  font-size: 0.8125rem;
  color: var(--ta-body);
}
.dark .page-card-head__meta { color: #8a99af; }
.page-card-body { padding: 1.25rem; }
.metric-box {
  border-radius: 0.5rem;
  border: 1px solid var(--ta-stroke);
  background: var(--ta-gray-2);
  padding: 0.875rem 1rem;
}
.dark .metric-box {
  border-color: var(--ta-strokedark);
  background: #313d4a;
}
.metric-box__label {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: var(--ta-body);
  margin-bottom: 0.25rem;
}
.dark .metric-box__label { color: #8a99af; }
.metric-box__value {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--ta-black);
  line-height: 1.2;
}
.dark .metric-box__value { color: #fff; }
.form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  margin-top: 0.25rem;
}
.section-label {
  margin: 0 0 0.75rem;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ta-body);
}
.dark .section-label { color: #8a99af; }
.brand-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 0.5rem;
  border: 1px solid var(--ta-stroke);
  background: #fff;
  overflow: hidden;
}
.dark .brand-mark {
  border-color: var(--ta-strokedark);
  background: var(--ta-form-input);
}
.brand-mark-img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}
.shop-icon-preview {
  max-height: 3rem;
  max-width: 12rem;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}
.badge-regular {
  display: inline-flex;
  align-items: center;
  border-radius: 9999px;
  padding: 0.15rem 0.55rem;
  font-size: 0.75rem;
  font-weight: 600;
  background: rgba(60, 80, 224, 0.12);
  color: var(--ta-primary);
}
.status-toggle-btn {
  border: 0;
  cursor: pointer;
  font: inherit;
  line-height: inherit;
  transition: opacity 0.15s, transform 0.15s;
}
.status-toggle-btn:hover {
  opacity: 0.88;
  transform: translateY(-1px);
}
.status-toggle-btn:focus-visible {
  outline: 2px solid var(--ta-primary);
  outline-offset: 2px;
}

/* ---- Missing utilities not always purged into TailAdmin build ---- */
.min-h-screen { min-height: 100vh; }
.font-satoshi { font-family: Satoshi, sans-serif; }
.max-w-\[1100px\] { max-width: 1100px; }
.max-w-md { max-width: 28rem; }
.bg-\[\#10B981\]\/10 { background-color: rgb(16 185 129 / 0.1); }
.bg-\[\#DC3545\]\/10 { background-color: rgb(220 53 69 / 0.1); }
.bg-\[\#3C50E0\]\/10 { background-color: rgb(60 80 224 / 0.1); }
.accent-primary { accent-color: #3c50e0; }
.dark\:bg-white\/10:is(.dark *) { background-color: rgb(255 255 255 / 0.1); }
.dark\:text-white:is(.dark *) { color: #fff; }
.dark\:hover\:border-primary:hover:is(.dark *) { border-color: #3c50e0; }
.hover\:border-primary:hover { border-color: #3c50e0; }
.hover\:bg-opacity-90:hover { --tw-bg-opacity: 0.9; }
@media (min-width: 1280px) {
  .xl\:hidden { display: none !important; }
}

@media (min-width: 992px) {
  .d-lg-table-cell,
  .d-none.d-lg-table-cell { display: table-cell !important; }
}
@media (min-width: 1200px) {
  .d-xl-table-cell,
  .d-none.d-xl-table-cell { display: table-cell !important; }
}
/* Ensure preloader cannot block clicks after hide */
[x-cloak] { display: none !important; }

/* Footer spacing */
.footer-bar { gap: 0.5rem; }
.footer-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.footer-meta > span {
  display: inline-block;
}
.footer-sep {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  padding: 0 0.35rem;
  color: #64748b;
  user-select: none;
}
.dark .footer-sep { color: #8a99af; }

.site-footer__bar {
  display: flex;
  justify-content: center;
}
.site-footer__inner {
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: center;
  text-align: center;
  width: 100%;
}
@media (min-width: 640px) {
  .site-footer__inner {
    flex-direction: row;
    justify-content: space-between;
    text-align: left;
  }
  .site-footer__credit { text-align: right; }
}
.site-footer__copy {
  color: #334155;
  font-weight: 500;
}
.dark .site-footer__copy { color: #e2e8f0; }
.site-footer__credit {
  color: #64748b;
  font-size: 0.8125rem;
}
.dark .site-footer__credit { color: #94a3b8; }
.site-footer__link {
  color: #b45309;
  font-weight: 600;
  text-decoration: none;
}
.site-footer__link:hover {
  text-decoration: underline;
}
.dark .site-footer__link { color: #fbbf24; }

/* Table-integrated search / filters (inside the table card) */
.table-card-tools {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.875rem 1.25rem;
  border-bottom: 1px solid var(--ta-stroke);
}
.dark .table-card-tools { border-bottom-color: var(--ta-strokedark); }
.table-card-tools__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}
.table-card-tools__filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-left: auto;
}
.table-card-tools__search {
  position: relative;
  min-width: 12rem;
  flex: 1 1 12rem;
  max-width: 18rem;
}
.table-card-tools__search input {
  padding-left: 2.25rem;
  height: 2.375rem;
}
.table-card-tools__search-icon {
  position: absolute;
  left: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  width: 1rem;
  height: 1rem;
  color: var(--ta-body);
  pointer-events: none;
  opacity: 0.7;
}
.table-card-tools select.form-select {
  width: auto;
  min-width: 8rem;
  height: 2.375rem;
  padding-top: 0.4rem;
  padding-bottom: 0.4rem;
}
.table-card-tools .btn {
  height: 2.375rem;
  display: inline-flex;
  align-items: center;
}
.visually-hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.list-pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.875rem 1.25rem;
  border-top: 1px solid var(--ta-stroke);
  font-size: 0.875rem;
  color: var(--ta-body);
}
.dark .list-pagination { border-top-color: var(--ta-strokedark); }
.list-pagination__pages {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.list-pagination__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.25rem;
  padding: 0.4rem 0.7rem;
  border: 1px solid var(--ta-stroke);
  border-radius: 0.25rem;
  background: #fff;
  color: var(--ta-black);
  text-decoration: none;
  font-weight: 500;
}
.dark .list-pagination__btn {
  border-color: var(--ta-strokedark);
  background: var(--ta-boxdark);
  color: #fff;
}
.list-pagination__btn.is-active {
  background: var(--ta-primary);
  border-color: var(--ta-primary);
  color: #fff;
}
.list-pagination__btn.is-disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.list-pagination__btn:not(.is-disabled):not(.is-active):hover {
  border-color: var(--ta-primary);
  color: var(--ta-primary);
}
