:root {
    --primary: #0d6efd;
}

body {
    background-color: #f5f6f8 !important;
}
.navbar-brand {
    font-weight: 700;
    letter-spacing: -.5px;
}

.card {
    box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,.075);
    transition: transform .2s, box-shadow .2s;
}

.card:hover {
    transform: translateY(-2px);
    box-shadow: 0 0.5rem 1rem rgba(0,0,0,.15);
}

.appliance-icon {
    font-size: 1.8rem;
    opacity: .85;
}

.tenant-active {
    border-left: 5px solid #198754;
}

.nav-tabs .nav-link.active {
    font-weight: 600;
}

.table th {
    background-color: #f1f3f5;
}

/* Tabellen in randlosen Card-Bodies (card-body p-0) brauchen trotzdem
   seitlichen Abstand zur Kartenkante, sonst wirkt der Text an der Kante
   gequetscht. Gilt global fuer JEDE Tabelle in einem p-0-Card-Body -
   einzelne Seiten muessen das nicht mehr manuell per ps-3/pe-3 nachbauen. */
.card-body.p-0 table.table > thead > tr > :first-child,
.card-body.p-0 table.table > tbody > tr > :first-child {
    padding-left: 1rem;
}
.card-body.p-0 table.table > thead > tr > :last-child,
.card-body.p-0 table.table > tbody > tr > :last-child {
    padding-right: 1rem;
}

.form-label {
    font-weight: 500;
    color: #495057;
}

footer {
    margin-top: 3rem;
    padding: 1.5rem 0;
    font-size: .875rem;
    color: #6c757d;
}

.bg-warning {
    --bs-bg-opacity: 1;
    background-color: rgb(49 202 215) !important;
}

.bg-primary {
    --bs-bg-opacity: 1;
    background-color: #4382c3 !important;
}

.bg-success {
    --bs-bg-opacity: 1;
    background-color: #198754 !important;
}

.bg-info {
    --bs-bg-opacity: 1;
    background-color: #ac2330 !important;
}

.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #4382c3 !important;
}

.navbar-expand-lg .navbar-nav .nav-link:hover {
    color: #4382c3;
}

.navbar-brand:hover {
    color: #4382c3 !important;
}

a.btn.btn-primary.w-100:hover {
    background-color: #094b8e; /* Deine Wunschfarbe (z. B. Rot) */
    border-color: #094b8e;     /* Optional: Passt den Rahmen an */
}

.btn-outline-primary {
    --bs-btn-color: #4382c3 !important;
    --bs-btn-border-color: #4382c3 !important;
    --bs-btn-hover-bg: #4382c3 !important;
    --bs-btn-hover-border-color: #4382c3 !important;
    --bs-btn-active-bg: #4382c3 !important;
    --bs-btn-active-bg: #4382c3 !important;
    --bs-btn-active-border-color: #4382c3 !important;
    --bs-btn-disabled-color: #4382c3 !important;
    --bs-btn-disabled-border-color: #4382c3 !important;
}

.bg-dark {
    background-color: #fff !important;
}

.navbar-dark, .navbar[data-bs-theme=dark] {
    --bs-navbar-color: #000000 !important;
    --bs-navbar-hover-color: #000000 !important;
    --bs-navbar-disabled-color: #000000 !important;
    --bs-navbar-active-color: #000000 !important;
    --bs-navbar-brand-color: #000000 !important;
    --bs-navbar-brand-hover-color: #000000 !important;
    --bs-navbar-toggler-border-color: #000000 !important;
    --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.85%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}

