/**
 * Butchery / Safe Clicks — shared UI components (aligned with dashboard).
 * Navy #0b2247 · Gold #FAB800 · Deep #132a4d
 * Do not use for dashboard.php menu tiles (those stay as-is).
 */

:root {
  --sc-navy: #0b2247;
  --sc-navy-deep: #132a4d;
  --sc-navy-mid: #1e3a5f;
  --sc-gold: #fab800;
  --sc-gold-dim: #d99f00;
  --sc-page-bg: linear-gradient(165deg, #eef2f9 0%, #e8edf5 48%, #dce6f3 100%);
  --sc-card-border: rgba(11, 34, 71, 0.08);
  --sc-card-shadow: 0 10px 36px rgba(15, 23, 42, 0.07);
  --sc-focus-ring: 0 0 0 3px rgba(250, 184, 0, 0.38);
  --sc-btn-radius: 0.75rem;
  /* Semantic (muted, still readable on white/navy) */
  --sc-ok: #047857;
  --sc-warn: #b45309;
  --sc-bad: #be123c;
}

/* ---- Inputs ---- */
.sc-inp,
.inp,
.um-inp,
.st-inp,
.bp-inp,
.bp-search-inp,
.bp-pay-inp,
.bp-form-inp,
.bp-cust-sel,
.cs-inp,
select.sc-inp {
  border-color: #cbd5e1 !important;
}
.sc-inp:focus,
.inp:focus,
.um-inp:focus,
.st-inp:focus,
.bp-inp:focus,
.bp-search-inp:focus,
.bp-pay-inp:focus,
.bp-form-inp:focus,
.bp-cust-sel:focus,
.cs-inp:focus,
select.sc-inp:focus {
  border-color: var(--sc-navy) !important;
  box-shadow: var(--sc-focus-ring) !important;
  outline: none;
}

/* ---- Primary (navy + gold text) ---- */
.sc-btn-primary,
.btn-navy,
.btn-blue,
.btn-pay,
.bp-btn-pay,
.um-btn-main,
.st-btn-save,
.cs-btn-navy {
  background: linear-gradient(135deg, var(--sc-navy) 0%, var(--sc-navy-deep) 55%, var(--sc-navy-mid) 100%) !important;
  color: var(--sc-gold) !important;
  border: 2px solid rgba(250, 184, 0, 0.42) !important;
  border-radius: var(--sc-btn-radius);
  font-weight: 800;
  box-shadow: 0 6px 20px rgba(11, 34, 71, 0.28), inset 0 1px 0 rgba(250, 184, 0, 0.12);
  transition: filter 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}
.sc-btn-primary:hover:not(:disabled),
.btn-navy:hover:not(:disabled),
.btn-blue:hover:not(:disabled),
.btn-pay:hover:not(:disabled),
.bp-btn-pay:hover:not(:disabled),
.um-btn-main:hover:not(:disabled),
.st-btn-save:hover:not(:disabled),
.cs-btn-navy:hover:not(:disabled) {
  filter: brightness(1.06);
  transform: translateY(-1px);
}

/* ---- Gold accent CTA ---- */
.sc-btn-gold,
.btn-gold,
.btn-accent,
.btn-green,
.cs-btn-gold,
.dj-btn-main,
.wg-btn-navy,
.sc-btn-gold.sc-btn {
  background: linear-gradient(135deg, var(--sc-gold) 0%, var(--sc-gold-dim) 100%) !important;
  color: var(--sc-navy) !important;
  border: 2px solid rgba(11, 34, 71, 0.12) !important;
  border-radius: var(--sc-btn-radius);
  font-weight: 800;
  box-shadow: 0 4px 14px rgba(250, 184, 0, 0.28);
  transition: filter 0.15s ease, transform 0.15s ease;
}
.sc-btn-gold:hover:not(:disabled),
.btn-gold:hover:not(:disabled),
.btn-accent:hover:not(:disabled),
.btn-green:hover:not(:disabled),
.cs-btn-gold:hover:not(:disabled) {
  filter: brightness(1.05);
  transform: translateY(-1px);
}

/* ---- Secondary / outline ---- */
.sc-btn-secondary,
.btn-orange,
.btn-red,
.um-btn-sec,
.sc-btn-outline {
  background: #fff !important;
  color: var(--sc-navy) !important;
  border: 2px solid #cbd5e1 !important;
  border-radius: var(--sc-btn-radius);
  font-weight: 700;
  transition: background 0.15s ease, border-color 0.15s ease;
}
.sc-btn-secondary:hover:not(:disabled),
.btn-orange:hover:not(:disabled),
.btn-red:hover:not(:disabled),
.um-btn-sec:hover:not(:disabled) {
  background: #f8fafc !important;
  border-color: rgba(11, 34, 71, 0.28) !important;
}

/* Credit / debt mode on POS pay — warm accent still on-brand */
#bpPay.bp-pay-btn--credit {
  background: linear-gradient(135deg, #9a3412 0%, #c2410c 45%, var(--sc-gold-dim) 100%) !important;
  color: #fff !important;
  border-color: rgba(250, 184, 0, 0.35) !important;
  box-shadow: 0 8px 22px rgba(154, 52, 18, 0.28) !important;
}

/* ---- Module headers (match dashboard premium-header tone) ---- */
.sc-page-hdr,
.hdr,
.st-hdr,
.bp-hdr,
.um-header-like {
  background: linear-gradient(135deg, var(--sc-navy) 0%, var(--sc-navy-deep) 100%) !important;
  border-bottom: 3px solid var(--sc-gold);
}
.sc-hdr-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  border-radius: 0.5rem;
  border: 1px solid rgba(255, 255, 255, 0.2);
  padding: 0.375rem 0.75rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: #fff;
  background: transparent;
  text-decoration: none;
  cursor: pointer;
  line-height: 1.2;
  transition: background 0.15s ease, border-color 0.15s ease;
}
.sc-hdr-link:hover {
  background: rgba(255, 255, 255, 0.1);
}
.sc-hdr-link--gold {
  border-color: rgba(250, 184, 0, 0.45);
  color: #FAB800;
}
.sc-hdr-link--gold:hover {
  background: rgba(250, 184, 0, 0.12);
}

