/* Debit Base UI v36 – consolidated active UI layer. */

/* --- from debitbase-fluid-platform-v26.css, kept functionally required styles --- */
/* Debit Base Fluid Platform v26
   Moderne Zusatzschicht fuer echte Smartphone- und PC-Profile, fluessigere Oberflaeche und sichere Vordergrund-Dialoge.
   Diese Datei ueberschreibt bewusst nur Layout, Responsiveness und Performance-Verhalten. App-Logik bleibt unberuehrt. */

:root {
  --db-v26-content-max: 1560px;
  --db-v26-pad-mobile: clamp(8px, 2.6vw, 14px);
  --db-v26-pad-desktop: clamp(22px, 3vw, 44px);
  --db-v26-radius-card: 24px;
  --db-v26-radius-sheet: 30px;
  --db-v26-safe-top: env(safe-area-inset-top, 0px);
  --db-v26-safe-right: env(safe-area-inset-right, 0px);
  --db-v26-safe-bottom: env(safe-area-inset-bottom, 0px);
  --db-v26-safe-left: env(safe-area-inset-left, 0px);
  --db-v26-blue: #1677f2;
  --db-v26-blue-dark: #0b3f99;
  --db-v26-text: #0b2d61;
  --db-v26-muted: #526b91;
  --db-v26-surface: rgba(255, 255, 255, .94);
  --db-v26-border: rgba(24, 103, 211, .13);
  --db-v26-shadow-soft: 0 14px 34px rgba(9, 55, 123, .075);
  --db-v26-shadow-panel: 0 26px 68px rgba(7, 34, 84, .22);
}

html.db-v26-ready,
html.db-v26-ready body {
  min-width: 320px !important;
  overflow-x: hidden !important;
  -webkit-tap-highlight-color: transparent !important;
  text-rendering: optimizeLegibility;
}

html.db-v26-ready body {
  background:
    radial-gradient(circle at 8% -2%, rgba(22, 119, 242, .10), transparent 34rem),
    radial-gradient(circle at 92% 0%, rgba(143, 208, 255, .19), transparent 34rem),
    linear-gradient(180deg, #eaf6ff 0%, #fbfdff 42%, #eaf6ff 100%) !important;
  color: var(--db-v26-text) !important;
}

html.db-v26-ready * {
  box-sizing: border-box !important;
}

html.db-v26-ready img,
html.db-v26-ready svg,
html.db-v26-ready canvas,
html.db-v26-ready video {
  max-width: 100% !important;
}

html.db-v26-ready button,
html.db-v26-ready a,
html.db-v26-ready input,
html.db-v26-ready select,
html.db-v26-ready textarea,
html.db-v26-ready [role="button"] {
  touch-action: manipulation !important;
}

html.db-v26-ready input,
html.db-v26-ready select,
html.db-v26-ready textarea {
  max-width: 100% !important;
}

html.db-v26-mobile input,
html.db-v26-mobile select,
html.db-v26-mobile textarea {
  font-size: 16px !important;
}

html.db-v26-ready :focus-visible {
  outline: 3px solid rgba(22, 119, 242, .34) !important;
  outline-offset: 3px !important;
}

html.db-v26-ready .card,
html.db-v26-ready .surface,
html.db-v26-ready .metric-card,
html.db-v26-ready .delta-card,
html.db-v26-ready .nested-card,
html.db-v26-ready .widget-shell,
html.db-v26-ready .helper-card,
html.db-v26-ready .transaction-row,
html.db-v26-ready .simple-list > *,
html.db-v26-ready .fixed-instance-list > *,
html.db-v26-ready .budget-target-list > *,
html.db-v26-ready .goal-list > *,
html.db-v26-ready .pot-list > *,
html.db-v26-ready .cashflow-category-row,
html.db-v26-ready .reminder-center-row,
html.db-v26-ready .subscription-check-row {
  border-color: var(--db-v26-border) !important;
  box-shadow: var(--db-v26-shadow-soft) !important;
  contain: layout paint !important;
}

html.db-v26-ready .card,
html.db-v26-ready .surface,
html.db-v26-ready .widget-shell,
html.db-v26-ready .metric-card,
html.db-v26-ready .delta-card,
html.db-v26-ready .nested-card,
html.db-v26-ready .helper-card {
  border-radius: var(--db-v26-radius-card) !important;
}

html.db-v26-ready .button-row,
html.db-v26-ready .button-row.wrap {
  gap: 9px !important;
}

html.db-v26-ready .primary,
html.db-v26-ready .outline,
html.db-v26-ready .ghost,
html.db-v26-ready .file-button,
html.db-v26-ready .field-button,
html.db-v26-ready .icon-pill,
html.db-v26-ready button {
  transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease, background-color .14s ease, filter .14s ease !important;
}

html.db-v26-ready button:active,
html.db-v26-ready [role="button"]:active,
html.db-v26-ready .primary:active,
html.db-v26-ready .outline:active,
html.db-v26-ready .ghost:active,
html.db-v26-ready .file-button:active {
  transform: translateY(1px) scale(.992) !important;
}


/* Gemeinsame App-Flaeche */
html.db-v26-ready .app-shell {
  min-width: 0 !important;
  isolation: isolate !important;
}

html.db-v26-ready .workspace,
html.db-v26-ready .page-stack,
html.db-v26-ready .page-section-sequence,
html.db-v26-ready .dashboard-two,
html.db-v26-ready .dashboard-three,
html.db-v26-ready .metric-grid,
html.db-v26-ready .mini-stat-grid,
html.db-v26-ready .delta-grid,
html.db-v26-ready .helper-grid,
html.db-v26-ready .help-grid,
html.db-v26-ready .quick-access-grid,
html.db-v26-ready .budget-category-grid,
html.db-v26-ready .form-grid,
html.db-v26-ready .import-preview-metrics {
  min-width: 0 !important;
}

html.db-v26-ready .desktop-rail,
html.db-v26-ready aside.desktop-rail,
html.db-v26-ready .rail-nav {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Fixierte Finanzleiste: Zahlen bleiben zentriert, Menue rechts */
html.db-v26-ready #debitbase-v8-fixed-utility {
  border-bottom-color: rgba(9, 69, 160, .12) !important;
  backdrop-filter: blur(16px) saturate(1.08) !important;
  -webkit-backdrop-filter: blur(16px) saturate(1.08) !important;
}

html.db-v26-ready #debitbase-v8-fixed-utility .db-v8-money-item {
  overflow: hidden !important;
}

html.db-v26-ready #debitbase-v8-fixed-utility .db-v8-money-item span,
html.db-v26-ready #debitbase-v8-fixed-utility .db-v8-money-item strong {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* Zeitraumleiste bleibt nicht fixiert, bekommt aber klares App-Gefuehl */
html.db-v26-ready #debitbase-v23-period-strip {
  position: relative !important;
  contain: layout paint !important;
}

html.db-v26-ready .db-v23-period-main,
html.db-v26-ready .db-v23-period-nav,
html.db-v26-ready .db-v23-period-week,
html.db-v26-ready .db-v23-period-today {
  will-change: transform !important;
}

/* Smartphone-Version */
@media (max-width: 760px) {
  :root {
    --db-v26-radius-card: 22px;
    --db-v26-radius-sheet: 27px;
  }

  html.db-v26-mobile body {
    padding-top: var(--db-fixedbar-h) !important;
  }

  html.db-v26-mobile #debitbase-v8-fixed-utility {
    min-height: var(--db-fixedbar-h) !important;
    padding: calc(var(--db-v26-safe-top) + 5px) calc(var(--db-v26-safe-right) + 8px) 6px calc(var(--db-v26-safe-left) + 8px) !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 7px !important;
    align-items: center !important;
  }

  html.db-v26-mobile #debitbase-v8-fixed-utility .db-v8-money {
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 5px !important;
  }

  html.db-v26-mobile #debitbase-v8-fixed-utility .db-v8-money-item {
    min-height: 42px !important;
    padding: 6px 5px !important;
    border-radius: 14px !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    align-content: center !important;
    text-align: center !important;
    background: rgba(255, 255, 255, .88) !important;
  }

  html.db-v26-mobile #debitbase-v8-fixed-utility .db-v8-money-item span {
    max-width: 100% !important;
    font-size: 9px !important;
    line-height: 1.05 !important;
    letter-spacing: .035em !important;
    text-transform: uppercase !important;
    font-weight: 950 !important;
  }

  html.db-v26-mobile #debitbase-v8-fixed-utility .db-v8-money-item strong {
    max-width: 100% !important;
    font-size: clamp(10px, 3.25vw, 13px) !important;
    line-height: 1.1 !important;
    font-weight: 950 !important;
  }

  html.db-v26-mobile #debitbase-v8-fixed-utility .db-v8-menu-btn {
    min-width: 60px !important;
    width: 60px !important;
    height: 42px !important;
    padding: 0 8px !important;
    border-radius: 15px !important;
    font-size: 12px !important;
  }

  html.db-v26-mobile #debitbase-v8-fixed-utility .db-v8-menu-dot {
    display: none !important;
  }

  html.db-v26-mobile #debitbase-v23-period-strip {
    min-height: 52px !important;
    padding: 5px var(--db-v26-pad-mobile) 7px !important;
  }

  html.db-v26-mobile .db-v23-period-inner {
    min-height: 40px !important;
  }

  html.db-v26-mobile .db-v23-period-main {
    min-height: 40px !important;
    padding: 7px 10px !important;
    border-radius: 17px !important;
  }

  html.db-v26-mobile .app-shell {
    width: 100% !important;
    padding: 10px var(--db-v26-pad-mobile) calc(var(--db-v26-safe-bottom) + 96px) !important;
  }

  html.db-v26-mobile .workspace,
  html.db-v26-mobile .page-stack,
  html.db-v26-mobile .page-section-sequence,
  html.db-v26-mobile .dashboard-two,
  html.db-v26-mobile .dashboard-three,
  html.db-v26-mobile .helper-grid,
  html.db-v26-mobile .help-grid,
  html.db-v26-mobile .quick-access-grid,
  html.db-v26-mobile .budget-category-grid,
  html.db-v26-mobile .settings-highlight,
  html.db-v26-mobile .import-export-stack {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    width: 100% !important;
  }

  html.db-v26-mobile .metric-grid,
  html.db-v26-mobile .metric-grid.five,
  html.db-v26-mobile .metric-grid.four,
  html.db-v26-mobile .mini-stat-grid,
  html.db-v26-mobile .delta-grid,
  html.db-v26-mobile .cashflow-reserve-grid,
  html.db-v26-mobile .annual-trend-metrics,
  html.db-v26-mobile .import-preview-metrics {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  html.db-v26-mobile .metric-grid.five > :first-child,
  html.db-v26-mobile .import-preview-metrics > :first-child {
    grid-column: 1 / -1 !important;
  }

  html.db-v26-mobile .form-grid,
  html.db-v26-mobile .form-grid.two,
  html.db-v26-mobile .form-grid.three,
  html.db-v26-mobile .filter-grid,
  html.db-v26-mobile .share-prep-grid,
  html.db-v26-mobile .color-grid,
  html.db-v26-mobile .check-grid,
  html.db-v26-mobile .visibility-order-list,
  html.db-v26-mobile .button-row.wrap {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 9px !important;
  }

  html.db-v26-mobile .card,
  html.db-v26-mobile .surface,
  html.db-v26-mobile .widget-shell,
  html.db-v26-mobile .metric-card,
  html.db-v26-mobile .delta-card,
  html.db-v26-mobile .nested-card,
  html.db-v26-mobile .helper-card {
    padding: 13px !important;
    overflow: hidden !important;
  }

  html.db-v26-mobile .card-head,
  html.db-v26-mobile .section-head,
  html.db-v26-mobile .widget-head,
  html.db-v26-mobile .goal-row-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: start !important;
    gap: 7px !important;
  }

  html.db-v26-mobile .card-head h1,
  html.db-v26-mobile .card-head h2,
  html.db-v26-mobile .card-head h3,
  html.db-v26-mobile .section-head h1,
  html.db-v26-mobile .section-head h2,
  html.db-v26-mobile .section-head h3,
  html.db-v26-mobile .widget-head h1,
  html.db-v26-mobile .widget-head h2,
  html.db-v26-mobile .widget-head h3 {
    font-size: clamp(18px, 5.2vw, 23px) !important;
    line-height: 1.08 !important;
    margin: 0 !important;
  }

  html.db-v26-mobile .metric-card,
  html.db-v26-mobile .delta-card,
  html.db-v26-mobile .metric-pill {
    min-height: 80px !important;
    padding: 10px !important;
    justify-items: center !important;
    align-content: center !important;
    text-align: center !important;
  }

  html.db-v26-mobile .transaction-row,
  html.db-v26-mobile .mini-transaction,
  html.db-v26-mobile .cashflow-category-row,
  html.db-v26-mobile .reminder-center-row,
  html.db-v26-mobile .subscription-check-row,
  html.db-v26-mobile .budget-target-row,
  html.db-v26-mobile .goal-row,
  html.db-v26-mobile .pot-row,
  html.db-v26-mobile .simple-list > *,
  html.db-v26-mobile .fixed-instance-list > * {
    padding: 10px !important;
    border-radius: 18px !important;
    min-width: 0 !important;
  }

  html.db-v26-mobile .transaction-row {
    grid-template-columns: 42px minmax(0, 1fr) !important;
  }

  html.db-v26-mobile .transaction-row .row-actions,
  html.db-v26-mobile .transaction-row .button-row.compact.row-actions {
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
  }

  html.db-v26-mobile .button-row.modal-actions,
  html.db-v26-mobile .settings-confirm-actions,
  html.db-v26-mobile .import-fixed-actions,
  html.db-v26-mobile .subscription-review-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
  }

  html.db-v26-mobile .button-row.modal-actions > button,
  html.db-v26-mobile .settings-confirm-actions > button,
  html.db-v26-mobile .primary,
  html.db-v26-mobile .outline,
  html.db-v26-mobile .ghost,
  html.db-v26-mobile .file-button,
  html.db-v26-mobile .field-button {
    min-height: 44px !important;
  }
