:root {
    --hp-braun: #5a3e1b;
    --hp-braun-hell: #f4ede4;
    --hp-gruen: #2f6b3a;
    --bs-primary: #5a3e1b;
    --bs-primary-rgb: 90, 62, 27;
    --bs-link-color: #5a3e1b;
    --bs-link-color-rgb: 90, 62, 27;
    --bs-link-hover-color: #3e2a12;
}

body {
    background: #faf8f5;
}

.btn-primary {
    --bs-btn-bg: var(--hp-braun);
    --bs-btn-border-color: var(--hp-braun);
    --bs-btn-hover-bg: #3e2a12;
    --bs-btn-hover-border-color: #3e2a12;
    --bs-btn-active-bg: #3e2a12;
    --bs-btn-disabled-bg: var(--hp-braun);
    --bs-btn-disabled-border-color: var(--hp-braun);
}

.btn-outline-primary {
    --bs-btn-color: var(--hp-braun);
    --bs-btn-border-color: var(--hp-braun);
    --bs-btn-hover-bg: var(--hp-braun);
    --bs-btn-hover-border-color: var(--hp-braun);
    --bs-btn-active-bg: var(--hp-braun);
}

.navbar-hp {
    background: var(--hp-braun);
}

.navbar-hp .navbar-brand {
    font-weight: 700;
}

/* Große Tippflächen am Handy */
@media (max-width: 767.98px) {
    .btn {
        min-height: 44px;
    }

    .btn-sm {
        min-height: 38px;
    }

    .form-control, .form-select {
        min-height: 44px;
    }
}

/* Monatsplan */
.plan-table th, .plan-table td {
    vertical-align: middle;
    white-space: nowrap;
}

.plan-table td.slot {
    min-width: 5.5rem;
    font-size: .875rem;
}

/* Wochenende: Samstag hellgrau, Sonntag etwas dunkleres Grau (Tabelle über die Bootstrap-Variable) */
.plan-table tr.tag-samstag > * {
    --bs-table-bg: #f0f0f0;
}

.plan-table tr.tag-sonntag > * {
    --bs-table-bg: #e2e2e2;
}

.day-card.tag-samstag {
    --bs-card-cap-bg: #f0f0f0;
    --bs-card-bg: #f7f7f7;
}

.day-card.tag-sonntag {
    --bs-card-cap-bg: #e2e2e2;
    --bs-card-bg: #efefef;
}

.slot-deaktiviert {
    background: repeating-linear-gradient(45deg, #eee, #eee 4px, #f7f7f7 4px, #f7f7f7 8px);
    color: #999;
}

.slot-belegt {
    background: #e6f2e8;
}

.slot-personal {
    background: #dfe9f7;
}

.tag-nicht-geplant {
    background: #fff3cd;
}

/* In der Tabelle setzt Bootstrap die Zellfarbe über --bs-table-bg */
.plan-table td.slot-belegt {
    --bs-table-bg: #e6f2e8;
}

.plan-table td.slot-personal {
    --bs-table-bg: #dfe9f7;
}

/* Nicht geplant: gelb, aber Wochentag und Datum behalten die Wochenendfarbe */
.plan-table tr.tag-nicht-geplant > td:not(.slot-belegt):not(.slot-personal):not(.tag-datum) {
    --bs-table-bg: #fff3cd;
}

.day-card.tag-nicht-geplant {
    border: 2px solid #ffc107;
}

.tag-vorbei {
    opacity: .6;
}

.tag-heute {
    outline: 2px solid var(--hp-braun);
    outline-offset: -2px;
}

.haufen {
    font-variant-numeric: tabular-nums;
    color: #6c757d;
    font-size: .8rem;
}

.haufen-abgemistet {
    color: var(--hp-gruen);
    font-weight: 600;
}

.day-card .list-group-item {
    padding: .6rem .75rem;
}

.sticky-col {
    position: sticky;
    left: 0;
    background: inherit;
    z-index: 1;
}

/* Handbuch */
.handbook h1 {
    font-size: 1.75rem;
    margin-bottom: 1rem;
}

.handbook h2 {
    font-size: 1.35rem;
    margin-top: 2rem;
}

.handbook h3 {
    font-size: 1.1rem;
    margin-top: 1.5rem;
}

.handbook h2, .handbook h3 {
    scroll-margin-top: 1rem;
}

.handbook pre {
    background: #f4ede4;
    padding: .75rem;
    border-radius: .375rem;
    white-space: pre-wrap;
}

/* Kleiner Entfernen-Button im Monatsplan; min-height der Handy-Regel für .btn aufheben */
.btn.btn-remove {
    min-height: 0;
    font-size: 1.1rem;
}
