/* Debit Base v80 – Fixkosten-Zentrale: professionelle Monatsübersicht, ohne fixierte Speicherleiste. */
html.db-v80-fixcenter-active .fixkosten-modal .fixkosten-modal-body{
  display:block!important;
  padding:0!important;
  margin:0!important;
  overflow:visible!important;
}
html.db-v80-fixcenter-active .fixkosten-modal .fixkosten-modal-body > :not(.db-v80-fixcenter){
  display:none!important;
}
.db-v80-fixcenter{
  --db80-blue:#1268df;
  --db80-blue2:#1687ff;
  --db80-ink:#0a2d63;
  --db80-muted:#5f7699;
  --db80-line:rgba(90,151,225,.22);
  --db80-card:rgba(255,255,255,.94);
  display:grid!important;
  gap:clamp(14px,1.8vw,24px)!important;
  width:100%!important;
  color:var(--db80-ink)!important;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
}
.db-v80-summary{
  display:grid!important;
  grid-template-columns:1.15fr repeat(3,minmax(150px,.55fr))!important;
  gap:12px!important;
  align-items:stretch!important;
}
.db-v80-summary-main,.db-v80-summary-tile,.db-v80-section,.db-v80-add-card,.db-v80-save-panel{
  border:1px solid var(--db80-line)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(232,246,255,.86))!important;
  border-radius:24px!important;
  box-shadow:0 16px 38px rgba(13,87,185,.08),inset 0 1px 0 rgba(255,255,255,.95)!important;
}
.db-v80-summary-main{padding:20px!important;display:grid!important;align-content:center!important;gap:8px!important;}
.db-v80-kicker{font-size:12px!important;font-weight:950!important;letter-spacing:.07em!important;text-transform:uppercase!important;color:#1268df!important;}
.db-v80-summary-main h2{margin:0!important;font-size:clamp(24px,2.7vw,38px)!important;line-height:1!important;letter-spacing:-.04em!important;color:#092b60!important;}
.db-v80-summary-main p{margin:0!important;color:var(--db80-muted)!important;font-weight:800!important;line-height:1.35!important;}
.db-v80-summary-tile{padding:18px!important;display:grid!important;gap:5px!important;align-content:center!important;min-height:108px!important;}
.db-v80-summary-tile span{font-size:11px!important;text-transform:uppercase!important;letter-spacing:.065em!important;font-weight:950!important;color:#527198!important;}
.db-v80-summary-tile strong{font-size:clamp(20px,2.2vw,30px)!important;line-height:1!important;letter-spacing:-.03em!important;color:#0b397b!important;}
.db-v80-summary-tile small{font-size:12px!important;font-weight:850!important;color:#6981a3!important;}
.db-v80-summary-tile.is-open strong{color:#c05507!important;}
.db-v80-summary-tile.is-done strong{color:#087b4e!important;}
.db-v80-section{padding:clamp(16px,2vw,24px)!important;display:grid!important;gap:16px!important;}
.db-v80-section-head{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:16px!important;}
.db-v80-section-title{display:grid!important;gap:4px!important;}
.db-v80-section-title h3{margin:0!important;font-size:clamp(19px,2vw,28px)!important;line-height:1.05!important;letter-spacing:-.025em!important;color:#092b60!important;}
.db-v80-section-title p{margin:0!important;color:var(--db80-muted)!important;font-weight:800!important;}
.db-v80-section-sum{display:inline-flex!important;align-items:center!important;gap:8px!important;padding:9px 12px!important;border-radius:999px!important;background:rgba(18,104,223,.09)!important;color:#0d55bd!important;font-size:12px!important;font-weight:950!important;white-space:nowrap!important;}
.db-v80-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;}
.db-v80-card{position:relative!important;display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;gap:13px!important;align-items:center!important;padding:15px!important;border:1px solid rgba(93,151,224,.20)!important;border-radius:20px!important;background:var(--db80-card)!important;box-shadow:0 12px 26px rgba(8,65,150,.06),inset 0 1px 0 rgba(255,255,255,.95)!important;min-height:96px!important;}
.db-v80-card.is-done{background:linear-gradient(145deg,rgba(245,253,249,.96),rgba(231,250,242,.88))!important;border-color:rgba(13,151,96,.20)!important;}
.db-v80-card.is-dirty{outline:2px solid rgba(22,128,255,.30)!important;}
.db-v80-check{width:42px!important;height:42px!important;border-radius:15px!important;border:1px solid rgba(18,104,223,.26)!important;background:linear-gradient(145deg,#fff,#eaf5ff)!important;display:grid!important;place-items:center!important;box-shadow:0 10px 20px rgba(18,104,223,.10)!important;cursor:pointer!important;}
.db-v80-check input{position:absolute!important;opacity:0!important;pointer-events:none!important;}
.db-v80-check i{width:23px!important;height:23px!important;border-radius:9px!important;border:2px solid #1877f2!important;display:grid!important;place-items:center!important;color:#fff!important;font-style:normal!important;font-size:15px!important;font-weight:950!important;transition:.18s ease!important;background:#fff!important;}
.db-v80-check input:checked + i{background:linear-gradient(135deg,#0a68df,#20a0ff)!important;border-color:#0d6be6!important;}
.db-v80-check input:checked + i::before{content:"✓"!important;}
.db-v80-card-main{min-width:0!important;display:grid!important;gap:6px!important;}
.db-v80-card-main strong{font-size:16px!important;line-height:1.15!important;color:#082b61!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.db-v80-card-main small{font-size:12px!important;font-weight:850!important;color:#667f9f!important;}
.db-v80-badges{display:flex!important;gap:6px!important;flex-wrap:wrap!important;}
.db-v80-badge{display:inline-flex!important;align-items:center!important;min-height:24px!important;padding:0 9px!important;border-radius:999px!important;font-size:10.5px!important;font-weight:950!important;letter-spacing:.025em!important;text-transform:uppercase!important;background:rgba(18,104,223,.09)!important;color:#0a58c6!important;}
.db-v80-badge.single{background:rgba(255,142,25,.12)!important;color:#a35405!important;}
.db-v80-badge.recurring{background:rgba(10,126,214,.12)!important;color:#075aa5!important;}
.db-v80-badge.done{background:rgba(7,142,86,.12)!important;color:#087b4e!important;}
.db-v80-card-amount{display:grid!important;justify-items:end!important;gap:7px!important;}
.db-v80-card-amount b{font-size:17px!important;color:#092f68!important;white-space:nowrap!important;}
.db-v80-actions{display:flex!important;gap:6px!important;align-items:center!important;justify-content:flex-end!important;}
.db-v80-btn{border:0!important;border-radius:14px!important;min-height:38px!important;padding:0 13px!important;font-weight:950!important;cursor:pointer!important;background:rgba(18,104,223,.10)!important;color:#0d56c6!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)!important;}
.db-v80-btn:hover{transform:translateY(-1px)!important;box-shadow:0 10px 22px rgba(18,104,223,.13)!important;}
.db-v80-btn.primary{background:linear-gradient(135deg,#0f5bd5,#1688ff)!important;color:#fff!important;box-shadow:0 13px 26px rgba(14,96,217,.22)!important;}
.db-v80-btn.danger{background:rgba(204,48,48,.10)!important;color:#b61e1e!important;}
.db-v80-btn.ghost{background:rgba(255,255,255,.72)!important;color:#174a93!important;border:1px solid rgba(93,151,224,.20)!important;}
.db-v80-btn[disabled]{opacity:.48!important;cursor:not-allowed!important;transform:none!important;box-shadow:none!important;}
.db-v80-empty{padding:18px!important;border:1px dashed rgba(104,156,220,.38)!important;border-radius:20px!important;background:rgba(255,255,255,.56)!important;color:#6680a2!important;font-weight:850!important;text-align:center!important;}
.db-v80-save-panel{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;padding:16px 18px!important;background:linear-gradient(135deg,rgba(232,245,255,.98),rgba(255,255,255,.94))!important;position:relative!important;top:auto!important;bottom:auto!important;z-index:1!important;}
.db-v80-save-panel.is-clean{opacity:.78!important;}
.db-v80-save-copy{display:grid!important;gap:3px!important;}
.db-v80-save-copy strong{color:#092f68!important;font-size:15px!important;}
.db-v80-save-copy span{color:#647f9f!important;font-size:12px!important;font-weight:800!important;}
.db-v80-add-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;}
.db-v80-add-card{padding:18px!important;display:grid!important;gap:14px!important;}
.db-v80-add-card h3{margin:0!important;font-size:19px!important;letter-spacing:-.02em!important;color:#092f68!important;}
.db-v80-form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px!important;}
.db-v80-form label{display:grid!important;gap:6px!important;font-size:12px!important;font-weight:950!important;color:#335a89!important;}
.db-v80-form input,.db-v80-form select{height:42px!important;border:1px solid rgba(93,151,224,.26)!important;border-radius:15px!important;background:rgba(255,255,255,.92)!important;color:#0a2d63!important;padding:0 12px!important;font-weight:850!important;outline:none!important;}
.db-v80-form input:focus,.db-v80-form select:focus{border-color:#1688ff!important;box-shadow:0 0 0 4px rgba(22,136,255,.11)!important;}
.db-v80-form .full{grid-column:1/-1!important;}
.db-v80-dialog-backdrop{position:fixed!important;inset:0!important;z-index:2147483600!important;background:rgba(3,18,42,.42)!important;display:grid!important;place-items:center!important;padding:18px!important;backdrop-filter:blur(7px)!important;-webkit-backdrop-filter:blur(7px)!important;}
.db-v80-dialog{width:min(620px,100%)!important;max-height:calc(100dvh - 36px)!important;overflow:auto!important;border-radius:26px!important;border:1px solid rgba(163,207,255,.42)!important;background:linear-gradient(145deg,#fff,#ecf7ff)!important;box-shadow:0 32px 90px rgba(3,28,67,.30)!important;padding:20px!important;display:grid!important;gap:16px!important;color:#0a2d63!important;}
.db-v80-dialog h3{margin:0!important;font-size:24px!important;letter-spacing:-.03em!important;}
.db-v80-dialog p{margin:0!important;color:#617b9f!important;font-weight:800!important;}
.db-v80-dialog-actions{display:flex!important;justify-content:flex-end!important;gap:8px!important;flex-wrap:wrap!important;}
.db-v80-toast{position:fixed!important;left:50%!important;bottom:calc(env(safe-area-inset-bottom,0px) + 22px)!important;transform:translateX(-50%)!important;z-index:2147483601!important;max-width:min(92vw,520px)!important;border-radius:999px!important;background:linear-gradient(135deg,#092f68,#1168df)!important;color:#fff!important;padding:12px 18px!important;font-weight:900!important;box-shadow:0 22px 54px rgba(2,39,95,.28)!important;}
@media(max-width:980px){
  .db-v80-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .db-v80-summary-main{grid-column:1/-1!important;}
  .db-v80-grid,.db-v80-add-grid{grid-template-columns:1fr!important;}
}
@media(max-width:640px){
  .db-v80-summary{grid-template-columns:1fr!important;}
  .db-v80-card{grid-template-columns:auto minmax(0,1fr)!important;align-items:start!important;}
  .db-v80-card-amount{grid-column:1/-1!important;justify-items:start!important;margin-left:55px!important;}
  .db-v80-actions{justify-content:flex-start!important;}
  .db-v80-save-panel{display:grid!important;}
  .db-v80-dialog-actions{justify-content:stretch!important;}
  .db-v80-dialog-actions .db-v80-btn{flex:1 1 auto!important;}
  .db-v80-form{grid-template-columns:1fr!important;}
}

/* v81 – PC/Notebook: volle Breite nutzen und alte Modal-Gitter endgültig neutralisieren. */
html.db-v80-fixcenter-active.db-v18-fixedcost-page .db-v18-fixedcost-backdrop{
  padding-left:clamp(16px,2vw,28px)!important;
  padding-right:clamp(16px,2vw,28px)!important;
}
html.db-v80-fixcenter-active.db-v18-fixedcost-page .db-v18-fixedcost-backdrop .fixkosten-modal{
  display:block!important;
  width:min(1680px,calc(100vw - clamp(32px,4vw,56px)))!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
html.db-v80-fixcenter-active .fixkosten-modal .fixkosten-modal-body{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  grid-column:1/-1!important;
  box-sizing:border-box!important;
}
html.db-v80-fixcenter-active .fixkosten-modal .fixkosten-modal-body>.db-v80-fixcenter{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  grid-column:1/-1!important;
}
@media(min-width:1180px){
  .db-v80-summary{grid-template-columns:minmax(260px,.9fr) repeat(3,minmax(180px,1fr))!important;}
  .db-v80-grid{grid-template-columns:repeat(2,minmax(420px,1fr))!important;gap:16px!important;}
  .db-v80-card{grid-template-columns:48px minmax(0,1fr) minmax(210px,max-content)!important;min-height:118px!important;padding:18px!important;}
  .db-v80-card-amount{min-width:210px!important;}
  .db-v80-card-amount b{font-size:18px!important;}
}
@media(min-width:1500px){
  .db-v80-grid{grid-template-columns:repeat(2,minmax(520px,1fr))!important;gap:18px!important;}
}
@media(max-width:1179px){
  .db-v80-grid{grid-template-columns:1fr!important;}
}

/* v83 route guard: Fixkosten-Zentrale und Fixkosten-Overlay dürfen nur auf der Fixkostenroute sichtbar sein. */
html:not(.db-v18-fixedcost-page) .modal-backdrop.db-v18-fixedcost-backdrop,
html:not(.db-v18-fixedcost-page) .db-v80-fixcenter,
html:not(.db-v18-fixedcost-page) .db-v80-dialog-backdrop{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* v97 – Fixkosten: finale mobile Karten, sichere Toast-Position und entfernte Endmonat-Zelle. */
.db-v80-card-main strong{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
}
.db-v80-card-main small{overflow-wrap:anywhere!important;}
.db-v80-card-amount b{white-space:normal!important;text-align:right!important;overflow-wrap:anywhere!important;}
.db-v80-dialog[data-db80-dialog="delete"],
.db-v80-dialog-backdrop[data-db80-dialog="delete"] .db-v80-dialog{
  max-width:min(620px,100%)!important;
}
.db-v80-toast{
  bottom:calc(env(safe-area-inset-bottom,0px) + 92px)!important;
  border-radius:20px!important;
  text-align:center!important;
  line-height:1.25!important;
}
@media(max-width:640px){
  .db-v80-card{grid-template-columns:42px minmax(0,1fr)!important;gap:10px!important;padding:14px!important;}
  .db-v80-check{width:40px!important;height:40px!important;border-radius:14px!important;}
  .db-v80-card-amount{margin-left:52px!important;width:calc(100% - 52px)!important;align-items:start!important;}
  .db-v80-card-amount b{text-align:left!important;font-size:18px!important;}
  .db-v80-actions{width:100%!important;display:grid!important;grid-template-columns:1fr 1fr!important;}
  .db-v80-actions .db-v80-btn{width:100%!important;min-height:44px!important;}
  .db-v80-toast{left:12px!important;right:12px!important;bottom:calc(env(safe-area-inset-bottom,0px) + 84px)!important;transform:none!important;max-width:none!important;padding:12px 14px!important;}
  .db-v80-dialog{max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 28px)!important;}
}