/* Smartphone-Dialoge als echte Bottom-Sheets */
  html.db-v26-mobile .modal-backdrop,
  html.db-v26-mobile .settings-panel-backdrop,
  html.db-v26-mobile .settings-confirm-backdrop,
  html.db-v26-mobile .period-drawer,
  html.db-v26-mobile #debitbase-v23-period-sheet {
    position: fixed !important;
    inset: 0 !important;
    align-items: flex-end !important;
    justify-content: center !important;
    padding: max(8px, var(--db-v26-safe-top)) 7px max(8px, var(--db-v26-safe-bottom)) !important;
    background: rgba(3, 24, 58, .34) !important;
    backdrop-filter: blur(10px) saturate(1.08) !important;
    -webkit-backdrop-filter: blur(10px) saturate(1.08) !important;
  }

  html.db-v26-mobile .modal-sheet,
  html.db-v26-mobile .settings-panel,
  html.db-v26-mobile .settings-confirm-modal,
  html.db-v26-mobile .period-drawer-panel,
  html.db-v26-mobile .db-v23-sheet-card {
    width: min(100%, 680px) !important;
    max-width: 680px !important;
    max-height: calc(100dvh - var(--db-v26-safe-top) - 20px) !important;
    border-radius: var(--db-v26-radius-sheet) var(--db-v26-radius-sheet) 18px 18px !important;
    overflow: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    box-shadow: var(--db-v26-shadow-panel) !important;
  }

  html.db-v26-mobile .modal-head,
  html.db-v26-mobile .settings-panel-head,
  html.db-v26-mobile .settings-confirm-head,
  html.db-v26-mobile .drawer-head,
  html.db-v26-mobile .db-v23-sheet-head {
    position: sticky !important;
    top: 0 !important;
    z-index: 5 !important;
    background: linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(245, 250, 255, .94)) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
  }

  html.db-v26-mobile .modal-actions,
  html.db-v26-mobile .settings-panel-savebar,
  html.db-v26-mobile .settings-confirm-actions {
    position: sticky !important;
    bottom: 0 !important;
    z-index: 4 !important;
    background: linear-gradient(180deg, rgba(255,255,255,.68), rgba(255,255,255,.98) 35%) !important;
    padding-top: 10px !important;
  }

  html.db-v26-mobile .import-assistant-backdrop .modal-sheet,
  html.db-v26-mobile .pdf-export-backdrop .modal-sheet,
  html.db-v26-mobile .fixkosten-modal {
    max-height: calc(100dvh - var(--db-v26-safe-top) - 16px) !important;
  }

  html.db-v26-mobile html.db-v18-fixedcost-page,
  html.db-v26-mobile .fixkosten-modal-body,
  html.db-v26-mobile html.db-v18-fixedcost-page .fixkosten-modal-body {
    grid-template-columns: 1fr !important;
  }
}

/* Tablet-Version */
@media (min-width: 761px) and (max-width: 1179px) {
  html.db-v26-tablet .app-shell {
    width: min(1120px, calc(100vw - 34px)) !important;
    margin-inline: auto !important;
    padding: 18px 0 96px !important;
  }

  html.db-v26-tablet .page-section-sequence,
  html.db-v26-tablet .dashboard-two,
  html.db-v26-tablet .dashboard-three,
  html.db-v26-tablet .helper-grid,
  html.db-v26-tablet .help-grid,
  html.db-v26-tablet .quick-access-grid,
  html.db-v26-tablet .budget-category-grid,
  html.db-v26-tablet .metric-grid,
  html.db-v26-tablet .mini-stat-grid,
  html.db-v26-tablet .delta-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 15px !important;
  }

  html.db-v26-tablet .page-section-sequence > .ordered-section-item:has(.metric-grid.five),
  html.db-v26-tablet .page-section-sequence > .ordered-section-item:has(.transaction-list),
  html.db-v26-tablet .page-section-sequence > .ordered-section-item:has(.week-card-grid),
  html.db-v26-tablet .page-section-sequence > .ordered-section-item:has(.cashflow-ladder),
  html.db-v26-tablet .page-section-sequence > .ordered-section-item:has(.settings-panel) {
    grid-column: 1 / -1 !important;
  }
}

/* PC-Version */
@media (min-width: 1180px) {
  html.db-v26-desktop body {
    padding-top: var(--db-fixedbar-h) !important;
  }

  html.db-v26-desktop #debitbase-v8-fixed-utility {
    min-height: var(--db-fixedbar-h) !important;
    padding-left: max(18px, var(--db-v26-safe-left)) !important;
    padding-right: max(18px, var(--db-v26-safe-right)) !important;
    grid-template-columns: minmax(0, 1fr) !important;
    justify-content: center !important;
    justify-items: center !important;
  }

  html.db-v26-desktop #debitbase-v8-fixed-utility .db-v8-money {
    width: min(820px, calc(100vw - 360px)) !important;
    max-width: 820px !important;
    justify-self: center !important;
    grid-column: 1 !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(170px, 1fr)) !important;
    gap: 11px !important;
  }

  html.db-v26-desktop #debitbase-v8-fixed-utility .db-v8-money-item {
    min-height: 44px !important;
    border-radius: 17px !important;
    padding: 7px 13px !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    justify-items: start !important;
    align-items: center !important;
    text-align: left !important;
  }

  html.db-v26-desktop #debitbase-v8-fixed-utility .db-v8-money-item strong {
    justify-self: end !important;
    font-size: 14px !important;
  }

  html.db-v26-desktop #debitbase-v8-fixed-utility .db-v8-menu-btn {
    position: absolute !important;
    top: calc(var(--db-v26-safe-top) + 8px) !important;
    right: max(18px, var(--db-v26-safe-right)) !important;
    min-width: 116px !important;
    height: 44px !important;
    border-radius: 17px !important;
  }

  html.db-v26-desktop #debitbase-v23-period-strip {
    padding-left: var(--db-v26-pad-desktop) !important;
    padding-right: var(--db-v26-pad-desktop) !important;
  }

  html.db-v26-desktop .app-shell {
    width: min(var(--db-v26-content-max), calc(100vw - 72px)) !important;
    margin-inline: auto !important;
    padding: 24px 0 104px !important;
  }

  html.db-v26-desktop .workspace,
  html.db-v26-desktop .page-stack {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 22px !important;
    width: 100% !important;
    max-width: none !important;
  }

  html.db-v26-desktop .page-section-sequence {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    gap: 18px !important;
    align-items: start !important;
  }

  html.db-v26-desktop .page-section-sequence > .ordered-section-item,
  html.db-v26-desktop .page-section-sequence > * {
    grid-column: span 6 !important;
    min-width: 0 !important;
  }

  html.db-v26-desktop .page-section-sequence > .ordered-section-item:has(.hero-overview),
  html.db-v26-desktop .page-section-sequence > .ordered-section-item:has(.fixed-overview-card),
  html.db-v26-desktop .page-section-sequence > .ordered-section-item:has(.metric-grid.five),
  html.db-v26-desktop .page-section-sequence > .ordered-section-item:has(.transaction-list),
  html.db-v26-desktop .page-section-sequence > .ordered-section-item:has(.week-card-grid),
  html.db-v26-desktop .page-section-sequence > .ordered-section-item:has(.cashflow-ladder),
  html.db-v26-desktop .page-section-sequence > .ordered-section-item:has(.cashflow-metrics),
  html.db-v26-desktop .page-section-sequence > .ordered-section-item:has(.import-export-stack),
  html.db-v26-desktop .page-section-sequence > .ordered-section-item:has(table),
  html.db-v26-desktop .page-section-sequence > .ordered-section-item:has(.settings-panel) {
    grid-column: 1 / -1 !important;
  }

  html.db-v26-desktop .dashboard-two,
  html.db-v26-desktop .dashboard-two.dashboard-adaptive-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
  }

  html.db-v26-desktop .dashboard-three,
  html.db-v26-desktop .helper-grid,
  html.db-v26-desktop .help-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
  }

  html.db-v26-desktop .metric-grid.five {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }

  html.db-v26-desktop .metric-grid.four,
  html.db-v26-desktop .mini-stat-grid,
  html.db-v26-desktop .delta-grid,
  html.db-v26-desktop .cashflow-reserve-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  html.db-v26-desktop .form-grid.three,
  html.db-v26-desktop .filter-grid,
  html.db-v26-desktop .share-prep-grid,
  html.db-v26-desktop .import-preview-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  html.db-v26-desktop .form-grid.two,
  html.db-v26-desktop .budget-category-grid,
  html.db-v26-desktop .quick-access-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html.db-v26-desktop .card,
  html.db-v26-desktop .surface,
  html.db-v26-desktop .widget-shell {
    padding: clamp(17px, 1.15vw, 23px) !important;
  }

  html.db-v26-desktop .transaction-row {
    grid-template-columns: 48px minmax(0, 1fr) auto !important;
    padding: 12px 14px !important;
  }

  html.db-v26-desktop .modal-backdrop,
  html.db-v26-desktop .settings-panel-backdrop,
  html.db-v26-desktop .settings-confirm-backdrop,
  html.db-v26-desktop #debitbase-v23-period-sheet {
    padding: 24px !important;
    align-items: center !important;
    justify-content: center !important;
  }

  html.db-v26-desktop .modal-sheet.wide,
  html.db-v26-desktop .pdf-export-modal,
  html.db-v26-desktop .fixkosten-modal,
  html.db-v26-desktop .import-assistant-backdrop .modal-sheet {
    width: min(1320px, calc(100vw - 54px)) !important;
    max-width: 1320px !important;
    max-height: calc(100dvh - 56px) !important;
    overflow: auto !important;
    border-radius: 30px !important;
    box-shadow: var(--db-v26-shadow-panel) !important;
  }

  html.db-v26-desktop .modal-head,
  html.db-v26-desktop .settings-panel-head {
    position: sticky !important;
    top: 0 !important;
    z-index: 5 !important;
    background: rgba(255, 255, 255, .96) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
  }

  html.db-v26-desktop .import-assistant-backdrop .modal-actions,
  html.db-v26-desktop .pdf-export-backdrop .modal-actions,
  html.db-v26-desktop .fixkosten-modal .modal-actions,
  html.db-v26-desktop .settings-panel-savebar {
    position: sticky !important;
    bottom: 0 !important;
    z-index: 4 !important;
    background: linear-gradient(180deg, rgba(255,255,255,.62), rgba(255,255,255,.98) 36%) !important;
    padding-top: 10px !important;
  }

  html.db-v26-desktop html.db-v7-settings-page-open .settings-drawer-panel,
  html.db-v26-desktop .settings-drawer-panel {
    width: min(1380px, calc(100vw - 54px)) !important;
    max-width: 1380px !important;
  }

  html.db-v26-desktop .settings-drawer-panel .drawer-menu-list {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 1rem !important;
  }
}

