.bp-page { padding-bottom: 24px; }
.bp-page .card-header { background: transparent; border-bottom: 1px solid var(--border); font-weight: 600; }
.bp-page .bp-label { display: block; font-size: .8rem; font-weight: 600; color: var(--text-muted); margin-bottom: 6px; }
.bp-page .nav-tabs .nav-link { color: var(--text); }
.bp-page .nav-tabs .nav-link.active { color: var(--brand-accent); font-weight: 600; }
.bp-page .tabulator .tabulator-cell.tabulator-editable { background: var(--surface); }
.bp-page .tabulator input { min-width: 0; }
.bp-page .DateInput { width: 118px; }
.bp-page .DateInput_input { font-size: .85rem; }
.bp-page details > summary { cursor: pointer; color: var(--text); }
@media (max-width: 767px) { .bp-page .nav-tabs { flex-wrap: nowrap; overflow-x: auto; } }

/* Guided budget workspace, scoped to this page and its dialogs. */
.bp-page .bp-control-action { display: flex; justify-content: flex-end; align-items: end; }
.bp-page .bp-control-action .btn { min-height: 38px; }
.bp-version-status { font-weight: 600; }
.bp-empty { padding: 64px 24px; text-align: center; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); margin-top: 20px; }
.bp-page .bp-grain { display: flex; flex-wrap: wrap; gap: 12px; min-height: 38px; align-items: center; }
.bp-savebar { display: flex; justify-content: space-between; gap: 12px; padding-top: 16px; flex-wrap: wrap; }
.bp-page .tabulator .tabulator-cell.tabulator-editable { background: var(--surface); box-shadow: inset 0 -1px var(--border); cursor: text; }
.bp-page .tabulator .tabulator-cell.bp-locked { background: var(--filter-surface) !important; color: var(--text-muted); cursor: default; }
.bp-modal .modal-content { border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface); }
.bp-modal .modal-body { max-height: 65vh; overflow-y: auto; }
.bp-modal .bp-label { display: block; font-size: .85rem; font-weight: 600; margin-bottom: 6px; }
.bp-start-options .form-check { padding-top: 12px; padding-bottom: 12px; }
.bp-weights { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 8px; }
@media (max-width: 767px) {
  .bp-weights { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .bp-page .bp-control-action { justify-content: flex-start; }
  .bp-page .DateInput { width: 105px; }
}
