.etappierungBackdrop{position:fixed;inset:0;z-index:99990;display:none;background:rgba(15,26,51,.50);padding:18px;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.etappierungBackdrop.is-open{display:flex}.etappierungShell{width:min(1220px,98vw);height:min(940px,96vh);margin:auto;background:#fff;border-radius:18px;box-shadow:0 28px 90px rgba(0,0,0,.32);overflow:auto;color:#172033}.etappierungHeader{display:flex;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid #e6e8ee}.etappierungHeader h2{margin:0;font-size:24px;font-weight:500}.etappierungHeader p{margin:4px 0 0;max-width:950px}.etInfo{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:1px solid #bfc4cc;border-radius:999px;font-size:12px;color:#777}.etappierungHeaderActions{display:flex;gap:8px;flex-wrap:wrap}.etappierungHeaderActions button{border:1px solid #cfd3da;background:#fff;border-radius:9px;padding:8px 10px;font-weight:700;cursor:pointer}.etappierungBodyPattern{padding:14px 20px 22px}.etappierungBoard{display:grid;grid-template-columns:170px minmax(0,1fr);gap:0}.etappierungBoard aside{border-right:2px solid #d2d2d2;padding-right:10px}.etappierungBoard aside h3{margin:0 0 8px;font-size:13px}.etappierungHint,.etappierungEmpty{font-size:11px;color:#53607a;margin-bottom:8px}.etMiniMeasure{border:1px solid #c9c9c9;background:#fff;margin:6px 0;padding:5px 8px;font-size:12px;text-align:center;cursor:grab}.etMiniMeasure.is-used{opacity:.45}.etappierungPlanArea{padding-left:10px}.etappierungControls{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px}.etappierungControls label{font-size:11px;color:#53607a}.etappierungControls input{width:100%;border:1px solid #ccd1da;border-radius:8px;padding:7px}.etappierungTimelinePattern{display:grid;grid-template-columns:repeat(6,1fr);min-height:255px;border-bottom:2px solid #cfcfcf}.etYearCol{border-left:1px dashed #e2e2e2;display:flex;flex-direction:column}.etYearCol.etIst{background:#f2f2f2}.etYearDrop{flex:1;min-height:220px;padding:8px;display:flex;flex-direction:column;gap:6px}.etYearDrop.is-over{background:#eef6ff;outline:2px dashed #7aa5df;outline-offset:-4px}.etYearLabel{border-top:1px solid #cfcfcf;padding:8px 4px;font-size:14px}.etMuted{color:#555}.etMeasureChip{position:relative;border:2px solid #c9c9c9;background:#fff;min-height:34px;padding:7px 24px 7px 8px;text-align:center;font-size:14px}.etMeasureChip button{position:absolute;right:4px;top:4px;border:0;background:#eee;border-radius:99px;cursor:pointer}.etMatrix{display:grid;grid-template-columns:170px 1fr;border-bottom:1px solid #cfcfcf}.etMatrixLabel{padding:8px 8px 8px 0;text-align:right;font-size:14px;line-height:1.1}.etMatrixLabel small{display:block;font-size:11px;color:#444}.etMatrixValues{display:grid;grid-template-columns:repeat(6,1fr)}.etMatrixValues>div{padding:8px 4px;text-align:right;border-left:1px solid #f0f0f0;font-size:14px}.etEnergyCell{font-weight:500}.etCo2Cell{background:#61adf2;color:#061326}.etChartRow{display:grid;grid-template-columns:170px 1fr;margin-top:0}.etStepSvg{width:100%;height:auto;display:block}.etStepSvg .gridH,.etStepSvg .gridV{stroke:#d9d9d9;stroke-width:1}.etStepSvg text{font-size:13px;fill:#333}.etStepSvg .stepLine{fill:none;stroke:#702cff;stroke-width:2.5;stroke-linejoin:miter}.etappierungReality{margin-top:18px;border:1px solid #e2e6ee;border-radius:14px;background:#fbfcff;padding:14px}.etappierungReality h3{margin:0 0 10px}.realityList{display:grid;grid-template-columns:1fr;gap:8px}.realityItem{border:1px solid #dde3ef;border-radius:12px;padding:10px 12px}.realityItem strong{display:block;margin-bottom:4px}.realityItem p{margin:0;line-height:1.45}.realityItem.good{background:#ecfdf5}.realityItem.warn{background:#fffbeb}.realityItem.bad{background:#fef2f2}.etappierungToast{position:fixed;right:30px;bottom:30px;background:#0f2b6a;color:#fff;border-radius:999px;padding:10px 14px;opacity:0;transform:translateY(10px);transition:.18s}.etappierungToast.is-visible{opacity:1;transform:translateY(0)}@media(max-width:900px){.etappierungBoard{grid-template-columns:1fr}.etappierungBoard aside{border-right:0;border-bottom:1px solid #ddd;padding-bottom:10px;margin-bottom:10px}.etappierungTimelinePattern,.etMatrixValues{grid-template-columns:1fr}.etMatrix,.etChartRow{grid-template-columns:1fr}.etMatrixLabel{text-align:left}.etappierungControls{grid-template-columns:1fr}}

/* --- Etappierung Grid Alignment Fix --- */
.etappierungTimelinePattern{
  display:grid !important;
  grid-template-columns:170px minmax(0,1fr) !important;
  min-height:255px;
  border-bottom:2px solid #cfcfcf;
}
.etTimelineLabelSpacer{
  border-right:1px solid #cfcfcf;
}
.etTimelineGrid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  min-width:0;
}
.etTimelineGrid .etYearCol{
  min-width:0;
}
.etMatrix{
  display:grid !important;
  grid-template-columns:170px minmax(0,1fr) !important;
  border-bottom:1px solid #cfcfcf;
}
.etMatrixValues{
  display:grid !important;
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  min-width:0;
}
.etChartRow{
  display:grid !important;
  grid-template-columns:170px minmax(0,1fr) !important;
}
.etStepSvg{
  width:100%;
  height:auto;
  display:block;
  overflow:visible;
}
.etStepSvg .gridV{
  stroke:#d9d9d9;
  stroke-width:1;
}
.etStepSvg .gridH{
  stroke:#d9d9d9;
  stroke-width:1;
}
.etStepSvg .yearLabel{
  font-size:13px;
  fill:#333;
}
.etStepSvg .stepLine{
  fill:none;
  stroke:#702cff;
  stroke-width:2.5;
  stroke-linejoin:miter;
}
.etMatrixLabel{
  position:relative;
}
.etYAxisMark{
  position:absolute;
  right:8px;
  font-size:12px;
  color:#333;
}
.etYAxisMark.top{top:30px;}
.etYAxisMark.m40{top:112px;}
.etYAxisMark.m20{top:220px;}
.etYAxisMark.zero{bottom:2px;}
@media(max-width:900px){
  .etappierungTimelinePattern,
  .etMatrix,
  .etChartRow{
    grid-template-columns:1fr !important;
  }
  .etTimelineGrid,
  .etMatrixValues{
    grid-template-columns:1fr !important;
  }
}


/* --- Investment Year Alignment Fix --- */
.etInvestEmpty{
  color:transparent;
}


/* --- CO2 Exact Grid Alignment --- */
.etStepSvg{
  shape-rendering: geometricPrecision;
}

.etStepSvg .gridV,
.etStepSvg .gridH{
  shape-rendering: crispEdges;
  vector-effect: non-scaling-stroke;
}

.etStepSvg .stepLine{
  vector-effect: non-scaling-stroke;
}


/* --- Remove overlapping >60 label --- */
.etYAxisMark.top{
  display:none !important;
}