@media (min-width: 1540px) {
  html.db-v26-desktop .page-section-sequence > .ordered-section-item,
  html.db-v26-desktop .page-section-sequence > * {
    grid-column: span 4 !important;
  }

  html.db-v26-desktop .page-section-sequence > .ordered-section-item:has(.hero-overview),
  html.db-v26-desktop .page-section-sequence > .ordered-section-item:has(.fixed-overview-card),
  html.db-v26-desktop .page-section-sequence > .ordered-section-item:has(.metric-grid.five),
  html.db-v26-desktop .page-section-sequence > .ordered-section-item:has(.transaction-list),
  html.db-v26-desktop .page-section-sequence > .ordered-section-item:has(.week-card-grid),
  html.db-v26-desktop .page-section-sequence > .ordered-section-item:has(.cashflow-ladder),
  html.db-v26-desktop .page-section-sequence > .ordered-section-item:has(.cashflow-metrics),
  html.db-v26-desktop .page-section-sequence > .ordered-section-item:has(.import-export-stack),
  html.db-v26-desktop .page-section-sequence > .ordered-section-item:has(table),
  html.db-v26-desktop .page-section-sequence > .ordered-section-item:has(.settings-panel) {
    grid-column: 1 / -1 !important;
  }
}

/* Import-/Export-Fenster garantiert im Vordergrund */
html.db-v26-ready .modal-backdrop.import-assistant-backdrop,
html.db-v26-ready .import-assistant-backdrop,
html.db-v26-ready .modal-backdrop:has(.import-preview-card),
html.db-v26-ready .modal-backdrop:has(.import-review-progress),
html.db-v26-ready .modal-backdrop:has(.bank-import-analysis),
html.db-v26-ready .pdf-export-backdrop,
html.db-v26-ready .modal-backdrop:has(.pdf-export-modal) {
  z-index: 2147483600 !important;
  pointer-events: auto !important;
}

html.db-v26-ready .modal-backdrop.import-assistant-backdrop .modal-sheet,
html.db-v26-ready .import-assistant-backdrop .modal-sheet,
html.db-v26-ready .pdf-export-backdrop .modal-sheet,
html.db-v26-ready .pdf-export-modal {
  z-index: 2147483601 !important;
}

html.db-v26-ready .modal-backdrop.db-v26-topmost,
html.db-v26-ready .settings-panel-backdrop.db-v26-topmost,
html.db-v26-ready .settings-confirm-backdrop.db-v26-topmost,
html.db-v26-ready #debitbase-v23-period-sheet.db-v26-topmost {
  z-index: 2147483610 !important;
}

html.db-v26-ready .modal-backdrop.db-v26-topmost .modal-sheet,
html.db-v26-ready .settings-panel-backdrop.db-v26-topmost .settings-panel,
html.db-v26-ready .settings-confirm-backdrop.db-v26-topmost .settings-confirm-modal,
html.db-v26-ready #debitbase-v23-period-sheet.db-v26-topmost .db-v23-sheet-card {
  z-index: 2147483611 !important;
}

/* Fixkosten und Datumsfelder */
html.db-v26-ready input[type="date"],
html.db-v26-ready input[type="month"],
html.db-v26-ready input[type="number"],
html.db-v26-ready input[inputmode="decimal"] {
  min-height: 44px !important;
}

html.db-v26-ready input[type="date"]::-webkit-calendar-picker-indicator,
html.db-v26-ready input[type="month"]::-webkit-calendar-picker-indicator {
  min-width: 26px !important;
  min-height: 26px !important;
  cursor: pointer !important;
}

html.db-v26-ready .import-filter-row,
html.db-v26-ready .import-review-shortcuts {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

html.db-v26-mobile .import-filter-row > button,
html.db-v26-mobile .import-review-shortcuts > button {
  flex: 1 1 100% !important;
}

/* Eigenstaendige PWA-Flaeche */
html.db-v26-standalone body {
  overscroll-behavior-y: contain !important;
}

html.db-v26-standalone #debitbase-v8-fixed-utility {
  padding-top: calc(var(--db-v26-safe-top) + 7px) !important;
}

@media (prefers-reduced-motion: reduce) {
  html.db-v26-ready *,
  html.db-v26-ready *::before,
  html.db-v26-ready *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
  }
}


/* --- from debitbase-start-cockpit-v28.css, kept functionally required styles --- */
/* Debit Base Start-Cockpit v28
   Eigene Startseite ohne News-Bereich, mit kompaktem Home-Button links: Logo, Willkommensbereich, Finanzstatus,
   Schnellaktionen, wichtige Hinweise, Fixkosten, Monatsstand, letzte Buchungen und Empfehlungen. */

:root {
  --db-v27-blue: #1677f2;
  --db-v27-blue-dark: #073c98;
  --db-v27-navy: #082a5d;
  --db-v27-sky: #eaf6ff;
  --db-v27-card: rgba(255,255,255,.94);
  --db-v27-border: rgba(24,103,211,.14);
  --db-v27-shadow: 0 18px 46px rgba(8, 55, 130, .10);
  --db-v27-shadow-strong: 0 26px 72px rgba(8, 55, 130, .16);
}

html.db-v27-start-active .greeting-week-row {
  display: none !important;
}

html.db-v27-start-active .page-stack > :not(.db-v27-start-cockpit) {
  display: none !important;
}

.db-v27-start-cockpit {
  display: none;
  width: min(100%, 1580px);
  margin: 0 auto;
  padding: clamp(10px, 2vw, 24px);
  color: var(--db-v27-navy);
}

html.db-v27-start-active .db-v27-start-cockpit {
  display: block !important;
}

.db-v27-hero {
  position: relative;
  min-height: clamp(178px, 23vw, 280px);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.78);
  border-radius: clamp(24px, 3vw, 38px);
  padding: clamp(18px, 3vw, 34px);
  background:
    radial-gradient(circle at 90% 12%, rgba(255,255,255,.55), transparent 20rem),
    radial-gradient(circle at 10% 0%, rgba(143,208,255,.56), transparent 22rem),
    linear-gradient(135deg, #073c98 0%, #1677f2 42%, #8fd0ff 100%);
  color: #fff;
  box-shadow: var(--db-v27-shadow-strong);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 18px;
  isolation: isolate;
}

.db-v27-hero::after {
  content: "";
  position: absolute;
  inset: auto -8% -38% 32%;
  height: 78%;
  border-radius: 999px;
  background: rgba(255,255,255,.18);
  filter: blur(18px);
  z-index: -1;
}

.db-v27-hero-brand {
  position: absolute;
  top: clamp(12px, 2vw, 24px);
  left: clamp(14px, 2.4vw, 30px);
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  max-width: min(440px, 72%);
  padding: 8px 12px;
  border: 1px solid rgba(255,255,255,.34);
  border-radius: 999px;
  background: rgba(255,255,255,.16);
  box-shadow: 0 12px 28px rgba(0,0,0,.08);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.db-v27-hero-brand img {
  width: min(210px, 46vw);
  max-height: 44px;
  object-fit: contain;
}

.db-v27-hero-brand span {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 9px;
  border-radius: 999px;
  background: rgba(255,255,255,.2);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .04em;
  text-transform: uppercase;
  white-space: nowrap;
}

.db-v27-hero-copy {
  padding-top: 68px;
  max-width: 760px;
  display: grid;
  gap: 5px;
}

.db-v27-hero-copy p,
.db-v27-hero-copy small {
  margin: 0;
  color: rgba(255,255,255,.86);
  font-weight: 850;
}

.db-v27-hero-copy h1 {
  margin: 0;
  font-size: clamp(32px, 6vw, 64px);
  line-height: .98;
  letter-spacing: -.05em;
  font-weight: 950;
}

.db-v27-hero-copy strong {
  font-size: clamp(16px, 2vw, 24px);
  line-height: 1.25;
  font-weight: 950;
  color: #fff;
}

.db-v27-hero-bear {
  align-self: end;
  justify-self: end;
  width: clamp(94px, 18vw, 230px);
  max-height: 240px;
  object-fit: contain;
  filter: drop-shadow(0 18px 28px rgba(3, 29, 72, .25));
  transform: translate(4%, 8%);
}

.db-v27-grid {
  margin-top: clamp(12px, 2vw, 24px);
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(12px, 1.8vw, 20px);
}

.db-v27-card {
  grid-column: span 4;
  border: 1px solid var(--db-v27-border);
  border-radius: clamp(22px, 2vw, 30px);
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(246,251,255,.92));
  box-shadow: var(--db-v27-shadow);
  padding: clamp(14px, 2vw, 20px);
  min-width: 0;
  display: grid;
  gap: 14px;
  align-content: start;
}

