/* Case Dashboard Styles */
.case-dashboard {
  padding: 20px;
}

.case-controls {
  display: flex;
  gap: 12px;
  margin-bottom: 20px;
  flex-wrap: wrap;
  align-items: center;
}

.case-search-input {
  flex: 1;
  min-width: 280px;
  padding: 10px 14px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  font-size: 0.95em;
}

.case-filter-select {
  padding: 10px 14px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  font-size: 0.95em;
  background: white;
  min-width: 180px;
}

.case-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 12px;
  margin-bottom: 24px;
}

.case-stat-card {
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 14px;
  text-align: center;
}

.case-stat-number {
  font-size: 1.8em;
  font-weight: 700;
  color: #111827;
  margin-bottom: 4px;
}

.case-stat-label {
  font-size: 0.85em;
  color: #6b7280;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.case-table-container {
  background: white;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  overflow: hidden;
}

.case-table {
  width: 100%;
  border-collapse: collapse;
}

.case-table th {
  background: #f9fafb;
  padding: 12px 16px;
  text-align: left;
  font-weight: 600;
  color: #374151;
  border-bottom: 2px solid #e5e7eb;
  font-size: 0.9em;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.case-table td {
  padding: 14px 16px;
  border-bottom: 1px solid #f3f4f6;
  color: #1f2937;
}

.case-table tbody tr {
  cursor: pointer;
  transition: background-color 0.15s ease;
}

.case-table tbody tr:hover {
  background-color: #f9fafb;
}

.case-stage-badge {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 12px;
  font-size: 0.8em;
  font-weight: 600;
  text-transform: capitalize;
}

.case-stage-evaluation { background: #dbeafe; color: #1e40af; }
.case-stage-review { background: #e0e7ff; color: #4338ca; }
.case-stage-discussion { background: #ede9fe; color: #6d28d9; }
.case-stage-design { background: #fce7f3; color: #be185d; }
.case-stage-approval_pending { background: #fef3c7; color: #b45309; }
.case-stage-payment_pending { background: #fed7aa; color: #c2410c; }
.case-stage-production_queue { background: #fecaca; color: #b91c1c; }
.case-stage-printing { background: #bfdbfe; color: #1e3a8a; }
.case-stage-shipping { background: #a5b4fc; color: #312e81; }
.case-stage-treatment_active { background: #d1fae5; color: #065f46; }
.case-stage-monitoring { background: #a7f3d0; color: #047857; }
.case-stage-refinement { background: #fde68a; color: #92400e; }
.case-stage-completed { background: #d9f99d; color: #3f6212; }
.case-stage-archived { background: #e5e7eb; color: #4b5563; }

.case-invoice-chips {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
  font-size: 0.75em;
}

.case-invoice-chip {
  display: inline-block;
  padding: 2px 6px;
  border-radius: 4px;
  white-space: nowrap;
}

.invoice-sent { background: #fef3c7; color: #78350f; }
.invoice-paid { background: #d1fae5; color: #065f46; }

.case-empty-state {
  text-align: center;
  padding: 80px 20px;
  color: #9ca3af;
}

.case-empty-state-icon {
  font-size: 64px;
  margin-bottom: 16px;
}

.case-empty-state h3 {
  margin-bottom: 8px;
  color: #6b7280;
}

@media (max-width: 768px) {
  .case-controls {
    flex-direction: column;
    align-items: stretch;
  }

  .case-search-input,
  .case-filter-select {
    width: 100%;
  }

  .case-table-container {
    overflow-x: auto;
  }

  .case-table {
    min-width: 600px;
  }
}
