
/* ── Status badges ── */
.badge-active   { background:#d1fae5; color:#065f46; border:1px solid #6ee7b7; }
.badge-used     { background:#dbeafe; color:#1e40af; border:1px solid #93c5fd; }
.badge-expired  { background:#fef3c7; color:#92400e; border:1px solid #fcd34d; }
.badge-revoked  { background:#fee2e2; color:#991b1b; border:1px solid #fca5a5; }
.badge-new      { background:#ede9fe; color:#5b21b6; border:1px solid #c4b5fd; }
.badge-reviewing{ background:#dbeafe; color:#1e40af; border:1px solid #93c5fd; }
.badge-interview{ background:#fef3c7; color:#92400e; border:1px solid #fcd34d; }
.badge-hired    { background:#d1fae5; color:#065f46; border:1px solid #6ee7b7; }
.badge-rejected { background:#fee2e2; color:#991b1b; border:1px solid #fca5a5; }

.status-badge {
  display:inline-flex; align-items:center; gap:4px;
  padding:2px 8px; border-radius:20px;
  font-size:11px; font-weight:700; letter-spacing:.3px;
  white-space:nowrap;
}

/* ── Token display ── */
.token-code {
  font-family:'Courier New',monospace; font-size:13px; font-weight:800;
  color:#0891b2; letter-spacing:2px;
}

/* ── Stat cards ── */
.stat-grid {
  display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:20px;
}
@media(max-width:768px){ .stat-grid { grid-template-columns:repeat(2,1fr); } }

.stat-card {
  background:#fff; border:1px solid #e5e7eb; border-radius:10px;
  padding:16px; text-align:center;
}
body.dark-mode .stat-card { background:#1e293b; border-color:#334155; }

.stat-num  { font-size:28px; font-weight:800; line-height:1.1; }
.stat-lbl  { font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.4px; color:#6b7280; margin-top:4px; }

.c-active   { color:#10b981; }
.c-used     { color:#3b82f6; }
.c-expired  { color:#f59e0b; }
.c-revoked  { color:#ef4444; }
.c-total    { color:#8b5cf6; }

/* ── Generate form modal overrides ── */
#genModal .modal-header { background:linear-gradient(135deg,#0891b2,#22d3ee); color:#fff; border-radius:5px 5px 0 0; }
#genModal .modal-title  { font-size:.95rem; font-weight:700; }
#genModal .modal-header .btn-close { filter:invert(1) opacity(.8); }

/* ── Table action buttons ── */
.btn-tbl { padding:3px 10px; font-size:.75rem; font-weight:600; border-radius:4px; border:none; cursor:pointer; white-space:nowrap; }
.btn-revoke  { background:#fee2e2; color:#991b1b; }
.btn-revoke:hover  { background:#fca5a5; }
.btn-extend  { background:#dbeafe; color:#1e40af; }
.btn-extend:hover  { background:#93c5fd; }
.btn-view    { background:#ede9fe; color:#5b21b6; }
.btn-view:hover    { background:#c4b5fd; }
.btn-copy    { background:#f0fdf4; color:#166534; }
.btn-copy:hover    { background:#bbf7d0; }

/* ── Submission drawer ── */
#subDrawer .modal-header { background:linear-gradient(135deg,#7c3aed,#a78bfa); color:#fff; border-radius:5px 5px 0 0; }
#subDrawer .modal-header .btn-close { filter:invert(1) opacity(.8); }
.sub-field { margin-bottom:10px; }
.sub-field .sf-label { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.4px; color:#6b7280; margin-bottom:3px; }
.sub-field .sf-val   { font-size:13px; color:inherit; }
.sub-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 20px; }
@media(max-width:580px){ .sub-grid { grid-template-columns:1fr; } }

/* ── Cron info box ── */
.cron-box {
  background:#f8fafc; border:1px solid #e5e7eb; border-radius:8px;
  padding:14px 16px; font-family:'Courier New',monospace; font-size:12px;
  color:#374151; line-height:1.8;
}
body.dark-mode .cron-box { background:#0f172a; border-color:#334155; color:#94a3b8; }

/* ── Tabs ── */
.mgr-tabs { display:flex; gap:4px; margin-bottom:16px; border-bottom:2px solid #e5e7eb; padding-bottom:0; }
body.dark-mode .mgr-tabs { border-bottom-color:#334155; }
.mgr-tab {
  padding:8px 18px; font-size:13px; font-weight:600;
  border:none; background:none; cursor:pointer; color:#6b7280;
  border-bottom:2px solid transparent; margin-bottom:-2px;
  transition:all .15s;
}
.mgr-tab.active { color:#0891b2; border-bottom-color:#0891b2; }
.mgr-tab-panel  { display:none; }
.mgr-tab-panel.active { display:block; }

