/* ── Custom styles Tailwind can't handle ── */

/* Checking row highlight animation */
tr.row-checking td {
  background: rgba(204, 120, 92, 0.06);
}
tr.row-checking td .btn {
  opacity: 0.4;
  pointer-events: none;
}

/* Status badge dot indicator */
.status::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  display: inline-block;
}
.status-active::before { background: #5db872; }
.status-exhausted::before { background: #c64545; }
.status-checking::before { background: #d4a017; animation: pulse 1s infinite; }
.status-unknown::before { background: #d4a017; }

@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.3; }
}

/* Modal overlay */
.modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(24, 23, 21, 0.7);
  backdrop-filter: blur(6px);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 100;
}
.modal-overlay.open {
  display: flex;
}

/* Modal card */
.modal {
  background: #faf9f5;
  border: 1px solid #e6dfd8;
  border-radius: 12px;
  padding: 32px;
  width: 440px;
  max-width: 90vw;
  box-shadow: 0 24px 48px rgba(20, 19, 19, 0.2);
}
.modal-wide {
  width: 560px;
}

/* Check missing items */
.check-missing-item {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.8rem;
  padding: 8px 12px;
  background: rgba(198, 69, 69, 0.06);
  border-left: 3px solid #c64545;
  margin-bottom: 4px;
  border-radius: 4px;
  word-break: break-all;
  color: #3d3d3a;
}
.check-all-found {
  color: #5db872;
  font-size: 0.9rem;
  margin: 12px 0;
  font-weight: 500;
}

/* Toast */
.toast {
  position: fixed;
  bottom: 24px;
  right: 24px;
  padding: 12px 20px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  transform: translateY(100px);
  opacity: 0;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 200;
  box-shadow: 0 8px 24px rgba(20, 19, 19, 0.15);
}
.toast.show {
  transform: translateY(0);
  opacity: 1;
}
.toast.success { background: #181715; color: #5db872; }
.toast.error { background: #181715; color: #c64545; }
.toast.info { background: #181715; color: #faf9f5; }

/* Key cell monospace */
.key-cell {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  color: #6c6a64;
  max-width: 280px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Zebra striping */
tbody tr:nth-child(even) {
  background: rgba(239, 233, 222, 0.4);
}
tbody tr:hover {
  background: rgba(204, 120, 92, 0.06);
}

/* Custom scrollbar */
::-webkit-scrollbar {
  width: 6px;
}
::-webkit-scrollbar-track {
  background: transparent;
}
::-webkit-scrollbar-thumb {
  background: #e6dfd8;
  border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
  background: #cc785c;
}

/* Responsive */
@media (max-width: 768px) {
  .modal { padding: 24px; }
  .modal-wide { width: 95vw; }
}
