/* Globale Schriftvergrößerung um 15% */
html {
  font-size: 1.15rem;
}

body {
  font-size: 1rem;
}

/* Table Improvements */
.table-responsive {
  min-height: 300px;
}

.table-hover tbody tr {
  transition: background-color 0.2s;
}

/* Numeric Columns & Currency Alignment */
.text-end {
  font-family: 'Roboto Mono', monospace;
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
}

/* Filter Card */
#readings-filter .form-select:disabled {
  background-color: #f8f9fa;
  opacity: 1;
}

/* Status-Badges */
.badge.bg-success { background-color: #28a745 !important; }
.badge.bg-warning { background-color: #ffc107 !important; color: #212529; }
.badge.bg-secondary { background-color: #6c757d !important; }

/* Medium-Badges */
.badge.bg-info { background-color: #17a2b8 !important; } /* Wasser */
.badge.bg-danger { background-color: #dc3545 !important; } /* Gas */

/* Verbrauchsstellen-spezifische Styles */
.location-map-btn {
  transition: transform 0.2s;
}

.location-map-btn:hover {
  transform: scale(1.2);
}

.list-group-item-action {
  transition: background-color 0.15s;
}

/* Aktionen-Buttons */
.btn-outline-primary, .btn-outline-info {
  transition: all 0.2s;
}

.btn-outline-primary:hover {
  background-color: #0d6efd;
  color: white;
}

.btn-outline-info:hover {
  background-color: #17a2b8;
  color: white;
}

/* Menu Anpassungen */
.dropdown-menu {
  background-color: #212529;
}

/* KW-Gruppen-Überschriften */
.card-header h5 {
  font-weight: 600;
}

/* Badges */
.badge {
  font-size: 0.85em;
  margin-right: 5px;
}

/* Voice recording styles */
#recordingStatus {
  font-weight: 500;
}

#processingStatus {
  align-items: center;
}

.recording-pulse {
  animation: pulse 1.5s infinite;
}

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

/* Globale Abstandsreduzierung */
.card-body {
  padding: 0.75rem !important;
}

.card {
  margin-bottom: 0.5rem !important;
}

.row {
  margin-left: -0.25rem;
  margin-right: -0.25rem;
}

.row > [class*="col-"] {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}

/* Spezifische Karten-Anpassungen */
.card.mb-3 {
  margin-bottom: 0.5rem !important;
}

.card.mb-3 .card-body {
  padding: 0.75rem !important;
}

/* Reduzierte Abstände für innere Elemente */
.text-muted.small.mb-2 {
  margin-bottom: 0.25rem !important;
}

.card-text.small.ps-3 {
  padding-left: 0.5rem !important;
}

/* Container Abstände */
.container {
  padding-left: 0.5rem !important;
  padding-right: 0.5rem !important;
}

.container-fluid {
  padding-left: 0.25rem !important;
  padding-right: 0.25rem !important;
}

/* Überschrift und Alert Abstände */
.container h2.mb-4 {
  margin-bottom: 1rem !important;
}

.alert.mb-4 {
  margin-bottom: 1rem !important;
  padding: 0.75rem 1rem !important;
}

/* Filter-Formular Karte */
.card.mb-4 {
  margin-bottom: 1rem !important;
}

.card.mb-4 .card-body {
  padding: 1rem !important;
}

/* Karten-Header kompakter */
.card-header.bg-light {
  padding: 0.75rem 1rem !important;
}

.card-header.bg-light h5.card-text {
  margin-bottom: 0.25rem !important;
}

.card-header.bg-light .text-muted.mb-2 {
  margin-bottom: 0.25rem !important;
  font-size: 0.85rem !important;
}

/* Formular Abstände */
form.row.g-3 {
  --bs-gutter-x: 0.75rem;
  --bs-gutter-y: 0.5rem;
}

form .col-md-4 {
  margin-bottom: 0 !important;
}

/* Kompakte Elemente */
.badge.small {
  font-size: 0.7rem !important;
  padding: 0.25rem 0.5rem !important;
}

.text-warning.small.ms-2 {
  font-size: 0.75rem !important;
  margin-left: 0.5rem !important;
}

/* Button-Gruppen */
.btn-group .btn-sm {
  padding: 0.25rem 0.5rem !important;
  font-size: 0.75rem !important;
}

/* Mobile Optimierungen */
@media (max-width: 768px) {
  .table-responsive td:nth-child(2):before { content: "Klient: "; }
  .table-responsive td:nth-child(3):before { content: "Adresse: "; }
  .table-responsive td:nth-child(4):before { content: "Funktion: "; }
  .table-responsive td:nth-child(5):before { content: "Zähler: "; }
  
  .card-body {
    padding: 0.5rem !important;
  }
  
  .row > [class*="col-"] {
    margin-bottom: 0.25rem !important;
  }
  
  .text-muted.small.mb-2 {
    margin-bottom: 0.125rem !important;
  }
  
  .container {
    padding-left: 0.25rem !important;
    padding-right: 0.25rem !important;
  }
  
  .container h2.mb-4 {
    margin-bottom: 0.75rem !important;
    font-size: 1.5rem !important;
  }
  
  .alert.mb-4 {
    margin-bottom: 0.75rem !important;
    padding: 0.5rem 0.75rem !important;
  }
  
  .card.mb-4 {
    margin-bottom: 0.75rem !important;
  }
  
  .card-header.bg-light {
    padding: 0.5rem !important;
  }
  
  form.row.g-3 {
    --bs-gutter-x: 0.5rem;
    --bs-gutter-y: 0.25rem;
  }
}

/* Kompakte Klassen */
.compact-card .card-body {
  padding: 0.5rem !important;
}

.compact-card .row > [class*="col-"] {
  padding-left: 0.125rem;
  padding-right: 0.125rem;
}

.compact-card .mb-2 {
  margin-bottom: 0.25rem !important;
}

/* Extrem kompakte Variante */
.compact-view .container {
  padding-left: 0.25rem !important;
  padding-right: 0.25rem !important;
}

.compact-view .card {
  margin-bottom: 0.5rem !important;
}

.compact-view .card-body {
  padding: 0.5rem !important;
}

.compact-view .card-header {
  padding: 0.5rem !important;
}

.compact-view .mb-2 {
  margin-bottom: 0.25rem !important;
}

.compact-view .mb-3 {
  margin-bottom: 0.5rem !important;
}

.compact-view .mb-4 {
  margin-bottom: 0.75rem !important;
}