.db-v27-status-card,
.db-v27-quick-card {
  grid-column: span 6;
}

.db-v27-important,
.db-v27-recommend {
  grid-column: span 4;
}

.db-v27-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}

.db-v27-card-head span {
  min-width: 0;
  color: var(--db-v27-navy);
  font-weight: 950;
  font-size: clamp(17px, 1.7vw, 22px);
  letter-spacing: -.02em;
}

.db-v27-card-head b,
.db-v27-card-head button {
  border: 0;
  border-radius: 999px;
  padding: 7px 10px;
  background: #eaf4ff;
  color: var(--db-v27-blue-dark);
  font-size: 12px;
  line-height: 1;
  font-weight: 950;
  white-space: nowrap;
}

.db-v27-card-head button {
  cursor: pointer;
  border: 1px solid rgba(24,103,211,.14);
}

.db-v27-card-head b.good { background: #e9fff4; color: #157447; }
.db-v27-card-head b.ok { background: #eaf4ff; color: #0b3f99; }
.db-v27-card-head b.warn { background: #fff7df; color: #9b6400; }
.db-v27-card-head b.critical { background: #fff0ee; color: #b42318; }

.db-v27-metrics,
.db-v27-mini-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.db-v27-mini-metrics {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.db-v27-metric {
  min-width: 0;
  min-height: 92px;
  border: 1px solid rgba(24,103,211,.12);
  border-radius: 20px;
  background: rgba(255,255,255,.85);
  padding: 12px;
  display: grid;
  gap: 5px;
  align-content: center;
}

.db-v27-metric span {
  color: #5b7195;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .055em;
}

.db-v27-metric strong {
  min-width: 0;
  color: var(--db-v27-blue-dark);
  font-size: clamp(18px, 2vw, 26px);
  line-height: 1;
  font-weight: 950;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.db-v27-metric small {
  color: #60769a;
  font-size: 12px;
  font-weight: 800;
}

.db-v27-metric.good strong { color: #157447; }
.db-v27-metric.warn strong { color: #9b6400; }
.db-v27-metric.critical strong { color: #b42318; }

.db-v27-quick-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.db-v27-quick {
  min-width: 0;
  min-height: 74px;
  border: 1px solid rgba(24,103,211,.14);
  border-radius: 20px;
  background: linear-gradient(135deg, #fff, #eef7ff);
  box-shadow: 0 10px 22px rgba(9,55,123,.055);
  color: var(--db-v27-navy);
  padding: 10px;
  display: grid;
  grid-template-columns: 36px minmax(0,1fr);
  align-items: center;
  gap: 9px;
  text-align: left;
  cursor: pointer;
  transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}

.db-v27-quick:hover {
  border-color: rgba(22,119,242,.34);
  box-shadow: 0 14px 26px rgba(9,55,123,.09);
}

.db-v27-quick:active {
  transform: translateY(1px) scale(.992);
}

.db-v27-quick b {
  width: 36px;
  height: 36px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #0b3f99, #1687ff);
  color: #fff;
  font-size: 13px;
  font-weight: 950;
}

.db-v27-quick span {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.db-v27-quick strong,
.db-v27-money-row strong {
  min-width: 0;
  color: var(--db-v27-navy);
  font-size: 14px;
  font-weight: 950;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.db-v27-quick small,
.db-v27-money-row small {
  min-width: 0;
  color: #637897;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.db-v27-list {
  display: grid;
  gap: 8px;
}

.db-v27-info-row,
.db-v27-money-row {
  border: 1px solid rgba(24,103,211,.11);
  border-radius: 18px;
  background: rgba(255,255,255,.76);
  padding: 10px;
  min-width: 0;
}

.db-v27-info-row {
  display: grid;
  grid-template-columns: 30px minmax(0,1fr);
  align-items: center;
  gap: 9px;
  color: #102f64;
  font-weight: 850;
}

.db-v27-info-row i {
  width: 30px;
  height: 30px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: #fff6dd;
  color: #9b6400;
  font-style: normal;
  font-weight: 950;
}

.db-v27-info-row.ok i {
  background: #e9fff4;
  color: #157447;
}

.db-v27-money-row {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 10px;
}

.db-v27-money-row span {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.db-v27-money-row b {
  color: var(--db-v27-blue-dark);
  font-weight: 950;
  white-space: nowrap;
}

.db-v27-money-row b.plus { color: #157447; }
.db-v27-money-row b.minus { color: #b42318; }

.db-v27-empty {
  margin: 0;
  border: 1px dashed rgba(24,103,211,.22);
  border-radius: 18px;
  padding: 14px;
  color: #64799a;
  background: rgba(255,255,255,.66);
  font-weight: 850;
}

#debitbase-v8-fixed-utility.db-v28-fixedbar-home {
  position: fixed !important;
  pointer-events: auto !important;
}

#debitbase-v8-fixed-utility .db-v8-menu-btn {
  z-index: 2147483204 !important;
  pointer-events: auto !important;
  touch-action: manipulation !important;
}

#debitbase-v8-fixed-utility .db-v27-fixed-start,
#debitbase-v8-fixed-utility .db-v28-fixed-home {
  position: absolute !important;
  left: max(10px, env(safe-area-inset-left, 0px) + 10px) !important;
  top: calc(env(safe-area-inset-top, 0px) + 8px) !important;
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, #0b5fc7, #5bb8ff) !important;
  color: #fff !important;
  box-shadow: 0 12px 28px rgba(7,65,150,.22) !important;
  display: inline-grid !important;
  place-items: center !important;
  padding: 0 !important;
  margin: 0 !important;
  cursor: pointer !important;
  z-index: 2147483203 !important;
  pointer-events: auto !important;
  touch-action: manipulation !important;
  -webkit-tap-highlight-color: transparent !important;
}

#debitbase-v8-fixed-utility .db-v27-fixed-start b,
#debitbase-v8-fixed-utility .db-v28-fixed-home b {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

#debitbase-v8-fixed-utility .db-v27-start-dot,
#debitbase-v8-fixed-utility .db-v28-fixed-home > span {
  width: 22px !important;
  height: 22px !important;
  border-radius: 9px !important;
  background: rgba(255,255,255,.22) !important;
  display: grid !important;
  place-items: center !important;
  font-size: 19px !important;
  line-height: 1 !important;
}

html.db-v27-start-active #debitbase-v8-fixed-utility .db-v27-fixed-start,
html.db-v27-start-active #debitbase-v8-fixed-utility .db-v28-fixed-home {
  background: linear-gradient(135deg, #072b72, #1677f2) !important;
  box-shadow: 0 14px 30px rgba(7,65,150,.31) !important;
}

@media (min-width: 1180px) {
  html.db-v27-start-active .workspace,
  html.db-v27-start-active .page-stack {
    width: 100% !important;
    max-width: none !important;
  }
}

@media (max-width: 1180px) {
  .db-v27-status-card,
  .db-v27-quick-card,
  .db-v27-card,
  .db-v27-important,
  .db-v27-recommend {
    grid-column: span 6;
  }
  .db-v27-metrics,
  .db-v27-quick-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .db-v27-start-cockpit {
    padding: 10px var(--db-v26-pad-mobile, 10px) calc(env(safe-area-inset-bottom,0px) + 84px);
  }
  .db-v27-hero {
    min-height: 234px;
    grid-template-columns: 1fr;
    align-items: end;
    padding: 16px;
    border-radius: 26px;
  }
  .db-v27-hero-brand {
    left: 12px;
    right: 12px;
    max-width: none;
    justify-content: space-between;
  }
  .db-v27-hero-brand img {
    width: min(190px, 56vw);
  }
  .db-v27-hero-brand span {
    font-size: 10px;
    padding: 0 7px;
  }
  .db-v27-hero-copy {
    padding-top: 70px;
    padding-right: 84px;
  }
  .db-v27-hero-copy h1 {
    font-size: clamp(31px, 10vw, 44px);
  }
  .db-v27-hero-copy strong {
    font-size: 15px;
  }
  .db-v27-hero-bear {
    position: absolute;
    right: -8px;
    bottom: -10px;
    width: 118px;
    opacity: .98;
  }
  .db-v27-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .db-v27-status-card,
  .db-v27-quick-card,
  .db-v27-card,
  .db-v27-important,
  .db-v27-recommend {
    grid-column: 1 / -1;
  }
  .db-v27-card {
    border-radius: 23px;
    padding: 13px;
  }
  .db-v27-metrics,
  .db-v27-mini-metrics,
  .db-v27-quick-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
  .db-v27-metric {
    min-height: 82px;
    border-radius: 18px;
    padding: 10px;
  }
  .db-v27-metric strong {
    font-size: 19px;
  }
  .db-v27-quick {
    min-height: 68px;
    border-radius: 18px;
    grid-template-columns: 32px minmax(0,1fr);
  }
  .db-v27-quick b {
    width: 32px;
    height: 32px;
    border-radius: 13px;
  }
}

@media (max-width: 430px) {
  .db-v27-hero-brand {
    gap: 6px;
    padding: 6px 8px;
  }
  .db-v27-hero-brand img {
    width: min(168px, 58vw);
    max-height: 38px;
  }
  .db-v27-hero-brand span {
    max-width: 112px;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .db-v27-hero-copy {
    padding-right: 74px;
  }
  .db-v27-hero-copy h1 {
    font-size: clamp(28px, 9.2vw, 38px);
    overflow-wrap: anywhere;
  }
}

@media (max-width: 360px) {
  .db-v27-hero-brand span {
    display: none;
  }
  .db-v27-hero-brand img {
    width: min(176px, 70vw);
  }
}

@media (max-width: 390px) {
  .db-v27-card-head {
    align-items: flex-start;
    flex-direction: column;
  }
  .db-v27-metrics,
  .db-v27-mini-metrics,
  .db-v27-quick-grid {
    grid-template-columns: 1fr;
  }
}


@media (max-width: 760px) {
  #debitbase-v8-fixed-utility .db-v27-fixed-start,
  #debitbase-v8-fixed-utility .db-v28-fixed-home {
    left: calc(env(safe-area-inset-left, 0px) + 7px) !important;
    top: calc(env(safe-area-inset-top, 0px) + 5px) !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    border-radius: 15px !important;
  }

  #debitbase-v8-fixed-utility.db-v28-fixedbar-home .db-v8-money {
    margin-left: 47px !important;
    min-width: 0 !important;
  }

  #debitbase-v8-fixed-utility .db-v8-menu-btn {
    z-index: 2147483205 !important;
    pointer-events: auto !important;
  }
}

@media (max-width: 390px) {
  #debitbase-v8-fixed-utility .db-v27-fixed-start,
  #debitbase-v8-fixed-utility .db-v28-fixed-home {
    left: calc(env(safe-area-inset-left, 0px) + 6px) !important;
    width: 38px !important;
    min-width: 38px !important;
    height: 40px !important;
    min-height: 40px !important;
    border-radius: 14px !important;
  }

  #debitbase-v8-fixed-utility .db-v27-start-dot,
  #debitbase-v8-fixed-utility .db-v28-fixed-home > span {
    width: 20px !important;
    height: 20px !important;
    font-size: 17px !important;
  }

  #debitbase-v8-fixed-utility.db-v28-fixedbar-home .db-v8-money {
    margin-left: 42px !important;
  }
}

/* Willkommen nur noch im neuen Start-Cockpit; auf Unterseiten bleibt maximal der Wochen-Sprung sichtbar. */
html.db-v26-ready:not(.db-v27-start-active) .greeting-week-row .personal-greeting {
  display: none !important;
}
html.db-v26-ready:not(.db-v27-start-active) .greeting-week-row {
  grid-template-columns: minmax(0, 1fr) !important;
}


/* --- from debitbase-start-cockpit-v29-enhancements.css, kept functionally required styles --- */
/* Debit Base v93: Startseiten-Personalisierung, sichere Schnellaktionen, SVG-Home und Fixkosten-Serienfeinschliff */

#debitbase-v8-fixed-utility .db-v29-home-svg {
  width: 23px !important;
  height: 23px !important;
  display: block !important;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,.12));
}

.db-v29-customizer {
  grid-column: 1 / -1;
  border: 1px solid rgba(24,103,211,.12);
  border-radius: clamp(20px, 2vw, 28px);
  background: rgba(255,255,255,.78);
  box-shadow: 0 12px 28px rgba(8,55,130,.07);
  padding: 10px;
  display: grid;
  gap: 10px;
}

.db-v29-customizer-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.db-v29-customizer-head strong {
  color: var(--db-v27-navy, #082a5d);
  font-weight: 950;
}

.db-v29-customizer-head button,
.db-v29-customizer-panel button {
  border: 1px solid rgba(24,103,211,.14);
  border-radius: 999px;
  padding: 9px 12px;
  background: #eaf4ff;
  color: var(--db-v27-blue-dark, #073c98);
  font-size: 12px;
  font-weight: 950;
  cursor: pointer;
}

.db-v29-customizer-panel {
  display: none;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 8px;
}

.db-v29-customizer[data-open="1"] .db-v29-customizer-panel {
  display: grid;
}

.db-v29-toggle {
  min-height: 44px;
  text-align: left;
  background: rgba(255,255,255,.8) !important;
}

.db-v29-toggle[data-active="0"] {
  opacity: .62;
  background: #f4f7fb !important;
  color: #6b7d96 !important;
}

.db-v29-hidden-card {
  display: none !important;
}

.db-v29-fixed-hint {
  grid-column: 1 / -1;
  margin: -2px 0 4px;
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid rgba(24,103,211,.12);
  background: #eaf6ff;
  color: #073c98;
  font-size: 13px;
  font-weight: 850;
}

@media (max-width: 1180px) {
  .db-v29-customizer-panel { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 760px) {
  .db-v29-customizer-panel { grid-template-columns: 1fr; }
  .db-v29-customizer-head { align-items: flex-start; flex-direction: column; }
}


/* --- from debitbase-ui-v35.css, kept functionally required styles --- */
/* Debit Base v35 – performance-first menu, legal pages, page KPIs and premium blue footer. */
:root{
  --db35-blue:#1677f2;
  --db35-blue-dark:#073c98;
  --db35-sky:#8fd0ff;
  --db35-navy:#06275d;
  --db35-card:rgba(255,255,255,.96);
  --db35-border:rgba(24,103,211,.14);
  --db35-shadow:0 18px 46px rgba(8,55,130,.10);
  --db35-shadow-strong:0 28px 76px rgba(8,55,130,.18);
  --db35-footer-h-desktop:36px;
  --db35-footer-h-mobile:24px;
}

/* Performance helpers: keep the app responsive while the custom layer is active. */
html.db-v35-ready *{scrollbar-width:thin;}
html.db-v35-menu-open,html.db-v35-menu-open body{overflow:hidden!important;}

/* Fixed utility menu button: keep it above every decorative layer without blocking the money bar. */
#debitbase-v8-fixed-utility .db-v8-menu-btn,
#debitbase-v8-fixed-utility [data-db35-menu-button="true"]{
  position:absolute!important;
  right:calc(env(safe-area-inset-right,0px) + 10px)!important;
  top:calc(env(safe-area-inset-top,0px) + 8px)!important;
  z-index:2147483000!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
  isolation:isolate!important;
}
#debitbase-v8-fixed-utility .db-v8-money{pointer-events:auto!important;}
@media(max-width:760px){
  #debitbase-v8-fixed-utility .db-v8-menu-btn,
  #debitbase-v8-fixed-utility [data-db35-menu-button="true"]{right:calc(env(safe-area-inset-right,0px) + 7px)!important;top:calc(env(safe-area-inset-top,0px) + 6px)!important;min-width:70px!important;width:70px!important;height:42px!important;padding:0 8px!important;font-size:13px!important;}
  #debitbase-v8-fixed-utility .db-v8-money{margin-left:47px!important;margin-right:76px!important;}
}
@media(max-width:390px){
  #debitbase-v8-fixed-utility .db-v8-menu-btn,
  #debitbase-v8-fixed-utility [data-db35-menu-button="true"]{min-width:64px!important;width:64px!important;right:calc(env(safe-area-inset-right,0px) + 6px)!important;}
  #debitbase-v8-fixed-utility .db-v8-money{margin-left:42px!important;margin-right:68px!important;gap:2px!important;}
}

/* Stable right menu – prebuilt, toggled only; no heavy DOM rebuild on each click. */
#debitbase-v35-menu-host{position:fixed!important;inset:0!important;z-index:2147482500!important;pointer-events:none!important;contain:layout style paint!important;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;}
#debitbase-v35-menu-host .db-v35-menu-backdrop{position:absolute!important;inset:0!important;border:0!important;background:rgba(4,22,54,.34)!important;opacity:0!important;pointer-events:none!important;transition:opacity 150ms ease!important;-webkit-backdrop-filter:blur(3px)!important;backdrop-filter:blur(3px)!important;}
#debitbase-v35-menu-host .db-v35-menu-panel{position:absolute!important;top:calc(env(safe-area-inset-top,0px) + 10px)!important;right:calc(env(safe-area-inset-right,0px) + 10px)!important;bottom:calc(env(safe-area-inset-bottom,0px) + 10px)!important;width:min(390px,calc(100vw - 20px))!important;border:1px solid rgba(255,255,255,.72)!important;border-radius:30px!important;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(235,247,255,.94))!important;box-shadow:0 26px 72px rgba(2,29,80,.25)!important;overflow:hidden!important;transform:translateX(calc(100% + 26px))!important;transition:transform 180ms cubic-bezier(.2,.9,.25,1)!important;pointer-events:auto!important;display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;contain:layout style paint!important;}
html.db-v35-menu-open #debitbase-v35-menu-host{pointer-events:auto!important;}
html.db-v35-menu-open #debitbase-v35-menu-host .db-v35-menu-backdrop{opacity:1!important;pointer-events:auto!important;}
html.db-v35-menu-open #debitbase-v35-menu-host .db-v35-menu-panel{transform:translateX(0)!important;}
.db-v35-menu-head{min-height:82px!important;padding:15px 16px!important;background:radial-gradient(circle at 96% 0%,rgba(255,255,255,.62),transparent 10rem),linear-gradient(135deg,#073c98,#1677f2 56%,#8fd0ff)!important;color:#fff!important;display:grid!important;grid-template-columns:54px minmax(0,1fr) 42px!important;gap:12px!important;align-items:center!important;}
.db-v35-menu-head img{width:54px!important;height:54px!important;object-fit:contain!important;filter:drop-shadow(0 12px 20px rgba(0,0,0,.18))!important;}
.db-v35-menu-title strong{display:block!important;font-size:22px!important;line-height:1!important;letter-spacing:-.04em!important;font-weight:950!important;}
.db-v35-menu-title span{display:block!important;margin-top:4px!important;font-size:12px!important;font-weight:750!important;opacity:.9!important;}
.db-v35-menu-close{width:42px!important;height:42px!important;border:1px solid rgba(255,255,255,.42)!important;border-radius:999px!important;background:rgba(255,255,255,.18)!important;color:#fff!important;font-size:26px!important;line-height:1!important;cursor:pointer!important;}
.db-v35-menu-scroll{min-height:0!important;overflow:auto!important;-webkit-overflow-scrolling:touch!important;padding:13px!important;display:flex!important;flex-direction:column!important;gap:10px!important;}
.db-v35-menu-account,.db-v35-menu-btn,.db-v35-menu-logout{appearance:none!important;-webkit-appearance:none!important;width:100%!important;border:1px solid rgba(24,103,211,.13)!important;border-radius:20px!important;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(238,247,255,.88))!important;color:#082a5d!important;box-shadow:0 10px 24px rgba(8,55,130,.07),inset 0 1px 0 rgba(255,255,255,.9)!important;cursor:pointer!important;text-align:left!important;touch-action:manipulation!important;}
.db-v35-menu-account{padding:13px 14px!important;font-weight:900!important;text-align:center!important;background:linear-gradient(135deg,rgba(7,60,152,.10),rgba(22,119,242,.12))!important;}
.db-v35-menu-nav{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;}
.db-v35-menu-btn{min-height:58px!important;padding:9px 11px!important;display:grid!important;grid-template-columns:38px minmax(0,1fr)!important;gap:10px!important;align-items:center!important;}
.db-v35-menu-ico{width:38px!important;height:38px!important;border-radius:14px!important;display:grid!important;place-items:center!important;color:#fff!important;background:linear-gradient(135deg,#073c98,#1677f2)!important;font-size:18px!important;font-weight:950!important;box-shadow:0 10px 22px rgba(22,119,242,.18)!important;}
.db-v35-menu-btn strong{display:block!important;font-size:14px!important;line-height:1.1!important;font-weight:950!important;letter-spacing:-.02em!important;}
.db-v35-menu-btn span span{display:block!important;margin-top:3px!important;font-size:11px!important;line-height:1.12!important;font-weight:700!important;color:rgba(8,42,93,.66)!important;}
.db-v35-menu-legal{display:flex!important;gap:6px!important;flex-wrap:wrap!important;justify-content:center!important;margin-top:2px!important;}
.db-v35-menu-legal button{border:1px solid rgba(24,103,211,.13)!important;border-radius:999px!important;background:rgba(255,255,255,.72)!important;color:#073c98!important;font-size:12px!important;font-weight:850!important;padding:7px 10px!important;cursor:pointer!important;}
.db-v35-menu-logout{margin-top:2px!important;padding:12px 14px!important;text-align:center!important;color:#9a1d24!important;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(255,241,241,.94))!important;}
@media(max-width:520px){#debitbase-v35-menu-host .db-v35-menu-panel{top:calc(env(safe-area-inset-top,0px) + 6px)!important;right:6px!important;bottom:calc(env(safe-area-inset-bottom,0px) + 6px)!important;width:calc(100vw - 12px)!important;border-radius:25px!important}.db-v35-menu-head{min-height:74px!important;grid-template-columns:46px minmax(0,1fr) 39px!important;padding:12px!important}.db-v35-menu-head img{width:46px!important;height:46px!important}.db-v35-menu-title strong{font-size:20px!important}.db-v35-menu-scroll{padding:10px!important;gap:8px!important}.db-v35-menu-btn{min-height:54px!important}}

/* App page polish, aligned with the Start page but cheaper than v34: route-only, no permanent DOM observer. */
html.db-v35-page-polished:not(.db-v27-start-active):not(.db-v35-legal-active) .app-shell{width:min(1480px,calc(100vw - clamp(12px,3vw,42px)))!important;margin-inline:auto!important;}
html.db-v35-page-polished:not(.db-v27-start-active):not(.db-v35-legal-active) .page-stack{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:clamp(12px,1.5vw,20px)!important;align-items:start!important;}
html.db-v35-page-polished .db-v35-page-hero{grid-column:1/-1!important;position:relative!important;overflow:hidden!important;border:1px solid rgba(255,255,255,.78)!important;border-radius:clamp(24px,3vw,38px)!important;padding:clamp(16px,2.5vw,28px)!important;background:radial-gradient(circle at 90% 12%,rgba(255,255,255,.55),transparent 20rem),radial-gradient(circle at 10% 0%,rgba(143,208,255,.56),transparent 22rem),linear-gradient(135deg,#073c98 0%,#1677f2 42%,#8fd0ff 100%)!important;color:#fff!important;box-shadow:var(--db35-shadow-strong)!important;display:grid!important;grid-template-columns:auto minmax(0,1.05fr) minmax(280px,.95fr) auto!important;gap:clamp(12px,2vw,22px)!important;align-items:center!important;min-height:clamp(126px,12vw,170px)!important;}
html.db-v35-page-polished .db-v35-page-hero::after{content:""!important;position:absolute!important;inset:auto -8% -45% 28%!important;height:90%!important;border-radius:999px!important;background:rgba(255,255,255,.16)!important;filter:blur(18px)!important;z-index:0!important;pointer-events:none!important;}
html.db-v35-page-polished .db-v35-page-hero>*{position:relative!important;z-index:1!important;}
.db-v35-page-hero-icon{width:clamp(56px,6vw,82px)!important;height:clamp(56px,6vw,82px)!important;border-radius:clamp(18px,2vw,28px)!important;display:grid!important;place-items:center!important;background:rgba(255,255,255,.18)!important;border:1px solid rgba(255,255,255,.34)!important;color:#fff!important;font-size:clamp(26px,3vw,42px)!important;font-weight:950!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.25)!important;}
.db-v35-page-hero-copy span{display:inline-flex!important;align-items:center!important;height:24px!important;padding:0 10px!important;border-radius:999px!important;background:rgba(255,255,255,.18)!important;border:1px solid rgba(255,255,255,.28)!important;color:#fff!important;font-size:11px!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.08em!important;}
.db-v35-page-hero-copy h1{margin:9px 0 5px!important;color:#fff!important;font-size:clamp(28px,3.5vw,46px)!important;line-height:.95!important;letter-spacing:-.06em!important;font-weight:950!important;}
.db-v35-page-hero-copy p{margin:0!important;max-width:62ch!important;color:rgba(255,255,255,.9)!important;font-size:clamp(12px,1.05vw,15px)!important;line-height:1.35!important;font-weight:650!important;}
.db-v35-page-kpis{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;align-self:stretch!important;}
.db-v35-kpi{min-width:0!important;border:1px solid rgba(255,255,255,.28)!important;border-radius:18px!important;background:rgba(255,255,255,.15)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.25)!important;padding:10px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;gap:5px!important;}
.db-v35-kpi span{font-size:10px!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.05em!important;color:rgba(255,255,255,.78)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.db-v35-kpi strong{font-size:clamp(13px,1.25vw,16px)!important;line-height:1.05!important;color:#fff!important;font-weight:950!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.db-v35-page-hero-mark{justify-self:end!important;align-self:end!important;width:clamp(64px,8vw,110px)!important;height:clamp(64px,8vw,110px)!important;opacity:.95!important;}
.db-v35-page-hero-mark img{width:100%!important;height:100%!important;object-fit:contain!important;filter:drop-shadow(0 16px 24px rgba(3,29,72,.22))!important;transform:translate(7%,12%)!important;}
html.db-v35-page-polished .page-stack > :not(.db-v35-page-hero){min-width:0!important;}
html.db-v35-page-polished .page-stack > .card,html.db-v35-page-polished .page-stack > .collapsible-card,html.db-v35-page-polished .page-stack > .widget-page-toolbar,html.db-v35-page-polished .page-stack > .widget-edit-panel,html.db-v35-page-polished .page-stack > .db-v35-polished-panel{grid-column:span 6!important;border-radius:clamp(22px,2vw,30px)!important;border:1px solid var(--db35-border)!important;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(246,251,255,.92))!important;box-shadow:var(--db35-shadow)!important;padding:clamp(14px,2vw,20px)!important;overflow:hidden!important;}
html.db-v35-page-polished .page-stack > .fixed-overview-card:first-of-type,html.db-v35-page-polished .page-stack > .hero-overview:first-of-type,html.db-v35-page-polished .page-stack > .db-v35-panel-full{grid-column:1/-1!important;}
html.db-v35-page-polished .card-head h2,html.db-v35-page-polished .widget-page-toolbar-head h2,html.db-v35-page-polished .card-head h3{margin:0!important;color:var(--db35-navy)!important;font-size:clamp(19px,1.8vw,25px)!important;line-height:1.08!important;letter-spacing:-.03em!important;font-weight:950!important;}
html.db-v35-page-polished .metric-card,html.db-v35-page-polished .delta-card,html.db-v35-page-polished .inline-total,html.db-v35-page-polished .metric-pill,html.db-v35-page-polished .settings-highlight,html.db-v35-page-polished .progress-block,html.db-v35-page-polished .mini-transaction,html.db-v35-page-polished .transaction-row,html.db-v35-page-polished .simple-list > div,html.db-v35-page-polished .helper-card,html.db-v35-page-polished .help-grid article,html.db-v35-page-polished .budget-category,html.db-v35-page-polished .week-summary,html.db-v35-page-polished .week-choice,html.db-v35-page-polished .cashflow-category-row,html.db-v35-page-polished .quick-access-source,html.db-v35-page-polished .widget-add-card,html.db-v35-page-polished .subscription-check-row,html.db-v35-page-polished .reminder-center-row,html.db-v35-page-polished .due-calendar-row,html.db-v35-page-polished .goal-row,html.db-v35-page-polished .pot-row,html.db-v35-page-polished .budget-target-row,html.db-v35-page-polished .import-status-card,html.db-v35-page-polished .nested-card{border:1px solid rgba(94,146,210,.22)!important;border-radius:clamp(17px,1.5vw,22px)!important;background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(238,247,255,.84))!important;box-shadow:0 14px 32px rgba(11,63,153,.07),inset 0 1px 0 rgba(255,255,255,.92)!important;}
html.db-v35-page-polished .primary,html.db-v35-page-polished .transaction-action,html.db-v35-page-polished .fab{color:#fff!important;border:0!important;background:linear-gradient(135deg,#073c98,#1677f2)!important;box-shadow:0 18px 38px rgba(22,119,242,.20)!important;}
html.db-v35-page-polished input,html.db-v35-page-polished select,html.db-v35-page-polished textarea{min-height:44px!important;font-size:max(16px,1rem)!important;border-radius:16px!important;}
html.db-v35-page-polished table,html.db-v35-page-polished .table-wrap,html.db-v35-page-polished .transaction-list,html.db-v35-page-polished .simple-list{max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;}
@media(min-width:1240px){html[data-db-v35-page="budget"] .page-stack > .card:not(.db-v35-panel-full),html[data-db-v35-page="helpers"] .page-stack > .card:not(.db-v35-panel-full),html[data-db-v35-page="cashflow"] .page-stack > .card:not(.db-v35-panel-full){grid-column:span 4!important;}}
@media(max-width:980px){html.db-v35-page-polished:not(.db-v27-start-active):not(.db-v35-legal-active) .app-shell{width:min(100%,calc(100vw - 12px))!important;}html.db-v35-page-polished:not(.db-v27-start-active):not(.db-v35-legal-active) .page-stack{grid-template-columns:1fr!important;gap:12px!important;}html.db-v35-page-polished .db-v35-page-hero{grid-template-columns:auto minmax(0,1fr)!important;min-height:126px!important;border-radius:24px!important;padding:14px!important;gap:10px!important;}html.db-v35-page-polished .db-v35-page-kpis{grid-column:1/-1!important;grid-row:2!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;}html.db-v35-page-polished .db-v35-page-hero-mark{position:absolute!important;right:-12px!important;bottom:-14px!important;width:92px!important;height:92px!important;opacity:.25!important;pointer-events:none!important;}html.db-v35-page-polished .page-stack > .card,html.db-v35-page-polished .page-stack > .collapsible-card,html.db-v35-page-polished .page-stack > .widget-page-toolbar,html.db-v35-page-polished .page-stack > .widget-edit-panel,html.db-v35-page-polished .page-stack > .db-v35-polished-panel{grid-column:1/-1!important;border-radius:22px!important;padding:12px!important;}}
@media(max-width:390px){html.db-v35-page-polished .db-v35-page-hero-copy p{display:none!important;}html.db-v35-page-polished .db-v35-page-kpis{gap:5px!important;}.db-v35-kpi{min-height:48px!important;border-radius:15px!important;padding:7px!important}.db-v35-kpi span{font-size:8.5px!important}.db-v35-kpi strong{font-size:11.5px!important}}

/* Legal pages. */
#debitbase-v35-legal-page{width:min(1180px,calc(100vw - clamp(16px,4vw,52px)))!important;margin:calc(env(safe-area-inset-top,0px) + 76px) auto 16px!important;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;color:#082a5d!important;}
html.db-v35-legal-active #root{display:none!important;}
.db-v35-legal-hero{position:relative!important;overflow:hidden!important;border:1px solid rgba(255,255,255,.78)!important;border-radius:34px!important;padding:22px!important;min-height:188px!important;background:radial-gradient(circle at 90% 12%,rgba(255,255,255,.55),transparent 20rem),radial-gradient(circle at 10% 0%,rgba(143,208,255,.56),transparent 22rem),linear-gradient(135deg,#073c98 0%,#1677f2 42%,#8fd0ff 100%)!important;color:#fff!important;box-shadow:var(--db35-shadow-strong)!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:20px!important;align-items:end!important;}
.db-v35-legal-brand{position:absolute!important;top:15px!important;left:18px!important;display:inline-flex!important;align-items:center!important;gap:8px!important;color:#fff!important;font-weight:950!important;}
.db-v35-legal-brand img{width:min(230px,48vw)!important;height:auto!important;max-height:48px!important;object-fit:contain!important;}
.db-v35-legal-copy{padding-top:54px!important;}
.db-v35-legal-copy span{display:inline-flex!important;height:24px!important;padding:0 10px!important;border-radius:999px!important;background:rgba(255,255,255,.18)!important;border:1px solid rgba(255,255,255,.28)!important;align-items:center!important;font-size:11px!important;font-weight:900!important;letter-spacing:.08em!important;text-transform:uppercase!important;}
.db-v35-legal-copy h1{margin:10px 0 8px!important;font-size:clamp(34px,5vw,58px)!important;line-height:.94!important;letter-spacing:-.06em!important;font-weight:950!important;color:#fff!important;}
.db-v35-legal-copy p{max-width:72ch!important;margin:0!important;color:rgba(255,255,255,.9)!important;font-weight:650!important;line-height:1.42!important;}
.db-v35-legal-bear{width:clamp(90px,14vw,170px)!important;height:clamp(90px,14vw,170px)!important;object-fit:contain!important;filter:drop-shadow(0 18px 30px rgba(0,0,0,.18))!important;}
.db-v35-legal-actions{display:flex!important;gap:8px!important;flex-wrap:wrap!important;margin:13px 0!important;}
.db-v35-primary,.db-v35-secondary{border-radius:999px!important;border:1px solid rgba(24,103,211,.18)!important;padding:10px 13px!important;font-weight:900!important;cursor:pointer!important;}
.db-v35-primary{background:linear-gradient(135deg,#073c98,#1677f2)!important;color:#fff!important;}
.db-v35-secondary{background:#fff!important;color:#073c98!important;}
.db-v35-legal-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;}
.db-v35-legal-card{border:1px solid rgba(24,103,211,.14)!important;border-radius:24px!important;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(246,251,255,.92))!important;box-shadow:var(--db35-shadow)!important;padding:18px!important;}
.db-v35-legal-card h2{margin:0 0 8px!important;color:#062a63!important;font-size:20px!important;letter-spacing:-.03em!important;}
.db-v35-legal-card p{margin:0!important;line-height:1.55!important;color:rgba(8,42,93,.78)!important;font-weight:600!important;}
.db-v35-contact-form{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin-top:12px!important;}
.db-v35-contact-form label{display:grid!important;gap:5px!important;font-size:12px!important;font-weight:900!important;color:#073c98!important;}
.db-v35-contact-form input,.db-v35-contact-form textarea{width:100%!important;border:1px solid rgba(24,103,211,.16)!important;border-radius:15px!important;background:rgba(255,255,255,.9)!important;padding:10px!important;font:inherit!important;font-size:16px!important;}
.db-v35-contact-full,.db-v35-contact-actions{grid-column:1/-1!important;}.db-v35-contact-actions{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;}
@media(max-width:760px){#debitbase-v35-legal-page{width:min(100vw - 12px,720px)!important;margin-top:64px!important}.db-v35-legal-grid{grid-template-columns:1fr!important}.db-v35-contact-form{grid-template-columns:1fr!important}.db-v35-legal-hero{grid-template-columns:1fr!important;border-radius:25px!important;min-height:170px!important}.db-v35-legal-bear{position:absolute!important;right:-8px!important;bottom:-12px!important;width:106px!important;opacity:.32!important}.db-v35-legal-copy{padding-top:58px!important;padding-right:68px!important}.db-v35-legal-brand span{display:none!important}}

/* v103: old premium app-footer CSS removed. The only visible footer is debitbase-footer-lite. */

@media(prefers-reduced-motion:reduce){#debitbase-v35-menu-host .db-v35-menu-panel,#debitbase-v35-menu-host .db-v35-menu-backdrop{transition:none!important;}}



/* v107: Legacy footer/menu ghost cleanup is handled by debitbase-fixed-ui-v107.css. Old db-v35-footer styling removed. */

/* v52: Menü-Header verwendet logo-mascot.png; doppelter Mein-Bereich-Menüpunkt bleibt entfernt. */


/* v56: Zeitraum-/Monatsauswahlleiste bleibt repariert; Wochenauswahl oeffnet als Popover. */
html.db-v23-period-active #debitbase-v23-period-strip{
  display:block!important;
  position:relative!important;
  z-index:2147481500!important;
  width:100%!important;
  min-height:64px!important;
  padding:10px max(22px,env(safe-area-inset-left,0px)) 12px max(22px,env(safe-area-inset-right,0px))!important;
  box-sizing:border-box!important;
  background:linear-gradient(180deg,rgba(235,248,255,.98) 0%,rgba(218,239,255,.94) 100%)!important;
  border-top:1px solid rgba(255,255,255,.72)!important;
  border-bottom:1px solid rgba(20,95,190,.14)!important;
  box-shadow:0 14px 34px rgba(9,55,123,.10)!important;
  overflow:visible!important;
  font-family:inherit!important;
  contain:layout paint!important;
}
html.db-v23-period-active #debitbase-v23-period-strip[hidden]{display:none!important;}
html.db-v23-period-active #debitbase-v23-period-strip .db-v23-period-inner{
  width:min(1280px,calc(100vw - 56px))!important;
  margin:0 auto!important;
  min-height:44px!important;
  display:grid!important;
  grid-template-columns:44px minmax(300px,.9fr) minmax(360px,1.35fr) auto auto 44px!important;
  gap:10px!important;
  align-items:center!important;
}
html.db-v23-period-active #debitbase-v23-period-strip button,
html.db-v23-period-active #debitbase-v23-period-strip .db-v23-period-special{
  font-family:inherit!important;
  box-sizing:border-box!important;
  white-space:nowrap!important;
  -webkit-tap-highlight-color:transparent!important;
}
html.db-v23-period-active #debitbase-v23-period-strip .db-v23-period-nav,
html.db-v23-period-active #debitbase-v23-period-strip .db-v23-period-today{
  min-width:44px!important;
  width:auto!important;
  height:44px!important;
  border:1px solid rgba(25,103,210,.18)!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.86)!important;
  color:#0b3f99!important;
  box-shadow:0 10px 24px rgba(15,84,170,.08)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:23px!important;
  font-weight:950!important;
  line-height:1!important;
  padding:0 12px!important;
  cursor:pointer!important;
}
html.db-v23-period-active #debitbase-v23-period-strip .db-v23-period-today{
  min-width:70px!important;
  font-size:13px!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.25)!important;
  background:linear-gradient(135deg,#0b55c6,#1787ff)!important;
  box-shadow:0 14px 26px rgba(12,88,202,.20)!important;
}
html.db-v23-period-active #debitbase-v23-period-strip .db-v23-period-main,
html.db-v23-period-active #debitbase-v23-period-strip .db-v23-period-week{
  min-width:0!important;
  min-height:44px!important;
  height:44px!important;
  border:1px solid rgba(25,103,210,.16)!important;
  border-radius:17px!important;
  background:rgba(255,255,255,.9)!important;
  color:#0c2d61!important;
  box-shadow:0 10px 24px rgba(15,84,170,.08),inset 0 1px 0 rgba(255,255,255,.75)!important;
  display:grid!important;
  align-items:center!important;
  cursor:pointer!important;
  overflow:hidden!important;
}
html.db-v23-period-active #debitbase-v23-period-strip .db-v23-period-main{
  grid-template-columns:minmax(0,1fr) 28px!important;
  gap:6px!important;
  padding:5px 8px 5px 14px!important;
  text-align:left!important;
}
html.db-v23-period-active #debitbase-v23-period-strip .db-v23-period-title{
  min-width:0!important;
  display:grid!important;
  gap:1px!important;
  line-height:1.05!important;
}
html.db-v23-period-active #debitbase-v23-period-strip .db-v23-period-title strong{
  display:block!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  color:#102b5d!important;
  font-size:15px!important;
  font-weight:950!important;
  letter-spacing:-.015em!important;
}
html.db-v23-period-active #debitbase-v23-period-strip .db-v23-period-subline,
html.db-v23-period-active #debitbase-v23-period-strip .db-v23-period-title span:not(.db-v23-period-caret){
  display:block!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  color:#45638f!important;
  font-size:12px!important;
  font-weight:850!important;
}
html.db-v23-period-active #debitbase-v23-period-strip .db-v23-period-caret{
  width:28px!important;
  height:28px!important;
  border-radius:10px!important;
  display:grid!important;
  place-items:center!important;
  background:linear-gradient(135deg,rgba(22,119,242,.14),rgba(143,208,255,.22))!important;
  color:#0a52bd!important;
  font-size:18px!important;
  font-weight:950!important;
}
html.db-v23-period-active #debitbase-v23-period-strip .db-v23-period-week{
  grid-template-columns:auto minmax(0,1fr)!important;
  gap:8px!important;
  padding:5px 14px!important;
  text-align:center!important;
  justify-content:center!important;
}
html.db-v23-period-active #debitbase-v23-period-strip .db-v23-period-week-label{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:25px!important;
  padding:0 10px!important;
  border-radius:999px!important;
  background:rgba(22,119,242,.10)!important;
  color:#0b4db0!important;
  font-size:12px!important;
  font-weight:950!important;
}
html.db-v23-period-active #debitbase-v23-period-strip .db-v23-period-week strong{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  color:#102b5d!important;
  font-size:13px!important;
  font-weight:950!important;
}
html.db-v23-period-active #debitbase-v23-period-strip .db-v23-period-special{
  min-height:32px!important;
  height:32px!important;
  padding:0 12px!important;
  border-radius:999px!important;
  align-items:center!important;
  justify-content:center!important;
  display:none!important;
  background:rgba(255,255,255,.72)!important;
  border:1px solid rgba(25,103,210,.14)!important;
  color:#0b4db0!important;
  font-size:11px!important;
  font-weight:950!important;
  letter-spacing:.02em!important;
  box-shadow:0 8px 18px rgba(15,84,170,.06)!important;
}
html.db-v23-period-active #debitbase-v23-period-strip .db-v23-period-special.is-visible{display:inline-flex!important;}
html.db-v23-period-active #debitbase-v23-period-strip button:hover{transform:translateY(-1px)!important;box-shadow:0 14px 28px rgba(15,84,170,.13)!important;}
html.db-v23-period-active #debitbase-v23-period-strip button:active{transform:translateY(0)!important;}

@media (max-width:760px){
  html.db-v23-period-active #debitbase-v23-period-strip{
    min-height:86px!important;
    padding:7px 8px 9px!important;
    background:linear-gradient(180deg,rgba(235,248,255,.98),rgba(220,241,255,.96))!important;
  }
  html.db-v23-period-active #debitbase-v23-period-strip .db-v23-period-inner{
    width:100%!important;
    min-height:70px!important;
    display:grid!important;
    grid-template-columns:36px minmax(0,1fr) 56px 36px!important;
    grid-template-areas:"prev main today next" "week week week week"!important;
    gap:6px!important;
  }
  html.db-v23-period-active #debitbase-v23-period-strip .db-v23-period-prev{grid-area:prev!important;}
  html.db-v23-period-active #debitbase-v23-period-strip .db-v23-period-next{grid-area:next!important;}
  html.db-v23-period-active #debitbase-v23-period-strip .db-v23-period-main{grid-area:main!important;min-height:38px!important;height:38px!important;border-radius:15px!important;padding:4px 6px 4px 10px!important;}
  html.db-v23-period-active #debitbase-v23-period-strip .db-v23-period-week{grid-area:week!important;min-height:34px!important;height:34px!important;border-radius:14px!important;padding:4px 9px!important;grid-template-columns:auto minmax(0,1fr)!important;text-align:left!important;}
  html.db-v23-period-active #debitbase-v23-period-strip .db-v23-period-today{grid-area:today!important;min-width:56px!important;width:56px!important;height:38px!important;border-radius:14px!important;font-size:12px!important;padding:0 6px!important;}
  html.db-v23-period-active #debitbase-v23-period-strip .db-v23-period-nav{min-width:36px!important;width:36px!important;height:38px!important;border-radius:14px!important;font-size:21px!important;padding:0!important;}
  html.db-v23-period-active #debitbase-v23-period-strip .db-v23-period-title strong{font-size:13px!important;line-height:1.05!important;}
  html.db-v23-period-active #debitbase-v23-period-strip .db-v23-period-subline{font-size:10.5px!important;}
  html.db-v23-period-active #debitbase-v23-period-strip .db-v23-period-caret{width:24px!important;height:24px!important;border-radius:9px!important;font-size:16px!important;}
  html.db-v23-period-active #debitbase-v23-period-strip .db-v23-period-week-label{min-height:23px!important;font-size:10.5px!important;padding:0 8px!important;}
  html.db-v23-period-active #debitbase-v23-period-strip .db-v23-period-week strong{font-size:12px!important;}
  html.db-v23-period-active #debitbase-v23-period-strip .db-v23-period-special{display:none!important;}
}

@media (min-width:761px) and (max-width:1080px){
  html.db-v23-period-active #debitbase-v23-period-strip .db-v23-period-inner{
    width:calc(100vw - 42px)!important;
    grid-template-columns:42px minmax(260px,.9fr) minmax(280px,1fr) 70px 42px!important;
    gap:8px!important;
  }
  html.db-v23-period-active #debitbase-v23-period-strip .db-v23-period-special{display:none!important;}
}


/* v56: Wochenauswahl als echtes schwebendes Auswahlmenue direkt unter der Monats-/Wochenauswahl. Alte rohe Inline-Zeile wird damit ersetzt. */
#debitbase-v23-period-sheet.db-v56-period-popover,
html.db-v23-period-active #debitbase-v23-period-sheet.db-v56-period-popover{
  position:fixed!important;
  inset:0!important;
  z-index:2147483300!important;
  display:block!important;
  box-sizing:border-box!important;
  padding:0!important;
  margin:0!important;
  background:rgba(4,28,70,.08)!important;
  backdrop-filter:blur(2px)!important;
  -webkit-backdrop-filter:blur(2px)!important;
  pointer-events:auto!important;
  overflow:visible!important;
  font-family:inherit!important;
}
#debitbase-v23-period-sheet.db-v56-period-popover[hidden],
html.db-v23-period-active #debitbase-v23-period-sheet.db-v56-period-popover[hidden]{display:none!important;}
#debitbase-v23-period-sheet.db-v56-period-popover .db-v23-sheet-card{
  position:fixed!important;
  top:var(--db-v56-sheet-top,150px)!important;
  left:var(--db-v56-sheet-left,24px)!important;
  width:var(--db-v56-sheet-width,540px)!important;
  max-width:calc(100vw - 36px)!important;
  max-height:min(620px,calc(100dvh - var(--db-v56-sheet-top,150px) - 18px))!important;
  display:grid!important;
  grid-template-rows:auto auto minmax(0,1fr) auto!important;
  gap:12px!important;
  padding:16px!important;
  border-radius:26px!important;
  border:1px solid rgba(119,184,255,.48)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(230,246,255,.96))!important;
  box-shadow:0 28px 70px rgba(5,44,103,.24),inset 0 1px 0 rgba(255,255,255,.92)!important;
  overflow:hidden!important;
  color:#0d2a55!important;
  pointer-events:auto!important;
  transform:translateY(0)!important;
}
#debitbase-v23-period-sheet.db-v56-period-popover .db-v23-sheet-card::before{
  content:""!important;
  position:absolute!important;
  inset:0 0 auto 0!important;
  height:5px!important;
  background:linear-gradient(90deg,#0d57c9,#1988ff,#9fd8ff)!important;
  pointer-events:none!important;
}
#debitbase-v23-period-sheet.db-v56-period-popover .db-v23-sheet-head{
  position:relative!important;
  top:auto!important;
  z-index:1!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:14px!important;
  min-height:auto!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
#debitbase-v23-period-sheet.db-v56-period-popover .db-v23-sheet-head h3{
  margin:0!important;
  color:#0b2e63!important;
  font-size:18px!important;
  font-weight:950!important;
  letter-spacing:-.02em!important;
  line-height:1.1!important;
}
#debitbase-v23-period-sheet.db-v56-period-popover .db-v23-sheet-head p{
  margin:4px 0 0!important;
  color:#577096!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1.25!important;
}
#debitbase-v23-period-sheet.db-v56-period-popover .db-v23-sheet-close{
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  border:1px solid rgba(25,103,210,.16)!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,#0f5bd5,#1688ff)!important;
  color:#fff!important;
  font-size:24px!important;
  font-weight:800!important;
  line-height:1!important;
  display:grid!important;
  place-items:center!important;
  box-shadow:0 12px 24px rgba(12,88,202,.20)!important;
  cursor:pointer!important;
}
#debitbase-v23-period-sheet.db-v56-period-popover .db-v23-sheet-month{
  position:relative!important;
  z-index:1!important;
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr) 42px!important;
  gap:8px!important;
  align-items:center!important;
}
#debitbase-v23-period-sheet.db-v56-period-popover .db-v23-sheet-month button{
  height:42px!important;
  border:1px solid rgba(25,103,210,.16)!important;
  border-radius:15px!important;
  background:rgba(255,255,255,.9)!important;
  color:#0d4db1!important;
  font-size:22px!important;
  font-weight:950!important;
  box-shadow:0 10px 20px rgba(15,84,170,.08)!important;
  cursor:pointer!important;
}
#debitbase-v23-period-sheet.db-v56-period-popover .db-v23-sheet-month input[type="month"]{
  width:100%!important;
  height:42px!important;
  border:1px solid rgba(25,103,210,.16)!important;
  border-radius:15px!important;
  background:rgba(255,255,255,.94)!important;
  color:#0b2e63!important;
  font-size:15px!important;
  font-weight:900!important;
  padding:0 12px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9)!important;
}
#debitbase-v23-period-sheet.db-v56-period-popover .db-v23-sheet-weeks{
  position:relative!important;
  z-index:1!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  min-height:0!important;
  overflow:auto!important;
  padding:2px 2px 4px!important;
  -webkit-overflow-scrolling:touch!important;
}
#debitbase-v23-period-sheet.db-v56-period-popover .db-v23-sheet-week{
  min-width:0!important;
  min-height:58px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  text-align:left!important;
  border:1px solid rgba(25,103,210,.14)!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.88)!important;
  color:#0d2a55!important;
  padding:10px 12px!important;
  box-shadow:0 10px 22px rgba(15,84,170,.07)!important;
  cursor:pointer!important;
}
#debitbase-v23-period-sheet.db-v56-period-popover .db-v23-sheet-week:hover{transform:translateY(-1px)!important;box-shadow:0 16px 28px rgba(15,84,170,.12)!important;}
#debitbase-v23-period-sheet.db-v56-period-popover .db-v23-sheet-week.is-active{
  background:linear-gradient(135deg,#0e58d0,#1688ff)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.34)!important;
  box-shadow:0 18px 34px rgba(14,91,210,.23)!important;
}
#debitbase-v23-period-sheet.db-v56-period-popover .db-v23-sheet-week span{
  min-width:0!important;
  display:grid!important;
  gap:2px!important;
}
#debitbase-v23-period-sheet.db-v56-period-popover .db-v23-sheet-week strong{
  font-size:14px!important;
  font-weight:950!important;
  line-height:1.1!important;
  color:inherit!important;
}
#debitbase-v23-period-sheet.db-v56-period-popover .db-v23-sheet-week span span{
  font-size:12px!important;
  font-weight:800!important;
  color:rgba(72,97,135,.95)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#debitbase-v23-period-sheet.db-v56-period-popover .db-v23-sheet-week.is-active span span{color:rgba(255,255,255,.85)!important;}