/* ---- Cards ---- */
.sc-card,
.card,
.um-card,
.st-card,
.cs-card {
  border-color: var(--sc-card-border);
}

/* ---- Product list shell (shared across inventory / cashbox / reports) ---- */
.pl-main-shell {
  background: #ffffff;
  border: 1px solid rgba(148, 163, 184, 0.25);
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.08);
}
.pl-filter-control {
  border-radius: 0.9rem;
  border: 1px solid #cbd5e1;
  background: #fff;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.pl-filter-control:focus {
  border-color: #4f46e5 !important;
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.14) !important;
  outline: none;
}
.pl-kpi-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}
@media (min-width: 640px) {
  .pl-kpi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .pl-kpi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.pl-kpi-card {
  border-radius: 1rem;
  border: 1px solid #e2e8f0;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  padding: 0.85rem 1rem;
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.05);
  text-align: center;
}
.pl-kpi-label {
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: #64748b;
  line-height: 1.35;
}
.pl-kpi-value {
  margin-top: 0.35rem;
  font-size: 1.15rem;
  font-weight: 900;
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
}
.pl-kpi-sub {
  margin-top: 0.15rem;
  font-size: 0.65rem;
  font-weight: 700;
  color: #94a3b8;
}
.pl-table-shell {
  box-shadow: 0 3px 10px rgba(15, 23, 42, 0.06);
  border: 1px solid #dbe4f2;
  border-radius: 0.85rem;
  overflow: hidden;
}
.pl-table-head th,
.sc-rpt-table th {
  font-size: 0.78rem;
  letter-spacing: 0.01em;
  color: #334155;
  background: linear-gradient(180deg, #f8fafc 0%, #eef2ff 100%);
  border-bottom: 1px solid #dbe4f2;
  padding: 0.5rem;
  text-align: center;
  font-weight: 700;
}
.sc-rpt-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.75rem;
}
.sc-rpt-table td {
  padding: 0.45rem 0.5rem;
  text-align: center;
  border-bottom: 1px solid #e2e8f0;
  font-variant-numeric: tabular-nums;
  color: #334155;
}
.sc-rpt-table tbody tr:nth-child(even) { background: rgba(248, 250, 255, 0.8); }
.sc-rpt-table tbody tr:hover td { background: rgba(238, 242, 255, 0.95); }
.sc-rpt-empty {
  padding: 2rem 1rem;
  text-align: center;
  color: #94a3b8;
  font-weight: 700;
  font-size: 0.875rem;
}

