/**
 * Styles pour les nouveaux modules (Sprints 2-4)
 * Paiements, Équipes, Maintenance, Communications, Documents, Inventaire, Analytics
 */

/* ============================================
   STYLES COMMUNS
   ============================================ */

.status-badge {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 12px;
  font-size: 0.85em;
  font-weight: 500;
}

.status-badge.status-success {
  background-color: var(--color-success-bg);
  color: var(--color-success);
}

.status-badge.status-warning {
  background-color: var(--color-warning-bg);
  color: var(--color-warning);
}

.status-badge.status-danger {
  background-color: var(--color-danger-bg);
  color: var(--color-danger);
}

.status-badge.status-info {
  background-color: var(--color-info-bg);
  color: var(--color-info);
}

/* ============================================
   ANALYTICS - CHARTS
   ============================================ */

.chart-container {
  position: relative;
  height: 400px;
  padding: var(--spacing-md);
  background: var(--color-bg-secondary);
  border-radius: var(--border-radius);
  margin-bottom: var(--spacing-lg);
}

.chart-container canvas {
  max-height: 100%;
}

/* ============================================
   TENANT CARDS
   ============================================ */

.tenant-card {
  background: var(--color-bg-secondary);
  border: 1px solid var(--color-border-primary);
  border-radius: var(--border-radius);
  padding: var(--spacing-md);
  margin-bottom: var(--spacing-md);
}

.tenant-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--spacing-md);
}

.tenant-avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--color-primary);
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 1.2em;
  margin-right: var(--spacing-md);
}

.tenant-info {
  flex: 1;
}

.tenant-name {
  font-weight: 600;
  font-size: 1.1em;
  margin-bottom: 4px;
}

.tenant-contact {
  color: var(--color-text-secondary);
  font-size: 0.9em;
}

.tenant-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: var(--spacing-md);
  padding-top: var(--spacing-md);
  border-top: 1px solid var(--color-border-primary);
}

.tenant-stat {
  text-align: center;
}

.tenant-stat-value {
  font-size: 1.5em;
  font-weight: 600;
  color: var(--color-primary);
}

.tenant-stat-label {
  font-size: 0.85em;
  color: var(--color-text-secondary);
  margin-top: 4px;
}

/* ============================================
   RESERVATION CARDS
   ============================================ */

.reservation-card {
  background: var(--color-bg-secondary);
  border: 1px solid var(--color-border-primary);
  border-radius: var(--border-radius);
  padding: var(--spacing-md);
  margin-bottom: var(--spacing-md);
}

.reservation-card-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: var(--spacing-sm);
}

.reservation-card-title {
  font-weight: 600;
  font-size: 1.05em;
  margin-bottom: 4px;
}

.reservation-card-dates {
  color: var(--color-text-secondary);
  font-size: 0.9em;
}

.reservation-card-body {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: var(--spacing-sm);
  padding: var(--spacing-sm) 0;
}

.reservation-card-item {
  display: flex;
  flex-direction: column;
}

.reservation-card-label {
  font-size: 0.85em;
  color: var(--color-text-secondary);
  margin-bottom: 2px;
}

.reservation-card-value {
  font-weight: 500;
}

.reservation-card-actions {
  display: flex;
  gap: var(--spacing-sm);
  margin-top: var(--spacing-sm);
  padding-top: var(--spacing-sm);
  border-top: 1px solid var(--color-border-primary);
}

/* ============================================
   INVENTORY ALERTS
   ============================================ */

.list-item.alert-warning {
  border-left: 4px solid var(--color-warning);
  background-color: var(--color-warning-bg);
}

/* ============================================
   RESPONSIVE
   ============================================ */

@media (max-width: 768px) {
  .chart-container {
    height: 300px;
  }
  
  .tenant-stats {
    grid-template-columns: repeat(2, 1fr);
  }
  
  .reservation-card-body {
    grid-template-columns: 1fr;
  }
}
