:root { --bg:#0b2a4a; --fg:#fff; --bd:#e5e7eb; --txt:#111827; }
*{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#f6f7f9;color:var(--txt)}
.topbar{background:#0b2a4a;color:#fff;padding:14px 20px;display:flex;align-items:center;justify-content:space-between}
.brand{font-weight:700;letter-spacing:.3px}
.wrap{max-width:1200px;margin:24px auto;padding:0 16px}
.card{background:#fff;border:1px solid var(--bd);border-radius:12px;box-shadow:0 1px 2px rgba(0,0,0,.04);overflow:hidden}
.card-h{padding:16px 16px 0}
.card-b{padding:16px}
.filters{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
@media (max-width: 1024px){ .filters{grid-template-columns:repeat(3,1fr)} }
@media (max-width: 640px){ .filters{grid-template-columns:1fr} }
.filters input,.filters select{width:100%;padding:10px;border:1px solid var(--bd);border-radius:8px}
.filters .actions{display:flex;gap:10px;align-items:end}
button, .btn{border:0;border-radius:8px;padding:10px 14px;font-weight:600;cursor:pointer}
.btn-primary{background:#0b5ed7;color:#fff}
.btn-muted{background:#eef2f7;color:#111;text-decoration:none;display:inline-block}
table{width:100%;border-collapse:separate;border-spacing:0}
th,td{padding:12px 10px;border-bottom:1px solid var(--bd);text-align:left;font-size:14px}
th{font-size:12px;letter-spacing:.2px;color:#4b5563;background:#f9fafb;position:sticky;top:0;z-index:1}
.mono{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}
.amount{font-weight:700}
.badge{display:inline-block;font-size:12px;padding:4px 10px;border-radius:9999px;font-weight:700;border:1px solid transparent}
.b-created{background:#fef3c7;border-color:#fde68a;color:#92400e}
.b-authorized{background:#dbeafe;border-color:#bfdbfe;color:#1e40af}
.b-captured{background:#dcfce7;border-color:#bbf7d0;color:#166534}
.b-failed{background:#fee2e2;border-color:#fecaca;color:#991b1b}
.b-refunded{background:#f3e8ff;border-color:#e9d5ff;color:#6b21a8}
.alert{background:#fee2e2;color:#991b1b;border:1px solid #fecaca;padding:10px;border-radius:8px;margin-bottom:12px}
.foot{padding:16px;color:#6b7280;text-align:center}

/* Centered login page */
.page-center{
  min-height: calc(100vh - 140px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
}
.login-card{ width: 100%; max-width: 420px; margin: 0 auto; }
.form-vertical{ display: grid; gap: 12px; max-width: 360px; }

/* Helpers for pages */
.resultsbar{display:flex;gap:12px;justify-content:space-between;align-items:center;margin:6px 0 12px}
.pagination{display:flex;gap:8px;align-items:center}
.page-link{padding:8px 12px;border:1px solid var(--bd);border-radius:8px;text-decoration:none;color:inherit}
.page-link.disabled{pointer-events:none;opacity:.5}
.limit-inline{display:flex;gap:8px;align-items:center}
.limit-inline select{padding:8px;border:1px solid var(--bd);border-radius:8px}
.perpage-label{white-space:nowrap;color:#6b7280;font-size:13px}

/* Inline create forms */
.inline-form{display:flex;gap:12px;align-items:end;flex-wrap:nowrap;overflow:auto;padding-bottom:4px}
.inline-form .field{display:flex;flex-direction:column;gap:6px}
.inline-form input, .inline-form select{padding:10px;border:1px solid var(--bd);border-radius:8px;height:42px}

/* Grid helper (unused now but handy) */
.grid-two{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
@media (max-width: 768px){ .grid-two{grid-template-columns:1fr} }

  