/* Projektbezogene Haupt- und Vergleichsrechnung. */
.cost-rowlabel-edit{padding:0!important;background:#edf3f8!important}
.cost-rowlabel-edit>div{display:grid;grid-template-columns:minmax(0,1fr) 24px;align-items:center}.cost-rowlabel-edit>div>button{width:20px;height:20px;min-height:20px;margin:0 2px;padding:0;border:1px solid #aebbc9;background:#fff;color:var(--navy);line-height:1}.cost-hidden-rows,.benchmark-row-tools{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:6px 9px;border-top:1px solid #c4cfdb;background:#eef2f7}.cost-hidden-rows span,.benchmark-row-tools span{font-size:11px;font-weight:700;color:#68778d}.cost-hidden-rows button,.benchmark-row-tools button{height:27px;min-height:27px;padding:3px 8px;border:1px solid #aebbc9;background:#fff;color:var(--navy);font-size:10px;font-weight:700}
.benchmark-label-edit{padding:0!important}.benchmark-label-edit>div{display:grid;grid-template-columns:minmax(0,1fr) 24px;align-items:center}.benchmark-label-edit input{width:100%;height:30px;margin:0;padding:4px 7px;border:0;background:transparent;color:var(--navy);font:inherit;font-weight:700}.benchmark-label-edit:focus-within{background:#fff!important;box-shadow:inset 0 0 0 2px #6f91b5}.benchmark-label-edit input:focus{outline:0}.benchmark-label-edit button{width:20px;height:20px;min-height:20px;margin:0 2px;padding:0;border:1px solid #aebbc9;background:#fff;color:var(--navy);line-height:1}
.cost-rowlabel-edit input{display:block;width:100%;height:31px;min-height:31px;margin:0;padding:5px 7px;border:0;background:transparent;color:var(--navy);font:inherit;font-size:12px;font-weight:700}
.cost-rowlabel-edit:focus-within{background:#fff!important;box-shadow:inset 0 0 0 2px #6f91b5!important}
.cost-rowlabel-edit input:focus{outline:0}
.cost-comparison-divider{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding:10px 14px;border-top:5px solid var(--coral);background:var(--navy);color:#fff}
.cost-comparison-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;width:100%;max-width:100%;min-width:0;align-items:start}.cost-comparison-pane{min-width:0;max-width:100%;overflow:hidden}.cost-comparison-grid .cost-page{margin-top:0}.cost-comparison-grid .cost-intro{align-items:flex-start}.cost-comparison-grid .cost-intro-actions{flex-wrap:wrap;justify-content:flex-end}.cost-comparison-grid .cost-scroll{width:100%;max-width:100%;overflow-x:auto}.cost-comparison-grid .cost-table{min-width:max-content}.cost-comparison-grid .cost-comparison-divider{margin-top:0}
.cost-comparison-divider>div{display:grid;gap:2px}
.cost-comparison-divider .panel-label{color:#cbd5e5}
.cost-comparison-divider strong{font-size:16px}
.cost-comparison-divider button{height:32px;min-height:32px;padding:4px 10px;border:1px solid #fff;background:#fff;color:var(--navy);font-weight:700}
.cost-alternative-page{margin-top:0;border:1px solid #b8c4d4;border-top:0}
.cost-alternative-page .cost-intro{background:#f0f3f7}
.cost-comparison-title{width:min(680px,100%);height:36px;min-height:36px;margin:0;padding:4px 7px;border:0;background:#fff;color:var(--navy);font:inherit;font-size:22px;font-weight:700}
.cost-comparison-title:focus{outline:2px solid #6f91b5;outline-offset:-2px}
@media(max-width:800px){.cost-comparison-divider{align-items:flex-start;flex-direction:column}.cost-comparison-divider button{align-self:flex-end}}

/* Ergänzte Kostenzeilen verwenden dieselbe Zellstruktur wie Standardzeilen. */
.cost-annual-add td{padding:3px 6px!important;background:#eef2f7!important;text-align:left}
.cost-annual-add button{height:28px;min-height:28px;padding:3px 9px;border:1px solid #aebbc9;background:#fff;color:var(--navy);font-size:10px;font-weight:700}

/* Synchronisierte Vergleichsansicht und kompakte globale Zeilenpflege. */
.cost-comparison-grid{align-items:stretch}
.cost-comparison-pane{display:flex}
.cost-comparison-pane>.cost-page{display:flex;flex:1 1 auto;flex-direction:column;height:100%;min-height:0}
.cost-comparison-pane .cost-rates{margin-top:auto}
.cost-rowlabel-edit>div{grid-template-columns:minmax(0,1fr)}
.cost-rowlabel-edit>div.has-row-action{grid-template-columns:minmax(0,1fr) 68px}
.cost-rowlabel-edit>div>button{width:64px;font-size:9px}
.benchmark-scroll{width:100%}
.benchmark-flex-table{width:100%;min-width:max-content}
.benchmark-label-edit>div{grid-template-columns:minmax(0,1fr) 68px}
.benchmark-label-edit input{height:24px;min-height:24px;padding:1px 5px;font-size:12px}
.benchmark-label-edit button{width:64px;height:22px;min-height:22px;margin:0 2px;font-size:9px}

/* Vergleichsansicht: identische Kopfhöhen und volle Nutzung beider Kartenbreiten. */
.cost-comparison-grid .cost-intro{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  gap:10px;
  height:108px;
  min-height:108px;
  padding:10px 12px;
  box-sizing:border-box;
  overflow:hidden;
}
.cost-comparison-grid .cost-intro>div:first-child{min-width:0}
.cost-comparison-grid .cost-intro h2{
  margin:7px 0 4px;
  font-size:18px;
  line-height:1.12;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.cost-comparison-grid .cost-intro p{margin:0;font-size:11px;line-height:1.3}
.cost-comparison-grid .cost-intro-actions{
  display:flex;
  justify-content:flex-end;
  align-content:flex-start;
  flex-wrap:nowrap;
  gap:4px;
  max-width:none;
}
.cost-comparison-grid .cost-intro-actions .secondary,
.cost-comparison-grid .cost-intro-actions .cost-import{
  height:30px;
  min-height:30px;
  padding:4px 8px;
  font-size:10px;
  white-space:nowrap;
}
.cost-comparison-grid .cost-comparison-title{
  width:100%;
  height:29px;
  min-height:29px;
  padding:2px 5px;
  font-size:20px;
  line-height:1.12;
}
.cost-comparison-grid .cost-table{width:max-content;min-width:0}
.cost-comparison-grid .cost-table.cost-sites-0{width:520px;max-width:100%}
.cost-comparison-grid .cost-table.cost-sites-1{width:720px;max-width:100%}
.cost-comparison-grid .cost-table th.cost-rowlabel,
.cost-comparison-grid .cost-table td.cost-rowlabel{width:390px;min-width:390px;max-width:390px}
.cost-comparison-grid .cost-table thead th:not(.cost-rowlabel):not(.cost-total-col){width:125px;min-width:125px;max-width:125px}
.cost-comparison-grid .cost-table th.cost-total-col{width:110px;min-width:110px;max-width:110px}
.cost-rowlabel-edit>div.has-row-action,
.benchmark-label-edit>div{grid-template-columns:minmax(0,1fr) 34px}
.cost-rowlabel-edit>div>button,
.benchmark-label-edit button{width:30px;font-size:9px}

/* Tabellenaktionen gehören in die Abschnittszeile; ergänzte Datenzeilen bleiben 25 px hoch. */
.cost-table tr.cost-section td>div{display:flex;align-items:center;justify-content:space-between;gap:8px}
.cost-table tr.cost-section button{
  height:22px;
  min-height:22px;
  padding:1px 7px;
  border:1px solid #aebbc9;
  background:#fff;
  color:var(--navy);
  font-size:9px;
  font-weight:700;
  white-space:nowrap;
}
.cost-rowlabel-edit>div.has-delete-action{grid-template-columns:minmax(0,1fr) 34px 22px}
.cost-rowlabel-edit>div.has-delete-action>button:last-child{width:20px;border-color:#d5aaa2;color:#9b493c;font-size:13px}

.cost-site-visibility{display:flex;align-items:center;gap:5px;min-height:32px;padding:4px 8px;border-bottom:1px solid #c4cfdb;background:#eef2f7;overflow-x:auto}
.cost-site-visibility span{flex:0 0 auto;margin-right:3px;color:#68778d;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.cost-site-visibility button{flex:0 0 auto;height:23px;min-height:23px;padding:2px 7px;border:1px solid #aebbc9;background:#fff;color:var(--navy);font-size:10px;font-weight:700;white-space:nowrap}
.cost-site-visibility button.is-visible{border-color:var(--navy);background:var(--navy);color:#fff}
.cost-site-visibility button.is-hidden{opacity:.6;text-decoration:line-through}

/* Der komplette Parameter- und Summenblock wird über den vorhandenen Auto-Abstand
   beider gleich hohen Karten bündig gehalten. Ausblendhinweise bleiben davor. */
