/* ---------- Invoices — polished ---------- */

.panel {
  background: linear-gradient(180deg, rgba(15,12,25,0.86), rgba(15,12,25,0.78));
  border: 1px solid rgba(199,125,255,0.06);
  border-radius: 12px;
  box-shadow: 0 14px 40px rgba(0,0,0,0.45);
  color: #eae0f8;
}

/* header */
.panel > .border-bottom { border-color: rgba(199,125,255,0.04); }

/* table */
.invoices-table thead th {
  font-weight:700;
  font-size:13px;
  color: rgba(255,255,255,0.9);
  border-bottom: 1px solid rgba(199,125,255,0.04);
  padding: 12px 16px;
}
.invoices-table tbody td {
  padding: 14px 16px;
  vertical-align: middle;
  color: rgba(230,222,248,0.95);
  border-bottom: 1px solid rgba(255,255,255,0.02);
}

/* status badges */
.status-badge {
  display:inline-block;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.2px;
}
.status-badge.paid { background: linear-gradient(90deg,#8b5cf6,#ec4899); color:#fff; }
.status-badge.pending { background: rgba(255,255,255,0.03); color:#ffd8f0; border:1px solid rgba(199,125,255,0.06); }
.status-badge.cancelled, .status-badge.refunded { background: rgba(255,0,0,0.06); color:#ffb3c9; border:1px solid rgba(255,0,0,0.06); }
.status-badge.processing { background: linear-gradient(90deg,#ffb86b,#ffa1a1); color:#2b0a00; }

/* mini-thumb */
.mini-thumb {
  width:56px;
  height:56px;
  border-radius:8px;
  overflow:hidden;
  background: rgba(255,255,255,0.02);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.mini-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.thumb-placeholder { font-size:12px; color: rgba(255,255,255,0.5); }

/* product-dot (fallback when no image) */
.product-dot {
  width:12px;
  height:12px;
  border-radius:50%;
  background: #c77dff;
  box-shadow: 0 0 8px rgba(199,125,255,0.65);
  display:inline-block;
}

/* mobile card */
.invoice-card {
  border-radius:12px;
  background: linear-gradient(180deg, rgba(20,18,32,0.88), rgba(15,12,25,0.78));
  border: 1px solid rgba(199,125,255,0.06);
  box-shadow: 0 8px 28px rgba(0,0,0,0.28);
}

/* small buttons */
.btn-sm { font-size:14px; padding:8px 12px; border-radius:999px; }

/* helpers */
.text-muted { color: rgba(255,255,255,0.66) !important; }
.text-accent-500 { color: #c77dff; font-weight:600; }

/* responsive toggles */
@media (max-width: 767px) {
  .invoices-table { display:none; }
}
@media (min-width: 768px) {
  .invoices-list { display:none; }
}