/* ---- Cashbox / Reports KPI — light shell, semantic number colors ---- */
.cb-safe-panel {
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
}
.cb-safe-grid {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cb-safe-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.cb-safe-card {
  border-radius: 1rem;
  border: 1px solid #e2e8f0;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  padding: 0.85rem 1rem;
  min-height: 5.5rem;
  text-align: center;
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.05);
}
.cb-safe-card__label {
  font-size: 0.68rem;
  font-weight: 800;
  color: #64748b;
  line-height: 1.35;
}
.cb-safe-card__value {
  margin-top: 0.45rem;
  font-size: 1.15rem;
  font-weight: 900;
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
}
.cb-safe-card__cur {
  margin-top: 0.15rem;
  font-size: 0.65rem;
  font-weight: 700;
  color: #94a3b8;
}
/* Number colors — semantic (unchanged) */
.cb-safe-val-blue { color: #60a5fa !important; }
.cb-safe-val-green { color: #4ade80 !important; }
.cb-safe-val-orange { color: #fb923c !important; }
.cb-safe-val-cyan { color: #22d3ee !important; }
.cb-safe-val-red { color: #f87171 !important; }
.cb-safe-val-purple { color: #c084fc !important; }
/* Card border/bg — light tints matching number color */
.cb-safe-card--blue { border-color: rgba(37, 99, 235, 0.35); background: linear-gradient(180deg, rgba(96, 165, 250, 0.12) 0%, #ffffff 100%); }
.cb-safe-card--green { border-color: rgba(22, 163, 74, 0.35); background: linear-gradient(180deg, rgba(74, 222, 128, 0.12) 0%, #ffffff 100%); }
.cb-safe-card--orange { border-color: rgba(234, 88, 12, 0.35); background: linear-gradient(180deg, rgba(251, 146, 60, 0.12) 0%, #ffffff 100%); }
.cb-safe-card--cyan { border-color: rgba(8, 145, 178, 0.35); background: linear-gradient(180deg, rgba(34, 211, 238, 0.12) 0%, #ffffff 100%); }
.cb-safe-card--red { border-color: rgba(220, 38, 38, 0.35); background: linear-gradient(180deg, rgba(248, 113, 113, 0.12) 0%, #ffffff 100%); }
.cb-safe-card--purple { border-color: rgba(147, 51, 234, 0.35); background: linear-gradient(180deg, rgba(192, 132, 252, 0.12) 0%, #ffffff 100%); }
.cb-safe-card--clickable { cursor: pointer; transition: transform 0.12s ease, box-shadow 0.12s ease; }
.cb-safe-card--clickable:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(15, 23, 42, 0.1); }
.cb-safe-card--clickable:focus-visible { outline: 2px solid #FAB800; outline-offset: 2px; }
.rpt-footer-chip--clickable { cursor: pointer; transition: transform 0.12s ease, box-shadow 0.12s ease; }
.rpt-footer-chip--clickable:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08); }
/* Filter bar — light (pl-main-shell / cb-safe-panel) */
.pl-main-shell .cb-preset,
.cb-safe-panel .cb-preset {
  border-radius: 9999px;
  border: 1px solid #dbe4f2;
  background: #fff;
  padding: 0.35rem 0.75rem;
  font-size: 0.7rem;
  font-weight: 800;
  color: #334155;
  box-shadow: 0 1px 4px rgba(15, 23, 42, 0.05);
}
.pl-main-shell .cb-preset.active,
.cb-safe-panel .cb-preset.active {
  border-color: #0b2247;
  background: rgba(250, 184, 0, 0.15);
  color: #0b2247;
}
.pl-main-shell .cb-filter-inp,
.cb-safe-panel .cb-filter-inp {
  border-radius: 0.9rem;
  border: 1px solid #cbd5e1;
  background: #fff;
  padding: 0.45rem 0.65rem;
  font-size: 0.75rem;
  color: #0f172a;
  outline: none;
}
.pl-main-shell .cb-filter-inp:focus,
.cb-safe-panel .cb-filter-inp:focus {
  border-color: #4f46e5;
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.14);
}
.pl-main-shell .cb-filter-inp::placeholder,
.cb-safe-panel .cb-filter-inp::placeholder {
  color: #94a3b8;
}
.pl-main-shell .cb-filter-bar,
.cb-safe-panel .cb-filter-bar {
  border-radius: 0.85rem;
  border: 1px solid #e2e8f0;
  background: #f8fafc;
  padding: 0.75rem;
}
.pl-main-shell .cb-filter-bar label,
.cb-safe-panel .cb-filter-bar label {
  color: #475569;
}
.pl-main-shell .cb-section-title,
.cb-safe-panel .cb-section-title {
  color: #0b2247;
  font-weight: 800;
}
.pl-main-shell .cb-period-hint,
.cb-safe-panel .cb-period-hint {
  color: #64748b;
  font-size: 0.625rem;
  font-weight: 700;
}
/* Reports footer — light shell, colored numbers */
.rpt-sticky-footer {
  position: fixed;
  inset-inline: 0;
  bottom: 0;
  z-index: 40;
  border-top: 2px solid #e2e8f0;
  background: rgba(255, 255, 255, 0.96);
  padding: 0.65rem 1rem;
  box-shadow: 0 -6px 24px rgba(15, 23, 42, 0.08);
  backdrop-filter: blur(8px);
}
.rpt-footer-chips {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: center;
  gap: 0.45rem;
}
.rpt-footer-chip {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 7.5rem;
  padding: 0.35rem 0.65rem;
  border-radius: 0.75rem;
  border: 1px solid #e2e8f0;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.05);
}
.rpt-footer-chip__lbl {
  font-size: 0.58rem;
  font-weight: 800;
  color: #64748b;
  line-height: 1.2;
  text-align: center;
}
.rpt-footer-chip__val {
  margin-top: 0.15rem;
  font-size: 0.78rem;
  font-weight: 900;
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
  text-align: center;
}
.sc-rpt-table .rpt-td-profit { color: #4ade80; font-weight: 800; }
.sc-rpt-table .rpt-td-debt { color: #fb923c; font-weight: 800; }
.sc-rpt-table .rpt-td-paid { color: #4ade80; font-weight: 800; }
.sc-rpt-table .rpt-td-sales { color: #60a5fa; font-weight: 800; }
.sc-rpt-table .rpt-td-inflow { color: #c084fc; font-weight: 800; }
.sc-rpt-table .rpt-td-inv { color: #0b2247; font-family: ui-monospace, monospace; font-size: 0.7rem; font-weight: 700; }
.sc-rpt-table .rpt-td-date { color: #475569; }
.rpt-discount-hero {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 1rem;
  padding: 1rem 1.15rem;
  border-radius: 0.85rem;
  border: 2px solid rgba(234, 88, 12, 0.35);
  background: linear-gradient(180deg, rgba(251, 146, 60, 0.1) 0%, #ffffff 100%);
}
.rpt-discount-hero.cb-safe-card--clickable { cursor: pointer; transition: transform 0.12s ease, box-shadow 0.12s ease; }
.rpt-discount-hero.cb-safe-card--clickable:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(15, 23, 42, 0.1); }
.rpt-discount-hero.cb-safe-card--clickable:focus-visible { outline: 2px solid #FAB800; outline-offset: 2px; }
.rpt-discount-hero__lbl { font-size: 0.65rem; font-weight: 800; color: #64748b; }
.rpt-discount-hero__val { font-size: 1.35rem; font-weight: 900; color: #fb923c; font-variant-numeric: tabular-nums; }
.rpt-discount-hero__cnt { font-size: 0.75rem; font-weight: 700; color: #94a3b8; }
.rpt-discount-list {
  display: grid;
  gap: 0.35rem;
  max-height: 28rem;
  overflow-y: auto;
}
.rpt-discount-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.5rem 0.75rem;
  border-radius: 0.65rem;
  border: 1px solid #e2e8f0;
  background: #fff;
  font-size: 0.75rem;
  font-weight: 700;
}
.rpt-discount-row:hover { border-color: rgba(234, 88, 12, 0.4); background: rgba(251, 146, 60, 0.06); }
.rpt-discount-row__no { color: #334155; font-family: ui-monospace, monospace; }
.rpt-discount-row__amt { color: #fb923c; font-variant-numeric: tabular-nums; }
.rpt-verify {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  border-radius: 9999px;
  padding: 0.35rem 0.85rem;
  font-size: 0.75rem;
  font-weight: 800;
  margin-bottom: 0.85rem;
}
.rpt-verify--ok { background: rgba(74, 222, 128, 0.15); color: #4ade80; border: 1px solid rgba(74, 222, 128, 0.35); }
.rpt-verify--bad { background: rgba(248, 113, 113, 0.12); color: #f87171; border: 1px solid rgba(248, 113, 113, 0.35); }
.rpt-loading { color: #94a3b8; font-size: 0.875rem; font-weight: 600; }

.rpt-footer {
  background: linear-gradient(135deg, var(--sc-navy) 0%, var(--sc-navy-deep) 100%) !important;
  color: #fef3c7 !important;
  border: 1px solid rgba(250, 184, 0, 0.25);
}
.profit-pos { color: #86efac !important; }
.profit-neg { color: #fca5a5 !important; }

/* ---- Tab buttons (reports etc.) ---- */
.tab-btn.active {
  background: var(--sc-navy) !important;
  color: var(--sc-gold) !important;
  border-color: var(--sc-navy) !important;
}

/* ---- Icon action buttons (customer add etc.) ---- */
.bp-add-cust-btn {
  border-color: var(--sc-gold) !important;
  background: rgba(250, 184, 0, 0.12) !important;
  color: var(--sc-navy) !important;
}
.bp-edit-cust-btn {
  border-color: var(--sc-navy) !important;
  background: rgba(11, 34, 71, 0.06) !important;
  color: var(--sc-navy) !important;
}

/* Sale type pills — navy/gold family */
.bp-sale-type label.bp-sale-cash {
  border-color: rgba(11, 34, 71, 0.2) !important;
  background: linear-gradient(180deg, #f8fafc 0%, #eef2f9 100%) !important;
  color: var(--sc-navy) !important;
}
.bp-sale-type label.bp-sale-cash:has(:checked) {
  border-color: var(--sc-navy) !important;
  box-shadow: 0 0 0 3px rgba(11, 34, 71, 0.15), 0 6px 16px rgba(11, 34, 71, 0.12) !important;
  background: linear-gradient(180deg, #e2e8f0 0%, #f8fafc 100%) !important;
}
.bp-sale-type label.bp-sale-cash .bp-sale-ico {
  background: rgba(11, 34, 71, 0.1) !important;
  color: var(--sc-navy) !important;
}
.bp-sale-type label.bp-sale-credit {
  border-color: rgba(250, 184, 0, 0.45) !important;
  background: linear-gradient(180deg, #fffbeb 0%, #fef3c7 100%) !important;
  color: #92400e !important;
}
.bp-sale-type label.bp-sale-credit:has(:checked) {
  border-color: var(--sc-gold-dim) !important;
  box-shadow: 0 0 0 3px rgba(250, 184, 0, 0.3), 0 6px 16px rgba(250, 184, 0, 0.18) !important;
}
.bp-sale-type label.bp-sale-credit .bp-sale-ico {
  background: rgba(250, 184, 0, 0.25) !important;
  color: #92400e !important;
}

.bp-cart-search .bp-search-inp {
  border-color: rgba(11, 34, 71, 0.22) !important;
}
.bp-cart-search .bp-search-inp:focus {
  border-color: var(--sc-navy) !important;
}

/* ---- Login button stays gold (not navy primary) ---- */
.sc-login-btn {
  background: linear-gradient(135deg, var(--sc-gold) 0%, var(--sc-gold-dim) 100%) !important;
  color: var(--sc-navy) !important;
  border: 2px solid rgba(11, 34, 71, 0.14) !important;
}

/* ---- Quick-link pills (inventory shortcuts, etc.) ---- */
.sc-quick-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border-radius: 0.75rem;
  border: 2px solid rgba(11, 34, 71, 0.2) !important;
  background: linear-gradient(180deg, #fff 0%, #f8fafc 100%) !important;
  color: var(--sc-navy) !important;
  font-weight: 800;
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
  transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}
.sc-quick-link:hover {
  border-color: rgba(250, 184, 0, 0.55) !important;
  background: linear-gradient(180deg, #fffbeb 0%, #fef3c7 100%) !important;
  transform: translateY(-1px);
}
.sc-quick-link--accent {
  border-color: rgba(250, 184, 0, 0.5) !important;
  background: linear-gradient(180deg, #fffbeb 0%, #fef3c7 100%) !important;
  color: #78350f !important;
}
.sc-quick-link--accent:hover {
  border-color: var(--sc-gold) !important;
  background: linear-gradient(180deg, #fef3c7 0%, #fde68a 100%) !important;
}
.sc-quick-link--muted {
  border: 1px solid #e2e8f0 !important;
  background: #fff !important;
  color: #475569 !important;
  font-weight: 600;
}
.sc-quick-link--muted:hover {
  background: #f8fafc !important;
  border-color: #cbd5e1 !important;
  transform: none;
}

/* ---- Alerts (success / error — on-brand, not rainbow) ---- */
.sc-alert-ok {
  border-radius: 0.875rem;
  border: 1px solid rgba(250, 184, 0, 0.35) !important;
  background: linear-gradient(135deg, rgba(250, 184, 0, 0.1) 0%, rgba(255, 255, 255, 0.95) 100%) !important;
  color: var(--sc-navy) !important;
  font-weight: 800;
}
.sc-alert-bad {
  border-radius: 0.875rem;
  border: 1px solid rgba(190, 18, 60, 0.28) !important;
  background: linear-gradient(135deg, #fff1f2 0%, #fff 100%) !important;
  color: #9f1239 !important;
  font-weight: 800;
}

/* ---- Table icon action buttons ---- */
.sc-icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.75rem;
  box-shadow: 0 1px 4px rgba(15, 23, 42, 0.08);
  transition: background 0.15s ease, color 0.15s ease;
}
.sc-icon-btn--edit {
  background: rgba(11, 34, 71, 0.08) !important;
  color: var(--sc-navy) !important;
}
.sc-icon-btn--edit:hover {
  background: rgba(250, 184, 0, 0.22) !important;
}
.sc-icon-btn--delete {
  background: rgba(190, 18, 60, 0.08) !important;
  color: var(--sc-bad) !important;
}
.sc-icon-btn--delete:hover {
  background: rgba(190, 18, 60, 0.14) !important;
}

/* ---- Print / export links in tables ---- */
.sc-print-link {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  border-radius: 0.5rem;
  border: 1px solid rgba(11, 34, 71, 0.28) !important;
  background: rgba(11, 34, 71, 0.06) !important;
  color: var(--sc-navy) !important;
  font-size: 0.75rem;
  font-weight: 800;
  padding: 0.25rem 0.5rem;
  transition: background 0.15s ease;
}
.sc-print-link:hover {
  background: rgba(250, 184, 0, 0.18) !important;
  border-color: rgba(250, 184, 0, 0.45) !important;
}

.cs-open-modal.cs-btn {
  border: 2px solid rgba(11, 34, 71, 0.18) !important;
  background: #fff !important;
  color: var(--sc-navy) !important;
  border-radius: 0.75rem;
  font-weight: 800;
}
.cs-open-modal.cs-btn:hover {
  filter: brightness(1.03);
  transform: translateY(-1px);
}
.cs-open-modal.cs-btn[data-modal="cash_items"],
.cs-open-modal.cs-btn[data-modal="group_cash"],
.cs-open-modal.cs-btn[data-modal="payments"] {
  border-color: rgba(74, 222, 128, 0.45) !important;
  background: rgba(74, 222, 128, 0.1) !important;
  color: #166534 !important;
}
.cs-open-modal.cs-btn[data-modal="debt_items"],
.cs-open-modal.cs-btn[data-modal="group_debt"] {
  border-color: rgba(251, 146, 60, 0.45) !important;
  background: rgba(251, 146, 60, 0.1) !important;
  color: #9a3412 !important;
}
.cs-open-modal.cs-btn[data-modal="returns"] {
  border-color: rgba(251, 146, 60, 0.35) !important;
  background: rgba(251, 146, 60, 0.08) !important;
  color: #92400e !important;
}
.cs-open-modal.cs-btn[data-modal="ledger"] {
  border-color: rgba(96, 165, 250, 0.4) !important;
  background: rgba(96, 165, 250, 0.1) !important;
  color: #1e3a8a !important;
}

/* ---- Product list KPI / chips ---- */
.pl-kpi-card.is-active {
  border-color: var(--sc-navy) !important;
  box-shadow: 0 0 0 3px rgba(250, 184, 0, 0.28) !important;
}
.pl-kpi-card--danger.is-active {
  border-color: var(--sc-bad) !important;
  box-shadow: 0 0 0 3px rgba(190, 18, 60, 0.18) !important;
}
.pl-kpi-card--warn.is-active {
  border-color: var(--sc-gold) !important;
  box-shadow: 0 0 0 3px rgba(250, 184, 0, 0.3) !important;
}
.pl-filter-chip {
  border-color: rgba(11, 34, 71, 0.18) !important;
  background: rgba(250, 184, 0, 0.1) !important;
  color: var(--sc-navy) !important;
}
.pl-filter-chip button {
  color: var(--sc-gold-dim) !important;
}

/* ---- Cashier settlement discrepancy ---- */
.disc-bright {
  color: var(--sc-bad) !important;
  font-weight: 900;
  font-size: 1rem;
}

/* Info panels — match cashbox KPI semantic colors */
.sc-panel-info {
  border-radius: 0.75rem;
  border: 1px solid rgba(96, 165, 250, 0.35) !important;
  background: rgba(96, 165, 250, 0.08) !important;
}
.sc-panel-add {
  border-radius: 0.75rem;
  border: 1px solid rgba(74, 222, 128, 0.4) !important;
  background: rgba(74, 222, 128, 0.1) !important;
}
.sc-panel-add .sc-panel-title { color: #4ade80 !important; }
.sc-panel-remove {
  border-radius: 0.75rem;
  border: 1px solid rgba(248, 113, 113, 0.45) !important;
  background: rgba(248, 113, 113, 0.1) !important;
}
.sc-panel-remove .sc-panel-title { color: #f87171 !important; }

/* ---- Expiry / tab bucket pills ---- */
.tab-bucket,
.tab-btn {
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.tab-bucket.active,
.tab-bucket[data-active="1"] {
  background: var(--sc-navy) !important;
  color: var(--sc-gold) !important;
  border-color: var(--sc-navy) !important;
}

/* ---- Activity logs filter CTA ---- */
.al-btn-filter {
  background: linear-gradient(135deg, var(--sc-navy) 0%, var(--sc-navy-deep) 100%) !important;
  color: var(--sc-gold) !important;
  border: 2px solid rgba(250, 184, 0, 0.35) !important;
  border-radius: 1rem;
  font-weight: 800;
  box-shadow: 0 6px 20px rgba(11, 34, 71, 0.25);
}
.al-btn-filter:hover {
  filter: brightness(1.06);
}
.al-btn-export {
  border: 1px solid rgba(11, 34, 71, 0.2) !important;
  background: rgba(250, 184, 0, 0.1) !important;
  color: var(--sc-navy) !important;
  border-radius: 0.75rem;
  font-weight: 800;
}
.al-btn-export:hover {
  background: rgba(250, 184, 0, 0.2) !important;
}

/* ---- Debt receipt print ---- */
.cdr-print-box {
  border: 2px solid var(--sc-navy) !important;
  border-radius: 1rem;
}
.cdr-print-box h1 {
  color: var(--sc-navy) !important;
}
.cdr-print-amt {
  color: var(--sc-gold-dim) !important;
  font-weight: 800;
}
