.section-subhead { margin: var(--spacing-xl) 0 var(--spacing-md); }
.section-subhead h3 { font-size: 1.05rem; font-weight: 600; color: var(--dark); }

/* Kopfzeile: h/€-Umschalter + „Ohne Budget"-Toggle, beide rechts. */
.bd-head { display: flex; justify-content: flex-end; align-items: center; gap: 10px; margin-bottom: 10px; flex-wrap: wrap; }
.bd-head .bd-unit-toggle { margin-bottom: 0; }

/* „Projekte ohne Budget" ein-/ausblenden. */
.bd-nobudget-toggle {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 4px 12px; font-size: .8rem; font-weight: 600; cursor: pointer;
    border: 1px solid var(--gray-200); border-radius: 7px; background: var(--white); color: var(--gray-500);
    transition: background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);
}
.bd-nobudget-toggle:hover { border-color: var(--gray-300); color: var(--primary); }
.bd-nobudget-toggle.active { background: var(--primary-lighter); color: var(--primary); border-color: var(--primary-lighter); }
[data-theme="dark"] .bd-nobudget-toggle { background: var(--dark-light); }

/* Spec 22: h/€-Anzeige-Umschalter */
.bd-unit-toggle { display: flex; gap: 0; justify-content: flex-end; margin-bottom: 10px; }
.bd-unit-btn {
    padding: 4px 12px; font-size: .8rem; font-weight: 600; cursor: pointer;
    border: 1px solid var(--gray-200); background: var(--white); color: var(--gray-500);
}
.bd-unit-btn:first-child { border-radius: 7px 0 0 7px; }
.bd-unit-btn:last-child { border-radius: 0 7px 7px 0; border-left: 0; }
.bd-unit-btn.active { background: var(--primary-lighter); color: var(--primary); border-color: var(--primary-lighter); }
[data-theme="dark"] .bd-unit-btn { background: var(--dark-light); }

.bd-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 14px; }
@media (max-width: 768px) {
    .bd-summary { grid-template-columns: repeat(2, 1fr); }
    .bd-top { flex-wrap: wrap; }
    .bd-right { margin-left: 0; }
}
.bd-s { border: 1px solid var(--gray-200); border-radius: 10px; padding: 9px 12px; }
.bd-s-l { font-size: .62rem; text-transform: uppercase; letter-spacing: .06em; color: var(--gray-400); font-weight: 700; }
.bd-s-n { font-size: 1.05rem; font-weight: 700; color: var(--dark); margin-top: 2px; font-variant-numeric: tabular-nums; }
.bd-s-n.ok { color: var(--success); } .bd-s-n.err { color: var(--error); }

.bd-row { border: 1px solid var(--gray-200); border-radius: 10px; padding: 10px 13px; margin-bottom: 8px; }
.bd-top { display: flex; align-items: center; gap: 9px; margin-bottom: 7px; }
.bd-name { font-size: .85rem; font-weight: 600; color: var(--dark); }
.bd-badge { font-size: .6rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; padding: 2px 7px; border-radius: 5px; }
.bd-badge.h { background: var(--primary-lighter); color: var(--primary-dark); }
.bd-badge.fp { background: #fef3e2; color: #b45309; }
.bd-badge.mo { background: var(--success-bg); color: var(--success-darker); }
.bd-right { margin-left: auto; font-size: .78rem; color: var(--gray-500); }
.bd-right b { color: var(--dark); }
.bd-fp-units { color: var(--gray-400); }
.bd-edit {
    flex: 0 0 auto;
    display: inline-flex; align-items: center; justify-content: center;
    width: 26px; height: 26px;
    border: 1px solid transparent; border-radius: 7px;
    background: transparent; color: var(--gray-400);
    cursor: pointer; opacity: 0;
    transition: opacity var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);
}
.bd-row:hover .bd-edit, .bd-edit:focus-visible { opacity: 1; }
.bd-edit:hover { background: var(--gray-100); color: var(--primary); border-color: var(--gray-200); }
.bd-edit:focus-visible { outline: none; box-shadow: 0 0 0 3px var(--primary-lighter); }
/* Touch/Mobile: Button immer sichtbar (kein Hover). */
@media (hover: none) { .bd-edit { opacity: 1; } }
.bd-track { height: 8px; border-radius: 5px; background: var(--gray-200); overflow: hidden; }
.bd-fill { display: block; height: 100%; border-radius: 5px; }
.bd-fill.ok { background: var(--primary); } .bd-fill.warn { background: var(--warning); } .bd-fill.over { background: var(--error); }
.bd-meta { display: flex; gap: 16px; font-size: .72rem; color: var(--gray-500); margin-top: 6px; }
.bd-meta b { color: var(--dark); }
.bd-margin { font-weight: 700; padding: 2px 7px; border-radius: 5px; }
.bd-margin.good { background: var(--success-bg); color: var(--success); }
.bd-margin.bad { background: var(--error-lighter); color: var(--error-dark); }

/* Projekt ohne Budget: dezente Info-Zeile statt 0/0-Balken. */
.bd-row-nobudget { border-style: dashed; }
.bd-row-nobudget .bd-top { margin-bottom: 0; }
.bd-right.bd-muted { color: var(--gray-400); font-style: italic; }
.bd-right.bd-muted b { color: var(--gray-500); font-style: normal; }

.bd-empty { padding: 22px 14px; text-align: center; font-size: .82rem; color: var(--gray-500); border: 1px dashed var(--gray-200); border-radius: 10px; }
[data-theme="dark"] .bd-empty { border-color: rgba(64,64,64,.6); }

@media (max-width: 768px) { .bd-summary { grid-template-columns: repeat(2, 1fr); } }

[data-theme="dark"] .bd-s, [data-theme="dark"] .bd-row { border-color: rgba(64,64,64,.6); }
[data-theme="dark"] .bd-badge.fp { background: rgba(180,83,9,.18); color: #f0b66b; }