#debitbase-v23-period-sheet.db-v56-period-popover .db-v23-sheet-week em{
  font-style:normal!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:54px!important;
  height:26px!important;
  padding:0 9px!important;
  border-radius:999px!important;
  background:rgba(22,119,242,.10)!important;
  color:#0d56c4!important;
  font-size:11px!important;
  font-weight:950!important;
  white-space:nowrap!important;
}
#debitbase-v23-period-sheet.db-v56-period-popover .db-v23-sheet-week.is-active em{background:rgba(255,255,255,.20)!important;color:#fff!important;}
#debitbase-v23-period-sheet.db-v56-period-popover .db-v23-sheet-today{
  position:relative!important;
  z-index:1!important;
  min-height:44px!important;
  border:0!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,#0b55c6,#188cff)!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:950!important;
  box-shadow:0 16px 30px rgba(12,88,202,.22)!important;
  cursor:pointer!important;
}
@media (max-width:760px){
  #debitbase-v23-period-sheet.db-v56-period-popover,
  html.db-v23-period-active #debitbase-v23-period-sheet.db-v56-period-popover{
    background:rgba(3,24,58,.22)!important;
    backdrop-filter:blur(8px)!important;
    -webkit-backdrop-filter:blur(8px)!important;
  }
  #debitbase-v23-period-sheet.db-v56-period-popover .db-v23-sheet-card{
    top:var(--db-v56-sheet-top,132px)!important;
    left:8px!important;
    right:8px!important;
    width:auto!important;
    max-width:none!important;
    max-height:calc(100dvh - var(--db-v56-sheet-top,132px) - 12px)!important;
    border-radius:22px!important;
    padding:13px!important;
    gap:10px!important;
  }
  #debitbase-v23-period-sheet.db-v56-period-popover .db-v23-sheet-head h3{font-size:16px!important;}
  #debitbase-v23-period-sheet.db-v56-period-popover .db-v23-sheet-head p{font-size:11px!important;}
  #debitbase-v23-period-sheet.db-v56-period-popover .db-v23-sheet-weeks{grid-template-columns:1fr!important;gap:7px!important;}
  #debitbase-v23-period-sheet.db-v56-period-popover .db-v23-sheet-week{min-height:54px!important;border-radius:16px!important;padding:9px 10px!important;}
  #debitbase-v23-period-sheet.db-v56-period-popover .db-v23-sheet-week strong{font-size:13px!important;}
  #debitbase-v23-period-sheet.db-v56-period-popover .db-v23-sheet-week span span{font-size:11.5px!important;}
}

/* Alte rohe Wochenauswahl unterhalb des Footers unterdrücken, falls ein Browser noch einen alten DOM-Rest aus dem Cache rekonstruiert. */
body > #debitbase-v23-period-sheet:not(.db-v56-period-popover){display:none!important;}


