:root {
  --bg: #f4f7fb;
  --panel: #ffffff;
  --panel-soft: #f7f9fd;
  --text: #101828;
  --muted: #667085;
  --line: #dfe6f0;
  --brand: #2f5cff;
  --brand-dark: #1e3a8a;
  --teal: #0f766e;
  --teal-soft: #e8f7f4;
  --red: #c43d3d;
  --red-soft: #fbeaea;
  --amber: #d98b1f;
  --green: #10845f;
  --green-soft: #e8f6ef;
  --shadow: 0 24px 70px rgba(16, 24, 40, .10);
  --radius: 28px;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  min-height: 100vh;
  color: var(--text);
  background:
    radial-gradient(circle at 10% 0%, rgba(47, 92, 255, .13), transparent 34rem),
    radial-gradient(circle at 90% 5%, rgba(15, 118, 110, .12), transparent 30rem),
    var(--bg);
}

button, input { font: inherit; }
button { -webkit-tap-highlight-color: transparent; }

.app-shell {
  width: min(1180px, calc(100% - 28px));
  margin: 0 auto;
  padding: 24px 0 48px;
}

.hero-card,
.input-panel,
.result-card,
.score-card,
.details-card,
.depreciation-card,
.explain-box {
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(223,230,240,.95);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

.hero-card {
  padding: 22px;
  margin-bottom: 18px;
}

.hero-main {
  display: flex;
  align-items: center;
  gap: 16px;
}

.hero-icon-wrap {
  width: 64px;
  height: 64px;
  border-radius: 22px;
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, #eef3ff, #ffffff);
  border: 1px solid var(--line);
  flex: 0 0 auto;
}

.hero-icon { width: 48px; height: 48px; }

.eyebrow {
  margin: 0 0 5px;
  color: var(--brand);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.eyebrow.compact { font-size: .72rem; }

h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: 4px; font-size: clamp(2rem, 5vw, 3.9rem); letter-spacing: -.06em; line-height: .95; }
h2 { margin: 0; font-size: clamp(1.55rem, 4vw, 2.6rem); letter-spacing: -.045em; line-height: 1; }
h3 { margin-bottom: 14px; }

.hero-copy {
  max-width: 820px;
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.layout {
  display: grid;
  grid-template-columns: minmax(360px, .95fr) minmax(420px, 1.05fr);
  gap: 18px;
  align-items: start;
}

.input-panel, .result-panel { min-width: 0; }
.input-panel { padding: 22px; }

.panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 18px;
}


.panel-head-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 9px;
  flex: 0 0 auto;
}

.quick-save-button {
  border: 0;
  border-radius: 999px;
  padding: 11px 16px;
  cursor: pointer;
  font-weight: 850;
  color: #ffffff;
  background: linear-gradient(135deg, var(--brand), var(--brand-2));
  box-shadow: 0 14px 34px rgba(20, 184, 166, 0.22);
  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}

.quick-save-button:hover,
.quick-save-button:focus-visible {
  transform: translateY(-1px);
  filter: saturate(1.06);
  box-shadow: 0 18px 42px rgba(20, 184, 166, 0.28);
}

.quick-save-button:active { transform: translateY(0); }

.ghost-button {
  border: 1px solid var(--line);
  background: #fff;
  color: var(--text);
  border-radius: 999px;
  padding: 10px 14px;
  cursor: pointer;
  font-weight: 800;
}

.ghost-button:hover { border-color: var(--brand); color: var(--brand); }

.form-section {
  padding: 18px 0;
  border-top: 1px solid var(--line);
}

.form-section:first-of-type { border-top: 0; padding-top: 0; }
.form-section.last { padding-bottom: 0; }

.form-section h3,
.section-title-line h3 {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 1.1rem;
  margin-bottom: 14px;
}

.section-icon {
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 11px;
  background: #eef3ff;
  font-size: 1rem;
}

.section-title-line {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.input-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.input-group {
  position: relative;
  margin-bottom: 14px;
}

.input-group.wide { grid-column: 1 / -1; }

label {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  font-weight: 850;
  font-size: .95rem;
}

.tooltip {
  width: 22px;
  height: 22px;
  border: 0;
  border-radius: 999px;
  background: #eef3ff;
  color: var(--brand);
  cursor: help;
  font-size: .82rem;
  font-weight: 950;
}

.tooltip-text {
  display: none;
  position: absolute;
  left: 0;
  top: 32px;
  z-index: 30;
  width: min(320px, 88vw);
  padding: 12px 13px;
  border-radius: 15px;
  background: #111827;
  color: white;
  font-size: .85rem;
  line-height: 1.42;
  box-shadow: 0 18px 42px rgba(0,0,0,.22);
}

.input-group:has(.tooltip:hover) .tooltip-text,
.input-group:has(.tooltip:focus) .tooltip-text { display: block; }

.input-wrap, .display-wrap {
  display: flex;
  align-items: center;
  min-height: 58px;
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.input-wrap:focus-within {
  border-color: var(--brand);
  box-shadow: 0 0 0 4px rgba(47, 92, 255, .12);
}

.input-wrap input {
  width: 100%;
  min-width: 0;
  border: 0;
  outline: 0;
  padding: 16px 14px;
  background: transparent;
  color: var(--text);
  font-weight: 850;
  font-size: 1.03rem;
}

.input-wrap span {
  padding-right: 14px;
  white-space: nowrap;
  color: var(--muted);
  font-weight: 800;
  font-size: .9rem;
}

.muted-result label { color: var(--muted); }
.display-wrap {
  justify-content: flex-start;
  padding: 0 16px;
  background: #f3f6fb;
  color: #344054;
  font-weight: 900;
  border-style: dashed;
}

.mode-switch {
  display: inline-flex;
  padding: 4px;
  border-radius: 999px;
  background: #edf2f8;
  border: 1px solid var(--line);
}

.mode-btn {
  border: 0;
  border-radius: 999px;
  background: transparent;
  padding: 8px 13px;
  cursor: pointer;
  font-weight: 950;
  color: var(--muted);
}

.mode-btn.active {
  background: #fff;
  color: var(--brand);
  box-shadow: 0 5px 16px rgba(16, 24, 40, .10);
}

.toggle-line {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  color: var(--muted);
  cursor: pointer;
  font-size: .9rem;
}

.toggle-line input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.toggle-line span {
  width: 48px;
  height: 28px;
  border-radius: 999px;
  background: #d9e2ef;
  position: relative;
  transition: background .2s ease;
}

.toggle-line span::after {
  content: "";
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #fff;
  position: absolute;
  left: 3px;
  top: 3px;
  box-shadow: 0 3px 8px rgba(16,24,40,.18);
  transition: transform .2s ease;
}

.toggle-line input:checked + span { background: var(--brand); }
.toggle-line input:checked + span::after { transform: translateX(20px); }

.hidden { display: none !important; }

.result-panel {
  position: sticky;
  top: 18px;
}

.result-head {
  padding: 4px 2px 14px;
}

.status-pill {
  padding: 10px 16px;
  border-radius: 999px;
  background: #eef3ff;
  color: var(--brand);
  font-weight: 950;
  white-space: nowrap;
}

.status-pill.good { background: var(--green-soft); color: var(--green); }
.status-pill.bad { background: var(--red-soft); color: var(--red); }
.status-pill.neutral { background: #fff6e6; color: #9a5b00; }

.result-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.result-card {
  padding: 22px;
  overflow: hidden;
  min-width: 0;
}

.before-card {
  border-top: 7px solid var(--brand);
}

.after-card {
  border-top: 7px solid var(--teal);
}

.result-card-top {
  display: flex;
  align-items: flex-start;
  gap: 13px;
  margin-bottom: 16px;
}

.big-icon {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border-radius: 18px;
  background: #f0f4ff;
  font-size: 1.6rem;
  flex: 0 0 auto;
}

.after-card .big-icon { background: var(--teal-soft); }

.result-card h3 {
  margin-bottom: 4px;
  font-size: 1.45rem;
  letter-spacing: -.035em;
}

.result-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.35;
}

.main-number {
  display: block;
  margin: 10px 0 18px;
  font-size: clamp(2.25rem, 8vw, 4.1rem);
  letter-spacing: -.07em;
  line-height: .95;
  color: var(--text);
}

.calc-stack {
  display: grid;
  gap: 0;
}

.calc-row,
.calc-subrow,
.detail-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 0;
  border-top: 1px solid var(--line);
  color: var(--text);
}

.calc-row span,
.calc-subrow span,
.detail-row span {
  color: #475467;
  line-height: 1.25;
}

.calc-row strong,
.calc-subrow strong,
.detail-row strong {
  color: var(--text);
  text-align: right;
  white-space: nowrap;
}

.calc-row.plus strong { color: var(--green); }
.calc-row.minus strong { color: #475467; }

.calc-row.group {
  padding-bottom: 7px;
}

.calc-subrow {
  margin-left: 18px;
  padding: 8px 0 8px 14px;
  border-top: 0;
  border-left: 3px solid #c9d6ea;
  font-size: .92rem;
}

.calc-row.total {
  margin-top: 6px;
  padding-top: 14px;
  border-top: 2px solid var(--line);
  font-weight: 950;
}

.calc-row.total span,
.calc-row.total strong {
  color: var(--text);
}

.calc-row.final {
  background: #f6f8fc;
  margin: 10px -8px 0;
  padding: 14px 8px;
  border-radius: 16px;
  border-top: 0;
}

.tax-box {
  margin: 12px 0;
  padding: 14px;
  border-radius: 20px;
  border: 1px solid #cfe4df;
  background: #f3fbf8;
}

.tax-box-title {
  margin: 0 0 4px !important;
  color: var(--teal) !important;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: .75rem;
}

.tax-box .calc-row:first-of-type {
  border-top: 0;
}

.tax-effect {
  border-top: 1px solid var(--line);
}

.score-card,
.details-card,
.depreciation-card,
.explain-box {
  margin-top: 16px;
  padding: 22px;
}

.score-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.score-card h3 {
  margin: 0 0 6px;
  font-size: 1.8rem;
  letter-spacing: -.045em;
}

.score-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.score-ring {
  width: 92px;
  height: 92px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: conic-gradient(var(--brand) 0deg, #e9eef7 0deg);
  flex: 0 0 auto;
  position: relative;
}

.score-ring::after {
  content: "";
  position: absolute;
  inset: 12px;
  border-radius: 50%;
  background: #fff;
}

.score-ring span {
  position: relative;
  z-index: 1;
  font-size: 1.7rem;
  font-weight: 950;
}

.score-bar {
  height: 14px;
  border-radius: 999px;
  background: #e8eef7;
  overflow: hidden;
  margin: 18px 0;
}

.score-bar span {
  display: block;
  height: 100%;
  width: 0%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--red), var(--amber), var(--green));
  transition: width .25s ease;
}

.score-metrics {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

.score-metrics div {
  padding: 13px;
  border-radius: 18px;
  background: var(--panel-soft);
  border: 1px solid #edf1f7;
}

.score-metrics span {
  display: block;
  color: var(--muted);
  font-size: .78rem;
  font-weight: 850;
  margin-bottom: 4px;
}

.score-metrics strong {
  display: block;
  font-size: 1.08rem;
}

.score-metrics small {
  display: block;
  margin-top: 3px;
  color: #98a2b3;
  font-weight: 800;
}

.details-card h3,
.explain-box h3 {
  margin-bottom: 12px;
  font-size: 1.2rem;
}

.detail-row:first-of-type { border-top: 0; }

.explain-box {
  background: #111827;
  color: #fff;
  border-color: #111827;
}

.explain-box p {
  margin-bottom: 10px;
  color: rgba(255,255,255,.78);
  line-height: 1.45;
}

.explain-box p:last-child { margin-bottom: 0; }
.explain-box strong { color: #fff; }

.negative { color: var(--red) !important; }
.positive { color: var(--green) !important; }

@media (max-width: 980px) {
  .layout { grid-template-columns: 1fr; }
  .result-panel { position: static; }
}

@media (max-width: 720px) {
  .app-shell {
    width: min(100% - 20px, 1180px);
    padding-top: 10px;
  }

  .hero-card,
  .input-panel,
  .result-card,
  .score-card,
  .details-card,
  .depreciation-card,
  .explain-box {
    border-radius: 24px;
    padding: 18px;
  }

  .hero-main { align-items: flex-start; }
  .hero-icon-wrap {
    width: 56px;
    height: 56px;
    border-radius: 18px;
  }
  .hero-icon { width: 42px; height: 42px; }

  .panel-head,
  .section-title-line {
    flex-direction: column;
    align-items: flex-start;
  }

  .input-row,
  .result-columns,
  .score-metrics {
    grid-template-columns: 1fr;
  }

  .main-number {
    font-size: clamp(3rem, 18vw, 4.6rem);
  }

  .score-top {
    align-items: flex-start;
  }
}


/* WordPress Plugin Tools */
.immo-tools-panel {
  background: var(--card);
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: 28px;
  box-shadow: var(--shadow);
  backdrop-filter: blur(18px);
  padding: 20px;
  margin: 0 0 18px;
}
.immo-tools-main {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
}
.immo-tools-main h2 { margin: 0 0 6px; }
.immo-tools-main p:not(.eyebrow) { margin: 0; color: var(--muted); line-height: 1.45; }
.immo-tools-actions { display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.ghost-button.strong { border-color: #d9e2f2; background: #fff; box-shadow: 0 10px 28px rgba(15,23,42,.07); }
.share-output {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  margin-top: 14px;
}
.share-output input {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 13px 14px;
  font-weight: 650;
  color: var(--text);
  background: #f7f9fd;
}
.tool-note { margin: 10px 0 0; color: var(--muted); font-size: .92rem; }
.saved-calcs { margin-top: 16px; }
.saved-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom: 10px; }
.mini-link { border:0; background:transparent; color: var(--brand); font-weight: 800; cursor:pointer; padding: 6px 0; }
.saved-grid { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; }
.saved-card {
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 13px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(15,23,42,.05);
}
.saved-card strong { display:block; font-size:.98rem; margin-bottom: 5px; }
.saved-card span { display:block; color: var(--muted); font-size:.86rem; margin-bottom: 10px; }
.saved-card-actions { display:flex; gap: 8px; }
.saved-card-actions button { flex:1; border:1px solid var(--line); border-radius: 12px; padding: 8px 10px; background:#f8fafc; font-weight:800; cursor:pointer; }
.saved-card-actions button:hover { border-color: var(--brand); color: var(--brand); }
.hidden { display: none !important; }
.display-wrap { color: #263248 !important; background: #f1f5fb !important; border: 1px solid #dce5f3 !important; }
.negative { color: #b42318 !important; }
.positive { color: #087443 !important; }
@media (max-width: 860px) {
  .immo-tools-main { align-items: flex-start; flex-direction: column; }
  .immo-tools-actions { width: 100%; justify-content: stretch; }
  .immo-tools-actions .ghost-button { flex: 1; }
  .saved-grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .immo-tools-panel { border-radius: 22px; padding: 16px; }
  .share-output { grid-template-columns: 1fr; }
}

/* v1.1 Admin-configurable UI polish + side tools */
.runenburg-immo-calculator {
  position: relative;
}

.runenburg-immo-calculator .result-card,
.runenburg-immo-calculator .input-panel,
.runenburg-immo-calculator .score-card,
.runenburg-immo-calculator .details-card,
.runenburg-immo-calculator .hero-card {
  box-shadow: 0 22px 60px rgba(16, 24, 40, .08);
}

.runenburg-immo-calculator .result-card {
  background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%);
}

.runenburg-immo-calculator .main-number.negative,
.runenburg-immo-calculator .calc-row strong.negative,
.runenburg-immo-calculator .detail-row strong.negative {
  color: var(--red) !important;
  text-shadow: none;
}

.runenburg-immo-calculator .main-number.positive,
.runenburg-immo-calculator .calc-row strong.positive,
.runenburg-immo-calculator .detail-row strong.positive {
  color: var(--green) !important;
}

.runenburg-immo-calculator .display-wrap {
  color: #1f2937 !important;
  background: linear-gradient(180deg, #f8fafc 0%, #eef3f9 100%) !important;
  border: 1px solid #d8e2f0 !important;
  opacity: 1;
}

.runenburg-immo-calculator .saved-card-actions button,
.runenburg-immo-calculator .tool-action,
.runenburg-immo-calculator .drawer-close,
.runenburg-immo-calculator .immo-tools-tab {
  appearance: none;
}

.immo-side-tools {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 99998;
  font-family: inherit;
}

.immo-tools-tab {
  border: 1px solid rgba(47, 92, 255, .16);
  background: #ffffff;
  color: #101828;
  border-radius: 999px;
  padding: 13px 17px 13px 14px;
  box-shadow: 0 18px 42px rgba(16, 24, 40, .16);
  display: inline-flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.immo-tools-tab:hover { transform: translateY(-2px); border-color: var(--brand); box-shadow: 0 22px 52px rgba(16, 24, 40, .20); }
.immo-tools-tab span {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 13px;
  background: #eef3ff;
}
.immo-tools-tab strong { font-size: .96rem; }

.immo-tools-drawer {
  position: fixed;
  top: 24px;
  right: 24px;
  width: min(430px, calc(100vw - 32px));
  max-height: calc(100vh - 48px);
  overflow: auto;
  background: rgba(255,255,255,.98);
  border: 1px solid #dbe5f1;
  border-radius: 28px;
  box-shadow: 0 30px 90px rgba(16, 24, 40, .24);
  padding: 22px;
  transform: translateX(calc(100% + 40px));
  opacity: 0;
  pointer-events: none;
  transition: transform .22s ease, opacity .22s ease;
}
.immo-tools-drawer.open {
  transform: translateX(0);
  opacity: 1;
  pointer-events: auto;
}
.immo-drawer-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
  margin-bottom: 8px;
}
.immo-drawer-head h2 { margin: 0; font-size: 1.75rem; letter-spacing: -.045em; }
.drawer-copy { color: var(--muted); line-height: 1.48; margin: 0 0 16px; }
.drawer-close {
  width: 40px;
  height: 40px;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: #f8fafc;
  color: #101828;
  font-size: 1.45rem;
  line-height: 1;
  cursor: pointer;
}
.drawer-close:hover { border-color: var(--brand); color: var(--brand); }

.immo-tools-drawer .immo-tools-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
.tool-action {
  border: 1px solid #d8e2f0;
  background: #ffffff;
  color: #101828;
  border-radius: 17px;
  padding: 13px 15px;
  font-weight: 900;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  box-shadow: 0 10px 24px rgba(16,24,40,.06);
}
.tool-action:hover { border-color: var(--brand); color: var(--brand); }
.tool-action.primary { background: var(--brand); color: #ffffff; border-color: var(--brand); }
.tool-action.primary:hover { filter: brightness(.97); color: #ffffff; }
.tool-action.small { padding: 11px 13px; border-radius: 14px; }

.immo-tools-drawer .share-output {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  margin-top: 12px;
}
.immo-tools-drawer .share-output input {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 13px;
  background: #f8fafc;
  color: #101828;
  font-weight: 650;
}
.immo-tools-drawer .tool-note { min-height: 22px; margin: 12px 0 0; color: var(--muted); font-weight: 700; }
.immo-tools-drawer .saved-calcs { margin-top: 16px; }
.immo-tools-drawer .saved-grid { display: grid; grid-template-columns: 1fr; gap: 10px; }
.immo-tools-drawer .saved-card {
  border: 1px solid #dbe5f1;
  border-radius: 20px;
  padding: 14px;
  background: #ffffff;
  box-shadow: 0 12px 26px rgba(16,24,40,.06);
}
.immo-tools-drawer .saved-card strong { display: block; margin-bottom: 5px; color: #101828; }
.immo-tools-drawer .saved-card span { display: block; color: var(--muted); font-size: .88rem; margin-bottom: 12px; line-height: 1.35; }
.immo-tools-drawer .saved-card-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.immo-tools-drawer .saved-card-actions button {
  border: 1px solid #d8e2f0;
  border-radius: 14px;
  padding: 10px 12px;
  font-weight: 900;
  cursor: pointer;
  background: #f8fafc;
  color: #101828;
}
.immo-tools-drawer .saved-card-actions .saved-open { background: #eef3ff; color: var(--brand); border-color: rgba(47,92,255,.20); }
.immo-tools-drawer .saved-card-actions .saved-delete { background: #fff5f5; color: var(--red); border-color: rgba(180,35,24,.18); }
.immo-tools-drawer .saved-card-actions button:hover { filter: brightness(.98); transform: translateY(-1px); }

.immo-tools-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, .22);
  backdrop-filter: blur(2px);
  z-index: -1;
}

.immo-tools-drawer .saved-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom: 10px;
}
.immo-tools-drawer .mini-link { border:0; background:transparent; color: var(--brand); font-weight: 900; cursor:pointer; padding: 6px 0; }

@media (max-width: 720px) {
  .immo-side-tools { right: 14px; bottom: 14px; }
  .immo-tools-tab strong { display: none; }
  .immo-tools-tab { padding: 10px; }
  .immo-tools-drawer {
    top: auto;
    right: 10px;
    left: 10px;
    bottom: 10px;
    width: auto;
    max-height: 82vh;
    border-radius: 24px;
    padding: 18px;
    transform: translateY(calc(100% + 30px));
  }
  .immo-tools-drawer.open { transform: translateY(0); }
  .immo-tools-drawer .share-output { grid-template-columns: 1fr; }
}


/* v1.1.2: neutral/teal action system; blue-red button scheme removed */
.runenburg-immo-calculator {
  --action: #0f766e;
  --action-dark: #115e59;
  --action-soft: #ecfdf5;
  --neutral-action: #ffffff;
  --neutral-border: #d7e0ea;
  --neutral-hover: #f1f5f9;
}

.runenburg-immo-calculator .drawer-close {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  display: inline-grid !important;
  place-items: center !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 15px !important;
  border: 1px solid var(--neutral-border) !important;
  background: #ffffff !important;
  color: #475467 !important;
  font-size: 0 !important;
  line-height: 1 !important;
  box-shadow: 0 10px 24px rgba(16,24,40,.08) !important;
}
.runenburg-immo-calculator .drawer-close::before {
  content: "×";
  font-size: 30px;
  font-weight: 400;
  line-height: 1;
  transform: translateY(-1px);
}
.runenburg-immo-calculator .drawer-close:hover {
  border-color: #b8c4d2 !important;
  background: #f8fafc !important;
  color: #111827 !important;
  transform: translateY(-1px);
}

.runenburg-immo-calculator .immo-tools-tab {
  border-color: rgba(15, 118, 110, .22) !important;
  background: #ffffff !important;
  color: #101828 !important;
}
.runenburg-immo-calculator .immo-tools-tab:hover {
  border-color: var(--action) !important;
}
.runenburg-immo-calculator .immo-tools-tab span {
  background: var(--action-soft) !important;
  color: var(--action-dark) !important;
}

.runenburg-immo-calculator .tool-action {
  border: 1px solid var(--neutral-border) !important;
  background: #ffffff !important;
  color: #101828 !important;
  box-shadow: 0 10px 24px rgba(16,24,40,.06) !important;
}
.runenburg-immo-calculator .tool-action:hover {
  border-color: var(--action) !important;
  background: #f8fffd !important;
  color: var(--action-dark) !important;
  transform: translateY(-1px);
}
.runenburg-immo-calculator .tool-action.primary {
  background: linear-gradient(135deg, #0f766e 0%, #14b8a6 100%) !important;
  border-color: transparent !important;
  color: #ffffff !important;
  box-shadow: 0 16px 36px rgba(15,118,110,.22) !important;
}
.runenburg-immo-calculator .tool-action.primary:hover {
  color: #ffffff !important;
  filter: none !important;
  box-shadow: 0 20px 42px rgba(15,118,110,.28) !important;
}

.runenburg-immo-calculator .immo-tools-drawer .mini-link {
  color: var(--action-dark) !important;
}
.runenburg-immo-calculator .immo-tools-drawer .mini-link:hover {
  color: #0f766e !important;
  text-decoration: underline;
}

.runenburg-immo-calculator .immo-tools-drawer .share-output input {
  background: #f8fafc !important;
  border-color: var(--neutral-border) !important;
  color: #101828 !important;
}

.runenburg-immo-calculator .immo-tools-drawer .saved-card-actions .saved-open,
.runenburg-immo-calculator .immo-tools-drawer .saved-card-actions .saved-delete,
.runenburg-immo-calculator .saved-card-actions .saved-open,
.runenburg-immo-calculator .saved-card-actions .saved-delete {
  border: 1px solid var(--neutral-border) !important;
  background: #ffffff !important;
  color: #101828 !important;
  box-shadow: none !important;
}
.runenburg-immo-calculator .immo-tools-drawer .saved-card-actions .saved-open:hover,
.runenburg-immo-calculator .saved-card-actions .saved-open:hover {
  border-color: var(--action) !important;
  background: var(--action-soft) !important;
  color: var(--action-dark) !important;
}
.runenburg-immo-calculator .immo-tools-drawer .saved-card-actions .saved-delete:hover,
.runenburg-immo-calculator .saved-card-actions .saved-delete:hover {
  border-color: #cbd5e1 !important;
  background: #f1f5f9 !important;
  color: #0f172a !important;
}

.runenburg-immo-calculator .eyebrow,
.runenburg-immo-calculator .status-pill {
  color: var(--action-dark);
}

/* v1.1.3: slim keyfacts side rail */
.runenburg-immo-calculator .immo-keyfacts-rail {
  position: fixed;
  left: max(12px, calc((100vw - 1180px) / 2 - 92px));
  top: 50%;
  transform: translateY(-50%);
  z-index: 99970;
  display: grid;
  gap: 10px;
  padding: 10px;
  border: 1px solid rgba(215, 224, 234, .92);
  border-radius: 22px;
  background: rgba(255, 255, 255, .84);
  backdrop-filter: blur(18px);
  box-shadow: 0 18px 46px rgba(16, 24, 40, .14);
}

.runenburg-immo-calculator .keyfact-item {
  position: relative;
  display: grid;
  grid-template-columns: 34px auto;
  align-items: center;
  gap: 8px;
  min-width: 104px;
  padding: 8px 10px 8px 8px;
  border: 1px solid transparent;
  border-radius: 16px;
  background: rgba(248, 250, 252, .86);
  color: #101828;
  transition: background .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.runenburg-immo-calculator .keyfact-item:hover {
  background: #ffffff;
  border-color: #d8e2f0;
  box-shadow: 0 12px 28px rgba(16,24,40,.10);
  transform: translateX(2px);
}

.runenburg-immo-calculator .keyfact-icon {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  background: #eef7f4;
  font-size: 1.05rem;
}

.runenburg-immo-calculator .keyfact-item strong {
  font-size: .92rem;
  line-height: 1;
  font-weight: 950;
  color: var(--action-dark);
  white-space: nowrap;
  letter-spacing: -.02em;
}

.runenburg-immo-calculator .keyfact-item::after {
  content: attr(data-tooltip);
  position: absolute;
  left: calc(100% + 10px);
  top: 50%;
  transform: translateY(-50%) translateX(-4px);
  opacity: 0;
  pointer-events: none;
  white-space: nowrap;
  padding: 9px 11px;
  border-radius: 12px;
  background: #101828;
  color: #fff;
  font-size: .78rem;
  font-weight: 800;
  box-shadow: 0 14px 36px rgba(16,24,40,.22);
  transition: opacity .16s ease, transform .16s ease;
}

.runenburg-immo-calculator .keyfact-item:hover::after {
  opacity: 1;
  transform: translateY(-50%) translateX(0);
}

@media (max-width: 1280px) {
  .runenburg-immo-calculator .immo-keyfacts-rail {
    left: 10px;
  }
}

@media (max-width: 1080px) {
  .runenburg-immo-calculator .immo-keyfacts-rail {
    position: sticky;
    top: 10px;
    transform: none;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin: 14px 0 16px;
    width: 100%;
    overflow-x: auto;
  }
  .runenburg-immo-calculator .keyfact-item {
    min-width: 118px;
    justify-content: center;
  }
  .runenburg-immo-calculator .keyfact-item:hover {
    transform: translateY(-1px);
  }
  .runenburg-immo-calculator .keyfact-item::after {
    display: none;
  }
}

@media (max-width: 560px) {
  .runenburg-immo-calculator .immo-keyfacts-rail {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: max-content;
    padding: 8px;
    border-radius: 18px;
  }
  .runenburg-immo-calculator .keyfact-item {
    min-width: 104px;
    padding: 7px 9px 7px 7px;
  }
  .runenburg-immo-calculator .keyfact-icon {
    width: 30px;
    height: 30px;
    border-radius: 11px;
  }
  .runenburg-immo-calculator .keyfact-item strong {
    font-size: .84rem;
  }
}


/* v1.1.4: responsive layout hardening
   Key facts are anchored left only when there is enough room. Otherwise they become
   a compact sticky horizontal rail so the form is never covered. */
.runenburg-immo-calculator {
  position: relative;
  overflow: visible;
}

/* Safe default for normal pages, tablets and smaller desktops */
.runenburg-immo-calculator .immo-keyfacts-rail {
  position: sticky !important;
  top: 12px !important;
  left: auto !important;
  transform: none !important;
  z-index: 50 !important;
  display: grid !important;
  grid-template-columns: repeat(5, minmax(118px, 1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 18px !important;
  padding: 8px !important;
  border-radius: 20px !important;
  background: rgba(255,255,255,.88) !important;
  backdrop-filter: blur(18px);
  box-shadow: 0 14px 38px rgba(16,24,40,.10) !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

.runenburg-immo-calculator .immo-keyfacts-rail::-webkit-scrollbar { height: 6px; }
.runenburg-immo-calculator .immo-keyfacts-rail::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 999px; }

.runenburg-immo-calculator .keyfact-item {
  min-width: 118px !important;
  padding: 8px 10px !important;
  grid-template-columns: 32px auto !important;
  justify-content: start !important;
}

.runenburg-immo-calculator .keyfact-item:hover { transform: translateY(-1px) !important; }
.runenburg-immo-calculator .keyfact-item::after { display: none !important; }

/* True wide desktop: place the slim rail to the left of the calculator without covering content. */
@media (min-width: 1520px) {
  .runenburg-immo-calculator .immo-keyfacts-rail {
    position: absolute !important;
    left: -150px !important;
    top: 248px !important;
    width: 132px !important;
    grid-template-columns: 1fr !important;
    margin: 0 !important;
    overflow: visible !important;
    z-index: 25 !important;
  }
  .runenburg-immo-calculator .keyfact-item {
    min-width: 112px !important;
  }
  .runenburg-immo-calculator .keyfact-item:hover { transform: translateX(2px) !important; }
  .runenburg-immo-calculator .keyfact-item::after {
    display: block !important;
    content: attr(data-tooltip);
    position: absolute;
    left: calc(100% + 10px);
    top: 50%;
    transform: translateY(-50%) translateX(-4px);
    opacity: 0;
    pointer-events: none;
    white-space: nowrap;
    padding: 9px 11px;
    border-radius: 12px;
    background: #101828;
    color: #fff;
    font-size: .78rem;
    font-weight: 800;
    box-shadow: 0 14px 36px rgba(16,24,40,.22);
    transition: opacity .16s ease, transform .16s ease;
  }
  .runenburg-immo-calculator .keyfact-item:hover::after {
    opacity: 1;
    transform: translateY(-50%) translateX(0);
  }
}

/* The two-column desktop layout needs more room than before. */
@media (max-width: 1120px) {
  .runenburg-immo-calculator .layout {
    grid-template-columns: 1fr !important;
  }
  .runenburg-immo-calculator .result-panel {
    position: static !important;
  }
}

@media (max-width: 900px) {
  .runenburg-immo-calculator.app-shell {
    width: min(100% - 20px, 1180px) !important;
  }
  .runenburg-immo-calculator .hero-main {
    align-items: flex-start !important;
  }
  .runenburg-immo-calculator .result-columns {
    grid-template-columns: 1fr !important;
  }
  .runenburg-immo-calculator .score-metrics {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
}

@media (max-width: 640px) {
  .runenburg-immo-calculator.app-shell {
    width: min(100% - 14px, 1180px) !important;
    padding-top: 8px !important;
    padding-bottom: 84px !important;
  }
  .runenburg-immo-calculator .hero-card,
  .runenburg-immo-calculator .input-panel,
  .runenburg-immo-calculator .result-card,
  .runenburg-immo-calculator .score-card,
  .runenburg-immo-calculator .explain-box {
    border-radius: 20px !important;
    padding: 16px !important;
  }
  .runenburg-immo-calculator .hero-main {
    gap: 12px !important;
  }
  .runenburg-immo-calculator .hero-icon-wrap {
    width: 50px !important;
    height: 50px !important;
    border-radius: 16px !important;
  }
  .runenburg-immo-calculator .hero-icon {
    width: 38px !important;
    height: 38px !important;
  }
  .runenburg-immo-calculator h1 {
    font-size: clamp(2rem, 11vw, 3rem) !important;
    line-height: .98 !important;
  }
  .runenburg-immo-calculator h2 {
    font-size: clamp(1.8rem, 9vw, 2.3rem) !important;
  }
  .runenburg-immo-calculator .panel-head,
  .runenburg-immo-calculator .section-title-line,
  .runenburg-immo-calculator .score-top {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  .runenburg-immo-calculator .panel-head-actions {
    width: 100% !important;
    align-items: stretch !important;
  }
  .runenburg-immo-calculator .panel-head-actions .quick-save-button,
  .runenburg-immo-calculator .panel-head-actions .ghost-button {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
  }
  .runenburg-immo-calculator .input-row,
  .runenburg-immo-calculator .score-metrics {
    grid-template-columns: 1fr !important;
  }
  .runenburg-immo-calculator .input-wrap,
  .runenburg-immo-calculator .display-wrap {
    min-height: 54px !important;
    border-radius: 17px !important;
  }
  .runenburg-immo-calculator .input-wrap input {
    font-size: 1rem !important;
    padding: 14px 12px !important;
  }
  .runenburg-immo-calculator .input-wrap span {
    font-size: .82rem !important;
    padding-right: 12px !important;
  }
  .runenburg-immo-calculator .main-number {
    font-size: clamp(3rem, 22vw, 4.7rem) !important;
  }
  .runenburg-immo-calculator .calc-row,
  .runenburg-immo-calculator .calc-subrow {
    gap: 10px !important;
  }
  .runenburg-immo-calculator .tax-box {
    padding: 12px !important;
    border-radius: 18px !important;
  }

  /* Mobile key facts: always accessible, but never covering the input area. */
  .runenburg-immo-calculator .immo-keyfacts-rail {
    top: 6px !important;
    grid-template-columns: none !important;
    grid-auto-flow: column !important;
    grid-auto-columns: max-content !important;
    gap: 7px !important;
    padding: 7px !important;
    border-radius: 16px !important;
    margin-bottom: 14px !important;
  }
  .runenburg-immo-calculator .keyfact-item {
    min-width: 104px !important;
    grid-template-columns: 28px auto !important;
    padding: 7px 9px !important;
    border-radius: 14px !important;
  }
  .runenburg-immo-calculator .keyfact-icon {
    width: 28px !important;
    height: 28px !important;
    border-radius: 10px !important;
    font-size: .95rem !important;
  }
  .runenburg-immo-calculator .keyfact-item strong {
    font-size: .84rem !important;
  }

  /* Share tools become a mobile-safe floating pill and drawer. */
  .runenburg-immo-calculator .immo-side-tools {
    right: 10px !important;
    bottom: 10px !important;
  }
  .runenburg-immo-calculator .immo-tools-tab {
    min-width: 0 !important;
    padding: 10px 12px !important;
    border-radius: 999px !important;
  }
  .runenburg-immo-calculator .immo-tools-tab strong {
    display: none !important;
  }
  .runenburg-immo-calculator .immo-tools-drawer {
    left: 8px !important;
    right: 8px !important;
    top: auto !important;
    bottom: 8px !important;
    width: auto !important;
    max-width: none !important;
    max-height: min(86vh, 720px) !important;
    transform: translateY(calc(100% + 18px)) !important;
    border-radius: 22px !important;
    padding: 18px !important;
    overflow-y: auto !important;
  }
  .runenburg-immo-calculator .immo-tools-drawer.open {
    transform: translateY(0) !important;
  }
  .runenburg-immo-calculator .share-output {
    grid-template-columns: 1fr !important;
  }
  .runenburg-immo-calculator .saved-card-actions {
    grid-template-columns: 1fr !important;
  }
}


/* v1.1.6 Kaufnebenkosten: slim input section + capital card */
.runenburg-immo-calculator .compact-costs {
  padding-top: 16px;
  padding-bottom: 16px;
}
.runenburg-immo-calculator .section-hint {
  margin: -4px 0 12px;
  color: var(--muted);
  font-size: .9rem;
  line-height: 1.4;
}
.runenburg-immo-calculator .compact-toggle {
  padding: 7px 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  font-weight: 850;
  color: #344054;
}
.runenburg-immo-calculator .slim-details {
  border: 1px solid #dfe7f2;
  border-radius: 20px;
  background: #f8fafc;
  overflow: visible;
}
.runenburg-immo-calculator .slim-details summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 15px;
  font-weight: 900;
  color: #101828;
}
.runenburg-immo-calculator .slim-details summary::-webkit-details-marker { display: none; }
.runenburg-immo-calculator .slim-details summary::before {
  content: "▸";
  color: var(--teal);
  transition: transform .18s ease;
}
.runenburg-immo-calculator .slim-details[open] summary::before { transform: rotate(90deg); }
.runenburg-immo-calculator .slim-details summary span { margin-right: auto; }
.runenburg-immo-calculator .slim-details summary strong {
  padding: 7px 10px;
  border-radius: 999px;
  background: #ecfdf5;
  color: var(--teal);
  white-space: nowrap;
}
.runenburg-immo-calculator .purchase-cost-grid {
  padding: 0 15px 14px;
}
.runenburg-immo-calculator .purchase-cost-grid .input-group { margin-bottom: 0; }
.runenburg-immo-calculator .purchase-cost-grid label { font-size: .86rem; }
.runenburg-immo-calculator .purchase-cost-grid .input-wrap { min-height: 48px; border-radius: 16px; }
.runenburg-immo-calculator .purchase-cost-grid .input-wrap input { padding: 12px; font-size: .95rem; }

.runenburg-immo-calculator .capital-card {
  margin-top: 16px;
  padding: 20px;
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(223,230,240,.95);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.runenburg-immo-calculator .capital-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
}
.runenburg-immo-calculator .capital-head h3 {
  margin: 0;
  font-size: 1.45rem;
  letter-spacing: -.035em;
}
.runenburg-immo-calculator .capital-badge {
  border-radius: 999px;
  padding: 8px 11px;
  background: #ecfdf5;
  color: var(--teal);
  font-weight: 950;
  white-space: nowrap;
  font-size: .84rem;
}
.runenburg-immo-calculator .capital-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.runenburg-immo-calculator .capital-grid div {
  padding: 12px;
  border-radius: 17px;
  background: #f8fafc;
  border: 1px solid #edf1f7;
}
.runenburg-immo-calculator .capital-grid span {
  display: block;
  margin-bottom: 4px;
  color: var(--muted);
  font-size: .78rem;
  font-weight: 850;
}
.runenburg-immo-calculator .capital-grid strong {
  display: block;
  color: #101828;
  font-size: 1.05rem;
  white-space: nowrap;
}
.runenburg-immo-calculator .capital-grid .finance-effect {
  background: #f0fdfa;
  border-color: #cdeee7;
}
.runenburg-immo-calculator .capital-note {
  margin: 12px 0 0;
  color: var(--muted);
  line-height: 1.45;
  font-size: .9rem;
}

@media (max-width: 720px) {
  .runenburg-immo-calculator .capital-grid { grid-template-columns: 1fr 1fr; }
  .runenburg-immo-calculator .capital-head { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 480px) {
  .runenburg-immo-calculator .capital-grid { grid-template-columns: 1fr; }
}


/* v1.1.7 Kaufnebenkosten: Euro-Werte direkt an den Eingaben */
.runenburg-immo-calculator .cost-euro-hint {
  margin: 7px 0 0;
  padding: 7px 10px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  background: #ecfdf5;
  color: var(--brand);
  font-size: .82rem;
  font-weight: 900;
  letter-spacing: -.01em;
}
.runenburg-immo-calculator .slim-details summary strong span {
  display: inline-block;
}
@media (max-width: 620px) {
  .runenburg-immo-calculator .slim-details summary {
    align-items: flex-start;
  }
  .runenburg-immo-calculator .slim-details summary strong {
    font-size: .82rem;
  }
}


/* v1.1.8: cleaner building-value alignment + financed loan state */
.runenburg-immo-calculator #buildingPercentRow,
.runenburg-immo-calculator #buildingManualRow {
  align-items: end;
}

.runenburg-immo-calculator #buildingPercentRow .input-group,
.runenburg-immo-calculator #buildingManualRow .input-group {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.runenburg-immo-calculator #buildingPercentRow .input-wrap,
.runenburg-immo-calculator #buildingPercentRow .display-wrap,
.runenburg-immo-calculator #buildingManualRow .input-wrap,
.runenburg-immo-calculator #buildingManualRow .display-wrap {
  min-height: 58px;
  height: 58px;
}

.runenburg-immo-calculator #loanAmount.is-financed-total {
  color: var(--brand);
}

@media (max-width: 560px) {
  .runenburg-immo-calculator #buildingPercentRow,
  .runenburg-immo-calculator #buildingManualRow {
    align-items: stretch;
  }
}


/* v1.1.9: tooltip alignment, neutral purchase costs, blue pre-tax card, depreciation summary */
.runenburg-immo-calculator label {
  line-height: 1.2;
  flex-wrap: wrap;
}
.runenburg-immo-calculator .tooltip {
  display: inline-grid;
  place-items: center;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  min-width: 24px;
  padding: 0;
  line-height: 1;
  background: #eef4f8;
  color: #0f766e;
  transform: translateY(0);
}
.runenburg-immo-calculator .tooltip-text {
  position: static;
  width: auto;
  max-width: 560px;
  margin: -2px 0 12px;
  background: #111827;
  color: #fff;
  box-shadow: 0 16px 34px rgba(15, 23, 42, .18);
}
.runenburg-immo-calculator .input-group:has(.tooltip:hover) .tooltip-text,
.runenburg-immo-calculator .input-group:has(.tooltip:focus) .tooltip-text {
  display: block;
}
.runenburg-immo-calculator .slim-details summary strong,
.runenburg-immo-calculator .cost-euro-hint,
.runenburg-immo-calculator .capital-badge,
.runenburg-immo-calculator .capital-badge.neutral {
  background: #f1f5f9;
  color: #475467;
  border: 1px solid #e2e8f0;
}
.runenburg-immo-calculator .capital-grid .finance-effect {
  background: #f8fafc;
  border-color: #e2e8f0;
}
.runenburg-immo-calculator .before-card {
  border-top-color: #315bff;
  background:
    radial-gradient(circle at 92% 0%, rgba(49, 91, 255, .10), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}
.runenburg-immo-calculator .before-card .big-icon {
  background: #eef3ff;
}
.runenburg-immo-calculator .before-card .main-number:not(.negative):not(.positive) {
  color: #1d4ed8;
}
.runenburg-immo-calculator .depreciation-card {
  margin-top: 16px;
  padding: 20px;
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(223,230,240,.95);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.runenburg-immo-calculator .depreciation-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.runenburg-immo-calculator .depreciation-box {
  padding: 14px;
  border-radius: 18px;
  background: #f8fafc;
  border: 1px solid #edf1f7;
}
.runenburg-immo-calculator .depreciation-box span,
.runenburg-immo-calculator .depreciation-note p {
  color: var(--muted);
}
.runenburg-immo-calculator .depreciation-box span {
  display: block;
  font-size: .82rem;
  font-weight: 900;
  margin-bottom: 5px;
}
.runenburg-immo-calculator .depreciation-box strong {
  display: block;
  font-size: 1.35rem;
  letter-spacing: -.03em;
  color: #101828;
}
.runenburg-immo-calculator .depreciation-box small {
  display: block;
  margin-top: 7px;
  color: var(--muted);
  line-height: 1.35;
}
.runenburg-immo-calculator .depreciation-note {
  margin-top: 10px;
  padding: 12px 14px;
  border-radius: 18px;
  background: #ffffff;
  border: 1px solid #edf1f7;
}
.runenburg-immo-calculator .depreciation-note p {
  margin: 0 0 7px;
  line-height: 1.42;
  font-size: .9rem;
}
.runenburg-immo-calculator .depreciation-note p:last-child { margin-bottom: 0; }
.runenburg-immo-calculator .depreciation-note strong { color: #101828; }
@media (max-width: 720px) {
  .runenburg-immo-calculator .depreciation-grid { grid-template-columns: 1fr; }
}


/* v1.2.0: cleaner tooltips, no capitalbedarf card, green after-card gradient, neutral costs */
.runenburg-immo-calculator .capital-card { display: none !important; }
.runenburg-immo-calculator .tooltip {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  vertical-align: middle;
  transform: none !important;
  margin-left: 8px;
  position: relative;
  top: 0;
}
.runenburg-immo-calculator label .tooltip { align-self: center; }
.runenburg-immo-calculator .tooltip-text {
  clear: both;
  margin-top: 7px !important;
}
.runenburg-immo-calculator .after-card {
  border-top-color: var(--teal);
  background:
    radial-gradient(circle at 92% 0%, rgba(20, 184, 166, .12), transparent 35%),
    linear-gradient(180deg, #ffffff 0%, #f3fffb 100%);
}
.runenburg-immo-calculator .after-card .big-icon { background: #e8faf4; }
.runenburg-immo-calculator .after-card .main-number:not(.negative):not(.positive) { color: var(--green); }
.runenburg-immo-calculator .capital-grid strong,
.runenburg-immo-calculator #purchaseCostRateTotal,
.runenburg-immo-calculator #purchaseCostTotalCompact,
.runenburg-immo-calculator .cost-euro-hint {
  color: #475467 !important;
}
.runenburg-immo-calculator .inline-hint {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: .88rem;
  line-height: 1.35;
}
.runenburg-immo-calculator .immediate-costs-group {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}
.runenburg-immo-calculator .tax-box .calc-row.hidden { display: none !important; }


/* v1.2.1: 100%-Finanzierung, Eigenkapital-Switch und Cashflow-neutraler Kaufpreis */
.runenburg-immo-calculator .neutral-action-button {
  width: 100%;
  margin: 0 0 16px;
  border: 1px solid #d7e3f0;
  background: linear-gradient(180deg, #ffffff 0%, #f7fafc 100%);
  color: #0f172a;
  border-radius: 18px;
  padding: 13px 16px;
  font-weight: 950;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
}
.runenburg-immo-calculator .neutral-action-button:hover {
  border-color: var(--brand);
  color: var(--brand);
  transform: translateY(-1px);
}
.runenburg-immo-calculator .small-display {
  font-size: .9rem;
  line-height: 1.25;
}
.runenburg-immo-calculator .finance-rates {
  margin-top: 0;
}
.runenburg-immo-calculator #calculatedLoanAmount {
  color: #263248 !important;
}
@media (max-width: 720px) {
  .runenburg-immo-calculator .neutral-action-button { text-align: center; }
}

/* v1.2.2: Finanzierung/Abschreibung Layout-Fix + nicht-invasive Tooltips */
.runenburg-immo-calculator .financing-section .section-title-line h3,
.runenburg-immo-calculator .depreciation-input-section .section-title-line h3 {
  margin-bottom: 0;
}
.runenburg-immo-calculator .finance-main-row,
.runenburg-immo-calculator .finance-equity-row,
.runenburg-immo-calculator .finance-rates,
.runenburg-immo-calculator .depreciation-main-row {
  align-items: end;
}
.runenburg-immo-calculator .input-group {
  position: relative;
}
.runenburg-immo-calculator .input-wrap,
.runenburg-immo-calculator .display-wrap,
.runenburg-immo-calculator .zero-gradient-button {
  min-height: 64px !important;
}
.runenburg-immo-calculator .input-wrap,
.runenburg-immo-calculator .display-wrap {
  align-items: center;
}
.runenburg-immo-calculator .display-wrap {
  display: flex !important;
}
.runenburg-immo-calculator .ghost-label {
  visibility: hidden;
}
.runenburg-immo-calculator .zero-gradient-button {
  width: 100%;
  border: 0;
  border-radius: 18px;
  padding: 14px 16px;
  color: #fff;
  font-weight: 950;
  cursor: pointer;
  background: linear-gradient(135deg, #0f766e 0%, #14b8a6 45%, #2dd4bf 100%);
  box-shadow: 0 16px 34px rgba(20, 184, 166, .22);
}
.runenburg-immo-calculator .zero-gradient-button:hover {
  transform: translateY(-1px);
  box-shadow: 0 20px 40px rgba(20, 184, 166, .27);
}
.runenburg-immo-calculator .neutral-action-button { display: none !important; }
.runenburg-immo-calculator .compact-toggle {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.runenburg-immo-calculator .toggle-line {
  font-weight: 850;
}
.runenburg-immo-calculator .slim-summary-row {
  margin-top: 14px;
  min-height: 56px;
  border: 1px solid #dfe7f2;
  border-radius: 18px;
  background: #f8fafc;
  padding: 13px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.runenburg-immo-calculator .slim-summary-row span {
  color: var(--muted);
  font-weight: 900;
}
.runenburg-immo-calculator .slim-summary-row strong {
  color: #263248;
  font-size: 1.05rem;
  letter-spacing: -.02em;
}
.runenburg-immo-calculator .tooltip {
  flex: 0 0 24px !important;
  width: 24px !important;
  height: 24px !important;
  margin-left: 6px !important;
  background: #eef6f5 !important;
  color: var(--teal) !important;
}
.runenburg-immo-calculator .tooltip-text {
  position: absolute !important;
  left: 0 !important;
  top: 30px !important;
  z-index: 80 !important;
  display: none;
  margin: 0 !important;
  clear: none !important;
  pointer-events: none;
}
.runenburg-immo-calculator .input-group:has(.tooltip:hover) .tooltip-text,
.runenburg-immo-calculator .input-group:has(.tooltip:focus) .tooltip-text,
.runenburg-immo-calculator .input-group:focus-within .tooltip:focus + .tooltip-text {
  display: block !important;
}
.runenburg-immo-calculator #calculatedLoanAmount {
  color: #263248 !important;
}
@media (max-width: 720px) {
  .runenburg-immo-calculator .finance-main-row,
  .runenburg-immo-calculator .finance-equity-row,
  .runenburg-immo-calculator .finance-rates,
  .runenburg-immo-calculator .depreciation-main-row {
    grid-template-columns: 1fr;
    align-items: stretch;
  }
  .runenburg-immo-calculator .ghost-label { display: none; }
}


/* v1.2.3: AfA tooltip, icon-only tool drawer actions, exports and print */
.runenburg-immo-calculator .tooltip-host {
  position: relative;
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
}
.runenburg-immo-calculator .tooltip-host .tooltip {
  margin-left: 4px;
}
.runenburg-immo-calculator .tooltip-host .tooltip-text {
  top: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%);
  white-space: normal;
  min-width: min(360px, 84vw);
}
.runenburg-immo-calculator .tooltip-host:has(.tooltip:hover) .tooltip-text,
.runenburg-immo-calculator .tooltip-host:has(.tooltip:focus) .tooltip-text {
  display: block;
}
.runenburg-immo-calculator .note-with-tooltip {
  position: relative;
}
.runenburg-immo-calculator .immo-tools-drawer .icon-actions {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.runenburg-immo-calculator .tool-action.icon-action {
  min-height: 56px;
  padding: 0;
  border-radius: 18px;
}
.runenburg-immo-calculator .tool-action.icon-action span {
  font-size: 1.35rem;
  line-height: 1;
}
.runenburg-immo-calculator .tool-action.icon-action.primary span {
  filter: brightness(1.2);
}
@media (max-width: 480px) {
  .runenburg-immo-calculator .immo-tools-drawer .icon-actions {
    grid-template-columns: repeat(5, 1fr);
    gap: 8px;
  }
  .runenburg-immo-calculator .tool-action.icon-action {
    min-height: 50px;
    border-radius: 16px;
  }
}
@media print {
  .immo-side-tools, .ghost-button, .zero-gradient-button, .mode-switch, .toggle-line {
    display: none !important;
  }
  body {
    background: #fff !important;
  }
  .app-shell {
    width: 100% !important;
    padding: 0 !important;
  }
  .layout {
    display: block !important;
  }
  .input-panel, .result-panel, .hero-card, .result-card, .score-card, .depreciation-card, .explain-box {
    box-shadow: none !important;
    break-inside: avoid;
  }
}

/* v1.2.6: eindeutiger, adblocker-robuster Rechner-Link-Button */
.runenburg-immo-calculator .tool-action.calc-link-action {
  background: linear-gradient(135deg, var(--teal), var(--green));
  color: #ffffff;
  border-color: transparent;
  box-shadow: 0 14px 30px rgba(12, 148, 120, .18);
}
.runenburg-immo-calculator .tool-action.calc-link-action:hover {
  transform: translateY(-1px);
  color: #ffffff;
  filter: brightness(.98);
}


/* v1.2.6: Mietentwicklungs-Simulation */
.runenburg-immo-calculator .rent-growth-card {
  margin-top: 16px;
  padding: 22px;
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(223,230,240,.95);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  overflow: hidden;
}
.runenburg-immo-calculator .rent-growth-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 16px;
}
.runenburg-immo-calculator .rent-growth-head h3 {
  margin: 0 0 6px;
  font-size: 1.45rem;
  letter-spacing: -.035em;
}
.runenburg-immo-calculator .rent-growth-head p:not(.eyebrow) {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}
.runenburg-immo-calculator .rent-growth-badge {
  padding: 9px 12px;
  border-radius: 999px;
  background: #ecfdf5;
  color: var(--teal);
  font-weight: 950;
  white-space: nowrap;
  border: 1px solid #cdeee7;
}
.runenburg-immo-calculator .rent-growth-controls {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 12px;
}
.runenburg-immo-calculator .rent-growth-controls .input-group { margin-bottom: 0; }
.runenburg-immo-calculator .rent-growth-controls .input-wrap { min-height: 54px !important; border-radius: 17px; }
.runenburg-immo-calculator .rent-growth-controls .input-wrap input { padding: 13px 12px; }
.runenburg-immo-calculator .rent-growth-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 14px 0;
}
.runenburg-immo-calculator .rent-growth-summary div,
.runenburg-immo-calculator .rent-growth-milestones div {
  padding: 13px;
  border-radius: 18px;
  background: #f8fafc;
  border: 1px solid #edf1f7;
}
.runenburg-immo-calculator .rent-growth-summary span,
.runenburg-immo-calculator .rent-growth-milestones span {
  display: block;
  margin-bottom: 4px;
  color: var(--muted);
  font-size: .78rem;
  font-weight: 900;
}
.runenburg-immo-calculator .rent-growth-summary strong,
.runenburg-immo-calculator .rent-growth-milestones strong {
  display: block;
  color: #101828;
  font-size: 1.08rem;
  letter-spacing: -.02em;
}
.runenburg-immo-calculator .rent-growth-summary small {
  display: block;
  margin-top: 4px;
  color: #98a2b3;
  font-weight: 800;
  line-height: 1.25;
}
.runenburg-immo-calculator .rent-growth-chart-wrap {
  margin-top: 12px;
  border: 1px solid #edf1f7;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  border-radius: 22px;
  overflow: hidden;
}
.runenburg-immo-calculator #rentGrowthChart {
  width: 100%;
  height: auto;
  display: block;
}
.runenburg-immo-calculator #rentGrowthChart .rg-bg { fill: #f8fbff; }
.runenburg-immo-calculator #rentGrowthChart .rg-grid { stroke: #dfe6f0; stroke-width: 1; }
.runenburg-immo-calculator #rentGrowthChart .rg-axis { fill: #667085; font-size: 12px; font-weight: 800; }
.runenburg-immo-calculator #rentGrowthChart .rg-rent { fill: none; stroke: var(--teal); stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; }
.runenburg-immo-calculator #rentGrowthChart .rg-cost { stroke: #64748b; stroke-width: 4; stroke-dasharray: 10 8; stroke-linecap: round; }
.runenburg-immo-calculator #rentGrowthChart .rg-break { stroke: var(--warning); stroke-width: 2; stroke-dasharray: 6 6; }
.runenburg-immo-calculator #rentGrowthChart .rg-break-dot { fill: var(--warning); stroke: #fff; stroke-width: 3; }
.runenburg-immo-calculator #rentGrowthChart .rg-break-label { fill: #9a5b00; font-size: 13px; font-weight: 950; }
.runenburg-immo-calculator #rentGrowthChart .rg-legend { font-size: 13px; font-weight: 950; }
.runenburg-immo-calculator #rentGrowthChart .rg-rent-label { fill: var(--teal); }
.runenburg-immo-calculator #rentGrowthChart .rg-cost-label { fill: #64748b; }
.runenburg-immo-calculator .rent-growth-milestones {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 10px;
}
@media (max-width: 720px) {
  .runenburg-immo-calculator .rent-growth-card { border-radius: 20px; padding: 16px; }
  .runenburg-immo-calculator .rent-growth-head { flex-direction: column; align-items: flex-start; }
  .runenburg-immo-calculator .rent-growth-controls,
  .runenburg-immo-calculator .rent-growth-summary { grid-template-columns: 1fr; }
  .runenburg-immo-calculator .rent-growth-milestones { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 460px) {
  .runenburg-immo-calculator .rent-growth-milestones { grid-template-columns: 1fr; }
}

/* v1.2.7: Mietentwicklung über volle Rechnerbreite und robustere Aktionszustände */
.runenburg-immo-calculator #resetButton:hover,
.runenburg-immo-calculator .ghost-button#resetButton:hover {
  background: linear-gradient(135deg, var(--teal), var(--green));
  border-color: transparent;
  color: #ffffff !important;
  box-shadow: 0 14px 32px rgba(15, 118, 110, .18);
}

.runenburg-immo-calculator .layout > .rent-growth-card {
  grid-column: 1 / -1;
  width: 100%;
}

.runenburg-immo-calculator #rentGrowthChart .rg-cost {
  stroke: var(--rent-chart-cost, #dc2626);
  stroke-width: 4;
  stroke-dasharray: 10 8;
  stroke-linecap: round;
}
.runenburg-immo-calculator #rentGrowthChart .rg-rent {
  stroke: var(--rent-chart-rent, var(--teal));
}
.runenburg-immo-calculator #rentGrowthChart .rg-rent-dot {
  fill: #ffffff;
  stroke: var(--rent-chart-rent, var(--teal));
  stroke-width: 3;
}
.runenburg-immo-calculator #rentGrowthChart .rg-rent-label {
  fill: var(--rent-chart-rent, var(--teal));
}
.runenburg-immo-calculator #rentGrowthChart .rg-cost-label {
  fill: var(--rent-chart-cost, #dc2626);
}

.runenburg-immo-calculator .rent-values-details {
  margin-top: 12px;
  border: 1px solid #edf1f7;
  border-radius: 18px;
  background: #ffffff;
  overflow: hidden;
}
.runenburg-immo-calculator .rent-values-details summary {
  cursor: pointer;
  list-style: none;
  padding: 13px 15px;
  color: #101828;
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.runenburg-immo-calculator .rent-values-details summary::-webkit-details-marker { display: none; }
.runenburg-immo-calculator .rent-values-details summary::after {
  content: '›';
  transform: rotate(90deg);
  color: var(--muted);
  font-size: 1.2rem;
  transition: transform .18s ease;
}
.runenburg-immo-calculator .rent-values-details[open] summary::after { transform: rotate(-90deg); }
.runenburg-immo-calculator .rent-values-list {
  padding: 0 15px 15px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.runenburg-immo-calculator .rent-values-list div {
  border: 1px solid #edf1f7;
  background: #f8fafc;
  border-radius: 14px;
  padding: 11px;
}
.runenburg-immo-calculator .rent-values-list span,
.runenburg-immo-calculator .rent-values-list em {
  display: block;
  color: var(--muted);
  font-size: .74rem;
  font-weight: 850;
  font-style: normal;
}
.runenburg-immo-calculator .rent-values-list strong {
  display: block;
  margin: 3px 0;
  color: #101828;
  font-size: 1rem;
}

@media (max-width: 900px) {
  .runenburg-immo-calculator .rent-values-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
  .runenburg-immo-calculator .rent-values-list { grid-template-columns: 1fr; }
}

/* v1.2.8: Layout-Fix: kompakter Header-Score, schlankere rechte Spalte, Mietentwicklung außerhalb Sticky-Bereich */
.runenburg-immo-calculator .hero-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  position: relative;
  overflow: visible;
}
.runenburg-immo-calculator .hero-main {
  min-width: 0;
  flex: 1 1 auto;
}
.runenburg-immo-calculator .hero-score-compact {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 0 0 auto;
  padding: 10px 13px;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  background: rgba(255,255,255,.86);
  box-shadow: 0 16px 38px rgba(16,24,40,.08);
  cursor: help;
}
.runenburg-immo-calculator .hero-score-compact .score-ring {
  width: 58px;
  height: 58px;
  box-shadow: none;
}
.runenburg-immo-calculator .hero-score-compact .score-ring::after { inset: 8px; }
.runenburg-immo-calculator .hero-score-compact .score-ring span {
  font-size: 1.05rem;
}
.runenburg-immo-calculator .hero-score-text {
  min-width: 118px;
}
.runenburg-immo-calculator .hero-score-text strong {
  display: block;
  margin-top: -1px;
  font-size: 1.15rem;
  line-height: 1.1;
  color: var(--text);
}
.runenburg-immo-calculator .hero-score-text > span {
  display: block;
  max-width: 190px;
  color: var(--muted);
  font-size: .78rem;
  line-height: 1.25;
  white-space: normal;
}
.runenburg-immo-calculator .hero-score-tooltip {
  display: none;
  position: absolute;
  right: 0;
  top: calc(100% + 12px);
  z-index: 50;
  width: min(420px, calc(100vw - 32px));
  padding: 16px;
  border-radius: 20px;
  background: #111827;
  color: #fff;
  box-shadow: 0 24px 60px rgba(15,23,42,.28);
}
.runenburg-immo-calculator .hero-score-compact:hover .hero-score-tooltip,
.runenburg-immo-calculator .hero-score-compact:focus-within .hero-score-tooltip {
  display: block;
}
.runenburg-immo-calculator .hero-score-tooltip strong { color: #fff; }
.runenburg-immo-calculator .hero-score-tooltip p {
  margin: 6px 0 12px;
  color: rgba(255,255,255,.74);
  line-height: 1.45;
}
.runenburg-immo-calculator .score-bar.mini {
  height: 9px;
  margin: 10px 0 12px;
  background: rgba(255,255,255,.18);
}
.runenburg-immo-calculator .score-tooltip-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.runenburg-immo-calculator .score-tooltip-metrics div {
  padding: 10px;
  border-radius: 14px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.10);
}
.runenburg-immo-calculator .score-tooltip-metrics span,
.runenburg-immo-calculator .score-tooltip-metrics small {
  display: block;
  color: rgba(255,255,255,.62);
  font-size: .72rem;
  font-weight: 800;
}
.runenburg-immo-calculator .score-tooltip-metrics b {
  display: block;
  margin: 3px 0;
  color: #fff;
}

.runenburg-immo-calculator .layout {
  align-items: start;
}
.runenburg-immo-calculator .result-panel {
  align-self: start;
  position: sticky;
  top: 18px;
  z-index: 2;
}
.runenburg-immo-calculator .result-head h2 {
  display: flex;
  align-items: center;
  gap: 8px;
}
.runenburg-immo-calculator .result-info .tooltip-text {
  min-width: min(360px, 84vw);
}
.runenburg-immo-calculator .result-columns {
  align-items: stretch;
}
.runenburg-immo-calculator .before-card {
  background:
    radial-gradient(circle at 85% 0%, rgba(49, 91, 255, .12), transparent 38%),
    linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}
.runenburg-immo-calculator .after-card {
  background:
    radial-gradient(circle at 85% 0%, rgba(20, 184, 166, .14), transparent 38%),
    linear-gradient(180deg, #ffffff 0%, #f7fffc 100%);
}

.runenburg-immo-calculator .slim-depreciation-card {
  padding: 18px;
  margin-top: 14px;
}
.runenburg-immo-calculator .slim-depreciation-card .slim-head {
  margin-bottom: 12px;
}
.runenburg-immo-calculator .slim-depreciation-card h3 {
  margin-bottom: 0;
  font-size: 1.25rem;
}
.runenburg-immo-calculator .slim-depreciation-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.runenburg-immo-calculator .slim-stat {
  position: relative;
  min-height: 88px;
  padding: 13px;
  border-radius: 18px;
  background: #f8fafc;
  border: 1px solid #edf1f7;
}
.runenburg-immo-calculator .slim-stat > span {
  display: block;
  color: var(--muted);
  font-size: .78rem;
  font-weight: 900;
  margin-bottom: 5px;
}
.runenburg-immo-calculator .slim-stat > strong {
  display: block;
  color: var(--green);
  font-size: 1.25rem;
}
.runenburg-immo-calculator .slim-stat > .tooltip {
  position: absolute;
  right: 10px;
  top: 10px;
}
.runenburg-immo-calculator .slim-stat > .tooltip-text {
  left: auto;
  right: 0;
  top: 42px;
  width: min(300px, 78vw);
}
.runenburg-immo-calculator .slim-stat:has(.tooltip:hover) > .tooltip-text,
.runenburg-immo-calculator .slim-stat:has(.tooltip:focus) > .tooltip-text {
  display: block;
}
.runenburg-immo-calculator .slim-afa-lines {
  margin-top: 10px;
  border: 1px solid #edf1f7;
  border-radius: 18px;
  overflow: hidden;
  background: #fff;
}
.runenburg-immo-calculator .slim-afa-lines > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 13px;
  border-top: 1px solid #edf1f7;
}
.runenburg-immo-calculator .slim-afa-lines > div:first-child { border-top: 0; }
.runenburg-immo-calculator .slim-afa-lines span { color: var(--muted); font-weight: 850; }
.runenburg-immo-calculator .slim-afa-lines strong { white-space: nowrap; color: var(--text); }

.runenburg-immo-calculator > .rent-growth-card {
  width: 100%;
  margin-top: 18px;
}
.runenburg-immo-calculator .layout > .rent-growth-card { grid-column: auto; }

/* Erklärbox wurde in Tooltips verschoben */
.runenburg-immo-calculator .explain-box { display: none !important; }

@media (max-width: 1180px) {
  .runenburg-immo-calculator .result-columns { grid-template-columns: 1fr; }
}
@media (max-width: 980px) {
  .runenburg-immo-calculator .result-panel { position: static; }
}
@media (max-width: 760px) {
  .runenburg-immo-calculator .hero-card {
    flex-direction: column;
    align-items: stretch;
  }
  .runenburg-immo-calculator .hero-score-compact {
    width: 100%;
    justify-content: flex-start;
    border-radius: 22px;
  }
  .runenburg-immo-calculator .hero-score-tooltip {
    left: 0;
    right: auto;
  }
  .runenburg-immo-calculator .score-tooltip-metrics,
  .runenburg-immo-calculator .slim-depreciation-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 520px) {
  .runenburg-immo-calculator .hero-score-text > span {
    max-width: none;
  }
}


/* v1.2.9: Backend-/Frontend-Finishing, persistente Tooltips, neutrale Werte und Dark-Mietentwicklung */
.runenburg-immo-calculator .tooltip,
.runenburg-immo-calculator .score-info {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  line-height: 1;
}
.runenburg-immo-calculator .input-group:has(.tooltip:hover) .tooltip-text,
.runenburg-immo-calculator .input-group:has(.tooltip:focus) .tooltip-text,
.runenburg-immo-calculator .input-group:has(.tooltip-text:hover) .tooltip-text,
.runenburg-immo-calculator .tooltip-host:has(.tooltip:hover) .tooltip-text,
.runenburg-immo-calculator .tooltip-host:has(.tooltip:focus) .tooltip-text,
.runenburg-immo-calculator .tooltip-host:has(.tooltip-text:hover) .tooltip-text,
.runenburg-immo-calculator .slim-stat:has(.tooltip:hover) > .tooltip-text,
.runenburg-immo-calculator .slim-stat:has(.tooltip:focus) > .tooltip-text,
.runenburg-immo-calculator .slim-stat:has(.tooltip-text:hover) > .tooltip-text {
  display: block;
}
.runenburg-immo-calculator .tooltip-text::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: -12px;
  height: 12px;
}
.runenburg-immo-calculator .cost-euro-hint,
.runenburg-immo-calculator .slim-summary-row strong,
.runenburg-immo-calculator #calculatedBuildingValue {
  color: #667085 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.runenburg-immo-calculator .cost-euro-hint {
  display: flex;
  justify-content: flex-end;
  margin: 6px 2px 0;
  padding: 0 !important;
  font-size: .82rem;
  font-weight: 850;
}
.runenburg-immo-calculator .slim-summary-row,
.runenburg-immo-calculator .building-summary-row {
  border: 0 !important;
  background: #f8fafc !important;
  box-shadow: none !important;
}
.runenburg-immo-calculator .slim-summary-row span,
.runenburg-immo-calculator .building-summary-row span {
  color: #667085 !important;
}
.runenburg-immo-calculator .hero-score-compact .score-ring {
  border: 1px solid rgba(15,23,42,.06);
}
.runenburg-immo-calculator .hero-score-compact .score-ring span,
.runenburg-immo-calculator .hero-score-text strong {
  color: var(--score-current, var(--brand));
}
.runenburg-immo-calculator .hero-score-tooltip .score-bar.mini span {
  background: var(--score-current, var(--brand));
}
.runenburg-immo-calculator .score-metric-row { position: relative; }
.runenburg-immo-calculator .score-metric-row > span {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  gap: 5px;
}
.runenburg-immo-calculator .score-info {
  width: 17px;
  height: 17px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  color: rgba(255,255,255,.9);
  font-size: .68rem;
  font-weight: 950;
  cursor: help;
}
.runenburg-immo-calculator .score-metric-row em {
  display: none;
  position: absolute;
  left: 0;
  top: calc(100% + 8px);
  z-index: 80;
  width: min(320px, 72vw);
  padding: 10px 11px;
  border-radius: 12px;
  background: #ffffff;
  color: #101828;
  box-shadow: 0 18px 44px rgba(0,0,0,.28);
  font-style: normal;
  line-height: 1.35;
  font-size: .76rem;
  font-weight: 750;
}
.runenburg-immo-calculator .score-metric-row em::before {
  content: '';
  position: absolute;
  top: -10px;
  left: 0;
  right: 0;
  height: 10px;
}
.runenburg-immo-calculator .score-metric-row:has(.score-info:hover) em,
.runenburg-immo-calculator .score-metric-row:has(.score-info:focus) em,
.runenburg-immo-calculator .score-metric-row:has(em:hover) em {
  display: block;
}

.runenburg-immo-calculator .rent-growth-card {
  background:
    radial-gradient(circle at 88% 0%, rgba(20,184,166,.22), transparent 34%),
    linear-gradient(145deg, var(--rent-growth-dark, #0f172a), #111827) !important;
  color: #ffffff;
  border-color: rgba(255,255,255,.12) !important;
  box-shadow: 0 28px 80px rgba(15,23,42,.26) !important;
}
.runenburg-immo-calculator .rent-growth-card .eyebrow,
.runenburg-immo-calculator .rent-growth-badge {
  color: #99f6e4;
}
.runenburg-immo-calculator .rent-growth-head p:not(.eyebrow),
.runenburg-immo-calculator .rent-growth-summary span,
.runenburg-immo-calculator .rent-growth-summary small,
.runenburg-immo-calculator .rent-growth-milestones span,
.runenburg-immo-calculator .rent-values-list span,
.runenburg-immo-calculator .rent-values-list em {
  color: rgba(255,255,255,.68) !important;
}
.runenburg-immo-calculator .rent-growth-badge,
.runenburg-immo-calculator .rent-growth-summary div,
.runenburg-immo-calculator .rent-growth-milestones div,
.runenburg-immo-calculator .rent-values-details,
.runenburg-immo-calculator .rent-values-list div {
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(255,255,255,.13) !important;
}
.runenburg-immo-calculator .rent-growth-summary strong,
.runenburg-immo-calculator .rent-growth-milestones strong,
.runenburg-immo-calculator .rent-values-list strong,
.runenburg-immo-calculator .rent-values-details summary,
.runenburg-immo-calculator .rent-growth-head h3 {
  color: #ffffff !important;
}
.runenburg-immo-calculator .rent-growth-card .input-wrap {
  background: rgba(255,255,255,.96);
  border-color: rgba(255,255,255,.24);
}
.runenburg-immo-calculator .rent-growth-chart-wrap {
  background: rgba(255,255,255,.96) !important;
  border-color: rgba(255,255,255,.18) !important;
}
.runenburg-immo-calculator .rent-values-details summary::after { color: rgba(255,255,255,.76); }

@media (max-width: 760px) {
  .runenburg-immo-calculator .hero-score-tooltip { width: min(100%, calc(100vw - 32px)); }
  .runenburg-immo-calculator .score-metric-row em { left: -4px; width: min(280px, 76vw); }
}

/* v1.3.0: Aufräumen Ergebnis/Tooltips/Score */
.runenburg-immo-calculator .hero-score-compact {
  overflow: visible;
  padding: 12px 16px 12px 12px;
}
.runenburg-immo-calculator .hero-score-compact .score-ring {
  width: 64px;
  height: 64px;
  flex: 0 0 64px;
  border-radius: 50%;
  position: relative;
  overflow: visible;
  box-shadow: none !important;
}
.runenburg-immo-calculator .hero-score-compact .score-ring::after {
  inset: 9px;
  box-shadow: 0 0 0 1px rgba(15, 23, 42, .04);
}
.runenburg-immo-calculator .hero-score-tooltip {
  cursor: default;
  padding-top: 18px;
}
.runenburg-immo-calculator .hero-score-compact.is-open .hero-score-tooltip,
.runenburg-immo-calculator .hero-score-compact:hover .hero-score-tooltip,
.runenburg-immo-calculator .hero-score-compact:focus-within .hero-score-tooltip {
  display: block;
}
.runenburg-immo-calculator .tooltip-close {
  position: absolute;
  top: 10px;
  right: 12px;
  width: 28px;
  height: 28px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  color: #fff;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  display: grid;
  place-items: center;
}
.runenburg-immo-calculator .tooltip-close:hover { background: rgba(255,255,255,.18); }
.runenburg-immo-calculator .score-tooltip-metrics div {
  overflow: visible;
}
.runenburg-immo-calculator .score-metric-row > span {
  width: 100%;
  justify-content: space-between;
  gap: 8px;
}
.runenburg-immo-calculator .score-info {
  width: 22px;
  height: 22px;
  min-width: 22px;
  margin-left: 4px;
  transform: none !important;
}
.runenburg-immo-calculator .score-mini-popover {
  position: fixed;
  z-index: 99999;
  max-width: min(340px, calc(100vw - 28px));
  padding: 14px 40px 14px 14px;
  border-radius: 16px;
  background: #ffffff;
  color: #101828;
  box-shadow: 0 22px 60px rgba(0,0,0,.28);
  font-size: .88rem;
  line-height: 1.45;
  font-weight: 750;
}
.runenburg-immo-calculator .score-mini-popover .tooltip-close {
  color: #334155;
  border-color: #e2e8f0;
  background: #f8fafc;
}
.runenburg-immo-calculator .score-metric-row em { display: none !important; }
.runenburg-immo-calculator .after-card .calc-stack > .tax-box:first-child {
  margin-top: 0;
}
.runenburg-immo-calculator .inline-tax-tooltip {
  display: inline-flex;
  vertical-align: middle;
  margin-left: 4px;
}
.runenburg-immo-calculator .inline-tax-tooltip .tooltip-text {
  min-width: min(360px, 82vw);
}
.runenburg-immo-calculator .tooltip-host.is-open .tooltip-text,
.runenburg-immo-calculator .input-group.is-open > .tooltip-text,
.runenburg-immo-calculator .slim-stat.is-open > .tooltip-text {
  display: block !important;
}
.runenburg-immo-calculator .tooltip-text {
  pointer-events: auto;
}
.runenburg-immo-calculator .tooltip-text .tooltip-close {
  top: 8px;
  right: 8px;
  color: #fff;
}
.runenburg-immo-calculator .calc-row.tax-effect > span:first-child {
  display: inline-flex;
  align-items: center;
  min-width: 0;
}
@media (max-width: 760px) {
  .runenburg-immo-calculator .hero-score-compact .score-ring { width: 58px; height: 58px; flex-basis: 58px; }
}
.runenburg-immo-calculator .hero-score-compact:hover .hero-score-tooltip,
.runenburg-immo-calculator .hero-score-compact:focus-within .hero-score-tooltip {
  display: none;
}
.runenburg-immo-calculator .hero-score-compact.is-open .hero-score-tooltip {
  display: block !important;
}

/* v1.3.1: Tooltip-/Score-Aufräumung und analoge Nach-Steuern-Liste */
.runenburg-immo-calculator,
.runenburg-immo-calculator .app-shell,
.runenburg-immo-calculator .hero-card,
.runenburg-immo-calculator .input-panel,
.runenburg-immo-calculator .result-panel,
.runenburg-immo-calculator .depreciation-card,
.runenburg-immo-calculator .slim-stat,
.runenburg-immo-calculator .form-section,
.runenburg-immo-calculator .input-group,
.runenburg-immo-calculator .tooltip-host {
  overflow: visible !important;
}

.runenburg-immo-calculator .tooltip-text {
  z-index: 99999 !important;
  max-width: min(380px, calc(100vw - 28px));
  white-space: normal;
}

.runenburg-immo-calculator .tooltip,
.runenburg-immo-calculator .tooltip-close {
  display: inline-grid !important;
  place-items: center !important;
  text-align: center !important;
  line-height: 1 !important;
  padding: 0 !important;
}

.runenburg-immo-calculator .tooltip-close {
  font-family: inherit;
  font-weight: 800;
}

.runenburg-immo-calculator .hero-score-compact {
  cursor: help;
}

.runenburg-immo-calculator .hero-score-compact:hover .hero-score-tooltip,
.runenburg-immo-calculator .hero-score-compact:focus-within .hero-score-tooltip,
.runenburg-immo-calculator .hero-score-compact.is-open .hero-score-tooltip {
  display: block !important;
  opacity: 1;
  visibility: visible;
}

.runenburg-immo-calculator .hero-score-tooltip {
  width: min(560px, calc(100vw - 32px));
  z-index: 100000 !important;
  padding: 18px;
}

.runenburg-immo-calculator .hero-score-tooltip > p {
  display: none !important;
}

.runenburg-immo-calculator .score-tooltip-metrics.score-metrics-expanded {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.runenburg-immo-calculator .score-tooltip-metrics.score-metrics-expanded .score-metric-row {
  min-height: 132px;
  padding: 14px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 5px;
}

.runenburg-immo-calculator .score-tooltip-metrics.score-metrics-expanded .score-metric-row > span {
  width: auto;
  display: block !important;
  color: rgba(255,255,255,.72);
  font-size: .78rem;
  letter-spacing: .01em;
  line-height: 1.2;
}

.runenburg-immo-calculator .score-tooltip-metrics.score-metrics-expanded .score-metric-row b {
  color: #fff;
  font-size: 1.05rem;
}

.runenburg-immo-calculator .score-tooltip-metrics.score-metrics-expanded .score-metric-row small {
  color: rgba(255,255,255,.66);
}

.runenburg-immo-calculator .score-tooltip-metrics.score-metrics-expanded .score-metric-row em {
  display: block !important;
  position: static !important;
  width: auto !important;
  padding: 0 !important;
  margin-top: 5px;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: rgba(255,255,255,.76) !important;
  font-size: .78rem;
  font-style: normal;
  font-weight: 650;
  line-height: 1.35;
}

.runenburg-immo-calculator .score-tooltip-metrics.score-metrics-expanded .score-metric-row em::before {
  display: none !important;
}

.runenburg-immo-calculator .after-card .tax-box {
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.runenburg-immo-calculator .after-tax-stack .calc-row {
  border-bottom: 1px solid var(--line);
}

.runenburg-immo-calculator .after-tax-stack .calc-row.total,
.runenburg-immo-calculator .after-tax-stack .calc-row.final {
  border-top: 2px solid var(--line);
  border-bottom: 0;
  margin-top: 6px;
  padding-top: 13px;
}

.runenburg-immo-calculator .after-tax-stack .calc-row.tax-effect {
  margin-top: 8px;
}

.runenburg-immo-calculator .after-card .tax-box-title {
  display: none !important;
}

.runenburg-immo-calculator #afaBaseTooltipText {
  z-index: 100001 !important;
  min-width: min(420px, calc(100vw - 28px));
}

@media (max-width: 760px) {
  .runenburg-immo-calculator .score-tooltip-metrics.score-metrics-expanded {
    grid-template-columns: 1fr;
  }
  .runenburg-immo-calculator .hero-score-tooltip {
    left: 0;
    right: auto;
    width: min(100%, calc(100vw - 26px));
  }
}


/* v1.3.2: Tooltip-Lesbarkeit, Ergebnis-Angleichung, Mietentwicklung mit Kaufjahr, Score-Ring-Fix */
.runenburg-immo-calculator .result-card,
.runenburg-immo-calculator .before-card,
.runenburg-immo-calculator .after-card,
.runenburg-immo-calculator .calc-stack,
.runenburg-immo-calculator .calc-row,
.runenburg-immo-calculator .slim-afa-lines,
.runenburg-immo-calculator .slim-depreciation-card,
.runenburg-immo-calculator .depreciation-card,
.runenburg-immo-calculator .right-panel,
.runenburg-immo-calculator .result-columns,
.runenburg-immo-calculator .layout {
  overflow: visible !important;
}

.runenburg-immo-calculator .tooltip-text {
  z-index: 2147483000 !important;
  pointer-events: auto;
  word-break: normal;
  overflow-wrap: anywhere;
  max-width: min(440px, calc(100vw - 32px));
}

.runenburg-immo-calculator #afaBaseTooltipText,
.runenburg-immo-calculator #taxEffectTooltipText {
  position: absolute !important;
  left: auto !important;
  right: 0 !important;
  top: calc(100% + 10px) !important;
  width: min(460px, calc(100vw - 32px)) !important;
  min-width: min(360px, calc(100vw - 32px)) !important;
  z-index: 2147483000 !important;
}

.runenburg-immo-calculator .tooltip-host::after,
.runenburg-immo-calculator .input-group::after,
.runenburg-immo-calculator .slim-stat::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  height: 12px;
}

.runenburg-immo-calculator .tooltip-host:hover .tooltip-text,
.runenburg-immo-calculator .tooltip-host:focus-within .tooltip-text,
.runenburg-immo-calculator .input-group:hover > .tooltip-text,
.runenburg-immo-calculator .input-group:focus-within > .tooltip-text,
.runenburg-immo-calculator .slim-stat:hover > .tooltip-text,
.runenburg-immo-calculator .slim-stat:focus-within > .tooltip-text {
  display: block !important;
}

.runenburg-immo-calculator .after-card {
  background:
    radial-gradient(circle at 86% 0%, rgba(20,184,166,.26), transparent 44%),
    linear-gradient(180deg, #ffffff 0%, #eefcf8 100%) !important;
  border-top-color: var(--teal) !important;
}

.runenburg-immo-calculator .after-tax-stack .calc-row {
  border-bottom: 0 !important;
  border-top: 1px solid var(--line) !important;
}

.runenburg-immo-calculator .after-tax-stack .calc-row.total,
.runenburg-immo-calculator .after-tax-stack .calc-row.final {
  margin: 0 !important;
  border-top: 2px solid var(--line) !important;
  border-bottom: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  padding: 13px 0 !important;
}

.runenburg-immo-calculator .after-tax-stack .calc-row.tax-effect {
  margin-top: 0 !important;
}

.runenburg-immo-calculator .result-head h2 .result-info,
.runenburg-immo-calculator .result-info {
  display: none !important;
}

.runenburg-immo-calculator .rent-growth-controls {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.runenburg-immo-calculator .hero-score-compact {
  overflow: visible !important;
  padding: 10px 16px 10px 12px !important;
}

.runenburg-immo-calculator .hero-score-compact .score-ring {
  width: 68px !important;
  height: 68px !important;
  flex: 0 0 68px !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  padding: 0 !important;
  box-shadow: 0 0 0 1px #e2e8f0 inset !important;
}

.runenburg-immo-calculator .hero-score-compact .score-ring::after {
  inset: 11px !important;
}

.runenburg-immo-calculator .hero-score-compact .score-ring span {
  line-height: 1 !important;
}

.runenburg-immo-calculator .hero-score-compact:hover .hero-score-tooltip,
.runenburg-immo-calculator .hero-score-compact:focus-within .hero-score-tooltip,
.runenburg-immo-calculator .hero-score-compact.is-open .hero-score-tooltip {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

@media (max-width: 900px) {
  .runenburg-immo-calculator .rent-growth-controls { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 560px) {
  .runenburg-immo-calculator .rent-growth-controls { grid-template-columns: 1fr !important; }
  .runenburg-immo-calculator #afaBaseTooltipText,
  .runenburg-immo-calculator #taxEffectTooltipText {
    left: 0 !important;
    right: auto !important;
    min-width: min(320px, calc(100vw - 32px)) !important;
  }
}

/* v1.3.3: robuste, nicht blockierende Floating-Tooltips und Score-Fläche statt Kreis */
.runenburg-immo-calculator .tooltip-text {
  display: none !important;
}
.immo-floating-tooltip {
  position: fixed;
  z-index: 2147483000;
  max-width: min(380px, calc(100vw - 28px));
  padding: 12px 14px;
  border-radius: 14px;
  background: #101828;
  color: #ffffff;
  box-shadow: 0 22px 70px rgba(15, 23, 42, .32);
  font-size: 14px;
  line-height: 1.42;
  font-weight: 650;
  pointer-events: auto;
  opacity: 0;
  transform: translateY(4px);
  transition: opacity .12s ease, transform .12s ease;
}
.immo-floating-tooltip.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.immo-floating-tooltip::before {
  content: '';
  position: absolute;
  left: 18px;
  top: -7px;
  width: 14px;
  height: 14px;
  background: #101828;
  transform: rotate(45deg);
  border-radius: 2px;
}
.runenburg-immo-calculator .tooltip {
  position: relative;
  z-index: 4;
}
.runenburg-immo-calculator .hero-score-compact .score-ring {
  width: 66px !important;
  height: 66px !important;
  flex: 0 0 66px !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  border: 0 !important;
  background: linear-gradient(135deg, var(--score-current, #f59e0b), color-mix(in srgb, var(--score-current, #f59e0b) 72%, #ffffff)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.38), 0 14px 32px rgba(15,23,42,.10) !important;
}
.runenburg-immo-calculator .hero-score-compact .score-ring::after {
  display: none !important;
}
.runenburg-immo-calculator .hero-score-compact .score-ring span {
  color: #ffffff !important;
  font-size: 1.25rem !important;
  text-shadow: 0 1px 10px rgba(0,0,0,.16);
}
.runenburg-immo-calculator .hero-score-compact {
  align-items: center;
  overflow: visible !important;
}


/* v1.3.4: Tooltip-Duplikate entfernen. Sichtbar ist nur noch der globale Floating-Tooltip. */
.runenburg-immo-calculator .tooltip-text,
.runenburg-immo-calculator .tooltip-host.is-open .tooltip-text,
.runenburg-immo-calculator .input-group.is-open > .tooltip-text,
.runenburg-immo-calculator .slim-stat.is-open > .tooltip-text,
.runenburg-immo-calculator .input-group:has(.tooltip:hover) .tooltip-text,
.runenburg-immo-calculator .input-group:has(.tooltip:focus) .tooltip-text,
.runenburg-immo-calculator .input-group:has(.tooltip-text:hover) .tooltip-text,
.runenburg-immo-calculator .tooltip-host:has(.tooltip:hover) .tooltip-text,
.runenburg-immo-calculator .tooltip-host:has(.tooltip:focus) .tooltip-text,
.runenburg-immo-calculator .tooltip-host:has(.tooltip-text:hover) .tooltip-text,
.runenburg-immo-calculator .slim-stat:has(.tooltip:hover) > .tooltip-text,
.runenburg-immo-calculator .slim-stat:has(.tooltip:focus) > .tooltip-text,
.runenburg-immo-calculator .slim-stat:has(.tooltip-text:hover) > .tooltip-text {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.immo-floating-tooltip {
  display: block !important;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}
.immo-floating-tooltip.is-visible {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

/* v1.3.5: Inserat-URL Analyse */
.runenburg-immo-calculator .immo-side-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: flex-end;
}
.runenburg-immo-calculator .immo-import-tab span {
  background: rgba(20,184,166,.12) !important;
  color: var(--action-dark) !important;
}
.runenburg-immo-calculator .immo-listing-drawer .listing-url-box {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  align-items: stretch;
}
.runenburg-immo-calculator .immo-listing-drawer .listing-url-box input {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 17px;
  padding: 13px 14px;
  font: inherit;
  font-weight: 700;
  color: #101828;
  background: #f8fafc;
  outline: none;
}
.runenburg-immo-calculator .immo-listing-drawer .listing-url-box input:focus {
  border-color: var(--brand);
  box-shadow: 0 0 0 4px rgba(15,118,110,.10);
  background: #fff;
}
.runenburg-immo-calculator .immo-listing-drawer .tool-note.is-error {
  color: var(--red);
}
.runenburg-immo-calculator .listing-results {
  margin-top: 16px;
}
.runenburg-immo-calculator .listing-results-head {
  display: grid;
  gap: 3px;
  margin-bottom: 10px;
}
.runenburg-immo-calculator .listing-results-head strong {
  color: #101828;
  font-size: 1rem;
}
.runenburg-immo-calculator .listing-results-head small {
  color: var(--muted);
  font-weight: 700;
}
.runenburg-immo-calculator .listing-suggestions {
  display: grid;
  gap: 10px;
  margin-bottom: 12px;
}
.runenburg-immo-calculator .listing-suggestion-card {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 8px 11px;
  border: 1px solid #dbe5f1;
  border-radius: 18px;
  padding: 13px;
  background: #fff;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(16,24,40,.05);
}
.runenburg-immo-calculator .listing-suggestion-card:hover {
  border-color: rgba(15,118,110,.35);
  background: #fbfffd;
}
.runenburg-immo-calculator .listing-suggestion-card input {
  margin-top: 3px;
  accent-color: var(--brand);
}
.runenburg-immo-calculator .listing-suggestion-main {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: baseline;
}
.runenburg-immo-calculator .listing-suggestion-main strong {
  color: #101828;
}
.runenburg-immo-calculator .listing-suggestion-main b {
  color: var(--brand);
  white-space: nowrap;
}
.runenburg-immo-calculator .listing-suggestion-card small {
  grid-column: 2;
  color: var(--muted);
  line-height: 1.35;
  font-weight: 650;
}
.runenburg-immo-calculator .listing-suggestion-card small em {
  font-style: normal;
  color: var(--brand);
  font-weight: 900;
}
.runenburg-immo-calculator .listing-source {
  opacity: .85;
}
.runenburg-immo-calculator .listing-empty {
  border: 1px dashed #cbd5e1;
  border-radius: 18px;
  padding: 14px;
  color: var(--muted);
  font-weight: 700;
  background: #f8fafc;
  line-height: 1.4;
}
.runenburg-immo-calculator .wide-action {
  width: 100%;
}
.runenburg-immo-calculator .tool-action[disabled] {
  opacity: .58;
  cursor: wait;
  transform: none !important;
}
@media (max-width: 720px) {
  .runenburg-immo-calculator .immo-side-tools {
    gap: 8px;
  }
  .runenburg-immo-calculator .immo-listing-drawer .listing-url-box {
    grid-template-columns: 1fr;
  }
  .runenburg-immo-calculator .listing-suggestion-main {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }
}

/* v1.3.9: Import-Assistent mit URL, Text und PDF */
.runenburg-immo-calculator .listing-import-methods {
  display: grid;
  gap: 14px;
  margin-top: 14px;
}
.runenburg-immo-calculator .listing-import-section {
  border: 1px solid #dbe5f1;
  border-radius: 20px;
  padding: 14px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  box-shadow: 0 10px 24px rgba(16,24,40,.04);
}
.runenburg-immo-calculator .listing-method-head {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 10px;
  align-items: start;
  margin-bottom: 10px;
}
.runenburg-immo-calculator .listing-method-head > span {
  width: 34px;
  height: 34px;
  border-radius: 12px;
  display: inline-grid;
  place-items: center;
  background: rgba(15,118,110,.10);
  color: var(--action-dark);
  font-weight: 900;
}
.runenburg-immo-calculator .listing-method-head strong {
  display: block;
  color: #101828;
  font-size: .98rem;
}
.runenburg-immo-calculator .listing-method-head small {
  display: block;
  color: var(--muted);
  font-weight: 650;
  line-height: 1.35;
  margin-top: 2px;
}
.runenburg-immo-calculator .listing-import-section textarea {
  width: 100%;
  min-height: 116px;
  resize: vertical;
  border: 1px solid var(--line);
  border-radius: 17px;
  padding: 13px 14px;
  font: inherit;
  font-weight: 650;
  color: #101828;
  background: #ffffff;
  outline: none;
  margin-bottom: 10px;
}
.runenburg-immo-calculator .listing-import-section textarea:focus,
.runenburg-immo-calculator .listing-file-box input:focus {
  border-color: var(--brand);
  box-shadow: 0 0 0 4px rgba(15,118,110,.10);
}
.runenburg-immo-calculator .listing-file-box {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  align-items: stretch;
}
.runenburg-immo-calculator .listing-file-box input[type="file"] {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 17px;
  padding: 11px 12px;
  font: inherit;
  color: #475467;
  background: #ffffff;
}
.runenburg-immo-calculator .soft-wide {
  width: 100%;
}
@media (max-width: 720px) {
  .runenburg-immo-calculator .listing-file-box {
    grid-template-columns: 1fr;
  }
}

/* v1.4.2: Import-Ergebnisse stärker sichtbar machen */
.runenburg-immo-calculator .listing-results.has-suggestions {
  border-radius: 24px;
  padding: 14px;
  background:
    radial-gradient(circle at top left, rgba(20,184,166,.18), transparent 24rem),
    linear-gradient(135deg, rgba(15,118,110,.08), rgba(47,92,255,.05));
  border: 1px solid rgba(15,118,110,.18);
}
.runenburg-immo-calculator .listing-results.has-suggestions .listing-suggestion-card {
  background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(240,253,250,.92));
  border-color: rgba(15,118,110,.22);
}
.runenburg-immo-calculator .listing-results.has-suggestions .listing-suggestion-card:hover {
  border-color: rgba(15,118,110,.45);
  box-shadow: 0 16px 36px rgba(15,118,110,.12);
}

/* v1.4.3: Manuelle Pflichtwerte im Import-Assistenten */
.runenburg-immo-calculator .listing-suggestion-card.manual-required {
  background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(255,251,235,.94));
  border-color: rgba(245,158,11,.34);
}
.runenburg-immo-calculator .listing-suggestion-card.manual-required .listing-suggestion-main b {
  color: #b45309;
}
.runenburg-immo-calculator .listing-manual-input {
  width: 100%;
  min-height: 48px;
  border: 1px solid rgba(148,163,184,.42);
  border-radius: 16px;
  padding: 10px 13px;
  margin: 10px 0 4px;
  font: inherit;
  font-weight: 800;
  background: #fff;
  color: #0f172a;
  outline: none;
}
.runenburg-immo-calculator .listing-manual-input:focus {
  border-color: var(--teal);
  box-shadow: 0 0 0 4px rgba(20,184,166,.12);
}
.runenburg-immo-calculator .listing-manual-input.is-invalid {
  border-color: #dc2626;
  box-shadow: 0 0 0 4px rgba(220,38,38,.12);
}


/* v1.4.4: Manuelle Import-Pflichtwerte besser lesbar */
.runenburg-immo-calculator .listing-suggestion-card.manual-required {
  grid-template-columns: auto 1fr;
  align-items: start;
}
.runenburg-immo-calculator .listing-suggestion-card.manual-required .listing-suggestion-main {
  grid-column: 2;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.runenburg-immo-calculator .listing-suggestion-card.manual-required small {
  grid-column: 2;
}
.runenburg-immo-calculator .listing-suggestion-card.manual-required .listing-manual-input {
  grid-column: 2;
  margin: 8px 0 0;
}
.runenburg-immo-calculator .listing-suggestion-card.manual-required > input[type="checkbox"] {
  margin-top: 4px;
}
@media (max-width: 520px) {
  .runenburg-immo-calculator .listing-suggestion-card.manual-required .listing-suggestion-main {
    flex-direction: column;
    gap: 3px;
  }
}


/* v1.4.5: Import-Vorschläge direkt editierbar */
.runenburg-immo-calculator .listing-edit-row {
  grid-column: 2;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 8px;
  align-items: center;
  margin-top: 4px;
}
.runenburg-immo-calculator .listing-edit-toggle {
  width: 34px;
  height: 34px;
  border: 1px solid rgba(148,163,184,.35);
  border-radius: 12px;
  background: rgba(255,255,255,.88);
  cursor: pointer;
  display: inline-grid;
  place-items: center;
  box-shadow: 0 8px 18px rgba(15,23,42,.06);
}
.runenburg-immo-calculator .listing-edit-toggle:hover {
  border-color: rgba(15,118,110,.45);
  background: #ecfdf5;
}
.runenburg-immo-calculator .listing-edit-input {
  min-height: 42px;
  border: 1px solid rgba(148,163,184,.42);
  border-radius: 14px;
  padding: 8px 12px;
  font: inherit;
  font-weight: 850;
  color: #0f172a;
  background: #fff;
  outline: none;
}
.runenburg-immo-calculator .listing-edit-input:focus {
  border-color: var(--teal);
  box-shadow: 0 0 0 4px rgba(20,184,166,.12);
}
@media (max-width: 520px) {
  .runenburg-immo-calculator .listing-edit-row {
    grid-template-columns: 1fr;
  }
  .runenburg-immo-calculator .listing-edit-toggle {
    justify-self: start;
  }
}


/* v1.4.6: Objektname, sichtbares Edit-Icon und XLSX-Update */
.runenburg-immo-calculator .save-name-field {
  margin: 14px 0 12px;
}
.runenburg-immo-calculator .save-name-field label {
  display: block;
  margin-bottom: 7px;
  color: var(--muted);
  font-size: .82rem;
  font-weight: 900;
}
.runenburg-immo-calculator .save-name-field input {
  width: 100%;
  min-height: 48px;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 12px 14px;
  background: #fff;
  color: #101828;
  font: inherit;
  font-weight: 800;
  outline: none;
}
.runenburg-immo-calculator .save-name-field input:focus {
  border-color: var(--teal);
  box-shadow: 0 0 0 4px rgba(20,184,166,.12);
}
.runenburg-immo-calculator .listing-edit-toggle svg {
  width: 17px;
  height: 17px;
  display: block;
  color: #0f766e;
  stroke: currentColor;
}
.runenburg-immo-calculator .listing-edit-toggle {
  color: #0f766e;
}


/* v1.4.7: Icon-Buttons dauerhaft sauber zentrieren */
.runenburg-immo-calculator .listing-edit-toggle,
.runenburg-immo-calculator .tool-action.icon-action,
.runenburg-immo-calculator .tooltip,
.runenburg-immo-calculator .modal-close,
.runenburg-immo-calculator .drawer-close,
.runenburg-immo-calculator button[aria-label] {
  align-items: center;
  justify-content: center;
}
.runenburg-immo-calculator .listing-edit-toggle {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  line-height: 1 !important;
  text-align: center !important;
  position: relative;
}
.runenburg-immo-calculator .listing-edit-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1em;
  height: 1em;
  line-height: 1;
  font-size: 18px;
  font-weight: 900;
  color: #0f766e;
  transform: translateY(-1px);
}
.runenburg-immo-calculator .listing-edit-toggle:hover .listing-edit-icon {
  color: #0f766e;
}
.runenburg-immo-calculator .listing-edit-row {
  align-items: center;
}
.runenburg-immo-calculator .tool-action.icon-action {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}
.runenburg-immo-calculator .tool-action.icon-action > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1em;
  height: 1em;
  line-height: 1;
}

/* v1.4.8: Objektname + Objektbild im Frontend und Speicherbereich */
.runenburg-immo-calculator .hero-card.has-object-meta {
  background: linear-gradient(135deg, rgba(240,253,250,.96), rgba(255,255,255,.98) 52%, rgba(239,246,255,.88));
}
.runenburg-immo-calculator .hero-card.has-object-image .hero-icon-wrap {
  overflow: hidden;
  padding: 0;
  background: #f8fafc;
}
.runenburg-immo-calculator .hero-card.has-object-image .hero-icon {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}
.runenburg-immo-calculator .save-object-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin: 14px 0 12px;
}
.runenburg-immo-calculator .save-object-grid .save-name-field {
  margin: 0;
}
.runenburg-immo-calculator .save-image-field label,
.runenburg-immo-calculator .save-image-field small {
  display: block;
}
.runenburg-immo-calculator .save-image-field label {
  margin-bottom: 7px;
  color: var(--muted);
  font-size: .82rem;
  font-weight: 900;
}
.runenburg-immo-calculator .save-image-field small {
  margin-top: 6px;
  color: var(--muted);
  font-size: .75rem;
  line-height: 1.35;
}
.runenburg-immo-calculator .save-image-row {
  display: flex;
  align-items: center;
  gap: 8px;
}
.runenburg-immo-calculator .image-upload-button {
  min-height: 58px;
  flex: 1;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 12px;
  color: #101828;
  font: inherit;
  font-weight: 900;
  cursor: pointer;
  text-align: left;
}
.runenburg-immo-calculator .image-upload-button:hover {
  border-color: var(--teal);
  box-shadow: 0 0 0 4px rgba(20,184,166,.10);
}
.runenburg-immo-calculator .object-image-preview,
.runenburg-immo-calculator .saved-card-image,
.runenburg-immo-calculator .saved-card-placeholder {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, #eef8f7, #fff);
  border: 1px solid rgba(15,118,110,.14);
  flex: 0 0 auto;
  overflow: hidden;
}
.runenburg-immo-calculator .object-image-preview img,
.runenburg-immo-calculator .saved-card-image {
  object-fit: cover;
}
.runenburg-immo-calculator .object-image-preview img {
  width: 100%;
  height: 100%;
  display: block;
}
.runenburg-immo-calculator .image-remove-button {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: #f8fafc;
  color: #475467;
  display: inline-grid;
  place-items: center;
  font-size: 22px;
  line-height: 1;
  font-weight: 900;
  cursor: pointer;
}
.runenburg-immo-calculator .image-remove-button:hover {
  background: #fff1f2;
  border-color: rgba(180,35,24,.22);
  color: #b42318;
}
.runenburg-immo-calculator .saved-card-top {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 10px;
}
.runenburg-immo-calculator .saved-card-top > div {
  min-width: 0;
}
.runenburg-immo-calculator .saved-card-image {
  display: block;
}
@media (min-width: 560px) {
  .runenburg-immo-calculator .save-object-grid {
    grid-template-columns: 1fr 1fr;
    align-items: start;
  }
}


/* v1.4.9: 120x120 Objektbild und kurzer Share-Link */
.runenburg-immo-calculator .hero-card.has-object-image .hero-icon-wrap {
  width: 120px;
  height: 120px;
  border-radius: 30px;
  flex-basis: 120px;
}
.runenburg-immo-calculator .hero-card.has-object-image .hero-icon {
  width: 120px;
  height: 120px;
  object-fit: cover;
}
.runenburg-immo-calculator .share-output input {
  min-width: 0;
}
@media (max-width: 720px) {
  .runenburg-immo-calculator .hero-card.has-object-image .hero-main {
    align-items: flex-start;
  }
  .runenburg-immo-calculator .hero-card.has-object-image .hero-icon-wrap {
    width: 88px;
    height: 88px;
    flex-basis: 88px;
    border-radius: 24px;
  }
  .runenburg-immo-calculator .hero-card.has-object-image .hero-icon {
    width: 88px;
    height: 88px;
  }
}

/* v1.5.0: dauerhaftes Speichern, saubere Objekt-Metafelder */
.runenburg-immo-calculator .save-object-grid {
  align-items: end;
}
.runenburg-immo-calculator .save-name-field,
.runenburg-immo-calculator .save-image-field {
  margin: 0 !important;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.runenburg-immo-calculator .save-name-field label,
.runenburg-immo-calculator .save-image-field label {
  min-height: 2.3em;
  display: flex;
  align-items: flex-end;
  margin-bottom: 7px;
}
.runenburg-immo-calculator .save-name-field input,
.runenburg-immo-calculator .image-upload-button {
  min-height: 58px;
}
.runenburg-immo-calculator .save-image-field small {
  display: none !important;
}


/* v1.5.1: Responsiver Objekt-Header und neutralere Score-Bewertung */
.runenburg-immo-calculator .hero-card.has-object-image .hero-icon-wrap {
  width: 132px;
  height: 132px;
  flex-basis: 132px;
  border-radius: 32px;
}
.runenburg-immo-calculator .hero-card.has-object-image .hero-icon {
  width: 132px;
  height: 132px;
}
.runenburg-immo-calculator .hero-card.has-object-meta #heroTitle {
  overflow-wrap: anywhere;
  word-break: normal;
  hyphens: auto;
}
@media (max-width: 820px) {
  .runenburg-immo-calculator .hero-card {
    flex-direction: column;
    align-items: stretch;
    gap: 18px;
    padding: 18px;
    overflow: hidden;
  }
  .runenburg-immo-calculator .hero-main {
    width: 100%;
    display: grid;
    grid-template-columns: 132px minmax(0, 1fr);
    align-items: center;
    gap: 16px;
  }
  .runenburg-immo-calculator .hero-card.has-object-image .hero-icon-wrap {
    width: 132px;
    height: 132px;
    flex-basis: 132px;
    border-radius: 32px;
  }
  .runenburg-immo-calculator .hero-card.has-object-image .hero-icon {
    width: 132px;
    height: 132px;
  }
  .runenburg-immo-calculator .hero-card h1 {
    font-size: clamp(2.2rem, 10vw, 4.4rem);
    line-height: .98;
    letter-spacing: -.065em;
    max-width: 100%;
  }
  .runenburg-immo-calculator .hero-copy {
    font-size: 1rem;
    line-height: 1.45;
  }
  .runenburg-immo-calculator .hero-score-compact {
    width: 100%;
    border-radius: 24px;
    padding: 14px;
    justify-content: flex-start;
  }
  .runenburg-immo-calculator .hero-score-text {
    min-width: 0;
    flex: 1;
  }
  .runenburg-immo-calculator .hero-score-text > span {
    max-width: none;
  }
}
@media (max-width: 560px) {
  .runenburg-immo-calculator .hero-main {
    grid-template-columns: 1fr;
    justify-items: start;
    align-items: start;
  }
  .runenburg-immo-calculator .hero-card.has-object-image .hero-icon-wrap,
  .runenburg-immo-calculator .hero-icon-wrap {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    max-height: 260px;
    border-radius: 30px;
  }
  .runenburg-immo-calculator .hero-card.has-object-image .hero-icon,
  .runenburg-immo-calculator .hero-icon {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .runenburg-immo-calculator .hero-card h1 {
    font-size: clamp(2.4rem, 13vw, 4.2rem);
  }
  .runenburg-immo-calculator .hero-score-compact {
    align-items: center;
  }
}

/* v1.5.2: Cashflow-Entwicklung, historische Werte, moderner Graph */
.runenburg-immo-calculator .rent-growth-card {
  background:
    radial-gradient(circle at 16% 0%, rgba(94, 234, 212, .18), transparent 34%),
    radial-gradient(circle at 92% 10%, rgba(56, 189, 248, .14), transparent 30%),
    linear-gradient(145deg, #08111f 0%, var(--rent-growth-dark, #0f172a) 48%, #071b1c 100%) !important;
}
.runenburg-immo-calculator .rent-growth-controls {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.runenburg-immo-calculator .rent-growth-chart-wrap {
  position: relative;
  background:
    radial-gradient(circle at 18% 12%, rgba(20,184,166,.10), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,.99) 0%, #f2fbfa 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7), 0 18px 50px rgba(0,0,0,.20);
}
.runenburg-immo-calculator #rentGrowthChart .rg-bg { fill: transparent !important; }
.runenburg-immo-calculator #rentGrowthChart .rg-grid { stroke: rgba(100,116,139,.20); stroke-width: 1; }
.runenburg-immo-calculator #rentGrowthChart .rg-area { fill: url(#rgAreaGradient); }
.runenburg-immo-calculator #rentGrowthChart .rg-rent {
  stroke: url(#rgRentGradient) !important;
  stroke-width: 6;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.runenburg-immo-calculator #rentGrowthChart .rg-cost {
  fill: none;
  stroke: var(--rent-chart-cost, #dc2626) !important;
  stroke-width: 4.5;
  stroke-dasharray: 9 8;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: .92;
}
.runenburg-immo-calculator #rentGrowthChart .rg-rent-dot,
.runenburg-immo-calculator #rentGrowthChart .rg-history-dot {
  fill: #ffffff;
  stroke: var(--rent-chart-rent, #0f766e);
  stroke-width: 3;
}
.runenburg-immo-calculator #rentGrowthChart .rg-history-dot {
  stroke: #f59e0b;
  stroke-width: 3.5;
}
.runenburg-immo-calculator #rentGrowthChart .rg-cash-label { fill: #64748b; opacity: .82; }
.runenburg-immo-calculator #rentGrowthChart .rg-hover-layer { cursor: crosshair; pointer-events: all; }
.runenburg-immo-calculator .chart-hover-tooltip {
  position: absolute;
  z-index: 20;
  display: none;
  min-width: 210px;
  max-width: 280px;
  padding: 12px 13px;
  border-radius: 16px;
  background: rgba(15, 23, 42, .96);
  color: #ffffff;
  box-shadow: 0 18px 45px rgba(2, 6, 23, .32);
  transform: translate(-50%, -100%);
  pointer-events: none;
  border: 1px solid rgba(255,255,255,.14);
}
.runenburg-immo-calculator .chart-hover-tooltip.visible { display: grid; gap: 4px; }
.runenburg-immo-calculator .chart-hover-tooltip strong { font-size: .95rem; }
.runenburg-immo-calculator .chart-hover-tooltip span,
.runenburg-immo-calculator .chart-hover-tooltip small,
.runenburg-immo-calculator .chart-hover-tooltip em { font-size: .78rem; line-height: 1.3; }
.runenburg-immo-calculator .chart-hover-tooltip small { color: rgba(255,255,255,.70); }
.runenburg-immo-calculator .chart-hover-tooltip em { font-style: normal; font-weight: 950; }
.runenburg-immo-calculator .chart-hover-tooltip em.positive { color: #5eead4; }
.runenburg-immo-calculator .chart-hover-tooltip em.negative { color: #fca5a5; }
.runenburg-immo-calculator .cashflow-history-panel {
  margin-top: 14px;
  padding: 14px;
  border-radius: 22px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.13);
}
.runenburg-immo-calculator .cashflow-history-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 10px;
}
.runenburg-immo-calculator .cashflow-history-head strong { display: block; color: #ffffff; font-size: 1rem; }
.runenburg-immo-calculator .cashflow-history-head small { display: block; margin-top: 3px; color: rgba(255,255,255,.68); line-height: 1.35; }
.runenburg-immo-calculator .history-add-button {
  border: 0;
  border-radius: 999px;
  padding: 10px 13px;
  background: linear-gradient(135deg, #14b8a6, #0f766e);
  color: #ffffff;
  font-weight: 950;
  cursor: pointer;
  white-space: nowrap;
}
.runenburg-immo-calculator .cashflow-history-table { display: grid; gap: 8px; }
.runenburg-immo-calculator .cashflow-history-row {
  display: grid;
  grid-template-columns: .8fr repeat(4, 1fr) 42px;
  gap: 8px;
  align-items: end;
  padding: 10px;
  border-radius: 18px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
}
.runenburg-immo-calculator .cashflow-history-row label {
  display: grid;
  gap: 5px;
  color: rgba(255,255,255,.70);
  font-size: .72rem;
  font-weight: 900;
  margin: 0;
}
.runenburg-immo-calculator .cashflow-history-row input {
  width: 100%;
  min-height: 42px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.95);
  color: #101828;
  padding: 9px 10px;
  font-weight: 900;
}
.runenburg-immo-calculator .history-remove-button {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.10);
  color: #ffffff;
  font-weight: 950;
  cursor: pointer;
}
.runenburg-immo-calculator .rent-growth-milestones em {
  display: block;
  margin-top: 3px;
  color: rgba(255,255,255,.60);
  font-size: .76rem;
  font-style: normal;
  font-weight: 850;
}
@media (max-width: 900px) {
  .runenburg-immo-calculator .rent-growth-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .runenburg-immo-calculator .cashflow-history-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .runenburg-immo-calculator .history-remove-button { width: 100%; }
}
@media (max-width: 520px) {
  .runenburg-immo-calculator .rent-growth-controls { grid-template-columns: 1fr; }
  .runenburg-immo-calculator .cashflow-history-head { flex-direction: column; }
  .runenburg-immo-calculator .history-add-button { width: 100%; }
  .runenburg-immo-calculator .cashflow-history-row { grid-template-columns: 1fr; }
}


/* v1.5.3 layout + chart polish */
.runenburg-immo-calculator .hero-card{overflow:visible;}
.runenburg-immo-calculator .hero-score-compact{align-items:center; min-width:260px;}
.runenburg-immo-calculator .hero-score-text > span#scoreLabel{display:inline-flex;font-size:1.08rem;font-weight:950;color:var(--score-current,#0f766e);line-height:1.05;}
.runenburg-immo-calculator .hero-score-tooltip .score-tooltip-feedback{margin:8px 0 10px;color:rgba(255,255,255,.78);font-size:.88rem;line-height:1.35;}
.runenburg-immo-calculator .hero-score-text #scoreFeedback{display:none!important;}
.runenburg-immo-calculator .result-head .status-pill{display:none!important;}
.runenburg-immo-calculator .tax-depreciation-section .depreciation-main-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:end;}
.runenburg-immo-calculator .tax-depreciation-section .building-summary-row{margin-top:14px;}
.runenburg-immo-calculator .save-note-field{grid-column:1/-1;display:grid;gap:6px;}
.runenburg-immo-calculator .save-note-field label{font-weight:900;color:#64748b;font-size:.82rem;line-height:1.1;}
.runenburg-immo-calculator .save-note-field textarea{width:100%;min-height:76px;border:1px solid #dbe6f5;border-radius:18px;background:#fff;padding:12px 14px;font-weight:750;color:#0f172a;resize:vertical;box-shadow:inset 0 1px 0 rgba(15,23,42,.03);}
.runenburg-immo-calculator .save-note-field textarea:focus{outline:none;border-color:rgba(20,184,166,.55);box-shadow:0 0 0 4px rgba(20,184,166,.10);}
.runenburg-immo-calculator .rent-growth-chart-wrap{background:radial-gradient(circle at 18% 18%,rgba(45,212,191,.28),transparent 34%),linear-gradient(145deg,rgba(255,255,255,.98),rgba(240,253,250,.94));border:1px solid rgba(148,163,184,.28);box-shadow:0 24px 70px rgba(2,6,23,.23),inset 0 1px 0 rgba(255,255,255,.65);}
.runenburg-immo-calculator #rentGrowthChart .rg-grid{stroke:rgba(15,23,42,.13)!important;}
.runenburg-immo-calculator #rentGrowthChart .rg-axis{fill:#64748b;font-weight:850;}
.runenburg-immo-calculator #rentGrowthChart .rg-rent{stroke-width:6!important;stroke-linecap:round;stroke-linejoin:round;}
.runenburg-immo-calculator #rentGrowthChart .rg-cost{stroke-width:5!important;stroke-linecap:round;stroke-dasharray:9 8;opacity:.95;}
.runenburg-immo-calculator #rentGrowthChart .rg-rent-dot,.runenburg-immo-calculator #rentGrowthChart .rg-history-dot{cursor:pointer;stroke-width:4;filter:drop-shadow(0 5px 8px rgba(15,23,42,.18));transition:transform .15s ease, r .15s ease;transform-box:fill-box;transform-origin:center;}
.runenburg-immo-calculator #rentGrowthChart .rg-rent-dot:hover,.runenburg-immo-calculator #rentGrowthChart .rg-history-dot:hover{transform:scale(1.28);}
.runenburg-immo-calculator .chart-hover-tooltip{z-index:20;min-width:210px;max-width:260px;transform:translate(-50%,-105%);pointer-events:none;border:1px solid rgba(255,255,255,.14);box-shadow:0 22px 55px rgba(0,0,0,.32);}
.runenburg-immo-calculator .rent-growth-milestones{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));}
.runenburg-immo-calculator .rent-growth-milestones div{background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(20,184,166,.10));border:1px solid rgba(255,255,255,.12);}
@media(max-width:760px){
  .runenburg-immo-calculator .tax-depreciation-section .depreciation-main-row{grid-template-columns:1fr;}
  .runenburg-immo-calculator .hero-score-compact{width:100%;min-width:0;}
}


/* v1.5.4: Cashflow-Entwicklung Feinschliff, Box-in-Box-Formular, Score-Padding */
.runenburg-immo-calculator .hero-score-compact{
  padding:20px 26px 20px 22px !important;
}
.runenburg-immo-calculator .input-panel{
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%) !important;
}
.runenburg-immo-calculator .input-panel .form-section{
  margin:18px 0 !important;
  padding:20px !important;
  border:1px solid rgba(203,213,225,.72) !important;
  border-radius:26px !important;
  background:linear-gradient(180deg,rgba(255,255,255,.96) 0%,rgba(248,250,252,.92) 100%) !important;
  box-shadow:0 18px 44px rgba(15,23,42,.055), inset 0 1px 0 rgba(255,255,255,.82) !important;
}
.runenburg-immo-calculator .input-panel .form-section:first-of-type{
  margin-top:20px !important;
}
.runenburg-immo-calculator .input-panel .form-section h3{
  margin-bottom:16px !important;
}
.runenburg-immo-calculator .input-panel .form-section .section-title-line{
  margin-bottom:16px !important;
}
.runenburg-immo-calculator .rent-growth-head.simplified{
  display:block !important;
  margin-bottom:20px !important;
}
.runenburg-immo-calculator .rent-growth-head.simplified h2{
  margin:0 !important;
  color:#ffffff !important;
  font-size:clamp(2.1rem,4.4vw,3.8rem) !important;
  line-height:.98 !important;
  letter-spacing:-.055em !important;
}
.runenburg-immo-calculator .rent-growth-head.simplified .eyebrow{
  color:#99f6e4 !important;
  margin-bottom:8px !important;
}
.runenburg-immo-calculator .rent-growth-badge{display:none !important;}
.runenburg-immo-calculator #rentGrowthChart .rg-cash-label{display:none !important;}
.runenburg-immo-calculator #rentGrowthChart [data-chart-point]{
  pointer-events:all !important;
}
.runenburg-immo-calculator #rentGrowthChart .rg-rent,
.runenburg-immo-calculator #rentGrowthChart .rg-cost,
.runenburg-immo-calculator #rentGrowthChart .rg-area,
.runenburg-immo-calculator #rentGrowthChart .rg-grid,
.runenburg-immo-calculator #rentGrowthChart .rg-axis,
.runenburg-immo-calculator #rentGrowthChart .rg-legend,
.runenburg-immo-calculator #rentGrowthChart .rg-break,
.runenburg-immo-calculator #rentGrowthChart .rg-break-label,
.runenburg-immo-calculator #rentGrowthChart .rg-break-dot{
  pointer-events:none !important;
}
.runenburg-immo-calculator .rent-growth-chart-wrap{
  overflow:visible !important;
  padding:8px !important;
  border-radius:30px !important;
  background:
    radial-gradient(circle at 16% 18%,rgba(45,212,191,.30),transparent 32%),
    radial-gradient(circle at 88% 16%,rgba(14,165,233,.16),transparent 30%),
    linear-gradient(145deg,rgba(255,255,255,.99),rgba(236,253,245,.96) 58%,rgba(240,249,255,.94)) !important;
  box-shadow:0 30px 80px rgba(2,6,23,.28), inset 0 1px 0 rgba(255,255,255,.82) !important;
}
.runenburg-immo-calculator .chart-hover-tooltip{
  z-index:200 !important;
  width:max-content !important;
  min-width:220px !important;
  max-width:min(300px,calc(100vw - 32px)) !important;
  transform:translate(-50%,-112%) !important;
  backdrop-filter:blur(14px);
}
.runenburg-immo-calculator .rent-growth-milestones div.is-positive{
  background:linear-gradient(145deg,rgba(20,184,166,.24),rgba(15,118,110,.10)) !important;
  border-color:rgba(94,234,212,.24) !important;
}
.runenburg-immo-calculator .rent-growth-milestones div.is-negative{
  background:linear-gradient(145deg,rgba(239,68,68,.22),rgba(127,29,29,.10)) !important;
  border-color:rgba(252,165,165,.24) !important;
}
.runenburg-immo-calculator .rent-growth-milestones div.is-positive em{color:#99f6e4 !important;}
.runenburg-immo-calculator .rent-growth-milestones div.is-negative em{color:#fecaca !important;}
.runenburg-immo-calculator .rent-values-details summary{
  font-weight:950 !important;
}
@media(max-width:760px){
  .runenburg-immo-calculator .input-panel .form-section{padding:16px !important;border-radius:22px !important;}
  .runenburg-immo-calculator .hero-score-compact{padding:18px 22px 18px 20px !important;}
  .runenburg-immo-calculator .rent-growth-head.simplified h2{font-size:clamp(2rem,11vw,3.2rem) !important;}
}


/* v1.5.5: Steuerfelder, AfA/Restnutzungsdauer Sync und Cashflow-Chart Feinschliff */
.runenburg-immo-calculator .tax-depreciation-section label[for="taxRate"]{
  white-space:nowrap;
}
.runenburg-immo-calculator .rent-growth-head.simplified h2{
  font-size:clamp(1.55rem,4vw,2.6rem) !important;
  line-height:1 !important;
  letter-spacing:-.045em !important;
}
.runenburg-immo-calculator #rentGrowthChart .rg-today{
  stroke:rgba(100,116,139,.72);
  stroke-width:2.2;
  stroke-dasharray:5 7;
  pointer-events:none;
}
.runenburg-immo-calculator #rentGrowthChart .rg-today-label{
  fill:#64748b;
  font-size:13px;
  font-weight:950;
  pointer-events:none;
}
.runenburg-immo-calculator .rent-values-list div.is-positive{
  background:linear-gradient(145deg,rgba(20,184,166,.22),rgba(15,118,110,.08)) !important;
  border-color:rgba(94,234,212,.26) !important;
}
.runenburg-immo-calculator .rent-values-list div.is-negative{
  background:linear-gradient(145deg,rgba(239,68,68,.20),rgba(127,29,29,.08)) !important;
  border-color:rgba(252,165,165,.26) !important;
}
.runenburg-immo-calculator .rent-values-list div.is-positive em{color:#0f766e !important;}
.runenburg-immo-calculator .rent-values-list div.is-negative em{color:#b91c1c !important;}
@media(max-width:760px){
  .runenburg-immo-calculator .rent-growth-head.simplified h2{font-size:clamp(1.55rem,8vw,2.4rem) !important;}
}

/* v1.5.6: Restnutzungsdauer nutzt nur ganze Jahre; AfA-Sync schreibt valide Punkt-Dezimalwerte in number inputs. */

/* v1.5.7: Speichern-&-Teilen-Menü als moderne Tool-Chips */
.runenburg-immo-calculator .immo-tools-drawer .tool-chip-actions {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 10px !important;
}
.runenburg-immo-calculator .tool-action.icon-action.tool-chip,
.runenburg-immo-calculator .tool-action.icon-action.tool-chip.calc-link-action {
  min-height: 62px !important;
  padding: 10px 8px !important;
  border-radius: 18px !important;
  background: linear-gradient(145deg, #ffffff 0%, #f6fafb 100%) !important;
  border: 1px solid rgba(203, 216, 230, 0.95) !important;
  color: #0f172a !important;
  box-shadow: 0 12px 26px rgba(15, 23, 42, 0.06) !important;
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  line-height: 1.05 !important;
}
.runenburg-immo-calculator .tool-action.icon-action.tool-chip:hover,
.runenburg-immo-calculator .tool-action.icon-action.tool-chip.calc-link-action:hover,
.runenburg-immo-calculator .tool-action.icon-action.tool-chip:focus-visible,
.runenburg-immo-calculator .tool-action.icon-action.tool-chip.calc-link-action:focus-visible {
  transform: translateY(-1px) !important;
  border-color: rgba(15, 118, 110, 0.35) !important;
  box-shadow: 0 16px 32px rgba(15, 23, 42, 0.10) !important;
  background: linear-gradient(145deg, #ffffff 0%, #edfdfa 100%) !important;
}
.runenburg-immo-calculator .tool-chip-icon {
  width: 21px !important;
  height: 21px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #0f766e !important;
  line-height: 1 !important;
}
.runenburg-immo-calculator .tool-chip-icon svg {
  width: 21px !important;
  height: 21px !important;
  display: block !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}
.runenburg-immo-calculator .tool-chip-label {
  display: block !important;
  font-size: 0.72rem !important;
  font-weight: 900 !important;
  letter-spacing: -0.01em !important;
  color: #334155 !important;
  line-height: 1.05 !important;
  white-space: nowrap !important;
}
@media (max-width: 560px) {
  .runenburg-immo-calculator .immo-tools-drawer .tool-chip-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  .runenburg-immo-calculator .tool-action.icon-action.tool-chip,
  .runenburg-immo-calculator .tool-action.icon-action.tool-chip.calc-link-action {
    min-height: 58px !important;
    border-radius: 16px !important;
  }
}


/* v1.5.8: Fix für Tool-Chips im Speichern-&-Teilen-Drawer
   Die vorherige 5-Spalten-Grid-Darstellung war im schmalen Drawer zu eng; zusätzlich wurden Labels durch ältere Icon-Button-Regeln auf 1em begrenzt. */
.runenburg-immo-calculator .immo-tools-drawer .tool-chip-actions,
.runenburg-immo-calculator .immo-tools-drawer .icon-actions.tool-chip-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  align-items: stretch !important;
  justify-content: stretch !important;
}
.runenburg-immo-calculator .tool-action.icon-action.tool-chip,
.runenburg-immo-calculator .tool-action.icon-action.tool-chip.calc-link-action {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 52px !important;
  height: auto !important;
  padding: 12px 14px !important;
  border-radius: 18px !important;
  background: linear-gradient(145deg, #ffffff 0%, #f7fbfc 100%) !important;
  border: 1px solid rgba(203, 216, 230, 0.95) !important;
  color: #0f172a !important;
  box-shadow: 0 12px 26px rgba(15, 23, 42, 0.06) !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  line-height: 1 !important;
  text-align: center !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}
.runenburg-immo-calculator .tool-action.icon-action.tool-chip:hover,
.runenburg-immo-calculator .tool-action.icon-action.tool-chip.calc-link-action:hover,
.runenburg-immo-calculator .tool-action.icon-action.tool-chip:focus-visible,
.runenburg-immo-calculator .tool-action.icon-action.tool-chip.calc-link-action:focus-visible {
  transform: translateY(-1px) !important;
  border-color: rgba(15, 118, 110, 0.35) !important;
  box-shadow: 0 16px 32px rgba(15, 23, 42, 0.10) !important;
  background: linear-gradient(145deg, #ffffff 0%, #edfdfa 100%) !important;
}
.runenburg-immo-calculator .tool-action.icon-action.tool-chip > span,
.runenburg-immo-calculator .tool-action.icon-action.tool-chip.calc-link-action > span,
.runenburg-immo-calculator .tool-action.icon-action.tool-chip .tool-chip-icon,
.runenburg-immo-calculator .tool-action.icon-action.tool-chip .tool-chip-label {
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: visible !important;
  transform: none !important;
}
.runenburg-immo-calculator .tool-action.icon-action.tool-chip .tool-chip-icon {
  flex: 0 0 21px !important;
  width: 21px !important;
  height: 21px !important;
  color: #0f766e !important;
}
.runenburg-immo-calculator .tool-action.icon-action.tool-chip .tool-chip-icon svg {
  width: 21px !important;
  height: 21px !important;
  display: block !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}
.runenburg-immo-calculator .tool-action.icon-action.tool-chip .tool-chip-label {
  flex: 0 1 auto !important;
  font-size: 0.88rem !important;
  font-weight: 950 !important;
  letter-spacing: -0.02em !important;
  color: #1e293b !important;
  line-height: 1.05 !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
  overflow: hidden !important;
}
@media (max-width: 420px) {
  .runenburg-immo-calculator .immo-tools-drawer .tool-chip-actions,
  .runenburg-immo-calculator .immo-tools-drawer .icon-actions.tool-chip-actions {
    grid-template-columns: 1fr !important;
  }
  .runenburg-immo-calculator .tool-action.icon-action.tool-chip,
  .runenburg-immo-calculator .tool-action.icon-action.tool-chip.calc-link-action {
    justify-content: flex-start !important;
    padding-left: 18px !important;
  }
}


/* v1.5.9: Tool-Chip-Icons nicht verzerren / exakt quadratisch rendern */
.runenburg-immo-calculator .tool-action.icon-action.tool-chip .tool-chip-icon {
  flex: 0 0 20px !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  max-width: 20px !important;
  aspect-ratio: 1 / 1 !important;
  display: inline-grid !important;
  place-items: center !important;
  overflow: visible !important;
  transform: none !important;
}
.runenburg-immo-calculator .tool-action.icon-action.tool-chip .tool-chip-icon svg,
.runenburg-immo-calculator .tool-action.icon-action.tool-chip .tool-chip-icon .tool-chip-svg {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  max-width: 20px !important;
  max-height: 20px !important;
  aspect-ratio: 1 / 1 !important;
  display: block !important;
  overflow: visible !important;
  flex: none !important;
  transform: none !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}
.runenburg-immo-calculator .tool-action.icon-action.tool-chip .tool-chip-icon svg *,
.runenburg-immo-calculator .tool-action.icon-action.tool-chip .tool-chip-icon .tool-chip-svg * {
  vector-effect: non-scaling-stroke !important;
  fill: none !important;
  stroke: currentColor !important;
}
.runenburg-immo-calculator .tool-action.icon-action.tool-chip .tool-chip-label {
  transform: none !important;
}

/* v1.6.0 Portfolio View */
.runenburg-immo-calculator .portfolio-open-button{
  width:100%;margin:14px 0 8px;padding:14px 16px;border-radius:18px;border:1px solid rgba(15,118,110,.22);
  background:linear-gradient(135deg, rgba(15,118,110,.08), rgba(20,184,166,.14));color:var(--brand,#0f766e);
  font-weight:900;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;box-shadow:0 14px 32px rgba(15,23,42,.06)
}
.runenburg-immo-calculator .portfolio-open-button:hover{transform:translateY(-1px);box-shadow:0 18px 38px rgba(15,23,42,.11)}
.runenburg-immo-calculator .saved-card-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.runenburg-immo-calculator .saved-edit{border:1px solid rgba(15,118,110,.22);background:rgba(15,118,110,.08);color:var(--brand,#0f766e);font-weight:900;border-radius:14px;padding:10px 8px;cursor:pointer}
.runenburg-immo-calculator .saved-edit:hover{background:rgba(15,118,110,.14)}
.runenburg-immo-calculator .portfolio-view{position:fixed;inset:24px;z-index:10020;display:none;align-items:flex-start;justify-content:center;overflow:auto;padding:18px;box-sizing:border-box}
.runenburg-immo-calculator .portfolio-view.open{display:flex}
.runenburg-immo-calculator .portfolio-panel{width:min(1180px,100%);background:linear-gradient(135deg,#ffffff 0%,#f8fbff 55%,#effdf9 100%);border:1px solid rgba(203,213,225,.9);border-radius:34px;box-shadow:0 34px 120px rgba(15,23,42,.28);padding:28px;box-sizing:border-box}
.runenburg-immo-calculator .portfolio-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}
.runenburg-immo-calculator .portfolio-head h2{margin:0;font-size:clamp(34px,5vw,58px);line-height:.95;letter-spacing:-.06em;color:#0f172a}
.runenburg-immo-calculator .portfolio-head p:not(.eyebrow){margin:8px 0 0;color:#64748b;font-weight:600}
.runenburg-immo-calculator .portfolio-toolbar{display:flex;gap:10px;justify-content:flex-end;margin:10px 0 18px;flex-wrap:wrap}
.runenburg-immo-calculator .portfolio-summary-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:14px 0 18px}
.runenburg-immo-calculator .portfolio-summary-card{background:rgba(255,255,255,.82);border:1px solid rgba(203,213,225,.78);border-radius:22px;padding:16px;box-shadow:0 16px 34px rgba(15,23,42,.06)}
.runenburg-immo-calculator .portfolio-summary-card span{display:block;font-weight:900;color:#64748b;font-size:12px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.runenburg-immo-calculator .portfolio-summary-card strong{font-size:22px;color:#0f172a}
.runenburg-immo-calculator .portfolio-chart-card{background:linear-gradient(135deg,#0f172a,#102f35);border-radius:28px;padding:20px;margin:18px 0;color:#fff;box-shadow:0 22px 58px rgba(15,23,42,.18)}
.runenburg-immo-calculator .portfolio-chart-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.runenburg-immo-calculator .portfolio-chart-head strong{font-size:18px}.runenburg-immo-calculator .portfolio-chart-head span{color:#b6c5d8;font-size:13px;font-weight:700}
.runenburg-immo-calculator #portfolioChart{width:100%;height:auto;display:block;background:rgba(255,255,255,.05);border-radius:22px}.runenburg-immo-calculator .portfolio-zero-line{stroke:rgba(255,255,255,.34);stroke-width:2;stroke-dasharray:5 7}.runenburg-immo-calculator .portfolio-zero-label,.runenburg-immo-calculator .portfolio-chart-label,.runenburg-immo-calculator .portfolio-chart-value,.runenburg-immo-calculator .portfolio-chart-total,.runenburg-immo-calculator .portfolio-chart-empty{fill:#e2e8f0;font-weight:900;font-size:14px}.runenburg-immo-calculator .portfolio-chart-value{font-size:13px}.runenburg-immo-calculator .portfolio-chart-total{fill:#99f6e4}.runenburg-immo-calculator .portfolio-bar.positive{fill:url(#portfolioPositive)}.runenburg-immo-calculator .portfolio-bar.negative{fill:url(#portfolioNegative)}
.runenburg-immo-calculator .portfolio-table-wrap{overflow:auto;border:1px solid rgba(203,213,225,.8);border-radius:24px;background:#fff}.runenburg-immo-calculator .portfolio-table{width:100%;border-collapse:collapse;min-width:760px}.runenburg-immo-calculator .portfolio-table th{background:#f8fafc;color:#475569;font-size:12px;text-transform:uppercase;letter-spacing:.05em;text-align:left}.runenburg-immo-calculator .portfolio-table th,.runenburg-immo-calculator .portfolio-table td{padding:14px 16px;border-bottom:1px solid #e2e8f0}.runenburg-immo-calculator .portfolio-table td{font-weight:800;color:#0f172a}.runenburg-immo-calculator .portfolio-table td small{display:block;color:#64748b;font-weight:600;margin-top:2px}.runenburg-immo-calculator .portfolio-table .positive{color:#0f766e}.runenburg-immo-calculator .portfolio-table .negative{color:#dc2626}
@media(max-width:980px){.runenburg-immo-calculator .portfolio-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.runenburg-immo-calculator .portfolio-view{inset:8px;padding:8px}.runenburg-immo-calculator .portfolio-panel{padding:18px;border-radius:26px}.runenburg-immo-calculator .portfolio-head{align-items:flex-start}.runenburg-immo-calculator .portfolio-head h2{font-size:38px}}
@media(max-width:560px){.runenburg-immo-calculator .portfolio-summary-grid{grid-template-columns:1fr}.runenburg-immo-calculator .saved-card-actions{grid-template-columns:1fr}.runenburg-immo-calculator .portfolio-toolbar{justify-content:stretch}.runenburg-immo-calculator .portfolio-toolbar .tool-action{flex:1}}
@media print{body.printing-portfolio .runenburg-immo-calculator > *:not(.immo-side-tools){display:none!important}body.printing-portfolio .portfolio-view{display:block!important;position:static!important;inset:auto!important;padding:0!important}body.printing-portfolio .portfolio-panel{box-shadow:none!important;border:0!important}body.printing-portfolio .portfolio-toolbar,body.printing-portfolio .portfolio-head .drawer-close{display:none!important}}

/* v1.6.1 Portfolio View refinement */
.runenburg-immo-calculator .portfolio-toolbar .tool-action{
  border-radius:16px;
  padding:12px 16px;
  font-weight:900;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(203,213,225,.9);
  color:#0f172a;
}
.runenburg-immo-calculator .portfolio-chart-card{
  background:linear-gradient(145deg,#0f172a 0%,#102335 48%,#0b3b37 100%);
  border:1px solid rgba(148,163,184,.18);
  box-shadow:0 26px 70px rgba(15,23,42,.22);
}
.runenburg-immo-calculator .portfolio-chart-bg{fill:url(#portfolioPanelBg)}
.runenburg-immo-calculator .portfolio-grid{stroke:rgba(226,232,240,.12);stroke-width:1}
.runenburg-immo-calculator .portfolio-axis{fill:#aebed1;font-weight:800;font-size:12px}
.runenburg-immo-calculator .portfolio-object-line{fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;opacity:.62}
.runenburg-immo-calculator .portfolio-object-dot{stroke:rgba(15,23,42,.95);stroke-width:1.5;opacity:.9}
.runenburg-immo-calculator .portfolio-total-line{fill:none;stroke:#99f6e4;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
.runenburg-immo-calculator .portfolio-total-dot{fill:#0f766e;stroke:#ccfbf1;stroke-width:3}
.runenburg-immo-calculator .portfolio-table-wrap{
  border:0;
  border-radius:28px;
  background:linear-gradient(135deg,rgba(255,255,255,.88),rgba(240,253,250,.66));
  box-shadow:0 18px 48px rgba(15,23,42,.08);
  padding:10px;
}
.runenburg-immo-calculator .portfolio-table{
  border-collapse:separate;
  border-spacing:0 10px;
  min-width:860px;
}
.runenburg-immo-calculator .portfolio-table th{
  background:transparent;
  color:#64748b;
  padding:8px 14px;
}
.runenburg-immo-calculator .portfolio-table td{
  background:rgba(255,255,255,.9);
  border-top:1px solid rgba(203,213,225,.72);
  border-bottom:1px solid rgba(203,213,225,.72);
  padding:14px;
  vertical-align:middle;
}
.runenburg-immo-calculator .portfolio-table tr td:first-child{border-left:1px solid rgba(203,213,225,.72);border-radius:18px 0 0 18px}
.runenburg-immo-calculator .portfolio-table tr td:last-child{border-right:1px solid rgba(203,213,225,.72);border-radius:0 18px 18px 0}
.runenburg-immo-calculator .portfolio-object-cell{display:flex;align-items:center;gap:12px;min-width:220px}
.runenburg-immo-calculator .portfolio-object-image,.runenburg-immo-calculator .portfolio-object-placeholder{
  width:46px;height:46px;border-radius:14px;flex:0 0 46px;display:grid;place-items:center;object-fit:cover;
  background:linear-gradient(135deg,#ecfeff,#f8fafc);border:1px solid rgba(203,213,225,.95);box-shadow:0 10px 24px rgba(15,23,42,.07);
}
.runenburg-immo-calculator .portfolio-object-placeholder{font-size:24px;color:#0f766e;font-weight:900}
.runenburg-immo-calculator .portfolio-pill,.runenburg-immo-calculator .portfolio-score-mini{
  display:inline-flex;align-items:center;justify-content:center;min-width:92px;border-radius:999px;padding:8px 12px;font-weight:950;
}
.runenburg-immo-calculator .portfolio-pill.positive{background:linear-gradient(135deg,rgba(20,184,166,.14),rgba(16,132,95,.24));color:#0f766e}
.runenburg-immo-calculator .portfolio-pill.negative{background:linear-gradient(135deg,rgba(248,113,113,.16),rgba(220,38,38,.24));color:#b42318}
.runenburg-immo-calculator .portfolio-score-mini{background:#f1f5f9;color:#0f172a;min-width:auto}
@media(max-width:720px){
  .runenburg-immo-calculator .portfolio-toolbar{display:grid;grid-template-columns:1fr;}
  .runenburg-immo-calculator .portfolio-toolbar .tool-action{width:100%;}
  .runenburg-immo-calculator .portfolio-table{min-width:760px;}
}

/* v1.6.2 Portfolio polish */
.runenburg-immo-calculator .portfolio-share-output{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:center;
  margin:0 0 16px;
  padding:12px;
  border-radius:18px;
  background:linear-gradient(135deg,rgba(240,253,250,.92),rgba(248,250,252,.96));
  border:1px solid rgba(20,184,166,.18);
}
.runenburg-immo-calculator .portfolio-share-output.hidden{display:none!important}
.runenburg-immo-calculator .portfolio-share-output input{
  width:100%;
  min-width:0;
  border:1px solid rgba(203,213,225,.9);
  background:#fff;
  border-radius:14px;
  padding:12px 14px;
  font-weight:800;
  color:#0f172a;
}
.runenburg-immo-calculator .portfolio-chart-card{position:relative;overflow:visible}
.runenburg-immo-calculator .portfolio-chart-tooltip{
  position:absolute;
  z-index:20;
  min-width:190px;
  max-width:260px;
  padding:12px 14px;
  border-radius:16px;
  background:rgba(15,23,42,.96);
  color:#fff;
  border:1px solid rgba(148,163,184,.22);
  box-shadow:0 18px 44px rgba(0,0,0,.28);
  pointer-events:none;
  opacity:0;
  transform:translateY(4px);
  transition:opacity .16s ease, transform .16s ease;
}
.runenburg-immo-calculator .portfolio-chart-tooltip.is-visible{opacity:1;transform:translateY(0)}
.runenburg-immo-calculator .portfolio-chart-tooltip strong,
.runenburg-immo-calculator .portfolio-chart-tooltip span,
.runenburg-immo-calculator .portfolio-chart-tooltip b,
.runenburg-immo-calculator .portfolio-chart-tooltip small{display:block}
.runenburg-immo-calculator .portfolio-chart-tooltip strong{font-size:13px;margin-bottom:5px;color:#ccfbf1}
.runenburg-immo-calculator .portfolio-chart-tooltip span{font-size:12px;color:#cbd5e1;margin-bottom:4px}
.runenburg-immo-calculator .portfolio-chart-tooltip b{font-size:17px;color:#fff;margin-bottom:5px}
.runenburg-immo-calculator .portfolio-chart-tooltip small{font-size:12px;color:#cbd5e1;line-height:1.35}
.runenburg-immo-calculator .portfolio-chart-point{cursor:pointer;transform-box:fill-box;transform-origin:center;transition:transform .18s ease, filter .18s ease, opacity .18s ease;animation:portfolioDotIn .38s ease both}
.runenburg-immo-calculator .portfolio-chart-point:hover{transform:scale(1.28);filter:drop-shadow(0 0 10px rgba(45,212,191,.6));opacity:1}
@keyframes portfolioDotIn{from{opacity:0;transform:scale(.35)}to{opacity:1;transform:scale(1)}}
.runenburg-immo-calculator .portfolio-table-wrap{
  background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(240,253,250,.66));
}
.runenburg-immo-calculator .portfolio-table thead th{
  background:linear-gradient(135deg,#eefcf9,#f8fafc)!important;
  border-top:1px solid rgba(203,213,225,.75);
  border-bottom:1px solid rgba(203,213,225,.75);
  color:#0f766e!important;
  padding:13px 14px!important;
}
.runenburg-immo-calculator .portfolio-table thead th:first-child{border-left:1px solid rgba(203,213,225,.75);border-radius:18px 0 0 18px}
.runenburg-immo-calculator .portfolio-table thead th:last-child{border-right:1px solid rgba(203,213,225,.75);border-radius:0 18px 18px 0}
.runenburg-immo-calculator .portfolio-table tbody tr{transition:transform .16s ease, box-shadow .16s ease}
.runenburg-immo-calculator .portfolio-table tbody tr:hover{transform:translateY(-1px)}
@media(max-width:720px){
  .runenburg-immo-calculator .portfolio-share-output{grid-template-columns:1fr;}
}
@media print{
  body.printing-portfolio .runenburg-immo-calculator .immo-side-tools{display:block!important;position:static!important;inset:auto!important;z-index:auto!important;}
  body.printing-portfolio .portfolio-share-output{display:none!important;}
}


/* v1.6.5: klare Designsprache für Schnellaktionen im Eingabekopf */
.runenburg-immo-calculator .panel-head-actions {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 10px !important;
  min-width: 172px !important;
}
.runenburg-immo-calculator .panel-head-actions .quick-save-button,
.runenburg-immo-calculator .panel-head-actions .ghost-button#resetButton {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 100% !important;
  min-height: 46px !important;
  border-radius: 999px !important;
  padding: 11px 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  font-size: .95rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: -0.01em !important;
  text-align: center !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease, color .16s ease !important;
}
.runenburg-immo-calculator .panel-head-actions .quick-save-button {
  color: #ffffff !important;
  border: 1px solid rgba(15,118,110,.20) !important;
  background: linear-gradient(135deg, #0f766e 0%, #14b8a6 100%) !important;
  box-shadow: 0 16px 34px rgba(20,184,166,.24) !important;
}
.runenburg-immo-calculator .panel-head-actions .quick-save-button:hover,
.runenburg-immo-calculator .panel-head-actions .quick-save-button:focus-visible {
  color: #ffffff !important;
  background: linear-gradient(135deg, #0b625d 0%, #0faaa0 100%) !important;
  border-color: rgba(15,118,110,.18) !important;
  box-shadow: 0 20px 42px rgba(20,184,166,.30) !important;
  transform: translateY(-1px) !important;
  outline: none !important;
}
.runenburg-immo-calculator .panel-head-actions .ghost-button#resetButton {
  color: #334155 !important;
  border: 1px solid #d9e4f2 !important;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
  box-shadow: 0 10px 24px rgba(15,23,42,.06) !important;
}
.runenburg-immo-calculator .panel-head-actions .ghost-button#resetButton:hover,
.runenburg-immo-calculator .panel-head-actions .ghost-button#resetButton:focus-visible {
  color: #0f766e !important;
  background: linear-gradient(180deg, #ffffff 0%, #f0fdfa 100%) !important;
  border-color: rgba(15,118,110,.28) !important;
  box-shadow: 0 14px 30px rgba(15,118,110,.10) !important;
  transform: translateY(-1px) !important;
  outline: none !important;
}
.runenburg-immo-calculator .panel-head-actions .quick-save-button:active,
.runenburg-immo-calculator .panel-head-actions .ghost-button#resetButton:active {
  transform: translateY(0) !important;
}
.runenburg-immo-calculator .panel-head-actions .quick-action-icon {
  width: 18px !important;
  height: 18px !important;
  flex: 0 0 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.runenburg-immo-calculator .panel-head-actions .quick-action-icon svg {
  width: 18px !important;
  height: 18px !important;
  display: block !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2.2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}
@media (max-width: 720px) {
  .runenburg-immo-calculator .panel-head-actions {
    width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }
}
@media (max-width: 440px) {
  .runenburg-immo-calculator .panel-head-actions {
    grid-template-columns: 1fr !important;
  }
}


/* v1.6.6: Einheitliche lizenzierte UIcons für Funktionsbuttons (keine Font-Dateien, nur ausgewählte SVG-Masken). */
.runenburg-immo-calculator .uicon {
  --uicon-size: 20px;
  width: var(--uicon-size) !important;
  height: var(--uicon-size) !important;
  min-width: var(--uicon-size) !important;
  min-height: var(--uicon-size) !important;
  max-width: var(--uicon-size) !important;
  max-height: var(--uicon-size) !important;
  display: inline-block !important;
  flex: 0 0 var(--uicon-size) !important;
  background-color: currentColor !important;
  color: currentColor !important;
  line-height: 1 !important;
  vertical-align: middle !important;
  aspect-ratio: 1 / 1 !important;
  -webkit-mask: var(--uicon-url) center / contain no-repeat !important;
  mask: var(--uicon-url) center / contain no-repeat !important;
}
.runenburg-immo-calculator .uicon-link { --uicon-url: url('../icons/link.svg'); }
.runenburg-immo-calculator .uicon-save { --uicon-url: url('../icons/save.svg'); }
.runenburg-immo-calculator .uicon-pdf { --uicon-url: url('../icons/pdf.svg'); }
.runenburg-immo-calculator .uicon-excel { --uicon-url: url('../icons/excel.svg'); }
.runenburg-immo-calculator .uicon-import { --uicon-url: url('../icons/import.svg'); }
.runenburg-immo-calculator .uicon-portfolio { --uicon-url: url('../icons/portfolio.svg'); }
.runenburg-immo-calculator .uicon-reset { --uicon-url: url('../icons/reset.svg'); }
.runenburg-immo-calculator .uicon-edit { --uicon-url: url('../icons/edit.svg'); }
.runenburg-immo-calculator .uicon-money-income { --uicon-url: url('../icons/money-income.svg'); }
.runenburg-immo-calculator .uicon-expense { --uicon-url: url('../icons/expense.svg'); }
.runenburg-immo-calculator .uicon-square-plus { --uicon-url: url('../icons/square-plus.svg'); }

.runenburg-immo-calculator .quick-action-icon,
.runenburg-immo-calculator .tool-chip-icon,
.runenburg-immo-calculator .listing-edit-toggle,
.runenburg-immo-calculator .portfolio-open-button > .uicon,
.runenburg-immo-calculator .portfolio-tool-action > .uicon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.runenburg-immo-calculator .tool-chip-icon {
  width: 24px !important;
  height: 24px !important;
  color: #0f766e !important;
}
.runenburg-immo-calculator .tool-chip-icon .uicon {
  --uicon-size: 20px;
}
.runenburg-immo-calculator .quick-action-icon .uicon {
  --uicon-size: 18px;
}
.runenburg-immo-calculator .listing-edit-toggle .listing-edit-icon.uicon {
  --uicon-size: 18px;
  margin: 0 !important;
  color: #0f766e !important;
}
.runenburg-immo-calculator .listing-edit-toggle {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
}
.runenburg-immo-calculator .portfolio-open-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
}
.runenburg-immo-calculator .portfolio-open-button .uicon {
  --uicon-size: 18px;
}
.runenburg-immo-calculator .portfolio-toolbar .portfolio-tool-action {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
}
.runenburg-immo-calculator .portfolio-toolbar .portfolio-tool-action .uicon {
  --uicon-size: 18px;
  color: currentColor !important;
}

/* v1.6.7: Tool-Bereich strukturiert, Icons links / Texte rechts, weitere UIcons */
.runenburg-immo-calculator .uicon-image { --uicon-url: url('../icons/image.svg'); }
.runenburg-immo-calculator .uicon-url { --uicon-url: url('../icons/url.svg'); }
.runenburg-immo-calculator .uicon-text { --uicon-url: url('../icons/text.svg'); }

.runenburg-immo-calculator .immo-tools-tab .uicon{
  --uicon-size: 21px;
  color: #0f766e !important;
}
.runenburg-immo-calculator .immo-tools-tab{
  gap: 10px !important;
}

.runenburg-immo-calculator .immo-tools-drawer .tool-box{
  margin: 14px 0 !important;
  padding: 14px !important;
  border: 1px solid rgba(203,216,230,.86) !important;
  border-radius: 22px !important;
  background: linear-gradient(145deg, rgba(255,255,255,.96) 0%, rgba(248,250,252,.92) 100%) !important;
  box-shadow: 0 14px 32px rgba(15,23,42,.055) !important;
}
.runenburg-immo-calculator .immo-tools-drawer .tool-box:first-of-type{ margin-top: 16px !important; }
.runenburg-immo-calculator .immo-tools-drawer .tool-box-head{
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  margin: 0 0 12px !important;
  color: #0f766e !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  font-size: .76rem !important;
  font-weight: 950 !important;
}
.runenburg-immo-calculator .immo-tools-drawer .tool-box-head .uicon{
  --uicon-size: 17px;
  color: #0f766e !important;
}
.runenburg-immo-calculator .immo-tools-drawer .tool-box .save-object-grid{
  margin: 0 !important;
}

.runenburg-immo-calculator .immo-tools-drawer .tool-chip-actions,
.runenburg-immo-calculator .immo-tools-drawer .icon-actions.tool-chip-actions{
  gap: 10px !important;
}
.runenburg-immo-calculator .tool-action.icon-action.tool-chip,
.runenburg-immo-calculator .tool-action.icon-action.tool-chip.calc-link-action{
  justify-content: space-between !important;
  text-align: right !important;
  gap: 12px !important;
  padding: 13px 15px !important;
  min-height: 54px !important;
}
.runenburg-immo-calculator .tool-action.icon-action.tool-chip .tool-chip-icon{
  order: 1 !important;
  flex: 0 0 24px !important;
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  justify-content: flex-start !important;
}
.runenburg-immo-calculator .tool-action.icon-action.tool-chip .tool-chip-label{
  order: 2 !important;
  margin-left: auto !important;
  text-align: right !important;
  justify-content: flex-end !important;
  width: auto !important;
  flex: 1 1 auto !important;
}

.runenburg-immo-calculator .portfolio-open-button{
  width: 100% !important;
  min-height: 52px !important;
  justify-content: space-between !important;
  text-align: right !important;
  padding: 13px 16px !important;
  border-radius: 18px !important;
  background: linear-gradient(145deg, #ffffff 0%, #f7fbfc 100%) !important;
  border: 1px solid rgba(203,216,230,.95) !important;
  color: #1e293b !important;
  box-shadow: 0 12px 26px rgba(15,23,42,.06) !important;
}
.runenburg-immo-calculator .portfolio-open-button .uicon{
  order: 1 !important;
  color: #0f766e !important;
  margin-right: auto !important;
}

.runenburg-immo-calculator .image-upload-button{
  justify-content: flex-start !important;
  position: relative !important;
  background: linear-gradient(145deg, #ffffff 0%, #f8fafc 100%) !important;
}
.runenburg-immo-calculator .image-upload-button .image-choice-icon{
  --uicon-size: 18px;
  color: #0f766e !important;
  margin-left: auto !important;
}
.runenburg-immo-calculator .image-upload-button strong{
  margin-left: 0 !important;
  white-space: nowrap !important;
}

.runenburg-immo-calculator .listing-method-head{
  grid-template-columns: 42px 1fr !important;
  gap: 12px !important;
  align-items: center !important;
}
.runenburg-immo-calculator .listing-method-head > .uicon{
  --uicon-size: 20px;
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  border-radius: 15px !important;
  display: inline-grid !important;
  place-items: center !important;
  color: #0f766e !important;
  background-color: #0f766e !important;
  box-shadow: inset 0 0 0 999px rgba(15,118,110,.10) !important;
  -webkit-mask: var(--uicon-url) center / 20px 20px no-repeat, linear-gradient(#000 0 0) !important;
  mask: var(--uicon-url) center / 20px 20px no-repeat, linear-gradient(#000 0 0) !important;
}
/* Safari/Firefox-freundlicher Fallback: Icon innerhalb farbigem Quadrat über Pseudo-Element vermeiden */
.runenburg-immo-calculator .listing-method-head > span.uicon{
  background-color: #0f766e !important;
}

@media (max-width: 420px){
  .runenburg-immo-calculator .tool-action.icon-action.tool-chip,
  .runenburg-immo-calculator .tool-action.icon-action.tool-chip.calc-link-action,
  .runenburg-immo-calculator .portfolio-open-button{
    justify-content: space-between !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}


/* v1.6.8: Buttons wieder vollständig linksbündig; Funktions-Icons neutral schwarz */
.runenburg-immo-calculator .tool-action.icon-action.tool-chip,
.runenburg-immo-calculator .tool-action.icon-action.tool-chip.calc-link-action {
  justify-content: flex-start !important;
  text-align: left !important;
  gap: 11px !important;
}
.runenburg-immo-calculator .tool-action.icon-action.tool-chip .tool-chip-icon {
  order: 0 !important;
  margin: 0 !important;
  flex: 0 0 24px !important;
  justify-content: center !important;
  color: #111827 !important;
}
.runenburg-immo-calculator .tool-action.icon-action.tool-chip .tool-chip-icon .uicon {
  color: #111827 !important;
  background-color: #111827 !important;
}
.runenburg-immo-calculator .tool-action.icon-action.tool-chip .tool-chip-label {
  order: 1 !important;
  margin: 0 !important;
  text-align: left !important;
  justify-content: flex-start !important;
  flex: 0 1 auto !important;
  width: auto !important;
  color: #1f2937 !important;
}
.runenburg-immo-calculator .tool-action.icon-action.tool-chip:hover .tool-chip-label,
.runenburg-immo-calculator .tool-action.icon-action.tool-chip:focus-visible .tool-chip-label {
  color: #0f766e !important;
}
.runenburg-immo-calculator .tool-action.icon-action.tool-chip:hover .tool-chip-icon,
.runenburg-immo-calculator .tool-action.icon-action.tool-chip:focus-visible .tool-chip-icon,
.runenburg-immo-calculator .tool-action.icon-action.tool-chip:hover .tool-chip-icon .uicon,
.runenburg-immo-calculator .tool-action.icon-action.tool-chip:focus-visible .tool-chip-icon .uicon {
  color: #0f766e !important;
  background-color: #0f766e !important;
}

.runenburg-immo-calculator .portfolio-open-button {
  justify-content: flex-start !important;
  text-align: left !important;
  gap: 11px !important;
}
.runenburg-immo-calculator .portfolio-open-button .uicon {
  order: 0 !important;
  margin: 0 !important;
  color: #111827 !important;
  background-color: #111827 !important;
}
.runenburg-immo-calculator .portfolio-open-button:hover .uicon,
.runenburg-immo-calculator .portfolio-open-button:focus-visible .uicon {
  color: #0f766e !important;
  background-color: #0f766e !important;
}

.runenburg-immo-calculator .immo-tools-tab .uicon {
  color: #111827 !important;
  background-color: #111827 !important;
}
.runenburg-immo-calculator .immo-tools-tab:hover .uicon,
.runenburg-immo-calculator .immo-tools-tab:focus-visible .uicon {
  color: #0f766e !important;
  background-color: #0f766e !important;
}

.runenburg-immo-calculator .image-upload-button {
  justify-content: flex-start !important;
  text-align: left !important;
  gap: 10px !important;
}
.runenburg-immo-calculator .image-upload-button .image-choice-icon {
  margin: 0 !important;
  order: 1 !important;
  color: #111827 !important;
  background-color: #111827 !important;
}
.runenburg-immo-calculator .image-upload-button strong {
  order: 2 !important;
  margin: 0 !important;
  text-align: left !important;
}
.runenburg-immo-calculator .image-upload-button .object-image-preview {
  order: 0 !important;
  margin-right: 2px !important;
}
.runenburg-immo-calculator .image-upload-button:hover .image-choice-icon,
.runenburg-immo-calculator .image-upload-button:focus-visible .image-choice-icon {
  color: #0f766e !important;
  background-color: #0f766e !important;
}

.runenburg-immo-calculator .listing-method-head {
  grid-template-columns: 24px 1fr !important;
  gap: 12px !important;
}
.runenburg-immo-calculator .listing-method-head > span.uicon {
  --uicon-size: 20px !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #111827 !important;
  background-color: #111827 !important;
  -webkit-mask: var(--uicon-url) center / contain no-repeat !important;
  mask: var(--uicon-url) center / contain no-repeat !important;
  align-self: start !important;
  margin-top: 2px !important;
}
.runenburg-immo-calculator .listing-import-section:hover .listing-method-head > span.uicon {
  color: #0f766e !important;
  background-color: #0f766e !important;
}

/* v1.6.9: bereinigte Designsprache, Himmelblau-Primary, schwarze Icons ohne Kreis, Toast */
.runenburg-immo-calculator{
  --primary-sky:#38bdf8;
  --primary-sky-2:#0ea5e9;
  --primary-sky-3:#0284c7;
}

/* Überschriften bleiben neutral schwarz; Status-/Result-Farben bleiben davon unberührt */
.runenburg-immo-calculator h1,
.runenburg-immo-calculator h2,
.runenburg-immo-calculator h3,
.runenburg-immo-calculator .section-title-line h3,
.runenburg-immo-calculator .tool-box-head strong,
.runenburg-immo-calculator .cashflow-section-title,
.runenburg-immo-calculator .rent-growth-card h2,
.runenburg-immo-calculator .portfolio-title,
.runenburg-immo-calculator .panel-head h2{
  color:#101828 !important;
}

/* Primäraktionen jetzt bewusst unabhängig von Backend-Brand/Akzent */
.runenburg-immo-calculator .quick-save-button,
.runenburg-immo-calculator .panel-head-actions .quick-save-button,
.runenburg-immo-calculator .zero-gradient-button,
.runenburg-immo-calculator .history-add-button{
  background:linear-gradient(135deg,var(--primary-sky) 0%,var(--primary-sky-2) 55%,var(--primary-sky-3) 100%) !important;
  color:#fff !important;
  border-color:rgba(14,165,233,.28) !important;
  box-shadow:0 14px 30px rgba(14,165,233,.22) !important;
}
.runenburg-immo-calculator .quick-save-button:hover,
.runenburg-immo-calculator .quick-save-button:focus-visible,
.runenburg-immo-calculator .panel-head-actions .quick-save-button:hover,
.runenburg-immo-calculator .panel-head-actions .quick-save-button:focus-visible,
.runenburg-immo-calculator .zero-gradient-button:hover,
.runenburg-immo-calculator .zero-gradient-button:focus-visible,
.runenburg-immo-calculator .history-add-button:hover,
.runenburg-immo-calculator .history-add-button:focus-visible{
  background:linear-gradient(135deg,#7dd3fc 0%,#38bdf8 42%,#0ea5e9 100%) !important;
  color:#fff !important;
  transform:translateY(-1px);
  box-shadow:0 18px 38px rgba(14,165,233,.28) !important;
}
.runenburg-immo-calculator .quick-save-button .uicon,
.runenburg-immo-calculator .panel-head-actions .quick-save-button .uicon{
  color:#fff !important;
  background-color:#fff !important;
}

/* Sekundäre Aktion bleibt ruhig und ohne Rot */
.runenburg-immo-calculator .ghost-button#resetButton,
.runenburg-immo-calculator .panel-head-actions .ghost-button#resetButton{
  background:#fff !important;
  color:#344054 !important;
  border-color:#d9e2f2 !important;
  box-shadow:0 10px 24px rgba(15,23,42,.06) !important;
}
.runenburg-immo-calculator .ghost-button#resetButton:hover,
.runenburg-immo-calculator .ghost-button#resetButton:focus-visible,
.runenburg-immo-calculator .panel-head-actions .ghost-button#resetButton:hover,
.runenburg-immo-calculator .panel-head-actions .ghost-button#resetButton:focus-visible{
  color:#0f172a !important;
  border-color:#bae6fd !important;
  background:#f0f9ff !important;
  box-shadow:0 14px 28px rgba(14,165,233,.12) !important;
}
.runenburg-immo-calculator .ghost-button#resetButton .uicon,
.runenburg-immo-calculator .panel-head-actions .ghost-button#resetButton .uicon{
  color:#0f172a !important;
  background-color:#0f172a !important;
}

/* Schnellaktionsbuttons sauber linksbündig */
.runenburg-immo-calculator .panel-head-actions .quick-save-button,
.runenburg-immo-calculator .panel-head-actions .ghost-button#resetButton{
  justify-content:flex-start !important;
  text-align:left !important;
  gap:10px !important;
}
.runenburg-immo-calculator .panel-head-actions .quick-action-icon{
  width:20px !important;
  height:20px !important;
  min-width:20px !important;
  display:inline-grid !important;
  place-items:center !important;
}
.runenburg-immo-calculator .panel-head-actions .quick-action-icon .uicon{
  --uicon-size:18px !important;
  width:18px !important;
  height:18px !important;
}

/* Seitentabs und Drawer-Header: normale schwarze Icons, keine runden Iconflächen */
.runenburg-immo-calculator .immo-tools-tab .uicon,
.runenburg-immo-calculator .immo-tools-drawer .tool-box-head .uicon,
.runenburg-immo-calculator .listing-method-head > span.uicon{
  width:20px !important;
  height:20px !important;
  min-width:20px !important;
  min-height:20px !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background-color:#111827 !important;
  color:#111827 !important;
  padding:0 !important;
  outline:0 !important;
  display:inline-block !important;
  -webkit-mask:var(--uicon-url) center / contain no-repeat !important;
  mask:var(--uicon-url) center / contain no-repeat !important;
}
.runenburg-immo-calculator .immo-tools-tab:hover .uicon,
.runenburg-immo-calculator .immo-tools-tab:focus-visible .uicon,
.runenburg-immo-calculator .listing-import-section:hover .listing-method-head > span.uicon,
.runenburg-immo-calculator .tool-box-head:hover .uicon{
  background-color:var(--primary-sky-2) !important;
  color:var(--primary-sky-2) !important;
}

/* Bild wählen: kein Emoji-Platzhalter neben dem neuen Icon */
.runenburg-immo-calculator .image-upload-button .object-image-preview.is-empty,
.runenburg-immo-calculator .image-upload-button .object-image-preview:empty{
  display:none !important;
}
.runenburg-immo-calculator .image-upload-button .image-choice-icon{
  order:0 !important;
  width:20px !important;
  height:20px !important;
  min-width:20px !important;
  background-color:#111827 !important;
  color:#111827 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.runenburg-immo-calculator .image-upload-button strong{order:1 !important;}
.runenburg-immo-calculator .image-upload-button:hover .image-choice-icon,
.runenburg-immo-calculator .image-upload-button:focus-visible .image-choice-icon{
  background-color:var(--primary-sky-2) !important;
  color:var(--primary-sky-2) !important;
}

/* Tool-Chips: linksbündig, schwarze Icons, himmelblauer Hover */
.runenburg-immo-calculator .tool-action.icon-action.tool-chip,
.runenburg-immo-calculator .tool-action.icon-action.tool-chip.calc-link-action,
.runenburg-immo-calculator .portfolio-open-button{
  justify-content:flex-start !important;
  text-align:left !important;
  color:#1f2937 !important;
}
.runenburg-immo-calculator .tool-action.icon-action.tool-chip .tool-chip-icon,
.runenburg-immo-calculator .tool-action.icon-action.tool-chip .tool-chip-icon .uicon,
.runenburg-immo-calculator .portfolio-open-button .uicon{
  background-color:#111827 !important;
  color:#111827 !important;
}
.runenburg-immo-calculator .tool-action.icon-action.tool-chip:hover .tool-chip-label,
.runenburg-immo-calculator .tool-action.icon-action.tool-chip:focus-visible .tool-chip-label,
.runenburg-immo-calculator .portfolio-open-button:hover,
.runenburg-immo-calculator .portfolio-open-button:focus-visible{
  color:var(--primary-sky-3) !important;
}
.runenburg-immo-calculator .tool-action.icon-action.tool-chip:hover .tool-chip-icon,
.runenburg-immo-calculator .tool-action.icon-action.tool-chip:focus-visible .tool-chip-icon,
.runenburg-immo-calculator .tool-action.icon-action.tool-chip:hover .tool-chip-icon .uicon,
.runenburg-immo-calculator .tool-action.icon-action.tool-chip:focus-visible .tool-chip-icon .uicon,
.runenburg-immo-calculator .portfolio-open-button:hover .uicon,
.runenburg-immo-calculator .portfolio-open-button:focus-visible .uicon{
  background-color:var(--primary-sky-2) !important;
  color:var(--primary-sky-2) !important;
}

/* gespeicherte Berechnungen: Bearbeiten entfernt, zwei saubere Aktionen */
.runenburg-immo-calculator .saved-card-actions,
.runenburg-immo-calculator .immo-tools-drawer .saved-card-actions{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}

/* Kurze, moderne Speichern-Benachrichtigung */
.immo-save-toast{
  position:fixed;
  left:50%;
  bottom:28px;
  z-index:2147483647;
  transform:translate(-50%,16px) scale(.98);
  opacity:0;
  pointer-events:none;
  max-width:min(520px,calc(100vw - 28px));
  padding:14px 18px;
  border-radius:18px;
  background:linear-gradient(135deg,#ecfeff 0%,#e0f2fe 100%);
  border:1px solid rgba(14,165,233,.22);
  box-shadow:0 22px 60px rgba(15,23,42,.18);
  color:#0f172a;
  font:800 14px/1.35 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  transition:opacity .22s ease, transform .22s ease;
}
.immo-save-toast.is-visible{
  opacity:1;
  transform:translate(-50%,0) scale(1);
}

/* v1.7.0: zentrale Farbrollen, saubere Funktionsicons, getrennte Ergebnisfarben */
.runenburg-immo-calculator{
  --primary-sky: var(--ui-primary-start, #7dd3fc) !important;
  --primary-sky-2: var(--ui-primary-mid, #38bdf8) !important;
  --primary-sky-3: var(--ui-primary-end, #0284c7) !important;
}

/* Funktionsicons: nur das innere SVG bekommt die Maske, der Wrapper bleibt transparent. */
.runenburg-immo-calculator .tool-action.icon-action.tool-chip .tool-chip-icon,
.runenburg-immo-calculator .portfolio-open-button .tool-chip-icon{
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #111827 !important;
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.runenburg-immo-calculator .tool-action.icon-action.tool-chip .tool-chip-icon .uicon,
.runenburg-immo-calculator .portfolio-open-button .uicon,
.runenburg-immo-calculator .portfolio-toolbar .portfolio-tool-action .uicon,
.runenburg-immo-calculator .quick-action-icon .uicon,
.runenburg-immo-calculator .image-upload-button .image-choice-icon,
.runenburg-immo-calculator .listing-method-head > span.uicon{
  background-color: currentColor !important;
  color: currentColor !important;
  -webkit-mask: var(--uicon-url) center / contain no-repeat !important;
  mask: var(--uicon-url) center / contain no-repeat !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.runenburg-immo-calculator .tool-action.icon-action.tool-chip:hover .tool-chip-icon,
.runenburg-immo-calculator .tool-action.icon-action.tool-chip:focus-visible .tool-chip-icon,
.runenburg-immo-calculator .tool-action.icon-action.tool-chip:hover .tool-chip-icon .uicon,
.runenburg-immo-calculator .tool-action.icon-action.tool-chip:focus-visible .tool-chip-icon .uicon,
.runenburg-immo-calculator .portfolio-open-button:hover .uicon,
.runenburg-immo-calculator .portfolio-open-button:focus-visible .uicon,
.runenburg-immo-calculator .listing-import-section:hover .listing-method-head > span.uicon{
  color: var(--ui-primary-end, #0284c7) !important;
  background-color: var(--ui-primary-end, #0284c7) !important;
}

/* Tool-Box-Headlines neutral; nur Hover darf dezent Farbe annehmen. */
.runenburg-immo-calculator .immo-tools-drawer .tool-box-head,
.runenburg-immo-calculator .immo-tools-drawer .tool-box-head strong{
  color:#101828 !important;
}
.runenburg-immo-calculator .immo-tools-drawer .tool-box-head .uicon{
  color:#111827 !important;
  background-color:#111827 !important;
}

/* Ergebnisfarben: unabhängig von Brand/Primary. Vor Steuern = warm/orange, Nach Steuern = grün. */
.runenburg-immo-calculator .before-card{
  border-top-color: var(--before-tax-border, #fb923c) !important;
  background:
    radial-gradient(circle at 88% 2%, color-mix(in srgb, var(--before-tax-accent, #f97316) 20%, transparent), transparent 42%),
    linear-gradient(180deg, #ffffff 0%, var(--before-tax-bg, #fff7ed) 100%) !important;
}
.runenburg-immo-calculator .before-card .big-icon{
  background: color-mix(in srgb, var(--before-tax-accent, #f97316) 13%, #ffffff) !important;
}
.runenburg-immo-calculator .before-card .main-number:not(.negative):not(.positive){
  color: color-mix(in srgb, var(--before-tax-accent, #f97316) 84%, #7c2d12) !important;
}
.runenburg-immo-calculator .after-card{
  border-top-color: var(--after-tax-border, #10b981) !important;
  background:
    radial-gradient(circle at 86% 0%, color-mix(in srgb, var(--after-tax-accent, #059669) 24%, transparent), transparent 42%),
    linear-gradient(180deg, #ffffff 0%, var(--after-tax-bg, #ecfdf5) 100%) !important;
}
.runenburg-immo-calculator .after-card .big-icon{
  background: color-mix(in srgb, var(--after-tax-accent, #059669) 13%, #ffffff) !important;
}
.runenburg-immo-calculator .after-card .main-number:not(.negative):not(.positive),
.runenburg-immo-calculator .after-card .calc-row strong{
  color: var(--after-tax-accent, #059669) !important;
}
.runenburg-immo-calculator .after-card .calc-row strong.negative,
.runenburg-immo-calculator .negative{ color: var(--red, #b42318) !important; }

/* Primäraktionen: nur über UI-Primary gesteuert, nicht über Vor-/Nach-Steuern-Farben. */
.runenburg-immo-calculator .quick-save-button,
.runenburg-immo-calculator .panel-head-actions .quick-save-button,
.runenburg-immo-calculator .zero-gradient-button,
.runenburg-immo-calculator .history-add-button,
.runenburg-immo-calculator .tool-action.primary,
.runenburg-immo-calculator .listing-apply-button{
  background: linear-gradient(135deg, var(--ui-primary-start, #7dd3fc) 0%, var(--ui-primary-mid, #38bdf8) 52%, var(--ui-primary-end, #0284c7) 100%) !important;
  color:#fff !important;
  border-color: color-mix(in srgb, var(--ui-primary-mid, #38bdf8) 45%, transparent) !important;
  box-shadow: 0 16px 34px color-mix(in srgb, var(--ui-primary-end, #0284c7) 24%, transparent) !important;
}
.runenburg-immo-calculator .quick-save-button:hover,
.runenburg-immo-calculator .zero-gradient-button:hover,
.runenburg-immo-calculator .history-add-button:hover,
.runenburg-immo-calculator .tool-action.primary:hover,
.runenburg-immo-calculator .listing-apply-button:hover{
  filter: brightness(1.03) saturate(1.04);
}

/* Cashflow-Entwicklung ans neue CI angepasst: dunkler Glas-Look mit Sky/Cyan-Akzenten. */
.runenburg-immo-calculator .rent-growth-card{
  background:
    radial-gradient(circle at 15% 10%, color-mix(in srgb, var(--ui-primary-mid, #38bdf8) 24%, transparent), transparent 34%),
    radial-gradient(circle at 88% 16%, color-mix(in srgb, var(--after-tax-accent, #059669) 20%, transparent), transparent 32%),
    linear-gradient(145deg, #08111f 0%, var(--rent-growth-dark, #0f172a) 56%, #0b2530 100%) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  box-shadow: 0 30px 76px rgba(2,6,23,.24) !important;
}
.runenburg-immo-calculator .rent-growth-card .eyebrow{ color: color-mix(in srgb, var(--ui-primary-start, #7dd3fc) 72%, #ffffff) !important; }
.runenburg-immo-calculator .rent-growth-head.simplified h2,
.runenburg-immo-calculator .rent-growth-card h2{
  color:#fff !important;
}
.runenburg-immo-calculator .rent-growth-chart-wrap{
  background:
    radial-gradient(circle at 20% 14%, color-mix(in srgb, var(--ui-primary-start, #7dd3fc) 24%, transparent), transparent 36%),
    linear-gradient(145deg, rgba(255,255,255,.98), rgba(240,249,255,.95)) !important;
  border: 1px solid rgba(186,230,253,.55) !important;
}
.runenburg-immo-calculator .rg-rent{ stroke: var(--after-tax-accent, #059669) !important; }
.runenburg-immo-calculator .rg-rent-dot{ fill: #ffffff !important; stroke: var(--after-tax-accent, #059669) !important; }
.runenburg-immo-calculator .rg-history-dot{ fill: #ffffff !important; stroke: var(--ui-primary-end, #0284c7) !important; }
.runenburg-immo-calculator .rg-cost{ stroke: var(--rent-chart-cost, #dc2626) !important; }
.runenburg-immo-calculator .rg-area{ fill: color-mix(in srgb, var(--after-tax-accent, #059669) 18%, transparent) !important; }

/* v1.7.0: Headerbild und Abschnittstitel behalten ihre neutralen Farben. */
.runenburg-immo-calculator .hero-copy h1,
.runenburg-immo-calculator .panel-head h2,
.runenburg-immo-calculator .section-title-line h3,
.runenburg-immo-calculator .cashflow-section-title{ color:#101828 !important; }


/* v1.7.1: Navy für Vor-Steuern, Ampel-Score und saubere Toolbutton-Hover ohne Icon-Verfärbung */
.runenburg-immo-calculator{
  --traffic-red: var(--score-low, #ef4444);
  --traffic-yellow: var(--score-mid, #facc15);
  --traffic-green: var(--score-high, #22c55e);
}

/* Vor Steuern: seriöses Marineblau, bewusst getrennt vom UI-Himmelblau */
.runenburg-immo-calculator .before-card{
  border-top-color: var(--before-tax-border, #000080) !important;
  background:
    radial-gradient(circle at 88% 0%, color-mix(in srgb, var(--before-tax-accent, #000080) 20%, transparent), transparent 44%),
    linear-gradient(180deg, #ffffff 0%, var(--before-tax-bg, #eef2ff) 100%) !important;
}
.runenburg-immo-calculator .before-card .big-icon{
  background: color-mix(in srgb, var(--before-tax-accent, #000080) 10%, #ffffff) !important;
}
.runenburg-immo-calculator .before-card .main-number:not(.negative):not(.positive),
.runenburg-immo-calculator .before-card .calc-row strong:not(.negative):not(.positive){
  color: var(--before-tax-accent, #000080) !important;
}

/* Nach Steuern bleibt grün und wird nicht von UI-Primary-Farben überschrieben */
.runenburg-immo-calculator .after-card{
  border-top-color: var(--after-tax-border, #22c55e) !important;
  background:
    radial-gradient(circle at 86% 0%, color-mix(in srgb, var(--after-tax-accent, #16a34a) 24%, transparent), transparent 42%),
    linear-gradient(180deg, #ffffff 0%, var(--after-tax-bg, #ecfdf5) 100%) !important;
}
.runenburg-immo-calculator .after-card .main-number:not(.negative):not(.positive),
.runenburg-immo-calculator .after-card .calc-row strong:not(.negative):not(.positive){
  color: var(--after-tax-accent, #16a34a) !important;
}

/* Score stärker wie Ampel: rot / gelb / grün */
.runenburg-immo-calculator .status-pill.bad{ background: color-mix(in srgb, var(--traffic-red) 14%, #fff) !important; color: color-mix(in srgb, var(--traffic-red) 80%, #7f1d1d) !important; }
.runenburg-immo-calculator .status-pill.neutral{ background: color-mix(in srgb, var(--traffic-yellow) 20%, #fff) !important; color: #854d0e !important; }
.runenburg-immo-calculator .status-pill.good{ background: color-mix(in srgb, var(--traffic-green) 14%, #fff) !important; color: color-mix(in srgb, var(--traffic-green) 78%, #14532d) !important; }
.runenburg-immo-calculator .hero-score-compact .score-ring{
  background: linear-gradient(135deg, var(--score-current, var(--traffic-yellow)), color-mix(in srgb, var(--score-current, var(--traffic-yellow)) 72%, #ffffff)) !important;
}
.runenburg-immo-calculator .hero-score-text strong,
.runenburg-immo-calculator .hero-score-text > span#scoreLabel{
  color: var(--score-current, var(--traffic-yellow)) !important;
}

/* Werkzeug-Buttons: Hover über Button-Gradient, Icons bleiben lesbar schwarz */
.runenburg-immo-calculator .tool-action.icon-action.tool-chip,
.runenburg-immo-calculator .tool-action.icon-action.tool-chip.calc-link-action,
.runenburg-immo-calculator .portfolio-open-button,
.runenburg-immo-calculator .portfolio-toolbar .portfolio-tool-action{
  position: relative !important;
  overflow: hidden !important;
  background: linear-gradient(145deg, #ffffff 0%, #f8fafc 100%) !important;
  color: #1f2937 !important;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease !important;
}
.runenburg-immo-calculator .tool-action.icon-action.tool-chip:hover,
.runenburg-immo-calculator .tool-action.icon-action.tool-chip:focus-visible,
.runenburg-immo-calculator .portfolio-open-button:hover,
.runenburg-immo-calculator .portfolio-open-button:focus-visible,
.runenburg-immo-calculator .portfolio-toolbar .portfolio-tool-action:hover,
.runenburg-immo-calculator .portfolio-toolbar .portfolio-tool-action:focus-visible{
  background:
    radial-gradient(circle at 12% 18%, color-mix(in srgb, var(--ui-primary-start, #7dd3fc) 30%, transparent), transparent 42%),
    linear-gradient(135deg, rgba(255,255,255,.98) 0%, color-mix(in srgb, var(--ui-primary-start, #7dd3fc) 22%, #ffffff) 54%, color-mix(in srgb, var(--ui-primary-mid, #38bdf8) 18%, #ffffff) 100%) !important;
  border-color: color-mix(in srgb, var(--ui-primary-mid, #38bdf8) 38%, #dbe4ef) !important;
  box-shadow: 0 14px 30px rgba(15,23,42,.08) !important;
  transform: translateY(-1px) !important;
  color: #111827 !important;
}
.runenburg-immo-calculator .tool-action.icon-action.tool-chip .tool-chip-icon,
.runenburg-immo-calculator .tool-action.icon-action.tool-chip .tool-chip-icon .uicon,
.runenburg-immo-calculator .portfolio-open-button .uicon,
.runenburg-immo-calculator .portfolio-toolbar .portfolio-tool-action .uicon,
.runenburg-immo-calculator .listing-method-head > span.uicon,
.runenburg-immo-calculator .image-upload-button .image-choice-icon{
  color:#111827 !important;
  background-color:#111827 !important;
}
.runenburg-immo-calculator .tool-action.icon-action.tool-chip:hover .tool-chip-icon,
.runenburg-immo-calculator .tool-action.icon-action.tool-chip:focus-visible .tool-chip-icon,
.runenburg-immo-calculator .tool-action.icon-action.tool-chip:hover .tool-chip-icon .uicon,
.runenburg-immo-calculator .tool-action.icon-action.tool-chip:focus-visible .tool-chip-icon .uicon,
.runenburg-immo-calculator .portfolio-open-button:hover .uicon,
.runenburg-immo-calculator .portfolio-open-button:focus-visible .uicon,
.runenburg-immo-calculator .portfolio-toolbar .portfolio-tool-action:hover .uicon,
.runenburg-immo-calculator .portfolio-toolbar .portfolio-tool-action:focus-visible .uicon{
  color:#111827 !important;
  background-color:#111827 !important;
}

/* Cashflow-Entwicklung an das neue, kühlere CI angepasst */
.runenburg-immo-calculator .rent-growth-card{
  background:
    radial-gradient(circle at 15% 8%, color-mix(in srgb, var(--ui-primary-start, #7dd3fc) 28%, transparent), transparent 34%),
    radial-gradient(circle at 88% 12%, color-mix(in srgb, var(--before-tax-accent, #000080) 18%, transparent), transparent 34%),
    linear-gradient(145deg, #08111f 0%, var(--rent-growth-dark, #0f172a) 58%, #061b32 100%) !important;
}
.runenburg-immo-calculator .rent-growth-card .eyebrow,
.runenburg-immo-calculator .rent-growth-card .cashflow-section-title .eyebrow{
  color: color-mix(in srgb, var(--ui-primary-start, #7dd3fc) 78%, #ffffff) !important;
}


/* v1.7.2: finale Farb-/Icon-Bereinigung und CI-konformer Portfolio-Dialog */
.runenburg-immo-calculator{
  --traffic-red: var(--score-low, #cc3232);
  --traffic-yellow: var(--score-mid, #e7b416);
  --traffic-green: var(--score-high, #2dc937);
}

/* UIcons: nie als schwarze/blau gefüllte Kästen rendern, sondern als saubere Masken-Icons. */
.runenburg-immo-calculator .tool-chip-icon,
.runenburg-immo-calculator .portfolio-open-button .tool-chip-icon,
.runenburg-immo-calculator .portfolio-toolbar .portfolio-tool-action .tool-chip-icon,
.runenburg-immo-calculator .listing-method-head > span.uicon,
.runenburg-immo-calculator .image-upload-button .image-choice-icon{
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  color: #111827 !important;
}
.runenburg-immo-calculator .tool-chip-icon .uicon,
.runenburg-immo-calculator .portfolio-open-button .uicon,
.runenburg-immo-calculator .portfolio-toolbar .portfolio-tool-action .uicon,
.runenburg-immo-calculator .listing-method-head > span.uicon,
.runenburg-immo-calculator .image-upload-button .image-choice-icon.uicon,
.runenburg-immo-calculator .quick-action-icon .uicon,
.runenburg-immo-calculator .listing-edit-icon.uicon{
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  max-width: 20px !important;
  max-height: 20px !important;
  display: inline-block !important;
  flex: 0 0 20px !important;
  background: #111827 !important;
  background-color: #111827 !important;
  color: #111827 !important;
  -webkit-mask: var(--uicon-url) center / contain no-repeat !important;
  mask: var(--uicon-url) center / contain no-repeat !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.runenburg-immo-calculator .tool-action.icon-action.tool-chip:hover .tool-chip-icon,
.runenburg-immo-calculator .tool-action.icon-action.tool-chip:focus-visible .tool-chip-icon,
.runenburg-immo-calculator .tool-action.icon-action.tool-chip:hover .tool-chip-icon .uicon,
.runenburg-immo-calculator .tool-action.icon-action.tool-chip:focus-visible .tool-chip-icon .uicon,
.runenburg-immo-calculator .portfolio-open-button:hover .uicon,
.runenburg-immo-calculator .portfolio-open-button:focus-visible .uicon,
.runenburg-immo-calculator .portfolio-toolbar .portfolio-tool-action:hover .uicon,
.runenburg-immo-calculator .portfolio-toolbar .portfolio-tool-action:focus-visible .uicon{
  background: #111827 !important;
  background-color: #111827 !important;
  color: #111827 !important;
}

/* Hover sichtbar über den Button selbst, nicht über Icon-Farbwechsel. */
.runenburg-immo-calculator .tool-action.icon-action.tool-chip:hover,
.runenburg-immo-calculator .tool-action.icon-action.tool-chip:focus-visible,
.runenburg-immo-calculator .portfolio-open-button:hover,
.runenburg-immo-calculator .portfolio-open-button:focus-visible,
.runenburg-immo-calculator .portfolio-toolbar .portfolio-tool-action:hover,
.runenburg-immo-calculator .portfolio-toolbar .portfolio-tool-action:focus-visible{
  background:
    radial-gradient(circle at 10% 18%, color-mix(in srgb, var(--ui-primary-start, #7dd3fc) 30%, transparent), transparent 40%),
    linear-gradient(135deg, #ffffff 0%, color-mix(in srgb, var(--ui-primary-start, #7dd3fc) 16%, #ffffff) 55%, color-mix(in srgb, var(--ui-primary-mid, #38bdf8) 12%, #ffffff) 100%) !important;
}

/* Ampel-Farben deutlicher, mit vom Backend steuerbaren Rollen. */
.runenburg-immo-calculator .hero-score-compact .score-ring{
  background: linear-gradient(135deg, var(--score-current, var(--traffic-yellow)), color-mix(in srgb, var(--score-current, var(--traffic-yellow)) 68%, #ffffff)) !important;
}
.runenburg-immo-calculator .hero-score-text strong,
.runenburg-immo-calculator .hero-score-text > span#scoreLabel{
  color: var(--score-current, var(--traffic-yellow)) !important;
}

/* CI-Dialog statt Browser-alert für geteilte Portfolio-Links. */
.immo-confirm-overlay{
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(15, 23, 42, .42);
  backdrop-filter: blur(10px);
}
.immo-confirm-dialog{
  width: min(520px, calc(100vw - 32px));
  border-radius: 30px;
  background:
    radial-gradient(circle at 10% 0%, rgba(125, 211, 252, .22), transparent 38%),
    linear-gradient(145deg, rgba(255,255,255,.98), rgba(248,250,252,.96));
  border: 1px solid rgba(203, 213, 225, .8);
  box-shadow: 0 30px 80px rgba(15, 23, 42, .22);
  padding: 24px;
  color: #111827;
  font-family: inherit;
}
.immo-confirm-dialog .eyebrow{
  margin: 0 0 8px;
  font-size: .74rem;
  font-weight: 950;
  letter-spacing: .17em;
  text-transform: uppercase;
  color: #0369a1;
}
.immo-confirm-dialog h3{
  margin: 0 0 10px;
  font-size: clamp(1.35rem, 3vw, 1.85rem);
  line-height: 1.05;
  color: #101828;
}
.immo-confirm-dialog p{
  margin: 0 0 18px;
  color: #667085;
  font-weight: 650;
  line-height: 1.5;
}
.immo-confirm-actions{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.immo-confirm-actions button{
  border: 1px solid #cbd5e1;
  border-radius: 18px;
  padding: 13px 16px;
  font-weight: 900;
  cursor: pointer;
  background: #ffffff;
  color: #111827;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}
.immo-confirm-actions button:hover{
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(15,23,42,.09);
  border-color: #bae6fd;
}
.immo-confirm-actions .primary{
  border-color: transparent;
  color: #ffffff;
  background: linear-gradient(135deg, var(--ui-primary-start, #7dd3fc), var(--ui-primary-mid, #38bdf8), var(--ui-primary-end, #0284c7));
}
@media (max-width: 520px){
  .immo-confirm-actions{ grid-template-columns: 1fr; }
}


/* v1.7.3: finaler Fix für Werkzeug-Icons.
   Ursache der schwarzen Rechtecke: eine spätere Regel hat den Wrapper .tool-chip-icon selbst
   mit background-color:#111827 gefüllt. Die Maske lag aber auf dem inneren .uicon.
   Ergebnis: Wrapper = schwarzes Quadrat, Icon nicht sichtbar. Deshalb: Wrapper immer transparent,
   nur das innere .uicon bekommt die Maskenfarbe. */
.runenburg-immo-calculator .tool-action.icon-action.tool-chip .tool-chip-icon,
.runenburg-immo-calculator .tool-action.icon-action.tool-chip:hover .tool-chip-icon,
.runenburg-immo-calculator .tool-action.icon-action.tool-chip:focus-visible .tool-chip-icon {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  max-width: 20px !important;
  max-height: 20px !important;
  flex: 0 0 20px !important;
  display: inline-grid !important;
  place-items: center !important;
  background: transparent !important;
  background-color: transparent !important;
  color: #111827 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}
.runenburg-immo-calculator .tool-action.icon-action.tool-chip .tool-chip-icon .uicon,
.runenburg-immo-calculator .tool-action.icon-action.tool-chip:hover .tool-chip-icon .uicon,
.runenburg-immo-calculator .tool-action.icon-action.tool-chip:focus-visible .tool-chip-icon .uicon {
  --uicon-size: 20px;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  max-width: 20px !important;
  max-height: 20px !important;
  flex: 0 0 20px !important;
  display: inline-block !important;
  background: #111827 !important;
  background-color: #111827 !important;
  color: #111827 !important;
  -webkit-mask-image: var(--uicon-url) !important;
  mask-image: var(--uicon-url) !important;
  -webkit-mask-repeat: no-repeat !important;
  mask-repeat: no-repeat !important;
  -webkit-mask-position: center !important;
  mask-position: center !important;
  -webkit-mask-size: contain !important;
  mask-size: contain !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  line-height: 1 !important;
  opacity: 1 !important;
}
/* Header-/Import-/Portfolio-Icons, die direkt als .uicon genutzt werden, behalten dieselbe Maskenlogik. */
.runenburg-immo-calculator .portfolio-open-button .uicon,
.runenburg-immo-calculator .portfolio-toolbar .portfolio-tool-action .uicon,
.runenburg-immo-calculator .immo-tools-drawer .tool-box-head .uicon,
.runenburg-immo-calculator .listing-method-head > span.uicon,
.runenburg-immo-calculator .image-upload-button .image-choice-icon.uicon,
.runenburg-immo-calculator .quick-action-icon .uicon {
  -webkit-mask-image: var(--uicon-url) !important;
  mask-image: var(--uicon-url) !important;
  -webkit-mask-repeat: no-repeat !important;
  mask-repeat: no-repeat !important;
  -webkit-mask-position: center !important;
  mask-position: center !important;
  -webkit-mask-size: contain !important;
  mask-size: contain !important;
}


/* v1.7.4: nachhaltiger Werkzeug-Icon-Fix
   Die Tool-Chips nutzen bewusst <img>-SVGs statt CSS-Masken. Dadurch können alte globale
   .uicon-/mask-Regeln keine gefüllten schwarzen Rechtecke mehr erzeugen. */
.runenburg-immo-calculator .tool-action.icon-action.tool-chip .tool-chip-icon,
.runenburg-immo-calculator .tool-action.icon-action.tool-chip:hover .tool-chip-icon,
.runenburg-immo-calculator .tool-action.icon-action.tool-chip:focus-visible .tool-chip-icon {
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  max-width: 22px !important;
  flex: 0 0 22px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
  color: #111827 !important;
}
.runenburg-immo-calculator .tool-action.icon-action.tool-chip .tool-chip-icon .tool-chip-img,
.runenburg-immo-calculator .tool-action.icon-action.tool-chip:hover .tool-chip-icon .tool-chip-img,
.runenburg-immo-calculator .tool-action.icon-action.tool-chip:focus-visible .tool-chip-icon .tool-chip-img {
  width: 19px !important;
  height: 19px !important;
  min-width: 19px !important;
  max-width: 19px !important;
  display: block !important;
  object-fit: contain !important;
  object-position: center !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
}
.runenburg-immo-calculator .tool-action.icon-action.tool-chip .tool-chip-icon .uicon {
  display: none !important;
}

/* v1.7.9: Einnahmen/Ausgaben, Darlehen anpassen, Rentensplitting */
.runenburg-immo-calculator .income-section {
  background: linear-gradient(180deg, rgba(240,253,250,.96) 0%, rgba(255,255,255,.96) 100%) !important;
  border-color: rgba(20,184,166,.28) !important;
}
.runenburg-immo-calculator .income-section .section-icon {
  background: #ccfbf1 !important;
}
.runenburg-immo-calculator .input-panel .form-section:has(#separateReserves) {
  background: linear-gradient(180deg, rgba(255,247,237,.95) 0%, rgba(255,255,255,.96) 100%) !important;
  border-color: rgba(251,146,60,.28) !important;
}
.runenburg-immo-calculator .input-panel .form-section:has(#separateReserves) .section-icon {
  background: #ffedd5 !important;
}
.runenburg-immo-calculator .rent-split-row {
  grid-template-columns: 1fr 1fr 1fr;
  margin-top: 6px;
}
.runenburg-immo-calculator #calculatedEquityAmount {
  color: #263248 !important;
}
.runenburg-immo-calculator .finance-equity-row .muted-result label {
  min-height: 28px;
}
@media (max-width: 900px) {
  .runenburg-immo-calculator .rent-split-row { grid-template-columns: 1fr; }
}

/* v1.8.0: Einnahmen-Aufteilung, Break-Even-Miete und reduzierte Standardansicht */
.runenburg-immo-calculator .rent-main-row {
  align-items: end;
}
.runenburg-immo-calculator .rent-break-even-group .zero-gradient-button {
  width: 100%;
  min-height: 58px;
}
.runenburg-immo-calculator .income-section {
  background: linear-gradient(135deg, rgba(236,253,245,.98) 0%, rgba(240,253,250,.92) 52%, rgba(255,255,255,.98) 100%) !important;
  border: 1px solid rgba(16,185,129,.24) !important;
  box-shadow: 0 14px 36px rgba(16,185,129,.08) !important;
}
.runenburg-immo-calculator .income-section .section-title-line h3::after {
  content: "Einnahmeseite";
  font-size: .72rem;
  font-weight: 950;
  color: #047857;
  background: rgba(209,250,229,.95);
  border: 1px solid rgba(16,185,129,.22);
  border-radius: 999px;
  padding: 5px 8px;
}
.runenburg-immo-calculator .input-panel .form-section:has(#separateReserves) {
  background: linear-gradient(135deg, rgba(255,247,237,.98) 0%, rgba(255,251,235,.92) 52%, rgba(255,255,255,.98) 100%) !important;
  border: 1px solid rgba(249,115,22,.24) !important;
  box-shadow: 0 14px 36px rgba(249,115,22,.08) !important;
}
.runenburg-immo-calculator .input-panel .form-section:has(#separateReserves) .section-title-line h3::after {
  content: "Kostenseite";
  font-size: .72rem;
  font-weight: 950;
  color: #c2410c;
  background: rgba(255,237,213,.95);
  border: 1px solid rgba(249,115,22,.22);
  border-radius: 999px;
  padding: 5px 8px;
}
.runenburg-immo-calculator .rent-split-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-top: 10px;
  padding: 14px;
  border: 1px solid rgba(16,185,129,.18);
  border-radius: 20px;
  background: rgba(255,255,255,.72);
}
.runenburg-immo-calculator .rent-split-row .input-group {
  margin-bottom: 0;
}
.runenburg-immo-calculator .income-total-line {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 10px;
  padding: 12px 14px;
  border-radius: 18px;
  background: #ecfdf5;
  border: 1px solid rgba(16,185,129,.22);
  color: #065f46;
  font-weight: 900;
}
.runenburg-immo-calculator .income-total-line strong {
  font-size: 1.08rem;
  color: #047857;
}
.runenburg-immo-calculator .income-total-line.hidden { display: none !important; }
.runenburg-immo-calculator .collapsible-form-section {
  padding: 0 !important;
  border-top: 0 !important;
  background: transparent !important;
}
.runenburg-immo-calculator .section-details {
  border: 1px solid #dfe7f2;
  border-radius: 22px;
  background: rgba(255,255,255,.88);
  box-shadow: 0 10px 24px rgba(15,23,42,.045);
  overflow: visible;
  margin: 14px 0;
}
.runenburg-immo-calculator .section-details > summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 15px 16px;
  user-select: none;
}
.runenburg-immo-calculator .section-details > summary::-webkit-details-marker { display: none; }
.runenburg-immo-calculator .section-details > summary h3 {
  margin: 0 !important;
}
.runenburg-immo-calculator .section-details > summary::before {
  content: "▸";
  color: var(--brand);
  font-weight: 950;
  transition: transform .18s ease;
}
.runenburg-immo-calculator .section-details[open] > summary::before {
  transform: rotate(90deg);
}
.runenburg-immo-calculator .section-open-hint {
  margin-left: auto;
  border-radius: 999px;
  padding: 7px 10px;
  background: #eff6ff;
  border: 1px solid #dbeafe;
  color: #2563eb;
  font-size: .78rem;
  font-weight: 950;
}
.runenburg-immo-calculator .section-details[open] .section-open-hint::before { content: "ge"; }
.runenburg-immo-calculator .section-details-body {
  padding: 0 16px 16px;
}
.runenburg-immo-calculator .inner-title-line {
  margin-bottom: 12px;
}
.runenburg-immo-calculator .section-mini-hint {
  color: var(--muted);
  font-size: .9rem;
  font-weight: 800;
}
.runenburg-immo-calculator .collapsible-form-section .compact-toggle {
  display: inline-flex;
  margin: 0 0 12px auto;
}
@media (max-width: 900px) {
  .runenburg-immo-calculator .rent-main-row { grid-template-columns: 1fr; }
  .runenburg-immo-calculator .section-details > summary { align-items: flex-start; }
}
.runenburg-immo-calculator .section-details[open] .section-open-hint { font-size: 0; }
.runenburg-immo-calculator .section-details[open] .section-open-hint::before { content: "schließen"; font-size: .78rem; }


/* v1.8.1: schlankere Einnahmen/Ausgaben-Optik und moderne Aufklappbereiche ohne Öffnen-Button */
.runenburg-immo-calculator .section-uicon {
  font-size: 0 !important;
  color: currentColor !important;
}
.runenburg-immo-calculator .section-uicon .uicon {
  --uicon-size: 17px;
}
.runenburg-immo-calculator .income-section {
  position: relative;
  overflow: visible;
  background: linear-gradient(135deg, rgba(236,253,245,.98) 0%, rgba(240,253,250,.9) 58%, rgba(255,255,255,.98) 100%) !important;
  border: 1px solid rgba(16,185,129,.24) !important;
  border-radius: 24px !important;
  padding: 18px !important;
  box-shadow: 0 16px 42px rgba(16,185,129,.075) !important;
}
.runenburg-immo-calculator .income-section::before {
  content: "";
  position: absolute;
  inset: 14px auto 14px 0;
  width: 4px;
  border-radius: 999px;
  background: linear-gradient(180deg, #10b981, #14b8a6);
}
.runenburg-immo-calculator .income-section .section-title-line h3::after,
.runenburg-immo-calculator .expense-section .section-title-line h3::after,
.runenburg-immo-calculator .input-panel .form-section:has(#separateReserves) .section-title-line h3::after {
  content: none !important;
  display: none !important;
}
.runenburg-immo-calculator .income-section .section-icon,
.runenburg-immo-calculator .income-section .income-uicon {
  background: #ccfbf1 !important;
  color: #047857 !important;
}
.runenburg-immo-calculator .expense-section,
.runenburg-immo-calculator .input-panel .expense-section:has(#separateReserves) {
  position: relative;
  overflow: visible;
  background: linear-gradient(135deg, rgba(255,247,237,.98) 0%, rgba(255,251,235,.9) 58%, rgba(255,255,255,.98) 100%) !important;
  border: 1px solid rgba(249,115,22,.24) !important;
  border-radius: 24px !important;
  padding: 18px !important;
  box-shadow: 0 16px 42px rgba(249,115,22,.075) !important;
}
.runenburg-immo-calculator .expense-section::before {
  content: "";
  position: absolute;
  inset: 14px auto 14px 0;
  width: 4px;
  border-radius: 999px;
  background: linear-gradient(180deg, #fb923c, #f97316);
}
.runenburg-immo-calculator .expense-section .section-icon,
.runenburg-immo-calculator .expense-section .expense-uicon,
.runenburg-immo-calculator .input-panel .expense-section:has(#separateReserves) .section-icon {
  background: #ffedd5 !important;
  color: #c2410c !important;
}
.runenburg-immo-calculator .rent-split-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-top: 12px;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform-origin: top;
  animation: immoSoftReveal .22s ease both;
}
.runenburg-immo-calculator .rent-split-row.hidden { display: none !important; }
.runenburg-immo-calculator .rent-split-row .input-group {
  margin-bottom: 0;
}
.runenburg-immo-calculator .income-total-line {
  margin-top: 12px;
  padding: 11px 14px;
  border-radius: 16px;
  background: rgba(204,251,241,.72) !important;
  border: 1px solid rgba(20,184,166,.22) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72);
}
.runenburg-immo-calculator .collapsible-form-section {
  padding: 14px 0 !important;
  border-top: 1px solid var(--line) !important;
  background: transparent !important;
}
.runenburg-immo-calculator .section-details {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible;
  margin: 0 !important;
}
.runenburg-immo-calculator .section-details > summary {
  position: relative;
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 !important;
  min-height: 42px;
  user-select: none;
}
.runenburg-immo-calculator .section-details > summary::-webkit-details-marker { display: none; }
.runenburg-immo-calculator .section-details > summary::before { content: none !important; display: none !important; }
.runenburg-immo-calculator .section-details > summary h3 {
  margin: 0 !important;
}
.runenburg-immo-calculator .section-expand-icon {
  width: 34px;
  height: 34px;
  min-width: 34px;
  display: inline-grid;
  place-items: center;
  border-radius: 13px;
  background: #f1f5f9;
  border: 1px solid #dbe4f0;
  color: #31415a;
  transition: transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.runenburg-immo-calculator .section-expand-icon::before,
.runenburg-immo-calculator .section-expand-icon::after {
  content: "";
  position: absolute;
  width: 14px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  transition: transform .18s ease, opacity .18s ease;
}
.runenburg-immo-calculator .section-expand-icon::after { transform: rotate(90deg); }
.runenburg-immo-calculator .section-details > summary:hover .section-expand-icon,
.runenburg-immo-calculator .section-details > summary:focus-visible .section-expand-icon {
  background: #eef6ff;
  border-color: #c7ddff;
  color: var(--brand);
  box-shadow: 0 10px 24px rgba(37,99,235,.10);
}
.runenburg-immo-calculator .section-details[open] .section-expand-icon {
  transform: rotate(180deg);
  background: #eef6ff;
  border-color: #c7ddff;
  color: var(--brand);
}
.runenburg-immo-calculator .section-details[open] .section-expand-icon::after { opacity: 0; transform: rotate(90deg) scaleX(.3); }
.runenburg-immo-calculator .section-open-hint { display: none !important; }
.runenburg-immo-calculator .section-details-body {
  padding: 12px 0 0 !important;
  transform-origin: top;
  animation: immoSoftReveal .22s ease both;
}
.runenburg-immo-calculator .section-details-body .slim-details,
.runenburg-immo-calculator .section-details-body .input-row,
.runenburg-immo-calculator .section-details-body .slim-summary-row {
  max-width: 100%;
}
@keyframes immoSoftReveal {
  from { opacity: 0; transform: translateY(-6px) scaleY(.985); }
  to { opacity: 1; transform: translateY(0) scaleY(1); }
}
@media (max-width: 900px) {
  .runenburg-immo-calculator .income-section,
  .runenburg-immo-calculator .expense-section { padding: 16px !important; }
  .runenburg-immo-calculator .section-details > summary { align-items: center !important; }
}

/* v1.8.2 Kaufnebenkosten: keine zweite Unterbox, kompakte Summary mit Live-Wert */
.runenburg-immo-calculator .section-summary-total {
  margin-left: auto;
  margin-right: 4px;
  padding: 8px 12px;
  border-radius: 999px;
  background: #f1f5f9;
  border: 1px solid #dbe4f0;
  color: #344054;
  font-size: .88rem;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.74);
}
.runenburg-immo-calculator .section-details > summary:hover .section-summary-total,
.runenburg-immo-calculator .section-details > summary:focus-visible .section-summary-total {
  background: #eef6ff;
  border-color: #c7ddff;
  color: var(--brand);
}
.runenburg-immo-calculator #purchaseCostsSectionDetails .section-details-body {
  display: grid;
  gap: 14px;
}
.runenburg-immo-calculator #purchaseCostsSectionDetails .compact-toggle {
  justify-self: start;
  margin: 0;
}
.runenburg-immo-calculator #purchaseCostsSectionDetails .purchase-cost-grid {
  padding: 0 !important;
  margin: 0 !important;
  animation: immoSoftReveal .22s ease both;
}
.runenburg-immo-calculator #purchaseCostsSectionDetails .purchase-cost-grid .input-group {
  min-width: 0;
}
@media (max-width: 640px) {
  .runenburg-immo-calculator .section-details > summary {
    display: grid !important;
    grid-template-columns: 1fr auto;
    gap: 10px !important;
  }
  .runenburg-immo-calculator .section-summary-total {
    grid-column: 1 / -1;
    justify-self: start;
    margin: -2px 0 0 42px;
  }
  .runenburg-immo-calculator .section-expand-icon {
    grid-column: 2;
    grid-row: 1;
  }
}


/* v1.8.3: Einnahmen/Ausgaben optisch gleichwertig, Toggle-Text vertikal sauber */
.runenburg-immo-calculator .income-section {
  background: linear-gradient(135deg, rgba(232,255,247,.98) 0%, rgba(221,252,243,.96) 54%, rgba(240,253,250,.98) 100%) !important;
  border-color: rgba(16,185,129,.30) !important;
  box-shadow: 0 16px 42px rgba(16,185,129,.085), inset 0 1px 0 rgba(255,255,255,.72) !important;
}
.runenburg-immo-calculator .expense-section,
.runenburg-immo-calculator .input-panel .expense-section:has(#separateReserves) {
  background: linear-gradient(135deg, rgba(255,243,232,.98) 0%, rgba(255,237,213,.96) 54%, rgba(255,247,237,.98) 100%) !important;
  border-color: rgba(249,115,22,.30) !important;
  box-shadow: 0 16px 42px rgba(249,115,22,.085), inset 0 1px 0 rgba(255,255,255,.72) !important;
}
.runenburg-immo-calculator .income-section .section-icon,
.runenburg-immo-calculator .income-section .income-uicon {
  background: rgba(153,246,228,.88) !important;
  border: 1px solid rgba(20,184,166,.22) !important;
}
.runenburg-immo-calculator .expense-section .section-icon,
.runenburg-immo-calculator .expense-section .expense-uicon,
.runenburg-immo-calculator .input-panel .expense-section:has(#separateReserves) .section-icon {
  background: rgba(254,215,170,.90) !important;
  border: 1px solid rgba(249,115,22,.22) !important;
}
.runenburg-immo-calculator .section-title-line {
  align-items: center !important;
}
.runenburg-immo-calculator .section-title-line .toggle-line,
.runenburg-immo-calculator label.toggle-line {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  line-height: 1 !important;
  gap: 10px !important;
  white-space: nowrap;
}
.runenburg-immo-calculator .toggle-line span {
  flex: 0 0 48px;
}


/* v1.8.4: echte optische Gleichbehandlung + saubere vertikale Zentrierung */
.runenburg-immo-calculator .input-panel .income-section {
  background: linear-gradient(135deg, #dcfce7 0%, #ccfbf1 56%, #ecfdf5 100%) !important;
  border-color: rgba(16,185,129,.36) !important;
  box-shadow: 0 16px 42px rgba(16,185,129,.095), inset 0 1px 0 rgba(255,255,255,.78) !important;
}
.runenburg-immo-calculator .input-panel .expense-section,
.runenburg-immo-calculator .input-panel .expense-section:has(#separateReserves) {
  background: linear-gradient(135deg, #ffedd5 0%, #fed7aa 56%, #fff7ed 100%) !important;
  border-color: rgba(249,115,22,.36) !important;
  box-shadow: 0 16px 42px rgba(249,115,22,.095), inset 0 1px 0 rgba(255,255,255,.78) !important;
}
.runenburg-immo-calculator .input-panel .income-section::before,
.runenburg-immo-calculator .input-panel .expense-section::before {
  top: 14px !important;
  bottom: 14px !important;
}
.runenburg-immo-calculator .input-panel .section-title-line {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
}
.runenburg-immo-calculator .input-panel .section-title-line h3,
.runenburg-immo-calculator .section-details-summary h3 {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  line-height: 1.15 !important;
}
.runenburg-immo-calculator .input-panel .section-title-line .toggle-line,
.runenburg-immo-calculator .input-panel label.toggle-line {
  display: inline-grid !important;
  grid-template-columns: 48px auto !important;
  align-items: center !important;
  min-height: 36px !important;
  line-height: 1 !important;
}
.runenburg-immo-calculator .input-panel label.toggle-line > span {
  align-self: center !important;
}
.runenburg-immo-calculator .input-panel .collapsible-form-section {
  padding: 0 !important;
  min-height: 82px !important;
  display: flex !important;
  align-items: center !important;
}
.runenburg-immo-calculator .input-panel .collapsible-form-section .section-details {
  width: 100% !important;
}
.runenburg-immo-calculator .section-details > summary.section-details-summary,
.runenburg-immo-calculator .section-details > summary {
  min-height: 58px !important;
  padding: 12px 0 !important;
  align-items: center !important;
}
.runenburg-immo-calculator .section-details-summary .section-icon {
  flex: 0 0 30px !important;
}
.runenburg-immo-calculator .section-summary-total,
.runenburg-immo-calculator .section-expand-icon {
  align-self: center !important;
}
.runenburg-immo-calculator .section-details-body {
  padding-top: 10px !important;
}
@media (max-width: 640px) {
  .runenburg-immo-calculator .section-details > summary.section-details-summary,
  .runenburg-immo-calculator .section-details > summary {
    align-items: center !important;
  }
}

/* v1.8.5: weicheres Gesamtdesign, saubere Toggle-Zentrierung, einheitliche UIcons */
.runenburg-immo-calculator .uicon-calculator-money { --uicon-url: url('../icons/calculator-money.svg'); }
.runenburg-immo-calculator .uicon-online-tax { --uicon-url: url('../icons/online-tax.svg'); }

.runenburg-immo-calculator .input-panel .income-section,
.runenburg-immo-calculator .input-panel .expense-section,
.runenburg-immo-calculator .input-panel .expense-section:has(#separateReserves) {
  border: 1px solid rgba(148,163,184,.18) !important;
  border-radius: 24px !important;
  padding: 20px 20px 21px 20px !important;
  box-shadow: 0 18px 46px rgba(15,23,42,.075), inset 0 1px 0 rgba(255,255,255,.88) !important;
  overflow: visible !important;
}

.runenburg-immo-calculator .input-panel .income-section {
  background:
    radial-gradient(circle at 8% 0%, rgba(20,184,166,.14) 0%, rgba(20,184,166,0) 44%),
    linear-gradient(135deg, rgba(240,253,250,.96) 0%, rgba(255,255,255,.94) 48%, rgba(236,253,245,.92) 100%) !important;
}

.runenburg-immo-calculator .input-panel .expense-section,
.runenburg-immo-calculator .input-panel .expense-section:has(#separateReserves) {
  background:
    radial-gradient(circle at 8% 0%, rgba(249,115,22,.14) 0%, rgba(249,115,22,0) 44%),
    linear-gradient(135deg, rgba(255,247,237,.96) 0%, rgba(255,255,255,.94) 48%, rgba(255,251,235,.92) 100%) !important;
}

.runenburg-immo-calculator .input-panel .income-section::before,
.runenburg-immo-calculator .input-panel .expense-section::before {
  top: 18px !important;
  bottom: 18px !important;
  width: 4px !important;
  border-radius: 999px !important;
  box-shadow: 0 10px 22px rgba(15,23,42,.08) !important;
}

.runenburg-immo-calculator .input-panel .section-title-line {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  margin-bottom: 18px !important;
  min-height: 40px !important;
}

.runenburg-immo-calculator .input-panel .section-title-line h3,
.runenburg-immo-calculator .input-panel .section-details-summary h3 {
  display: inline-flex !important;
  align-items: center !important;
  gap: 11px !important;
  margin: 0 !important;
  line-height: 1.1 !important;
  min-width: 0 !important;
}

.runenburg-immo-calculator .input-panel .section-icon {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  border-radius: 13px !important;
  font-size: 0 !important;
  display: inline-grid !important;
  place-items: center !important;
  flex: 0 0 36px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.84), 0 8px 18px rgba(15,23,42,.055) !important;
}

.runenburg-immo-calculator .input-panel .section-icon .uicon {
  --uicon-size: 22px;
}

.runenburg-immo-calculator .input-panel .income-uicon {
  color: #0f766e !important;
  background: rgba(204,251,241,.9) !important;
  border: 1px solid rgba(20,184,166,.18) !important;
}

.runenburg-immo-calculator .input-panel .expense-uicon,
.runenburg-immo-calculator .input-panel .expense-section:has(#separateReserves) .section-icon {
  color: #c2410c !important;
  background: rgba(255,237,213,.92) !important;
  border: 1px solid rgba(249,115,22,.18) !important;
}

.runenburg-immo-calculator .input-panel .purchase-uicon {
  color: #1d4ed8 !important;
  background: rgba(219,234,254,.92) !important;
  border: 1px solid rgba(59,130,246,.18) !important;
}

.runenburg-immo-calculator .input-panel .tax-uicon {
  color: #7c3aed !important;
  background: rgba(237,233,254,.92) !important;
  border: 1px solid rgba(139,92,246,.18) !important;
}

.runenburg-immo-calculator .input-panel .section-title-line .toggle-line,
.runenburg-immo-calculator .input-panel label.toggle-line {
  display: inline-grid !important;
  grid-template-columns: 48px auto !important;
  align-items: center !important;
  justify-content: end !important;
  column-gap: 11px !important;
  min-height: 40px !important;
  height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  align-self: center !important;
}

.runenburg-immo-calculator .input-panel .toggle-line > span {
  grid-column: 1 !important;
  align-self: center !important;
  margin: 0 !important;
}

.runenburg-immo-calculator .input-panel .toggle-line input {
  grid-column: 1 !important;
}

.runenburg-immo-calculator .input-panel .rent-main-row {
  align-items: end !important;
}

.runenburg-immo-calculator .input-panel .collapsible-form-section {
  padding: 0 !important;
  min-height: 82px !important;
  display: flex !important;
  align-items: stretch !important;
  border-top: 0 !important;
  background: transparent !important;
}

.runenburg-immo-calculator .input-panel .collapsible-form-section .section-details {
  width: 100% !important;
  display: block !important;
}

.runenburg-immo-calculator .input-panel .section-details > summary.section-details-summary,
.runenburg-immo-calculator .input-panel .section-details > summary {
  min-height: 82px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
}

.runenburg-immo-calculator .input-panel .section-details-summary h3 {
  flex: 1 1 auto !important;
}

.runenburg-immo-calculator .input-panel .section-summary-total {
  align-self: center !important;
  margin-left: auto !important;
  margin-right: 6px !important;
  padding: 9px 13px !important;
  display: inline-flex !important;
  align-items: center !important;
  min-height: 34px !important;
}

.runenburg-immo-calculator .input-panel .section-expand-icon {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  border-radius: 14px !important;
  align-self: center !important;
}

@media (max-width: 640px) {
  .runenburg-immo-calculator .input-panel .section-title-line {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
  .runenburg-immo-calculator .input-panel .section-title-line .toggle-line,
  .runenburg-immo-calculator .input-panel label.toggle-line {
    justify-content: start !important;
  }
  .runenburg-immo-calculator .input-panel .section-details > summary.section-details-summary,
  .runenburg-immo-calculator .input-panel .section-details > summary {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    align-items: center !important;
    min-height: 86px !important;
    gap: 10px !important;
  }
  .runenburg-immo-calculator .input-panel .section-summary-total {
    grid-column: 1 / -1 !important;
    justify-self: start !important;
    margin: -4px 0 0 48px !important;
  }
  .runenburg-immo-calculator .input-panel .section-expand-icon {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }
}

/* v1.8.6: Icon- und Toggle-Alignment finalisiert */
.runenburg-immo-calculator .uicon-bank { --uicon-url: url('../icons/bank.svg'); }

.runenburg-immo-calculator .input-panel .section-title-line {
  align-items: center !important;
  min-height: 42px !important;
  margin-bottom: 18px !important;
}

.runenburg-immo-calculator .input-panel .section-title-line h3,
.runenburg-immo-calculator .input-panel .section-details-summary h3 {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 42px !important;
  gap: 12px !important;
  margin: 0 !important;
  line-height: 1.15 !important;
}

.runenburg-immo-calculator .input-panel .section-icon,
.runenburg-immo-calculator .input-panel .section-uicon {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  flex: 0 0 38px !important;
  border-radius: 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  line-height: 1 !important;
}

.runenburg-immo-calculator .input-panel .section-icon .uicon {
  --uicon-size: 23px;
  display: block !important;
  margin: 0 !important;
}

/* Icons auf neutralen/weißen Boxen: ruhig, schwarz, sichtbar */
.runenburg-immo-calculator .input-panel .finance-uicon,
.runenburg-immo-calculator .input-panel .purchase-uicon,
.runenburg-immo-calculator .input-panel .tax-uicon {
  color: #111827 !important;
  background: rgba(248,250,252,.96) !important;
  border: 1px solid rgba(203,213,225,.78) !important;
  box-shadow: 0 10px 22px rgba(15,23,42,.055), inset 0 1px 0 rgba(255,255,255,.9) !important;
}

/* Einnahmen/Ausgaben behalten ihre Farblogik, aber exakt gleiche Icon-Geometrie */
.runenburg-immo-calculator .input-panel .income-uicon {
  color: #0f766e !important;
  background: rgba(204,251,241,.9) !important;
  border: 1px solid rgba(20,184,166,.2) !important;
}
.runenburg-immo-calculator .input-panel .expense-uicon,
.runenburg-immo-calculator .input-panel .expense-section:has(#separateReserves) .expense-uicon {
  color: #c2410c !important;
  background: rgba(255,237,213,.92) !important;
  border: 1px solid rgba(249,115,22,.2) !important;
}

/* Toggle-Zeilen nicht als Grid behandeln; Text sitzt dadurch wieder vertikal mittig. */
.runenburg-immo-calculator .input-panel .section-title-line .toggle-line,
.runenburg-immo-calculator .input-panel label.toggle-line {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 11px !important;
  min-height: 38px !important;
  height: 38px !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 38px !important;
  white-space: nowrap !important;
  align-self: center !important;
  font-size: .9rem !important;
}

.runenburg-immo-calculator .input-panel .toggle-line input {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
}

.runenburg-immo-calculator .input-panel .toggle-line > span {
  width: 48px !important;
  height: 28px !important;
  min-width: 48px !important;
  flex: 0 0 48px !important;
  align-self: center !important;
  margin: 0 !important;
  display: inline-block !important;
  line-height: 1 !important;
}

.runenburg-immo-calculator .input-panel .income-section,
.runenburg-immo-calculator .input-panel .expense-section,
.runenburg-immo-calculator .input-panel .expense-section:has(#separateReserves) {
  padding: 22px 22px 22px 22px !important;
}

.runenburg-immo-calculator .input-panel .income-section::before,
.runenburg-immo-calculator .input-panel .expense-section::before {
  top: 22px !important;
  bottom: 22px !important;
}

.runenburg-immo-calculator .input-panel .collapsible-form-section .section-details > summary.section-details-summary,
.runenburg-immo-calculator .input-panel .collapsible-form-section .section-details > summary {
  min-height: 86px !important;
  padding: 0 22px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
}

.runenburg-immo-calculator .input-panel .collapsible-form-section .section-details-summary h3 {
  flex: 1 1 auto !important;
  min-height: 42px !important;
}

.runenburg-immo-calculator .input-panel .section-summary-total,
.runenburg-immo-calculator .input-panel .section-expand-icon {
  align-self: center !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

@media (max-width: 640px) {
  .runenburg-immo-calculator .input-panel .section-title-line {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 12px !important;
  }
  .runenburg-immo-calculator .input-panel .section-title-line .toggle-line,
  .runenburg-immo-calculator .input-panel label.toggle-line {
    justify-content: flex-start !important;
  }
  .runenburg-immo-calculator .input-panel .collapsible-form-section .section-details > summary.section-details-summary,
  .runenburg-immo-calculator .input-panel .collapsible-form-section .section-details > summary {
    min-height: 88px !important;
    padding: 0 18px !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
  }
}

/* v1.8.7: neues Logo in der Hero-Box */
.runenburg-immo-calculator .hero-icon-wrap {
  width: 86px;
  height: 86px;
  border-radius: 26px;
  background: #ffffff;
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.10);
  overflow: hidden;
}
.runenburg-immo-calculator .hero-icon {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: inherit;
  display: block;
}
@media (max-width: 720px) {
  .runenburg-immo-calculator .hero-icon-wrap {
    width: 72px;
    height: 72px;
    border-radius: 22px;
  }
}


/* v1.8.8: Innenabstände der aufklappbaren Boxen und Kaufnebenkosten-Summary nachgezogen */
.runenburg-immo-calculator .input-panel .collapsible-form-section .section-details-body {
  padding: 6px 22px 24px 22px !important;
  box-sizing: border-box !important;
}

.runenburg-immo-calculator .input-panel #purchaseCostsSectionDetails .section-details-body {
  padding: 4px 22px 24px 22px !important;
  gap: 16px !important;
}

.runenburg-immo-calculator .input-panel #taxDepreciationSectionDetails .section-details-body {
  padding: 6px 22px 24px 22px !important;
}

.runenburg-immo-calculator .input-panel .collapsible-form-section .section-details-body .input-row,
.runenburg-immo-calculator .input-panel .collapsible-form-section .section-details-body .purchase-cost-grid,
.runenburg-immo-calculator .input-panel .collapsible-form-section .section-details-body .depreciation-main-row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.runenburg-immo-calculator .input-panel .inner-title-line {
  margin: 0 0 18px 0 !important;
  padding: 0 !important;
  align-items: center !important;
}

.runenburg-immo-calculator .input-panel .section-summary-total.purchase-cost-summary {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding-left: 14px !important;
  padding-right: 14px !important;
  min-height: 34px !important;
}

.runenburg-immo-calculator .input-panel .section-summary-total.purchase-cost-summary .summary-equals {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 14px !important;
  color: #64748b !important;
  font-weight: 900 !important;
}

.runenburg-immo-calculator .input-panel .collapsible-form-section .compact-toggle {
  min-height: 36px !important;
  height: 36px !important;
  line-height: 36px !important;
  margin: 0 !important;
}

.runenburg-immo-calculator .input-panel .collapsible-form-section .compact-toggle > span {
  width: 48px !important;
  height: 28px !important;
  min-width: 48px !important;
}

@media (max-width: 640px) {
  .runenburg-immo-calculator .input-panel .collapsible-form-section .section-details-body,
  .runenburg-immo-calculator .input-panel #purchaseCostsSectionDetails .section-details-body,
  .runenburg-immo-calculator .input-panel #taxDepreciationSectionDetails .section-details-body {
    padding: 4px 18px 22px 18px !important;
  }
  .runenburg-immo-calculator .input-panel .section-summary-total.purchase-cost-summary {
    gap: 8px !important;
  }
}

/* v1.8.9: Kaufnebenkosten-Summary kompakter, Gleichheitszeichen klarer */
.runenburg-immo-calculator .input-panel .section-summary-total.purchase-cost-summary {
  gap: 6px !important;
  padding-left: 13px !important;
  padding-right: 13px !important;
  letter-spacing: 0 !important;
}

.runenburg-immo-calculator .input-panel .section-summary-total.purchase-cost-summary .summary-equals {
  min-width: 10px !important;
  width: 10px !important;
  color: #334155 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: .94rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  transform: translateY(-.5px) !important;
  opacity: .95 !important;
}


/* v1.9.0: Ergebniswerte semantisch einfärben: Einnahmen grün, Ausgaben rot. */
.runenburg-immo-calculator .calc-row strong.income-value,
.runenburg-immo-calculator .calc-subrow strong.income-value,
.runenburg-immo-calculator .detail-row strong.income-value {
  color: #07966f !important;
}
.runenburg-immo-calculator .calc-row strong.expense-value,
.runenburg-immo-calculator .calc-subrow strong.expense-value,
.runenburg-immo-calculator .detail-row strong.expense-value {
  color: #dc2626 !important;
}
.runenburg-immo-calculator .calc-row.plus strong.income-value {
  color: #07966f !important;
}
.runenburg-immo-calculator .calc-row.minus strong.expense-value,
.runenburg-immo-calculator .calc-subrow strong.expense-value {
  color: #dc2626 !important;
}


/* v1.9.1: Ergebniswerte konsequent semantisch einfärben.
   Einnahmen grün, Ausgaben rot, Nullwerte neutral/blau – unabhängig von der Vor-/Nach-Steuern-Spalte. */
.runenburg-immo-calculator .before-card .main-number.neutral-value,
.runenburg-immo-calculator .after-card .main-number.neutral-value,
.runenburg-immo-calculator .before-card .calc-row strong.neutral-value,
.runenburg-immo-calculator .before-card .calc-subrow strong.neutral-value,
.runenburg-immo-calculator .after-card .calc-row strong.neutral-value,
.runenburg-immo-calculator .after-card .calc-subrow strong.neutral-value,
.runenburg-immo-calculator .calc-row strong.neutral-value,
.runenburg-immo-calculator .calc-subrow strong.neutral-value,
.runenburg-immo-calculator .detail-row strong.neutral-value {
  color: #000080 !important;
}
.runenburg-immo-calculator .before-card .main-number.income-value,
.runenburg-immo-calculator .after-card .main-number.income-value,
.runenburg-immo-calculator .before-card .calc-row strong.income-value,
.runenburg-immo-calculator .before-card .calc-subrow strong.income-value,
.runenburg-immo-calculator .after-card .calc-row strong.income-value,
.runenburg-immo-calculator .after-card .calc-subrow strong.income-value,
.runenburg-immo-calculator .calc-row strong.income-value,
.runenburg-immo-calculator .calc-subrow strong.income-value,
.runenburg-immo-calculator .detail-row strong.income-value {
  color: #07966f !important;
}
.runenburg-immo-calculator .before-card .main-number.expense-value,
.runenburg-immo-calculator .after-card .main-number.expense-value,
.runenburg-immo-calculator .before-card .calc-row strong.expense-value,
.runenburg-immo-calculator .before-card .calc-subrow strong.expense-value,
.runenburg-immo-calculator .after-card .calc-row strong.expense-value,
.runenburg-immo-calculator .after-card .calc-subrow strong.expense-value,
.runenburg-immo-calculator .calc-row strong.expense-value,
.runenburg-immo-calculator .calc-subrow strong.expense-value,
.runenburg-immo-calculator .detail-row strong.expense-value {
  color: #b91c1c !important;
}


/* v1.9.2: semantische Ergebnisfarben gewinnen endgültig gegen die Spaltenfarben.
   Einnahme = grün, Ausgabe = rot, Null = blau/neutral. */
.runenburg-immo-calculator .result-card.before-card .calc-stack .calc-row strong.income-value,
.runenburg-immo-calculator .result-card.before-card .calc-stack .calc-subrow strong.income-value,
.runenburg-immo-calculator .result-card.after-card .calc-stack .calc-row strong.income-value,
.runenburg-immo-calculator .result-card.after-card .calc-stack .calc-subrow strong.income-value,
.runenburg-immo-calculator .result-card .calc-stack .calc-row strong.income-value,
.runenburg-immo-calculator .result-card .calc-stack .calc-subrow strong.income-value {
  color: #07966f !important;
}
.runenburg-immo-calculator .result-card.before-card .calc-stack .calc-row strong.expense-value,
.runenburg-immo-calculator .result-card.before-card .calc-stack .calc-subrow strong.expense-value,
.runenburg-immo-calculator .result-card.after-card .calc-stack .calc-row strong.expense-value,
.runenburg-immo-calculator .result-card.after-card .calc-stack .calc-subrow strong.expense-value,
.runenburg-immo-calculator .result-card .calc-stack .calc-row strong.expense-value,
.runenburg-immo-calculator .result-card .calc-stack .calc-subrow strong.expense-value {
  color: #b91c1c !important;
}
.runenburg-immo-calculator .result-card.before-card .main-number.neutral-value,
.runenburg-immo-calculator .result-card.after-card .main-number.neutral-value,
.runenburg-immo-calculator .result-card.before-card .calc-stack .calc-row strong.neutral-value,
.runenburg-immo-calculator .result-card.before-card .calc-stack .calc-subrow strong.neutral-value,
.runenburg-immo-calculator .result-card.after-card .calc-stack .calc-row strong.neutral-value,
.runenburg-immo-calculator .result-card.after-card .calc-stack .calc-subrow strong.neutral-value {
  color: #000080 !important;
}

/* v1.9.3: finale Mobile-/Tablet-Ausrichtung, neue Ausgaben-Summe und robuste Score-Schließen-Fläche */
.runenburg-immo-calculator .expense-total-line {
  margin-top: 12px;
  padding: 11px 14px;
  border-radius: 16px;
  background: rgba(254,226,226,.72) !important;
  border: 1px solid rgba(239,68,68,.22) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  color: #7f1d1d;
  font-weight: 850;
}
.runenburg-immo-calculator .expense-total-line strong {
  color: #b91c1c !important;
  font-weight: 950;
}
.runenburg-immo-calculator .expense-total-line.hidden { display: none !important; }

.runenburg-immo-calculator .input-panel .section-title-line .toggle-line,
.runenburg-immo-calculator .input-panel label.toggle-line {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  min-height: 38px !important;
  padding: 4px 0 !important;
  line-height: 1.15 !important;
}
.runenburg-immo-calculator .input-panel .toggle-line > span {
  flex: 0 0 48px !important;
  width: 48px !important;
  height: 28px !important;
  align-self: center !important;
  margin: 0 !important;
}

.runenburg-immo-calculator .input-panel .section-expand-icon {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  line-height: 1 !important;
}
.runenburg-immo-calculator .input-panel .section-expand-icon::before,
.runenburg-immo-calculator .input-panel .section-expand-icon::after {
  top: 50% !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  margin: 0 !important;
  transform-origin: center !important;
}
.runenburg-immo-calculator .input-panel .section-expand-icon::before {
  transform: translate(-50%, -50%) !important;
}
.runenburg-immo-calculator .input-panel .section-expand-icon::after {
  transform: translate(-50%, -50%) rotate(90deg) !important;
}
.runenburg-immo-calculator .input-panel .section-details[open] .section-expand-icon {
  transform: none !important;
}
.runenburg-immo-calculator .input-panel .section-details[open] .section-expand-icon::before {
  transform: translate(-50%, -50%) !important;
}
.runenburg-immo-calculator .input-panel .section-details[open] .section-expand-icon::after {
  opacity: 0 !important;
  transform: translate(-50%, -50%) rotate(90deg) scaleX(.3) !important;
}

.runenburg-immo-calculator .hero-score-tooltip .score-tooltip-close {
  pointer-events: auto !important;
  cursor: pointer !important;
  position: absolute !important;
  z-index: 10 !important;
}

@media (max-width: 640px) {
  .runenburg-immo-calculator .input-panel .section-title-line .toggle-line,
  .runenburg-immo-calculator .input-panel label.toggle-line {
    width: 100% !important;
    min-height: 40px !important;
    padding: 5px 0 !important;
  }
  .runenburg-immo-calculator .input-panel .section-expand-icon {
    align-self: center !important;
    justify-self: center !important;
  }
}

/* v1.9.4: Mobile Accordion-Header: Titel bleibt lesbar, Kennzahl wandert in eine zweite Zeile */
@media (max-width: 520px) {
  .runenburg-immo-calculator .input-panel .collapsible-form-section .section-details > summary.section-details-summary,
  .runenburg-immo-calculator .input-panel .collapsible-form-section .section-details > summary {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
      "title toggle"
      "summary toggle" !important;
    align-items: center !important;
    column-gap: 12px !important;
    row-gap: 7px !important;
    min-height: 0 !important;
    padding: 16px 18px !important;
  }

  .runenburg-immo-calculator .input-panel .section-details-summary h3,
  .runenburg-immo-calculator .input-panel .collapsible-form-section .section-details-summary h3 {
    grid-area: title !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    line-height: 1.18 !important;
  }

  .runenburg-immo-calculator .input-panel .section-summary-total,
  .runenburg-immo-calculator .input-panel .section-summary-total.purchase-cost-summary {
    grid-area: summary !important;
    justify-self: start !important;
    align-self: start !important;
    margin: 0 0 0 50px !important;
    max-width: calc(100vw - 150px) !important;
    min-height: 31px !important;
    padding: 7px 11px !important;
    font-size: .82rem !important;
    line-height: 1 !important;
  }

  .runenburg-immo-calculator .input-panel .section-expand-icon {
    grid-area: toggle !important;
    align-self: center !important;
    justify-self: end !important;
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
  }
}

@media (max-width: 380px) {
  .runenburg-immo-calculator .input-panel .section-summary-total,
  .runenburg-immo-calculator .input-panel .section-summary-total.purchase-cost-summary {
    margin-left: 46px !important;
    max-width: calc(100vw - 138px) !important;
    padding: 6px 10px !important;
    font-size: .78rem !important;
    gap: 5px !important;
  }
}

/* Finanzierungsvergleich */
.runenburg-immo-calculator .finance-compare-card {
  margin-top: 28px;
  padding: clamp(22px, 3vw, 34px);
  border-radius: 30px;
  background:
    radial-gradient(circle at top left, rgba(37, 99, 235, .10), transparent 34%),
    radial-gradient(circle at top right, rgba(239, 68, 68, .12), transparent 38%),
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(248,250,252,.92));
  border: 1px solid rgba(203, 213, 225, .74);
  box-shadow: 0 24px 70px rgba(15, 23, 42, .10);
  position: relative;
  overflow: hidden;
}
.runenburg-immo-calculator .finance-compare-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 7px;
  background: linear-gradient(180deg, #1d4ed8, #dc2626);
  opacity: .86;
}
.runenburg-immo-calculator .finance-compare-head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
  margin-bottom: 22px;
}
.runenburg-immo-calculator .finance-compare-head h2 { margin: 3px 0 8px; font-size: clamp(1.45rem, 2vw, 2rem); }
.runenburg-immo-calculator .finance-compare-head p { margin: 0; max-width: 760px; color: #64748b; line-height: 1.55; }
.runenburg-immo-calculator .finance-sync-button {
  border: 0;
  border-radius: 999px;
  padding: 13px 18px;
  color: #fff;
  background: linear-gradient(135deg, #111827, #334155);
  font-weight: 900;
  box-shadow: 0 14px 28px rgba(15, 23, 42, .18);
  cursor: pointer;
  white-space: nowrap;
}
.runenburg-immo-calculator .finance-compare-inputs {
  display: grid;
  grid-template-columns: 1.15fr 1fr 1fr;
  gap: 16px;
}
.runenburg-immo-calculator .finance-input-block {
  padding: 18px;
  border-radius: 24px;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(203, 213, 225, .74);
  box-shadow: 0 18px 38px rgba(15, 23, 42, .06);
  align-self: start;
}
.runenburg-immo-calculator .finance-input-block h3 { margin: 0 0 14px; font-size: 1.05rem; display: flex; align-items: center; gap: 8px; }
.runenburg-immo-calculator .finance-input-annuity { border-top: 4px solid #2563eb; }
.runenburg-immo-calculator .finance-input-bauspar { border-top: 4px solid #dc2626; }
.runenburg-immo-calculator .finance-input-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 14px; align-items: start; }
.runenburg-immo-calculator .finance-input-grid .input-group { display: flex; flex-direction: column; }
.runenburg-immo-calculator .finance-input-grid .input-group label { min-height: 40px; display: flex; align-items: flex-end; gap: 7px; line-height: 1.12; }
.runenburg-immo-calculator .finance-input-grid .input-group .tooltip-text { order: 3; }
.runenburg-immo-calculator .finance-input-grid .input-wrap { min-height: 66px; }
.runenburg-immo-calculator .finance-input-base .finance-input-grid .input-group label { min-height: 24px; }
.runenburg-immo-calculator .finance-input-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.runenburg-immo-calculator .finance-small-note { margin: 12px 0 0; color: #64748b; font-size: .9rem; line-height: 1.45; }
.runenburg-immo-calculator .finance-result-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 18px 0;
}
.runenburg-immo-calculator .finance-result-strip > div {
  padding: 15px 16px;
  border-radius: 20px;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(203, 213, 225, .72);
}
.runenburg-immo-calculator .finance-result-strip span { display: block; color: #64748b; font-size: .84rem; font-weight: 800; margin-bottom: 6px; }
.runenburg-immo-calculator .finance-result-strip strong { display: block; color: #111827; font-size: 1.08rem; }

.runenburg-immo-calculator .finance-mini-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 18px;
}
.runenburg-immo-calculator .finance-mini-metrics > div,
.runenburg-immo-calculator .finance-narrative {
  border-radius: 18px;
  background: rgba(248, 250, 252, .9);
  border: 1px solid rgba(203, 213, 225, .72);
  padding: 12px;
}
.runenburg-immo-calculator .finance-mini-metrics span {
  display: block;
  color: #64748b;
  font-size: .75rem;
  font-weight: 850;
  margin-bottom: 5px;
}
.runenburg-immo-calculator .finance-mini-metrics strong {
  display: block;
  color: #0f172a;
  font-size: 1rem;
}
.runenburg-immo-calculator .finance-narrative {
  margin: 0 0 18px;
  padding: 15px 17px;
  color: #334155;
  font-weight: 750;
  line-height: 1.5;
  background: linear-gradient(135deg, rgba(255,255,255,.9), rgba(248,250,252,.86));
}
.runenburg-immo-calculator .finance-narrative strong { color: #0f172a; }

.runenburg-immo-calculator .finance-chart-wrap,
.runenburg-immo-calculator .finance-table-wrap {
  background: rgba(255,255,255,.74);
  border: 1px solid rgba(203, 213, 225, .74);
  border-radius: 24px;
  padding: 16px;
  box-shadow: 0 16px 34px rgba(15, 23, 42, .06);
  margin-top: 16px;
}
.runenburg-immo-calculator .finance-chart-head { display: flex; justify-content: space-between; gap: 12px; align-items: baseline; margin-bottom: 10px; }
.runenburg-immo-calculator .finance-chart-head small { color: #64748b; font-weight: 700; }
.runenburg-immo-calculator #financeCompareChart { width: 100%; height: auto; display: block; }
.runenburg-immo-calculator .finance-table-wrap { overflow-x: auto; }
.runenburg-immo-calculator .finance-compare-table { width: 100%; border-collapse: collapse; min-width: 760px; }
.runenburg-immo-calculator .finance-compare-table th,
.runenburg-immo-calculator .finance-compare-table td { padding: 12px 10px; border-bottom: 1px solid rgba(203,213,225,.72); text-align: right; font-weight: 750; }
.runenburg-immo-calculator .finance-compare-table th:first-child,
.runenburg-immo-calculator .finance-compare-table td:first-child { text-align: left; }
.runenburg-immo-calculator .finance-compare-table th { color: #64748b; font-size: .82rem; }
.runenburg-immo-calculator .finance-compare-table td.positive { color: #b91c1c; }
.runenburg-immo-calculator .finance-compare-table td.negative { color: #1d4ed8; }
.runenburg-immo-calculator .finance-compare-table td.neutral { color: #000080; }

@media (max-width: 1100px) {
  .runenburg-immo-calculator .finance-compare-inputs { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .runenburg-immo-calculator .finance-compare-head { flex-direction: column; }
  .runenburg-immo-calculator .finance-sync-button { width: 100%; }
  .runenburg-immo-calculator .finance-input-grid,
  .runenburg-immo-calculator .finance-input-grid.two { grid-template-columns: 1fr; }
  .runenburg-immo-calculator .finance-input-grid .input-group label { min-height: 0; }
  .runenburg-immo-calculator .finance-result-strip { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 460px) {
  .runenburg-immo-calculator .finance-result-strip { grid-template-columns: 1fr; }
  .runenburg-immo-calculator .finance-mini-metrics { grid-template-columns: 1fr; }
}

/* v1.9.7 Finanzierungsvergleich: smarter, schlanker, selbsterklärender */
.runenburg-immo-calculator .finance-compare-card {
  background:
    radial-gradient(circle at top left, rgba(37, 99, 235, .09), transparent 34%),
    radial-gradient(circle at top right, rgba(124, 58, 237, .08), transparent 36%),
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(248,250,252,.94));
}
.runenburg-immo-calculator .finance-compare-card::before {
  background: linear-gradient(180deg, #2563eb, #7c3aed);
  opacity: .72;
}
.runenburg-immo-calculator .finance-head-copy { max-width: 780px; }
.runenburg-immo-calculator .finance-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
  color: #2563eb;
  font-size: .76rem;
  font-weight: 950;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.runenburg-immo-calculator .finance-hero-summary {
  display: grid;
  grid-template-columns: minmax(260px, 1.5fr) repeat(3, minmax(150px, 1fr));
  gap: 12px;
  margin: 18px 0 20px;
}
.runenburg-immo-calculator .finance-hero-main,
.runenburg-immo-calculator .finance-hero-pill {
  border: 1px solid rgba(203,213,225,.78);
  background: rgba(255,255,255,.84);
  box-shadow: 0 16px 34px rgba(15,23,42,.07);
  border-radius: 22px;
  padding: 16px 18px;
}
.runenburg-immo-calculator .finance-hero-main {
  background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(239,246,255,.9));
}
.runenburg-immo-calculator .finance-hero-label,
.runenburg-immo-calculator .finance-hero-pill span {
  display: block;
  color: #64748b;
  font-weight: 900;
  font-size: .78rem;
  margin-bottom: 6px;
}
.runenburg-immo-calculator .finance-hero-main strong {
  display: block;
  color: #0f172a;
  font-size: clamp(1.25rem, 2.3vw, 2rem);
  line-height: 1.05;
}
.runenburg-immo-calculator .finance-hero-main small {
  display: block;
  margin-top: 8px;
  color: #475569;
  line-height: 1.35;
  font-weight: 650;
}
.runenburg-immo-calculator .finance-hero-pill strong {
  display: block;
  color: #0f172a;
  font-size: 1.08rem;
}
.runenburg-immo-calculator .finance-hero-summary.is-annuity .finance-hero-main { border-color: rgba(37,99,235,.25); }
.runenburg-immo-calculator .finance-hero-summary.is-bauspar .finance-hero-main { border-color: rgba(124,58,237,.25); }
.runenburg-immo-calculator .finance-hero-summary.is-neutral .finance-hero-main { border-color: rgba(100,116,139,.25); }

.runenburg-immo-calculator .finance-compare-inputs {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
}
.runenburg-immo-calculator .finance-input-base {
  grid-column: 1 / -1;
}
.runenburg-immo-calculator .finance-input-base .finance-input-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
.runenburg-immo-calculator .finance-input-annuity,
.runenburg-immo-calculator .finance-input-bauspar {
  min-height: auto;
}
.runenburg-immo-calculator .finance-input-annuity {
  border-top-color: #2563eb;
  background: linear-gradient(135deg, rgba(255,255,255,.92), rgba(239,246,255,.62));
}
.runenburg-immo-calculator .finance-input-bauspar {
  border-top-color: #7c3aed;
  background: linear-gradient(135deg, rgba(255,255,255,.92), rgba(245,243,255,.66));
}
.runenburg-immo-calculator .finance-input-grid .input-group label,
.runenburg-immo-calculator .finance-input-base .finance-input-grid .input-group label {
  min-height: 34px;
  align-items: flex-end;
}
.runenburg-immo-calculator .finance-input-grid .input-wrap {
  min-height: 64px;
}
.runenburg-immo-calculator .finance-input-block h3 .tooltip,
.runenburg-immo-calculator .finance-input-grid .input-group label .tooltip {
  flex: 0 0 auto;
}
.runenburg-immo-calculator .finance-result-strip { display: none; }
.runenburg-immo-calculator .finance-chart-wrap {
  margin-top: 18px;
  background: rgba(255,255,255,.82);
}
.runenburg-immo-calculator .finance-chart-legend {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  color: #64748b;
  font-size: .82rem;
  font-weight: 800;
}
.runenburg-immo-calculator .finance-chart-legend i {
  display: inline-block;
  width: 18px;
  height: 4px;
  border-radius: 999px;
  margin-right: 6px;
  vertical-align: middle;
}
.runenburg-immo-calculator .finance-compare-table td.annuity-win,
.runenburg-immo-calculator .finance-compare-table td.bauspar-win,
.runenburg-immo-calculator .finance-compare-table td.neutral {
  color: #0f172a;
}
.runenburg-immo-calculator .finance-compare-table .finance-variant-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: 999px;
  padding: 6px 10px;
  font-size: .78rem;
  font-weight: 950;
  white-space: nowrap;
}
.runenburg-immo-calculator .finance-compare-table .finance-variant-badge.annuity {
  color: #1d4ed8;
  background: rgba(37,99,235,.10);
  border: 1px solid rgba(37,99,235,.18);
}
.runenburg-immo-calculator .finance-compare-table .finance-variant-badge.bauspar {
  color: #6d28d9;
  background: rgba(124,58,237,.10);
  border: 1px solid rgba(124,58,237,.18);
}
.runenburg-immo-calculator .finance-compare-table .finance-variant-badge.neutral {
  color: #475569;
  background: rgba(100,116,139,.10);
  border: 1px solid rgba(100,116,139,.16);
}

@media (max-width: 1200px) {
  .runenburg-immo-calculator .finance-hero-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .runenburg-immo-calculator .finance-input-base .finance-input-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .runenburg-immo-calculator .finance-compare-inputs { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .runenburg-immo-calculator .finance-hero-summary { grid-template-columns: 1fr; }
  .runenburg-immo-calculator .finance-input-base .finance-input-grid { grid-template-columns: 1fr; }
}


/* v1.9.8 Finanzierungsvergleich: klarere Eingaben und reine Finanzierungssicht */
.runenburg-immo-calculator .finance-input-base .finance-input-grid {
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  align-items: end;
}
.runenburg-immo-calculator .finance-input-grid .input-group label,
.runenburg-immo-calculator .finance-input-base .finance-input-grid .input-group label {
  min-height: 34px;
  align-items: flex-end;
  line-height: 1.12;
}
.runenburg-immo-calculator .finance-input-annuity .finance-input-grid .input-group label,
.runenburg-immo-calculator .finance-input-bauspar .finance-input-grid .input-group label {
  min-height: 46px;
}
.runenburg-immo-calculator .finance-hero-pill strong {
  line-height: 1.25;
}
.runenburg-immo-calculator .finance-narrative strong {
  font-weight: 950;
}
@media (max-width: 1200px) {
  .runenburg-immo-calculator .finance-input-base .finance-input-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .runenburg-immo-calculator .finance-input-base .finance-input-grid { grid-template-columns: 1fr; }
  .runenburg-immo-calculator .finance-input-annuity .finance-input-grid .input-group label,
  .runenburg-immo-calculator .finance-input-bauspar .finance-input-grid .input-group label { min-height: 0; }
}

/* v1.9.9: Mobile-first responsive Feinschliff – schlanker, weniger Scroll, bessere Lesbarkeit auf Smartphones */
@media (max-width: 640px) {
  body {
    background:
      radial-gradient(circle at 12% 0%, rgba(47, 92, 255, .10), transparent 24rem),
      radial-gradient(circle at 88% 4%, rgba(15, 118, 110, .10), transparent 22rem),
      #f4f7fb !important;
  }

  .runenburg-immo-calculator.app-shell {
    width: min(100% - 16px, 1180px) !important;
    padding: 8px 0 36px !important;
  }

  /* Hero wird zur kompakten Analyse-Karte statt riesigem Einstieg */
  .runenburg-immo-calculator .hero-card {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding: 16px !important;
    border-radius: 26px !important;
    margin-bottom: 12px !important;
    box-shadow: 0 16px 42px rgba(15, 23, 42, .075) !important;
  }

  .runenburg-immo-calculator .hero-main {
    display: grid !important;
    grid-template-columns: 72px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 14px !important;
  }

  .runenburg-immo-calculator .hero-icon-wrap {
    width: 72px !important;
    height: 72px !important;
    border-radius: 22px !important;
    overflow: hidden !important;
    background: #fff !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .08) !important;
  }

  .runenburg-immo-calculator .hero-icon {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 20px !important;
  }

  .runenburg-immo-calculator .eyebrow {
    font-size: .72rem !important;
    letter-spacing: .13em !important;
    margin-bottom: 3px !important;
  }

  .runenburg-immo-calculator h1 {
    font-size: clamp(2rem, 11vw, 2.9rem) !important;
    line-height: .94 !important;
    letter-spacing: -.055em !important;
    margin-bottom: 4px !important;
  }

  .runenburg-immo-calculator .hero-copy {
    font-size: .98rem !important;
    line-height: 1.28 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  .runenburg-immo-calculator .hero-score-compact {
    width: 100% !important;
    padding: 10px 12px !important;
    border-radius: 20px !important;
    gap: 11px !important;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .065) !important;
  }

  .runenburg-immo-calculator .hero-score-compact .score-ring {
    width: 56px !important;
    height: 56px !important;
    border-radius: 18px !important;
  }

  .runenburg-immo-calculator .hero-score-compact .score-ring::after { display: none !important; }
  .runenburg-immo-calculator .hero-score-compact .score-ring span { font-size: 1.35rem !important; }
  .runenburg-immo-calculator .hero-score-text { min-width: 0 !important; }
  .runenburg-immo-calculator .hero-score-text strong { font-size: 1.22rem !important; }
  .runenburg-immo-calculator .hero-score-text > span { font-size: .9rem !important; }

  /* Eingabe-Kopf: weniger Höhe, Aktionen nebeneinander */
  .runenburg-immo-calculator .input-panel {
    padding: 14px !important;
    border-radius: 26px !important;
    box-shadow: 0 16px 44px rgba(15,23,42,.075) !important;
  }

  .runenburg-immo-calculator .panel-head {
    gap: 12px !important;
    margin-bottom: 12px !important;
  }

  .runenburg-immo-calculator .panel-head h2 {
    font-size: clamp(2rem, 10vw, 2.8rem) !important;
    line-height: .95 !important;
  }

  .runenburg-immo-calculator .panel-head-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }

  .runenburg-immo-calculator .panel-head-actions .quick-save-button,
  .runenburg-immo-calculator .panel-head-actions .ghost-button {
    min-height: 50px !important;
    padding: 11px 14px !important;
    border-radius: 18px !important;
    font-size: 1rem !important;
  }

  .runenburg-immo-calculator .panel-head-actions .quick-action-icon {
    width: 28px !important;
    height: 28px !important;
  }

  /* Formular-Cards: weniger klobig, aber weiterhin gut antippbar */
  .runenburg-immo-calculator .input-panel .form-section {
    margin: 12px 0 !important;
    padding: 15px !important;
    border-radius: 24px !important;
    box-shadow: 0 12px 32px rgba(15, 23, 42, .055), inset 0 1px 0 rgba(255,255,255,.82) !important;
  }

  .runenburg-immo-calculator .input-panel .form-section:first-of-type { margin-top: 12px !important; }

  .runenburg-immo-calculator .section-title-line {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    margin-bottom: 14px !important;
    align-items: start !important;
  }

  .runenburg-immo-calculator .input-panel .section-title-line h3,
  .runenburg-immo-calculator .section-details-summary h3 {
    font-size: 1.35rem !important;
    line-height: 1.1 !important;
  }

  .runenburg-immo-calculator .section-icon {
    width: 42px !important;
    height: 42px !important;
    border-radius: 15px !important;
  }

  .runenburg-immo-calculator .section-icon .uicon,
  .runenburg-immo-calculator .section-uicon .uicon {
    width: 24px !important;
    height: 24px !important;
  }

  .runenburg-immo-calculator .input-panel .section-title-line .toggle-line,
  .runenburg-immo-calculator .input-panel label.toggle-line {
    justify-content: flex-start !important;
    min-height: 30px !important;
    font-size: .98rem !important;
    color: #475569 !important;
    gap: 10px !important;
  }

  .runenburg-immo-calculator .input-panel label.toggle-line > span,
  .runenburg-immo-calculator .toggle-line span {
    width: 46px !important;
    height: 28px !important;
    flex-basis: 46px !important;
  }

  .runenburg-immo-calculator .toggle-line span::after {
    width: 22px !important;
    height: 22px !important;
    top: 3px !important;
    left: 3px !important;
  }

  .runenburg-immo-calculator .toggle-line input:checked + span::after {
    transform: translateX(18px) !important;
  }

  .runenburg-immo-calculator .input-row,
  .runenburg-immo-calculator .finance-main-row,
  .runenburg-immo-calculator .finance-equity-row,
  .runenburg-immo-calculator .finance-rates,
  .runenburg-immo-calculator .rent-main-row {
    gap: 12px !important;
  }

  .runenburg-immo-calculator .input-group { margin-bottom: 12px !important; }
  .runenburg-immo-calculator label { font-size: 1rem !important; line-height: 1.18 !important; margin-bottom: 7px !important; }

  .runenburg-immo-calculator .input-wrap,
  .runenburg-immo-calculator .display-wrap {
    min-height: 56px !important;
    border-radius: 18px !important;
  }

  .runenburg-immo-calculator .input-wrap input {
    font-size: 1.12rem !important;
    padding: 13px 12px !important;
  }

  .runenburg-immo-calculator .input-wrap span {
    font-size: .88rem !important;
    padding-right: 12px !important;
  }

  .runenburg-immo-calculator .zero-gradient-button {
    min-height: 56px !important;
    border-radius: 18px !important;
    font-size: 1rem !important;
    padding: 13px 16px !important;
  }

  /* Floating-Werkzeuge verdecken auf iOS-Safari sonst Eingaben. Mobil werden sie nicht fixiert. */
  .runenburg-immo-calculator .immo-side-tools {
    position: static !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 16px 0 0 !important;
    z-index: auto !important;
  }

  .runenburg-immo-calculator .immo-tools-tab {
    width: 100% !important;
    min-height: 48px !important;
    justify-content: center !important;
    border-radius: 18px !important;
    padding: 10px 12px !important;
  }

  .runenburg-immo-calculator .immo-tools-tab strong {
    display: inline !important;
    font-size: .88rem !important;
  }

  .runenburg-immo-calculator .immo-tools-tab .uicon {
    width: 22px !important;
    height: 22px !important;
  }
}

/* Noch kleinere Smartphones: Fokus auf Inhalt statt Dekoration */
@media (max-width: 420px) {
  .runenburg-immo-calculator.app-shell { width: min(100% - 12px, 1180px) !important; }
  .runenburg-immo-calculator .hero-main { grid-template-columns: 64px minmax(0, 1fr) !important; gap: 12px !important; }
  .runenburg-immo-calculator .hero-icon-wrap { width: 64px !important; height: 64px !important; }
  .runenburg-immo-calculator h1 { font-size: clamp(1.85rem, 10vw, 2.55rem) !important; }
  .runenburg-immo-calculator .panel-head h2 { font-size: clamp(1.85rem, 9.2vw, 2.45rem) !important; }
  .runenburg-immo-calculator .panel-head-actions .quick-save-button,
  .runenburg-immo-calculator .panel-head-actions .ghost-button { font-size: .94rem !important; padding-inline: 10px !important; }
}

/* Finanzierungsvergleich: Mobile als übersichtliche Auswertung statt breiter Desktop-Matrix */
@media (max-width: 760px) {
  .runenburg-immo-calculator .finance-compare-card {
    margin-top: 18px !important;
    padding: 16px !important;
    border-radius: 26px !important;
    box-shadow: 0 16px 42px rgba(15, 23, 42, .075) !important;
  }

  .runenburg-immo-calculator .finance-compare-card::before { width: 4px !important; }

  .runenburg-immo-calculator .finance-compare-head {
    gap: 12px !important;
    margin-bottom: 14px !important;
  }

  .runenburg-immo-calculator .finance-compare-head h2 {
    font-size: clamp(1.55rem, 7.5vw, 2.15rem) !important;
    line-height: 1 !important;
    margin-bottom: 6px !important;
  }

  .runenburg-immo-calculator .finance-compare-head p {
    font-size: .94rem !important;
    line-height: 1.42 !important;
  }

  .runenburg-immo-calculator .finance-sync-button {
    min-height: 48px !important;
    border-radius: 16px !important;
    padding: 11px 14px !important;
    font-size: .95rem !important;
  }

  .runenburg-immo-calculator .finance-hero-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin: 14px 0 16px !important;
  }

  .runenburg-immo-calculator .finance-hero-main {
    grid-column: 1 / -1 !important;
    padding: 14px !important;
    border-radius: 20px !important;
  }

  .runenburg-immo-calculator .finance-hero-pill {
    padding: 12px !important;
    min-height: 84px !important;
    border-radius: 18px !important;
  }

  .runenburg-immo-calculator .finance-hero-label,
  .runenburg-immo-calculator .finance-hero-pill span {
    font-size: .72rem !important;
    line-height: 1.18 !important;
    margin-bottom: 5px !important;
  }

  .runenburg-immo-calculator .finance-hero-main strong {
    font-size: clamp(1.45rem, 8vw, 2rem) !important;
  }

  .runenburg-immo-calculator .finance-hero-main small {
    font-size: .86rem !important;
    line-height: 1.35 !important;
  }

  .runenburg-immo-calculator .finance-hero-pill strong {
    font-size: 1rem !important;
    line-height: 1.18 !important;
  }

  .runenburg-immo-calculator .finance-input-block {
    padding: 14px !important;
    border-radius: 22px !important;
  }

  .runenburg-immo-calculator .finance-input-block h3 {
    font-size: 1.08rem !important;
    margin-bottom: 12px !important;
  }

  .runenburg-immo-calculator .finance-input-grid,
  .runenburg-immo-calculator .finance-input-grid.two,
  .runenburg-immo-calculator .finance-input-base .finance-input-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .runenburg-immo-calculator .finance-input-grid .input-group label,
  .runenburg-immo-calculator .finance-input-base .finance-input-grid .input-group label,
  .runenburg-immo-calculator .finance-input-annuity .finance-input-grid .input-group label,
  .runenburg-immo-calculator .finance-input-bauspar .finance-input-grid .input-group label {
    min-height: 0 !important;
    align-items: center !important;
    font-size: .96rem !important;
  }

  .runenburg-immo-calculator .finance-input-grid .input-wrap { min-height: 54px !important; }
  .runenburg-immo-calculator .finance-small-note { font-size: .86rem !important; line-height: 1.38 !important; }

  .runenburg-immo-calculator .finance-mini-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin-top: 12px !important;
  }

  .runenburg-immo-calculator .finance-mini-metrics > div {
    padding: 10px !important;
    border-radius: 15px !important;
  }

  .runenburg-immo-calculator .finance-mini-metrics span { font-size: .68rem !important; }
  .runenburg-immo-calculator .finance-mini-metrics strong { font-size: .93rem !important; }

  .runenburg-immo-calculator .finance-narrative {
    margin-top: 14px !important;
    padding: 13px 14px !important;
    border-radius: 18px !important;
    font-size: .92rem !important;
    line-height: 1.45 !important;
  }

  .runenburg-immo-calculator .finance-chart-wrap,
  .runenburg-immo-calculator .finance-table-wrap {
    padding: 12px !important;
    border-radius: 20px !important;
    margin-top: 14px !important;
  }

  .runenburg-immo-calculator .finance-chart-head {
    display: grid !important;
    gap: 5px !important;
    align-items: start !important;
  }

  .runenburg-immo-calculator .finance-chart-head strong { font-size: .98rem !important; }
  .runenburg-immo-calculator .finance-chart-head small { font-size: .78rem !important; line-height: 1.28 !important; }
  .runenburg-immo-calculator #financeCompareChart { min-height: 235px !important; }
}

@media (max-width: 560px) {
  /* Tabelle wird auf Smartphone zu Jahres-Karten: kein horizontales Wischen nötig. */
  .runenburg-immo-calculator .finance-table-wrap { overflow: visible !important; }
  .runenburg-immo-calculator .finance-compare-table,
  .runenburg-immo-calculator .finance-compare-table thead,
  .runenburg-immo-calculator .finance-compare-table tbody,
  .runenburg-immo-calculator .finance-compare-table tr,
  .runenburg-immo-calculator .finance-compare-table td {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .runenburg-immo-calculator .finance-compare-table thead { display: none !important; }
  .runenburg-immo-calculator .finance-compare-table tr {
    margin: 0 0 10px !important;
    padding: 11px !important;
    border: 1px solid rgba(203, 213, 225, .78) !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,.84) !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .045) !important;
  }

  .runenburg-immo-calculator .finance-compare-table td {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 10px !important;
    align-items: center !important;
    padding: 7px 0 !important;
    border-bottom: 1px solid rgba(226, 232, 240, .86) !important;
    text-align: right !important;
    font-size: .9rem !important;
  }

  .runenburg-immo-calculator .finance-compare-table td:last-child { border-bottom: 0 !important; }
  .runenburg-immo-calculator .finance-compare-table td::before {
    text-align: left !important;
    color: #64748b !important;
    font-size: .76rem !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
  }

  .runenburg-immo-calculator .finance-compare-table td:nth-child(1)::before { content: "Jahr"; }
  .runenburg-immo-calculator .finance-compare-table td:nth-child(2)::before { content: "Annuität: Rate"; }
  .runenburg-immo-calculator .finance-compare-table td:nth-child(3)::before { content: "Annuität: Restschuld"; }
  .runenburg-immo-calculator .finance-compare-table td:nth-child(4)::before { content: "Bausparer: Belastung"; }
  .runenburg-immo-calculator .finance-compare-table td:nth-child(5)::before { content: "Bausparer: Restschuld"; }
  .runenburg-immo-calculator .finance-compare-table td:nth-child(6)::before { content: "Vorteilhafter"; }
}

/* v2.0.0 – Mobile: Eingabebereich einklappbar + Kaufempfehlung im Investment-Score */
.runenburg-immo-calculator .input-panel-collapse-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid rgba(148, 163, 184, .32);
  background: rgba(255,255,255,.86);
  color: var(--ink, #111827);
  border-radius: 999px;
  min-height: 44px;
  padding: 0 14px;
  font-weight: 800;
  line-height: 1;
  box-shadow: 0 12px 26px rgba(15, 23, 42, .08);
}
.runenburg-immo-calculator .input-panel-collapse-toggle .collapse-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  background: rgba(14, 165, 233, .10);
  color: #0f172a;
  font-size: 20px;
  font-weight: 800;
  line-height: 1;
}
.runenburg-immo-calculator .score-buy-recommendation {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  justify-content: center;
  margin-top: 5px;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .01em;
  border: 1px solid transparent;
}
.runenburg-immo-calculator .score-buy-recommendation.buy {
  color: #047857;
  background: rgba(16, 185, 129, .12);
  border-color: rgba(16, 185, 129, .22);
}
.runenburg-immo-calculator .score-buy-recommendation.negotiate {
  color: #92400e;
  background: rgba(245, 158, 11, .16);
  border-color: rgba(245, 158, 11, .26);
}
.runenburg-immo-calculator .score-buy-recommendation.avoid {
  color: #b91c1c;
  background: rgba(239, 68, 68, .12);
  border-color: rgba(239, 68, 68, .24);
}

@media (max-width: 720px) {
  .runenburg-immo-calculator .input-panel {
    overflow: hidden;
    transition: padding .22s ease, box-shadow .22s ease;
  }
  .runenburg-immo-calculator .input-panel .panel-head {
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
  }
  .runenburg-immo-calculator .input-panel-collapse-toggle {
    display: inline-flex;
    order: 3;
    flex: 1 1 100%;
    width: 100%;
    margin-top: 2px;
  }
  .runenburg-immo-calculator .input-panel .panel-head-actions {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  .runenburg-immo-calculator .input-panel .quick-save-button,
  .runenburg-immo-calculator .input-panel .ghost-button {
    min-height: 46px;
  }
  .runenburg-immo-calculator .input-panel.is-collapsed {
    padding-bottom: 18px;
  }
  .runenburg-immo-calculator .input-panel.is-collapsed .form-section {
    display: none !important;
  }
  .runenburg-immo-calculator .input-panel.is-collapsed .panel-head {
    margin-bottom: 0;
  }
  .runenburg-immo-calculator .hero-score-text {
    gap: 2px;
  }
  .runenburg-immo-calculator .score-buy-recommendation {
    font-size: 11px;
    padding: 6px 9px;
  }
}


/* v2.0.1 – Mobile: Objekt-&-Finanzierung wie Accordion, ohne Öffnen-/Schließen-Text */
.runenburg-immo-calculator .panel-title-block {
  min-width: 0;
}
.runenburg-immo-calculator .panel-title-row {
  display: flex;
  align-items: center;
  gap: 12px;
}
.runenburg-immo-calculator .panel-title-row h2 {
  margin: 0;
  min-width: 0;
}
.runenburg-immo-calculator .input-panel-collapse-toggle {
  display: none !important;
}

@media (max-width: 720px) {
  .runenburg-immo-calculator .input-panel .panel-head {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    align-items: start !important;
    margin-bottom: 14px !important;
  }
  .runenburg-immo-calculator .panel-title-row {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    align-items: center !important;
    column-gap: 12px !important;
  }
  .runenburg-immo-calculator .panel-title-row h2 {
    line-height: .95 !important;
  }
  .runenburg-immo-calculator .input-panel-collapse-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    border-radius: 15px !important;
    border: 1px solid rgba(147, 197, 253, .72) !important;
    background: linear-gradient(135deg, #f8fbff 0%, #eef6ff 100%) !important;
    color: #0f172a !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .06) !important;
    cursor: pointer !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
  }
  .runenburg-immo-calculator .input-panel-collapse-toggle .collapse-icon {
    display: block !important;
    width: auto !important;
    height: auto !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #0f172a !important;
    font-size: 28px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    transform: translateY(-1px);
  }
  .runenburg-immo-calculator .input-panel .panel-head-actions {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }
  .runenburg-immo-calculator .input-panel.is-collapsed {
    padding-bottom: 14px !important;
  }
  .runenburg-immo-calculator .input-panel.is-collapsed .panel-head {
    margin-bottom: 0 !important;
  }
}

/* v2.0.2 – weichere Score-Card + Accordion-Controls für Analysebereiche */
.runenburg-immo-calculator .hero-score-compact {
  border-radius: var(--radius, 28px) !important;
}
.runenburg-immo-calculator .hero-score-compact .score-buy-recommendation {
  max-width: 100%;
}
.runenburg-immo-calculator .mobile-section-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
}
.runenburg-immo-calculator .mobile-section-head > div:first-child,
.runenburg-immo-calculator .finance-head-copy {
  min-width: 0 !important;
}
.runenburg-immo-calculator .mobile-section-head-actions,
.runenburg-immo-calculator .finance-head-actions {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  flex: 0 0 auto !important;
}
.runenburg-immo-calculator .mobile-section-toggle {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  padding: 0 !important;
  border-radius: 15px !important;
  border: 1px solid rgba(147, 197, 253, .72) !important;
  background: linear-gradient(135deg, #f8fbff 0%, #eef6ff 100%) !important;
  color: #0f172a !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .06) !important;
  cursor: pointer !important;
  flex: 0 0 auto !important;
}
.runenburg-immo-calculator .mobile-section-toggle .collapse-icon {
  display: block !important;
  color: #0f172a !important;
  font-size: 28px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  transform: translateY(-1px);
}
.runenburg-immo-calculator .mobile-collapsible-section .mobile-section-body {
  overflow: hidden;
  max-height: 5000px;
  opacity: 1;
  transition: max-height .28s ease, opacity .22s ease, margin .22s ease, padding .22s ease;
}
.runenburg-immo-calculator .mobile-collapsible-section.is-collapsed .mobile-section-body {
  max-height: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.runenburg-immo-calculator .mobile-collapsible-section.is-collapsed .mobile-section-head {
  margin-bottom: 0 !important;
}
.runenburg-immo-calculator .rent-growth-card .mobile-section-toggle,
.runenburg-immo-calculator .finance-compare-card .mobile-section-toggle,
.runenburg-immo-calculator .depreciation-card .mobile-section-toggle {
  margin-left: auto !important;
}
.runenburg-immo-calculator .rent-growth-card .rent-growth-head.simplified {
  align-items: center !important;
}
.runenburg-immo-calculator .finance-compare-head.mobile-section-head {
  align-items: flex-start !important;
}
.runenburg-immo-calculator .finance-compare-head .finance-head-actions {
  align-self: flex-start !important;
}
.runenburg-immo-calculator .finance-compare-head .finance-sync-button {
  white-space: nowrap !important;
}

@media (max-width: 720px) {
  .runenburg-immo-calculator .hero-score-compact {
    border-radius: 22px !important;
  }
  .runenburg-immo-calculator .mobile-section-toggle {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    border-radius: 14px !important;
  }
  .runenburg-immo-calculator .finance-compare-head.mobile-section-head {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    align-items: start !important;
  }
  .runenburg-immo-calculator .finance-compare-head .finance-head-actions {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
  }
  .runenburg-immo-calculator .finance-compare-head .finance-sync-button {
    grid-column: 1 / -1;
    order: 2;
  }
  .runenburg-immo-calculator .finance-compare-head .mobile-section-toggle {
    order: 1;
  }
  .runenburg-immo-calculator .capital-head.slim-head.mobile-section-head {
    grid-template-columns: 1fr auto !important;
  }
  .runenburg-immo-calculator .mobile-section-head-actions .capital-badge {
    display: none !important;
  }
}

@media (max-width: 720px) {
  .runenburg-immo-calculator .finance-compare-head.mobile-section-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: start !important;
    gap: 12px !important;
  }
  .runenburg-immo-calculator .finance-compare-head .finance-head-copy {
    grid-column: 1 / 2 !important;
    grid-row: 1 !important;
  }
  .runenburg-immo-calculator .finance-compare-head .finance-head-actions {
    display: contents !important;
  }
  .runenburg-immo-calculator .finance-compare-head .mobile-section-toggle {
    grid-column: 2 / 3 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    align-self: start !important;
  }
  .runenburg-immo-calculator .finance-compare-head .finance-sync-button {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    width: 100% !important;
    justify-content: center !important;
  }
}


/* v2.0.3 – Einheitliche Mobile-Accordion-Köpfe: Toggle immer rechts */
.runenburg-immo-calculator .mobile-section-toggle {
  display: none !important;
}
.runenburg-immo-calculator .finance-compare-head h2 span {
  display: inline;
}
@media (max-width: 720px) {
  .runenburg-immo-calculator .mobile-collapsible-section > .mobile-section-head,
  .runenburg-immo-calculator .finance-compare-head.mobile-section-head,
  .runenburg-immo-calculator .rent-growth-head.mobile-section-head,
  .runenburg-immo-calculator .capital-head.mobile-section-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 46px !important;
    grid-template-rows: auto auto !important;
    align-items: start !important;
    column-gap: 14px !important;
    row-gap: 14px !important;
    width: 100% !important;
    position: relative !important;
  }

  .runenburg-immo-calculator .mobile-section-head > div:first-child,
  .runenburg-immo-calculator .mobile-section-head .finance-head-copy,
  .runenburg-immo-calculator .finance-compare-head .finance-head-copy {
    grid-column: 1 / 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding-right: 0 !important;
  }

  .runenburg-immo-calculator .mobile-section-head-actions,
  .runenburg-immo-calculator .finance-head-actions,
  .runenburg-immo-calculator .finance-compare-head .finance-head-actions {
    display: contents !important;
  }

  .runenburg-immo-calculator .mobile-section-toggle,
  .runenburg-immo-calculator .rent-growth-card .mobile-section-toggle,
  .runenburg-immo-calculator .finance-compare-card .mobile-section-toggle,
  .runenburg-immo-calculator .depreciation-card .mobile-section-toggle,
  .runenburg-immo-calculator .finance-compare-head .mobile-section-toggle {
    display: inline-flex !important;
    grid-column: 2 / 3 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    align-self: start !important;
    margin: 0 !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    border-radius: 15px !important;
    border: 1px solid rgba(147, 197, 253, .72) !important;
    background: linear-gradient(135deg, #f8fbff 0%, #eef6ff 100%) !important;
    color: #0f172a !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .06) !important;
    transform: none !important;
  }

  .runenburg-immo-calculator .mobile-section-toggle .collapse-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    font-size: 30px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    transform: translateY(-1px) !important;
  }

  .runenburg-immo-calculator .mobile-section-head-actions .capital-badge {
    display: none !important;
  }

  .runenburg-immo-calculator .finance-compare-head .finance-sync-button {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    width: 100% !important;
    justify-content: center !important;
    margin: 0 !important;
  }

  .runenburg-immo-calculator .finance-compare-head h2 {
    line-height: .96 !important;
    max-width: 100% !important;
    word-break: normal !important;
  }
  .runenburg-immo-calculator .finance-compare-head h2 span {
    display: inline-block !important;
  }

  .runenburg-immo-calculator .rent-growth-head.simplified h2,
  .runenburg-immo-calculator .finance-compare-head h2 {
    padding-right: 0 !important;
  }
}

/* v2.0.4 – Mobile: einheitliche Radien für Analyse-Cards und Accordion-Buttons */
@media (max-width: 720px) {
  .runenburg-immo-calculator {
    --immo-mobile-card-radius: 28px;
    --immo-mobile-control-radius: 18px;
  }

  .runenburg-immo-calculator .hero-card,
  .runenburg-immo-calculator .input-panel,
  .runenburg-immo-calculator .result-card,
  .runenburg-immo-calculator .score-card,
  .runenburg-immo-calculator .details-card,
  .runenburg-immo-calculator .depreciation-card,
  .runenburg-immo-calculator .slim-depreciation-card,
  .runenburg-immo-calculator .rent-growth-card,
  .runenburg-immo-calculator .finance-compare-card,
  .runenburg-immo-calculator .explain-box {
    border-radius: var(--immo-mobile-card-radius) !important;
  }

  .runenburg-immo-calculator .mobile-section-toggle,
  .runenburg-immo-calculator .input-panel-collapse-toggle,
  .runenburg-immo-calculator .section-expand-icon {
    border-radius: var(--immo-mobile-control-radius) !important;
  }

  .runenburg-immo-calculator .mobile-section-toggle {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
  }

  .runenburg-immo-calculator .finance-sync-button,
  .runenburg-immo-calculator .panel-head-actions .quick-save-button,
  .runenburg-immo-calculator .panel-head-actions .ghost-button,
  .runenburg-immo-calculator .immo-tools-tab,
  .runenburg-immo-calculator .zero-gradient-button,
  .runenburg-immo-calculator .input-wrap,
  .runenburg-immo-calculator .display-wrap {
    border-radius: var(--immo-mobile-control-radius) !important;
  }

  .runenburg-immo-calculator .hero-score-compact {
    border-radius: 24px !important;
  }

  .runenburg-immo-calculator .hero-score-compact .score-ring {
    border-radius: 18px !important;
  }
}

/* v2.1.0 Guided start overlay */
.runenburg-immo-calculator .immo-start-overlay {
  position: fixed;
  inset: 0;
  z-index: 99998;
  display: grid;
  place-items: center;
  padding: clamp(14px, 3vw, 32px);
  background:
    radial-gradient(circle at 15% 0%, rgba(47, 92, 255, .16), transparent 36rem),
    radial-gradient(circle at 90% 10%, rgba(15, 118, 110, .14), transparent 34rem),
    rgba(244, 247, 251, .94);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}
.runenburg-immo-calculator .immo-start-overlay:not(.is-open) { display: none; }
body.immo-start-open { overflow: hidden; }
.runenburg-immo-calculator .immo-start-shell {
  width: min(1080px, 100%);
  min-height: min(760px, calc(100dvh - 28px));
  max-height: calc(100dvh - 28px);
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: clamp(14px, 2vw, 22px);
  padding: clamp(18px, 3vw, 34px);
  border-radius: 34px;
  border: 1px solid rgba(223, 230, 240, .98);
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 32px 90px rgba(16, 24, 40, .18);
  overflow: hidden;
}
.runenburg-immo-calculator .immo-start-topbar,
.runenburg-immo-calculator .immo-wizard-step-label,
.runenburg-immo-calculator .immo-start-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.runenburg-immo-calculator .immo-start-close {
  width: 46px;
  height: 46px;
  border-radius: 16px;
  border: 1px solid rgba(203, 213, 225, .95);
  background: rgba(255,255,255,.9);
  color: #0f172a;
  font-size: 1.8rem;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 12px 30px rgba(15,23,42,.08);
}
.runenburg-immo-calculator .immo-start-screen {
  display: none;
  min-height: 0;
  align-content: center;
}
.runenburg-immo-calculator .immo-start-screen.is-active { display: grid; }
.runenburg-immo-calculator .immo-start-options {
  display: grid;
  gap: 16px;
}
.runenburg-immo-calculator .immo-start-options.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.runenburg-immo-calculator .immo-start-options.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.runenburg-immo-calculator .immo-start-card {
  min-height: 220px;
  border-radius: 30px;
  border: 1px solid rgba(203, 213, 225, .95);
  background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(248,250,252,.88));
  box-shadow: 0 22px 60px rgba(16, 24, 40, .09);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  padding: clamp(20px, 3vw, 30px);
  cursor: pointer;
  color: #101828;
  text-align: left;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.runenburg-immo-calculator .immo-start-card:hover { transform: translateY(-2px); box-shadow: 0 28px 74px rgba(16,24,40,.13); }
.runenburg-immo-calculator .immo-start-card.primary {
  border-color: rgba(47,92,255,.30);
  background: linear-gradient(145deg, rgba(235,241,255,.98), rgba(255,255,255,.92));
}
.runenburg-immo-calculator .immo-start-card strong {
  font-size: clamp(1.55rem, 3vw, 2.35rem);
  line-height: .98;
  letter-spacing: -.05em;
}
.runenburg-immo-calculator .immo-start-card-icon {
  width: 56px;
  height: 56px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(203,213,225,.72);
  font-size: 2rem;
  font-weight: 850;
  box-shadow: 0 12px 24px rgba(15,23,42,.06);
}
.runenburg-immo-calculator .immo-start-card-icon .uicon { width: 30px; height: 30px; background: #101828 !important; }
.runenburg-immo-calculator .immo-start-actions { align-self: end; }
.runenburg-immo-calculator .immo-start-primary,
.runenburg-immo-calculator .immo-start-secondary {
  min-height: 54px;
  border-radius: 18px;
  padding: 0 26px;
  border: 1px solid rgba(203,213,225,.96);
  font-weight: 900;
  cursor: pointer;
}
.runenburg-immo-calculator .immo-start-primary {
  color: #fff;
  border: 0;
  background: linear-gradient(135deg, #67cdf5, #0098d8);
  box-shadow: 0 18px 40px rgba(0,152,216,.22);
}
.runenburg-immo-calculator .immo-start-secondary { background: rgba(255,255,255,.9); color: #334155; }
.runenburg-immo-calculator .immo-wizard-head { display: grid; gap: 12px; margin-bottom: 18px; }
.runenburg-immo-calculator .immo-wizard-progress {
  height: 9px;
  border-radius: 999px;
  background: rgba(226, 232, 240, .95);
  overflow: hidden;
}
.runenburg-immo-calculator .immo-wizard-progress span {
  display: block;
  width: 14.28%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #0f766e, #67cdf5);
  transition: width .22s ease;
}
.runenburg-immo-calculator .immo-wizard-step-label strong {
  font-size: clamp(1.65rem, 4vw, 2.5rem);
  letter-spacing: -.05em;
  line-height: 1;
}
.runenburg-immo-calculator .immo-wizard-step-label span {
  color: #64748b;
  font-weight: 900;
}
.runenburg-immo-calculator .immo-wizard-steps {
  min-height: 0;
  overflow: auto;
  padding-right: 4px;
}
.runenburg-immo-calculator .immo-wizard-step { display: none; }
.runenburg-immo-calculator .immo-wizard-step.is-active { display: block; }
.runenburg-immo-calculator .immo-wizard-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
}
.runenburg-immo-calculator .immo-wizard-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.runenburg-immo-calculator .immo-wizard-grid .wide { grid-column: 1 / -1; }
.runenburg-immo-calculator .immo-wizard-grid .input-group label { min-height: 24px; }
.runenburg-immo-calculator .wizard-toggle {
  min-height: 54px;
  border-radius: 18px;
  padding: 0 14px;
  background: rgba(248,250,252,.76);
  border: 1px solid rgba(226,232,240,.85);
}
.runenburg-immo-calculator .immo-wizard-result {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.runenburg-immo-calculator .immo-wizard-result > div {
  min-height: 130px;
  border-radius: 24px;
  border: 1px solid rgba(203,213,225,.8);
  background: rgba(248,250,252,.86);
  padding: 18px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.runenburg-immo-calculator .immo-wizard-result span { color: #64748b; font-weight: 850; }
.runenburg-immo-calculator .immo-wizard-result strong { font-size: clamp(1.35rem, 3vw, 2rem); letter-spacing: -.04em; }

@media (max-width: 720px) {
  .runenburg-immo-calculator .immo-start-overlay { padding: 10px; align-items: stretch; }
  .runenburg-immo-calculator .immo-start-shell {
    min-height: calc(100dvh - 20px);
    max-height: calc(100dvh - 20px);
    border-radius: 28px;
    padding: 18px;
  }
  .runenburg-immo-calculator .immo-start-options.two,
  .runenburg-immo-calculator .immo-start-options.three,
  .runenburg-immo-calculator .immo-wizard-grid.two,
  .runenburg-immo-calculator .immo-wizard-result { grid-template-columns: 1fr; }
  .runenburg-immo-calculator .immo-start-card {
    min-height: 150px;
    border-radius: 24px;
  }
  .runenburg-immo-calculator .immo-start-card strong { font-size: 1.65rem; }
  .runenburg-immo-calculator .immo-start-card-icon { width: 50px; height: 50px; border-radius: 16px; }
  .runenburg-immo-calculator .immo-start-actions { position: sticky; bottom: 0; padding-top: 10px; background: linear-gradient(to top, rgba(255,255,255,.96), rgba(255,255,255,.76)); }
  .runenburg-immo-calculator .immo-start-primary,
  .runenburg-immo-calculator .immo-start-secondary { flex: 1; min-height: 52px; padding-inline: 16px; }
  .runenburg-immo-calculator .immo-wizard-step-label strong { font-size: 1.85rem; }
  .runenburg-immo-calculator .immo-wizard-result > div { min-height: 92px; }
}


/* v2.1.1: geführter Fullscreen-Assistent, sauber blockiert und thematisch an die Rechner-Boxen angepasst */
html:has(body.immo-start-open),
body.immo-start-open {
  overflow: hidden !important;
  overscroll-behavior: none !important;
}
body.immo-start-open .runenburg-immo-calculator .immo-start-overlay {
  pointer-events: auto;
}
.runenburg-immo-calculator .immo-start-overlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483000 !important;
  width: 100vw !important;
  height: 100dvh !important;
  padding: 0 !important;
  display: flex !important;
  align-items: stretch !important;
  justify-content: center !important;
  background:
    radial-gradient(circle at 20% 8%, rgba(103, 205, 245, .20), transparent 34rem),
    radial-gradient(circle at 82% 14%, rgba(15, 118, 110, .14), transparent 32rem),
    linear-gradient(135deg, #f3f7fb 0%, #edf4fb 100%) !important;
  backdrop-filter: blur(24px) !important;
  -webkit-backdrop-filter: blur(24px) !important;
  overflow: hidden !important;
}
.runenburg-immo-calculator .immo-start-overlay:not(.is-open) { display: none !important; }
.runenburg-immo-calculator .immo-start-overlay[data-theme="income"] {
  background:
    radial-gradient(circle at 18% 10%, rgba(16, 185, 129, .22), transparent 34rem),
    radial-gradient(circle at 88% 18%, rgba(20, 184, 166, .16), transparent 32rem),
    linear-gradient(135deg, #eefdf8 0%, #f7fffc 100%) !important;
}
.runenburg-immo-calculator .immo-start-overlay[data-theme="expense"] {
  background:
    radial-gradient(circle at 18% 10%, rgba(249, 115, 22, .22), transparent 34rem),
    radial-gradient(circle at 88% 18%, rgba(239, 68, 68, .13), transparent 32rem),
    linear-gradient(135deg, #fff7ed 0%, #fffafa 100%) !important;
}
.runenburg-immo-calculator .immo-start-overlay[data-theme="finance"],
.runenburg-immo-calculator .immo-start-overlay[data-theme="object"] {
  background:
    radial-gradient(circle at 18% 10%, rgba(47, 92, 255, .17), transparent 34rem),
    radial-gradient(circle at 88% 18%, rgba(14, 165, 233, .14), transparent 32rem),
    linear-gradient(135deg, #f4f8ff 0%, #f8fbff 100%) !important;
}
.runenburg-immo-calculator .immo-start-overlay[data-theme="purchase"] {
  background:
    radial-gradient(circle at 18% 10%, rgba(59, 130, 246, .16), transparent 34rem),
    radial-gradient(circle at 88% 18%, rgba(14, 165, 233, .12), transparent 32rem),
    linear-gradient(135deg, #f7fbff 0%, #fbfdff 100%) !important;
}
.runenburg-immo-calculator .immo-start-overlay[data-theme="tax"] {
  background:
    radial-gradient(circle at 18% 10%, rgba(139, 92, 246, .16), transparent 34rem),
    radial-gradient(circle at 88% 18%, rgba(14, 165, 233, .10), transparent 32rem),
    linear-gradient(135deg, #fbf8ff 0%, #fbfdff 100%) !important;
}
.runenburg-immo-calculator .immo-start-overlay[data-theme="result"] {
  background:
    radial-gradient(circle at 18% 10%, rgba(15, 118, 110, .18), transparent 34rem),
    radial-gradient(circle at 88% 18%, rgba(103, 205, 245, .14), transparent 32rem),
    linear-gradient(135deg, #f2fbf9 0%, #f8fcff 100%) !important;
}
.runenburg-immo-calculator .immo-start-shell {
  width: 100vw !important;
  height: 100dvh !important;
  min-height: 100dvh !important;
  max-height: 100dvh !important;
  max-width: none !important;
  border-radius: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: clamp(14px, 2.4vw, 30px) !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto !important;
  gap: clamp(10px, 1.8vw, 18px) !important;
  overflow: hidden !important;
}
.runenburg-immo-calculator .immo-start-topbar {
  width: min(1120px, 100%) !important;
  margin: 0 auto !important;
  min-height: 58px !important;
  padding: 0 !important;
  z-index: 3 !important;
}
.runenburg-immo-calculator .immo-start-topbar .eyebrow { margin-bottom: 4px !important; }
.runenburg-immo-calculator .immo-start-topbar h2 {
  margin: 0 !important;
  line-height: 1 !important;
  letter-spacing: -.05em !important;
}
.runenburg-immo-calculator .immo-start-close,
.runenburg-immo-calculator .immo-start-card-icon,
.runenburg-immo-calculator .immo-wizard-step-label span,
.runenburg-immo-calculator .immo-start-primary,
.runenburg-immo-calculator .immo-start-secondary {
  position: relative !important;
  z-index: 4 !important;
}
.runenburg-immo-calculator .immo-start-close {
  display: grid !important;
  place-items: center !important;
  flex: 0 0 auto !important;
}
.runenburg-immo-calculator .immo-start-screen {
  min-height: 0 !important;
  width: min(1120px, 100%) !important;
  margin: 0 auto !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}
.runenburg-immo-calculator .immo-start-screen.is-active { display: flex !important; }
.runenburg-immo-calculator .immo-start-screen[data-start-screen="manual"].is-active {
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  align-items: stretch !important;
  gap: clamp(10px, 1.5vw, 16px) !important;
}
.runenburg-immo-calculator .immo-start-options {
  width: min(840px, 100%) !important;
  display: grid !important;
  gap: clamp(14px, 2vw, 22px) !important;
}
.runenburg-immo-calculator .immo-start-options.two { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.runenburg-immo-calculator .immo-start-options.three { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.runenburg-immo-calculator .immo-start-card {
  min-height: clamp(190px, 30vh, 280px) !important;
  border-radius: 30px !important;
  padding: clamp(22px, 3vw, 34px) !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  overflow: hidden !important;
}
.runenburg-immo-calculator .immo-start-card-icon {
  width: 58px !important;
  height: 58px !important;
  min-width: 58px !important;
  border-radius: 18px !important;
  display: grid !important;
  place-items: center !important;
  line-height: 1 !important;
}
.runenburg-immo-calculator .immo-start-card-icon .uicon {
  width: 31px !important;
  height: 31px !important;
  display: block !important;
}
.runenburg-immo-calculator .immo-wizard-head {
  width: min(760px, 100%) !important;
  margin: 0 auto !important;
  display: grid !important;
  gap: 10px !important;
  align-self: start !important;
}
.runenburg-immo-calculator .immo-wizard-step-label {
  padding: 0 !important;
  align-items: end !important;
}
.runenburg-immo-calculator .immo-wizard-progress {
  height: 7px !important;
  background: rgba(226,232,240,.78) !important;
}
.runenburg-immo-calculator .immo-wizard-steps {
  min-height: 0 !important;
  height: 100% !important;
  overflow: hidden !important;
  display: grid !important;
  align-items: center !important;
  justify-items: center !important;
  padding: 0 !important;
}
.runenburg-immo-calculator .immo-wizard-step {
  display: none !important;
  width: min(760px, 100%) !important;
  max-height: 100% !important;
  overflow: hidden !important;
}
.runenburg-immo-calculator .immo-wizard-step.is-active {
  display: grid !important;
  align-items: center !important;
  justify-items: stretch !important;
}
.runenburg-immo-calculator .immo-wizard-step > .immo-wizard-grid,
.runenburg-immo-calculator .immo-wizard-step > .immo-wizard-result {
  width: 100% !important;
  max-height: 100% !important;
  overflow: visible !important;
  border-radius: 32px !important;
  border: 1px solid rgba(203, 213, 225, .92) !important;
  background: rgba(255,255,255,.82) !important;
  box-shadow: 0 28px 80px rgba(16, 24, 40, .12) !important;
  padding: clamp(18px, 3vw, 30px) !important;
}
.runenburg-immo-calculator .immo-start-overlay[data-theme="income"] .immo-wizard-step > .immo-wizard-grid {
  border-color: rgba(16,185,129,.26) !important;
  background: linear-gradient(145deg, rgba(236,253,245,.92), rgba(255,255,255,.78)) !important;
}
.runenburg-immo-calculator .immo-start-overlay[data-theme="expense"] .immo-wizard-step > .immo-wizard-grid {
  border-color: rgba(249,115,22,.28) !important;
  background: linear-gradient(145deg, rgba(255,237,213,.86), rgba(255,255,255,.78)) !important;
}
.runenburg-immo-calculator .immo-start-overlay[data-theme="tax"] .immo-wizard-step > .immo-wizard-grid {
  border-color: rgba(139,92,246,.20) !important;
  background: linear-gradient(145deg, rgba(245,243,255,.9), rgba(255,255,255,.80)) !important;
}
.runenburg-immo-calculator .immo-start-overlay[data-theme="purchase"] .immo-wizard-step > .immo-wizard-grid {
  border-color: rgba(59,130,246,.18) !important;
  background: linear-gradient(145deg, rgba(239,246,255,.9), rgba(255,255,255,.80)) !important;
}
.runenburg-immo-calculator .immo-wizard-grid {
  gap: clamp(12px, 2vw, 18px) !important;
}
.runenburg-immo-calculator .immo-wizard-grid.two {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.runenburg-immo-calculator .immo-wizard-grid .input-group {
  position: relative !important;
  min-width: 0 !important;
}
.runenburg-immo-calculator .immo-wizard-grid .input-group label {
  min-height: 0 !important;
  height: auto !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-bottom: 8px !important;
  line-height: 1.1 !important;
}
.runenburg-immo-calculator .immo-wizard-grid .input-wrap {
  min-height: 62px !important;
}
.runenburg-immo-calculator .immo-wizard-grid .input-wrap input {
  min-height: 60px !important;
}
.runenburg-immo-calculator .wizard-toggle {
  min-height: 56px !important;
  height: 56px !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 0 16px !important;
  border-radius: 20px !important;
}
.runenburg-immo-calculator #wizIncomeExtras,
.runenburg-immo-calculator #wizExpenseExtras {
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
}
.runenburg-immo-calculator .immo-wizard-result {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.runenburg-immo-calculator .immo-start-actions {
  width: min(760px, 100%) !important;
  margin: 0 auto !important;
  align-self: end !important;
  display: flex !important;
  gap: 12px !important;
  background: transparent !important;
  padding: 0 !important;
  z-index: 3 !important;
}
.runenburg-immo-calculator .immo-start-primary,
.runenburg-immo-calculator .immo-start-secondary {
  min-height: 58px !important;
  border-radius: 20px !important;
}
.runenburg-immo-calculator .immo-start-primary { flex: 1 1 auto !important; }
.runenburg-immo-calculator .immo-start-secondary { flex: 0 0 170px !important; }
.runenburg-immo-calculator .immo-start-overlay .tooltip-text {
  z-index: 2147483001 !important;
}

@media (max-width: 720px) {
  .runenburg-immo-calculator .immo-start-shell {
    padding: max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom)) !important;
    gap: 10px !important;
  }
  .runenburg-immo-calculator .immo-start-topbar {
    min-height: 54px !important;
  }
  .runenburg-immo-calculator .immo-start-topbar h2 {
    font-size: 1.6rem !important;
  }
  .runenburg-immo-calculator .immo-start-close {
    width: 46px !important;
    height: 46px !important;
    border-radius: 16px !important;
  }
  .runenburg-immo-calculator .immo-start-options.two,
  .runenburg-immo-calculator .immo-start-options.three {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .runenburg-immo-calculator .immo-start-card {
    min-height: 132px !important;
    border-radius: 26px !important;
    padding: 20px !important;
  }
  .runenburg-immo-calculator .immo-start-card strong {
    font-size: 1.7rem !important;
  }
  .runenburg-immo-calculator .immo-start-card-icon {
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
    border-radius: 17px !important;
  }
  .runenburg-immo-calculator .immo-start-card-icon .uicon {
    width: 28px !important;
    height: 28px !important;
  }
  .runenburg-immo-calculator .immo-wizard-head {
    gap: 8px !important;
  }
  .runenburg-immo-calculator .immo-wizard-step-label strong {
    font-size: 1.72rem !important;
    line-height: 1 !important;
  }
  .runenburg-immo-calculator .immo-wizard-step-label span {
    font-size: .95rem !important;
  }
  .runenburg-immo-calculator .immo-wizard-step > .immo-wizard-grid,
  .runenburg-immo-calculator .immo-wizard-step > .immo-wizard-result {
    border-radius: 28px !important;
    padding: 16px !important;
  }
  .runenburg-immo-calculator .immo-wizard-grid.two,
  .runenburg-immo-calculator .immo-wizard-result {
    grid-template-columns: 1fr !important;
  }
  .runenburg-immo-calculator .immo-wizard-grid {
    gap: 10px !important;
  }
  .runenburg-immo-calculator .immo-wizard-grid .input-group label {
    font-size: .98rem !important;
    margin-bottom: 6px !important;
  }
  .runenburg-immo-calculator .immo-wizard-grid .input-wrap {
    min-height: 56px !important;
    border-radius: 18px !important;
  }
  .runenburg-immo-calculator .immo-wizard-grid .input-wrap input {
    min-height: 54px !important;
  }
  .runenburg-immo-calculator .wizard-toggle {
    min-height: 52px !important;
    height: 52px !important;
    border-radius: 18px !important;
  }
  .runenburg-immo-calculator .immo-wizard-result > div {
    min-height: 76px !important;
    padding: 14px !important;
    border-radius: 20px !important;
  }
  .runenburg-immo-calculator .immo-start-actions {
    position: static !important;
    width: 100% !important;
  }
  .runenburg-immo-calculator .immo-start-secondary {
    flex: 0 0 112px !important;
  }
  .runenburg-immo-calculator .immo-start-primary,
  .runenburg-immo-calculator .immo-start-secondary {
    min-height: 54px !important;
    border-radius: 18px !important;
    padding-inline: 14px !important;
  }
}

@media (max-width: 390px) {
  .runenburg-immo-calculator .immo-start-shell { padding-inline: 10px !important; }
  .runenburg-immo-calculator .immo-start-topbar h2 { font-size: 1.38rem !important; }
  .runenburg-immo-calculator .immo-wizard-step-label strong { font-size: 1.45rem !important; }
  .runenburg-immo-calculator .immo-wizard-step > .immo-wizard-grid,
  .runenburg-immo-calculator .immo-wizard-step > .immo-wizard-result { padding: 13px !important; border-radius: 24px !important; }
  .runenburg-immo-calculator .immo-wizard-grid { gap: 8px !important; }
  .runenburg-immo-calculator .immo-wizard-grid .input-wrap { min-height: 52px !important; }
  .runenburg-immo-calculator .immo-wizard-grid .input-wrap input { min-height: 50px !important; }
  .runenburg-immo-calculator .wizard-toggle { height: 48px !important; min-height: 48px !important; }
}


/* v2.1.2: Start-/Wizard-Overlay vom Rechner-Layout entkoppelt, damit es auf iOS immer sichtbar bleibt */
html.immo-start-open,
body.immo-start-open {
  overflow: hidden !important;
  position: relative !important;
  overscroll-behavior: none !important;
  touch-action: none !important;
}

#immoStartOverlay.immo-start-overlay {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100dvh !important;
  min-height: 100dvh !important;
  max-height: 100dvh !important;
  z-index: 2147483646 !important;
  display: flex !important;
  align-items: stretch !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  pointer-events: auto !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  background:
    radial-gradient(circle at 20% 8%, rgba(103, 205, 245, .20), transparent 34rem),
    radial-gradient(circle at 82% 14%, rgba(15, 118, 110, .14), transparent 32rem),
    linear-gradient(135deg, #f3f7fb 0%, #edf4fb 100%) !important;
  backdrop-filter: blur(24px) !important;
  -webkit-backdrop-filter: blur(24px) !important;
}

#immoStartOverlay.immo-start-overlay:not(.is-open),
#immoStartOverlay.immo-start-overlay[aria-hidden="true"] {
  display: none !important;
  pointer-events: none !important;
  visibility: hidden !important;
}

#immoStartOverlay.immo-start-overlay[data-theme="income"] {
  background:
    radial-gradient(circle at 18% 10%, rgba(16, 185, 129, .22), transparent 34rem),
    radial-gradient(circle at 88% 18%, rgba(20, 184, 166, .16), transparent 32rem),
    linear-gradient(135deg, #eefdf8 0%, #f7fffc 100%) !important;
}
#immoStartOverlay.immo-start-overlay[data-theme="expense"] {
  background:
    radial-gradient(circle at 18% 10%, rgba(249, 115, 22, .22), transparent 34rem),
    radial-gradient(circle at 88% 18%, rgba(239, 68, 68, .13), transparent 32rem),
    linear-gradient(135deg, #fff7ed 0%, #fffafa 100%) !important;
}
#immoStartOverlay.immo-start-overlay[data-theme="finance"],
#immoStartOverlay.immo-start-overlay[data-theme="object"] {
  background:
    radial-gradient(circle at 18% 10%, rgba(47, 92, 255, .17), transparent 34rem),
    radial-gradient(circle at 88% 18%, rgba(14, 165, 233, .14), transparent 32rem),
    linear-gradient(135deg, #f4f8ff 0%, #f8fbff 100%) !important;
}
#immoStartOverlay.immo-start-overlay[data-theme="purchase"] {
  background:
    radial-gradient(circle at 18% 10%, rgba(59, 130, 246, .16), transparent 34rem),
    radial-gradient(circle at 88% 18%, rgba(14, 165, 233, .12), transparent 32rem),
    linear-gradient(135deg, #f7fbff 0%, #fbfdff 100%) !important;
}
#immoStartOverlay.immo-start-overlay[data-theme="tax"] {
  background:
    radial-gradient(circle at 18% 10%, rgba(139, 92, 246, .16), transparent 34rem),
    radial-gradient(circle at 88% 18%, rgba(14, 165, 233, .10), transparent 32rem),
    linear-gradient(135deg, #fbf8ff 0%, #fbfdff 100%) !important;
}
#immoStartOverlay.immo-start-overlay[data-theme="result"] {
  background:
    radial-gradient(circle at 18% 10%, rgba(15, 118, 110, .18), transparent 34rem),
    radial-gradient(circle at 88% 18%, rgba(103, 205, 245, .14), transparent 32rem),
    linear-gradient(135deg, #f2fbf9 0%, #f8fcff 100%) !important;
}

#immoStartOverlay .immo-start-shell {
  width: 100vw !important;
  height: 100dvh !important;
  min-height: 100dvh !important;
  max-height: 100dvh !important;
  max-width: none !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto !important;
  gap: clamp(10px, 1.8vw, 18px) !important;
  padding: clamp(14px, 2.4vw, 30px) !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden !important;
  transform: none !important;
  box-sizing: border-box !important;
  font-family: inherit !important;
}

#immoStartOverlay .immo-start-topbar,
#immoStartOverlay .immo-start-actions,
#immoStartOverlay .immo-wizard-head,
#immoStartOverlay .immo-start-screen {
  width: min(1120px, 100%) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}
#immoStartOverlay .immo-start-topbar {
  min-height: 58px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  z-index: 3 !important;
}
#immoStartOverlay .immo-start-close {
  display: grid !important;
  place-items: center !important;
  flex: 0 0 46px !important;
  width: 46px !important;
  height: 46px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(203, 213, 225, .95) !important;
  background: rgba(255,255,255,.92) !important;
  color: #0f172a !important;
  font-size: 1.8rem !important;
  line-height: 1 !important;
  box-shadow: 0 12px 30px rgba(15,23,42,.08) !important;
}
#immoStartOverlay .immo-start-screen {
  min-height: 0 !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}
#immoStartOverlay .immo-start-screen.is-active { display: flex !important; }
#immoStartOverlay .immo-start-screen[data-start-screen="manual"].is-active {
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  align-items: stretch !important;
  gap: clamp(10px, 1.5vw, 16px) !important;
}
#immoStartOverlay .immo-start-options {
  width: min(840px, 100%) !important;
  display: grid !important;
  gap: clamp(14px, 2vw, 22px) !important;
}
#immoStartOverlay .immo-start-options.two { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
#immoStartOverlay .immo-start-options.three { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
#immoStartOverlay .immo-start-card {
  min-height: clamp(190px, 30vh, 280px) !important;
  border-radius: 30px !important;
  border: 1px solid rgba(203, 213, 225, .95) !important;
  background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(248,250,252,.88)) !important;
  box-shadow: 0 22px 60px rgba(16, 24, 40, .09) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  padding: clamp(22px, 3vw, 34px) !important;
  color: #101828 !important;
  text-align: left !important;
  overflow: hidden !important;
}
#immoStartOverlay .immo-start-card.primary {
  border-color: rgba(47,92,255,.30) !important;
  background: linear-gradient(145deg, rgba(235,241,255,.98), rgba(255,255,255,.92)) !important;
}
#immoStartOverlay .immo-start-card strong {
  font-size: clamp(1.55rem, 3vw, 2.35rem) !important;
  line-height: .98 !important;
  letter-spacing: -.05em !important;
}
#immoStartOverlay .immo-start-card-icon {
  width: 58px !important;
  height: 58px !important;
  min-width: 58px !important;
  border-radius: 18px !important;
  display: grid !important;
  place-items: center !important;
  background: rgba(255,255,255,.82) !important;
  border: 1px solid rgba(203,213,225,.72) !important;
  font-size: 2rem !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  box-shadow: 0 12px 24px rgba(15,23,42,.06) !important;
}
#immoStartOverlay .immo-start-card-icon .uicon {
  width: 31px !important;
  height: 31px !important;
  display: block !important;
  background: #101828 !important;
}
#immoStartOverlay .immo-wizard-head {
  display: grid !important;
  gap: 10px !important;
  align-self: start !important;
  max-width: 760px !important;
}
#immoStartOverlay .immo-wizard-step-label {
  display: flex !important;
  align-items: end !important;
  justify-content: space-between !important;
  gap: 12px !important;
}
#immoStartOverlay .immo-wizard-step-label strong {
  font-size: clamp(1.65rem, 4vw, 2.5rem) !important;
  letter-spacing: -.05em !important;
  line-height: 1 !important;
  color: #101828 !important;
}
#immoStartOverlay .immo-wizard-step-label span {
  color: #64748b !important;
  font-weight: 900 !important;
}
#immoStartOverlay .immo-wizard-progress {
  height: 7px !important;
  border-radius: 999px !important;
  background: rgba(226,232,240,.78) !important;
  overflow: hidden !important;
}
#immoStartOverlay .immo-wizard-progress span {
  display: block !important;
  height: 100% !important;
  border-radius: inherit !important;
  background: linear-gradient(90deg, #0f766e, #67cdf5) !important;
}
#immoStartOverlay .immo-wizard-steps {
  min-height: 0 !important;
  height: 100% !important;
  overflow: hidden !important;
  display: grid !important;
  align-items: center !important;
  justify-items: center !important;
  padding: 0 !important;
}
#immoStartOverlay .immo-wizard-step {
  display: none !important;
  width: min(760px, 100%) !important;
  max-height: 100% !important;
  overflow: hidden !important;
}
#immoStartOverlay .immo-wizard-step.is-active {
  display: grid !important;
  align-items: center !important;
  justify-items: stretch !important;
}
#immoStartOverlay .immo-wizard-step > .immo-wizard-grid,
#immoStartOverlay .immo-wizard-step > .immo-wizard-result {
  width: 100% !important;
  max-height: 100% !important;
  overflow: visible !important;
  border-radius: 32px !important;
  border: 1px solid rgba(203, 213, 225, .92) !important;
  background: rgba(255,255,255,.82) !important;
  box-shadow: 0 28px 80px rgba(16, 24, 40, .12) !important;
  padding: clamp(18px, 3vw, 30px) !important;
  box-sizing: border-box !important;
}
#immoStartOverlay[data-theme="income"] .immo-wizard-step > .immo-wizard-grid {
  border-color: rgba(16,185,129,.26) !important;
  background: linear-gradient(145deg, rgba(236,253,245,.92), rgba(255,255,255,.78)) !important;
}
#immoStartOverlay[data-theme="expense"] .immo-wizard-step > .immo-wizard-grid {
  border-color: rgba(249,115,22,.28) !important;
  background: linear-gradient(145deg, rgba(255,237,213,.86), rgba(255,255,255,.78)) !important;
}
#immoStartOverlay[data-theme="purchase"] .immo-wizard-step > .immo-wizard-grid {
  border-color: rgba(59,130,246,.18) !important;
  background: linear-gradient(145deg, rgba(239,246,255,.9), rgba(255,255,255,.80)) !important;
}
#immoStartOverlay[data-theme="tax"] .immo-wizard-step > .immo-wizard-grid {
  border-color: rgba(139,92,246,.20) !important;
  background: linear-gradient(145deg, rgba(245,243,255,.9), rgba(255,255,255,.80)) !important;
}
#immoStartOverlay .immo-wizard-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: clamp(12px, 2vw, 18px) !important;
}
#immoStartOverlay .immo-wizard-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
#immoStartOverlay .immo-wizard-grid .wide { grid-column: 1 / -1 !important; }
#immoStartOverlay .immo-wizard-grid .input-group { position: relative !important; min-width: 0 !important; }
#immoStartOverlay .immo-wizard-grid .input-group label {
  min-height: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 0 8px !important;
  line-height: 1.1 !important;
}
#immoStartOverlay .immo-wizard-grid .input-wrap { min-height: 62px !important; }
#immoStartOverlay .immo-wizard-grid .input-wrap input { min-height: 60px !important; }
#immoStartOverlay .wizard-toggle {
  min-height: 56px !important;
  height: 56px !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 0 16px !important;
  border-radius: 20px !important;
}
#immoStartOverlay #wizIncomeExtras,
#immoStartOverlay #wizExpenseExtras {
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
}
#immoStartOverlay .immo-wizard-result {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}
#immoStartOverlay .immo-wizard-result > div {
  min-height: 120px !important;
  border-radius: 24px !important;
  border: 1px solid rgba(203,213,225,.8) !important;
  background: rgba(248,250,252,.86) !important;
  padding: 18px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
}
#immoStartOverlay .immo-start-actions {
  max-width: 760px !important;
  align-self: end !important;
  display: flex !important;
  gap: 12px !important;
  background: transparent !important;
  padding: 0 !important;
  z-index: 3 !important;
}
#immoStartOverlay .immo-start-primary,
#immoStartOverlay .immo-start-secondary {
  min-height: 58px !important;
  border-radius: 20px !important;
  padding: 0 26px !important;
  border: 1px solid rgba(203,213,225,.96) !important;
  font-weight: 900 !important;
  cursor: pointer !important;
}
#immoStartOverlay .immo-start-primary {
  flex: 1 1 auto !important;
  color: #fff !important;
  border: 0 !important;
  background: linear-gradient(135deg, #67cdf5, #0098d8) !important;
  box-shadow: 0 18px 40px rgba(0,152,216,.22) !important;
}
#immoStartOverlay .immo-start-secondary {
  flex: 0 0 170px !important;
  background: rgba(255,255,255,.9) !important;
  color: #334155 !important;
}
#immoStartOverlay .tooltip-text { z-index: 2147483647 !important; }

@media (max-width: 720px) {
  #immoStartOverlay .immo-start-shell {
    padding: max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom)) !important;
    gap: 10px !important;
  }
  #immoStartOverlay .immo-start-topbar { min-height: 52px !important; }
  #immoStartOverlay .immo-start-topbar h2 { font-size: 1.6rem !important; }
  #immoStartOverlay .immo-start-options.two,
  #immoStartOverlay .immo-start-options.three { grid-template-columns: 1fr !important; gap: 12px !important; }
  #immoStartOverlay .immo-start-card { min-height: 132px !important; border-radius: 26px !important; padding: 20px !important; }
  #immoStartOverlay .immo-start-card strong { font-size: 1.7rem !important; }
  #immoStartOverlay .immo-start-card-icon { width: 52px !important; height: 52px !important; min-width: 52px !important; border-radius: 17px !important; }
  #immoStartOverlay .immo-start-card-icon .uicon { width: 28px !important; height: 28px !important; }
  #immoStartOverlay .immo-wizard-head { gap: 8px !important; }
  #immoStartOverlay .immo-wizard-step-label strong { font-size: 1.72rem !important; line-height: 1 !important; }
  #immoStartOverlay .immo-wizard-step-label span { font-size: .95rem !important; }
  #immoStartOverlay .immo-wizard-step > .immo-wizard-grid,
  #immoStartOverlay .immo-wizard-step > .immo-wizard-result { border-radius: 28px !important; padding: 16px !important; }
  #immoStartOverlay .immo-wizard-grid.two,
  #immoStartOverlay .immo-wizard-result { grid-template-columns: 1fr !important; }
  #immoStartOverlay .immo-wizard-grid { gap: 10px !important; }
  #immoStartOverlay .immo-wizard-grid .input-group label { font-size: .98rem !important; margin-bottom: 6px !important; }
  #immoStartOverlay .immo-wizard-grid .input-wrap { min-height: 56px !important; border-radius: 18px !important; }
  #immoStartOverlay .immo-wizard-grid .input-wrap input { min-height: 54px !important; }
  #immoStartOverlay .wizard-toggle { min-height: 52px !important; height: 52px !important; border-radius: 18px !important; }
  #immoStartOverlay .immo-wizard-result > div { min-height: 76px !important; padding: 14px !important; border-radius: 20px !important; }
  #immoStartOverlay .immo-start-actions { width: 100% !important; }
  #immoStartOverlay .immo-start-secondary { flex: 0 0 112px !important; }
  #immoStartOverlay .immo-start-primary,
  #immoStartOverlay .immo-start-secondary { min-height: 54px !important; border-radius: 18px !important; padding-inline: 14px !important; }
}
@media (max-width: 390px) {
  #immoStartOverlay .immo-start-shell { padding-inline: 10px !important; }
  #immoStartOverlay .immo-start-topbar h2 { font-size: 1.38rem !important; }
  #immoStartOverlay .immo-wizard-step-label strong { font-size: 1.45rem !important; }
  #immoStartOverlay .immo-wizard-step > .immo-wizard-grid,
  #immoStartOverlay .immo-wizard-step > .immo-wizard-result { padding: 13px !important; border-radius: 24px !important; }
  #immoStartOverlay .immo-wizard-grid { gap: 8px !important; }
  #immoStartOverlay .immo-wizard-grid .input-wrap { min-height: 52px !important; }
  #immoStartOverlay .immo-wizard-grid .input-wrap input { min-height: 50px !important; }
  #immoStartOverlay .wizard-toggle { height: 48px !important; min-height: 48px !important; }
}

/* v2.1.3: Wizard-Overlay stabilisieren, Icons/Tooltips/Resultat korrigieren */
#immoStartOverlay.immo-start-overlay {
  background-color: #f3f7fb !important;
  isolation: isolate !important;
}
#immoStartOverlay[data-screen="manual"] .immo-start-topbar > div {
  visibility: hidden !important;
}
#immoStartOverlay[data-screen="manual"] .immo-start-topbar {
  min-height: 46px !important;
}
#immoStartOverlay .hidden,
#immoStartOverlay .immo-wizard-grid.hidden,
#immoStartOverlay #wizIncomeExtras.hidden,
#immoStartOverlay #wizExpenseExtras.hidden,
#immoStartOverlay #wizLoanWrap.hidden {
  display: none !important;
}
#immoStartOverlay .uicon {
  --uicon-size: 28px;
  width: var(--uicon-size) !important;
  height: var(--uicon-size) !important;
  min-width: var(--uicon-size) !important;
  min-height: var(--uicon-size) !important;
  display: block !important;
  background: currentColor !important;
  -webkit-mask: var(--uicon-url) center / contain no-repeat !important;
  mask: var(--uicon-url) center / contain no-repeat !important;
}
#immoStartOverlay .uicon-link { --uicon-url: url('../icons/link.svg'); }
#immoStartOverlay .uicon-save { --uicon-url: url('../icons/save.svg'); }
#immoStartOverlay .uicon-pdf { --uicon-url: url('../icons/pdf.svg'); }
#immoStartOverlay .uicon-excel { --uicon-url: url('../icons/excel.svg'); }
#immoStartOverlay .uicon-import { --uicon-url: url('../icons/import.svg'); }
#immoStartOverlay .uicon-portfolio { --uicon-url: url('../icons/portfolio.svg'); }
#immoStartOverlay .uicon-reset { --uicon-url: url('../icons/reset.svg'); }
#immoStartOverlay .uicon-edit { --uicon-url: url('../icons/edit.svg'); }
#immoStartOverlay .uicon-image { --uicon-url: url('../icons/image.svg'); }
#immoStartOverlay .uicon-url { --uicon-url: url('../icons/url.svg'); }
#immoStartOverlay .uicon-text { --uicon-url: url('../icons/text.svg'); }
#immoStartOverlay .uicon-money-income { --uicon-url: url('../icons/money-income.svg'); }
#immoStartOverlay .uicon-expense { --uicon-url: url('../icons/expense.svg'); }
#immoStartOverlay .uicon-square-plus { --uicon-url: url('../icons/square-plus.svg'); }
#immoStartOverlay .uicon-calculator-money { --uicon-url: url('../icons/calculator-money.svg'); }
#immoStartOverlay .uicon-online-tax { --uicon-url: url('../icons/online-tax.svg'); }
#immoStartOverlay .uicon-bank { --uicon-url: url('../icons/bank.svg'); }
#immoStartOverlay .immo-start-card-icon { color: #101828 !important; }
#immoStartOverlay .immo-start-card-icon .uicon { background: currentColor !important; }
#immoStartOverlay .tooltip {
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  min-height: 28px !important;
  border-radius: 999px !important;
  display: inline-grid !important;
  place-items: center !important;
  padding: 0 !important;
  line-height: 1 !important;
  vertical-align: middle !important;
  position: relative !important;
  top: 0 !important;
}
#immoStartOverlay .tooltip-text {
  display: none !important;
}
#immoStartOverlay .immo-wizard-step > .immo-wizard-grid {
  overflow: visible !important;
  border-radius: 32px !important;
}
#immoStartOverlay .immo-wizard-step,
#immoStartOverlay .immo-wizard-step.is-active {
  background: transparent !important;
  box-shadow: none !important;
}
#immoStartOverlay .immo-wizard-step > .immo-wizard-grid::after,
#immoStartOverlay .immo-wizard-step > .immo-wizard-result::after {
  content: none !important;
}
#immoStartOverlay .wizard-toggle input + span,
#immoStartOverlay .toggle-line input + span {
  display: inline-block !important;
  flex: 0 0 auto !important;
}
#immoStartOverlay .wizard-toggle {
  justify-content: flex-start !important;
  line-height: 1 !important;
}
#immoStartOverlay .immo-wizard-result-modern {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  overflow: visible !important;
}
#immoStartOverlay .wizard-result-card,
#immoStartOverlay .wizard-score-card {
  border-radius: 30px !important;
  padding: clamp(18px, 3vw, 28px) !important;
  border: 1px solid rgba(203, 213, 225, .92) !important;
  box-shadow: 0 26px 70px rgba(16, 24, 40, .12) !important;
  min-width: 0 !important;
}
#immoStartOverlay .wizard-result-pre {
  background: linear-gradient(145deg, rgba(235,238,255,.96), rgba(255,255,255,.88)) !important;
  border-top: 7px solid #0b109f !important;
}
#immoStartOverlay .wizard-result-net {
  background: linear-gradient(145deg, rgba(232,255,245,.96), rgba(255,255,255,.88)) !important;
  border-top: 7px solid #10b981 !important;
}
#immoStartOverlay .wizard-result-head {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin-bottom: 18px !important;
}
#immoStartOverlay .wizard-result-head > .uicon {
  --uicon-size: 30px;
  color: #101828 !important;
  background: #101828 !important;
}
#immoStartOverlay .wizard-result-head strong {
  display: block !important;
  font-size: clamp(1.25rem, 2.6vw, 1.75rem) !important;
  line-height: 1 !important;
  letter-spacing: -.04em !important;
}
#immoStartOverlay .wizard-result-head small {
  display: block !important;
  color: #64748b !important;
  font-weight: 700 !important;
  margin-top: 4px !important;
}
#immoStartOverlay .wizard-result-value {
  font-size: clamp(3.4rem, 8vw, 5.7rem) !important;
  line-height: .9 !important;
  font-weight: 950 !important;
  letter-spacing: -.07em !important;
  margin: 8px 0 22px !important;
}
#immoStartOverlay .wizard-result-lines {
  display: grid !important;
  gap: 0 !important;
}
#immoStartOverlay .wizard-result-lines > div {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  padding: 10px 0 !important;
  border-top: 1px solid rgba(203,213,225,.75) !important;
  color: #475569 !important;
  font-weight: 700 !important;
}
#immoStartOverlay .wizard-result-lines > div.sub {
  padding-left: 24px !important;
  font-size: .92em !important;
  border-top: 0 !important;
}
#immoStartOverlay .wizard-result-lines > div.total {
  font-weight: 950 !important;
  color: #101828 !important;
  border-top: 2px solid rgba(203,213,225,.86) !important;
}
#immoStartOverlay .wizard-result-lines b {
  white-space: nowrap !important;
  font-weight: 950 !important;
}
#immoStartOverlay .tone-income { color: #059669 !important; }
#immoStartOverlay .tone-expense { color: #b91c1c !important; }
#immoStartOverlay .tone-neutral { color: #0b109f !important; }
#immoStartOverlay .wizard-score-card {
  grid-column: 1 / -1 !important;
  display: grid !important;
  grid-template-columns: 1fr auto auto !important;
  align-items: center !important;
  gap: 18px !important;
  background: rgba(255,255,255,.9) !important;
}
#immoStartOverlay .wizard-score-card span {
  color: #0f766e !important;
  text-transform: uppercase !important;
  letter-spacing: .14em !important;
  font-weight: 950 !important;
}
#immoStartOverlay .wizard-score-card strong {
  font-size: clamp(1.7rem, 4vw, 2.4rem) !important;
  color: #0f766e !important;
}
#immoStartOverlay .wizard-score-card b {
  border-radius: 999px !important;
  padding: 10px 16px !important;
  background: rgba(15,118,110,.08) !important;
  color: #0f766e !important;
  white-space: nowrap !important;
}
body.immo-start-open .immo-tools-drawer,
body.immo-start-open .immo-listing-drawer,
body.immo-start-open #toolsBackdrop,
body.immo-start-open .portfolio-view {
  display: none !important;
  pointer-events: none !important;
}
@media (max-width: 720px) {
  #immoStartOverlay .immo-start-shell {
    padding-top: max(16px, env(safe-area-inset-top)) !important;
    padding-bottom: max(16px, env(safe-area-inset-bottom)) !important;
  }
  #immoStartOverlay[data-screen="manual"] .immo-start-topbar {
    min-height: 42px !important;
  }
  #immoStartOverlay .immo-wizard-step > .immo-wizard-grid {
    border-radius: 26px !important;
    max-height: 100% !important;
    overflow: visible !important;
  }
  #immoStartOverlay .immo-wizard-result-modern {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    max-height: 100% !important;
    overflow: auto !important;
    padding-right: 2px !important;
  }
  #immoStartOverlay .wizard-result-card,
  #immoStartOverlay .wizard-score-card {
    border-radius: 26px !important;
    padding: 16px !important;
  }
  #immoStartOverlay .wizard-result-value {
    font-size: 3.25rem !important;
    margin-bottom: 14px !important;
  }
  #immoStartOverlay .wizard-result-lines > div {
    padding: 8px 0 !important;
    font-size: .95rem !important;
  }
  #immoStartOverlay .wizard-score-card {
    grid-template-columns: 1fr !important;
    gap: 6px !important;
  }
  #immoStartOverlay .wizard-score-card b {
    justify-self: start !important;
  }
  #immoStartOverlay .immo-wizard-grid .input-wrap span {
    display: flex !important;
    align-items: center !important;
  }
}

/* v2.1.4: Wizard-Abschluss verschlanken und Kartenradien sauber schließen */
#immoStartOverlay .immo-wizard-step {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 32px !important;
}
#immoStartOverlay .immo-wizard-step > .immo-wizard-grid {
  overflow: hidden !important;
  background-clip: padding-box !important;
  clip-path: inset(0 round 32px) !important;
}
#immoStartOverlay .immo-wizard-step > .immo-wizard-result-final {
  overflow: visible !important;
  clip-path: none !important;
}
#immoStartOverlay .immo-wizard-result-final {
  width: min(760px, 100%) !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: clamp(14px, 2vw, 20px) !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}
#immoStartOverlay .immo-wizard-result-final > div,
#immoStartOverlay .immo-wizard-result-final > article {
  min-height: unset !important;
}
#immoStartOverlay .wizard-final-values {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(12px, 2vw, 18px) !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
#immoStartOverlay .wizard-final-card,
#immoStartOverlay .wizard-final-score {
  border-radius: 32px !important;
  border: 1px solid rgba(203, 213, 225, .86) !important;
  box-shadow: 0 28px 80px rgba(16, 24, 40, .12) !important;
  background: rgba(255,255,255,.9) !important;
  padding: clamp(22px, 4vw, 34px) !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}
#immoStartOverlay .wizard-final-card {
  display: grid !important;
  gap: 10px !important;
  min-height: 210px !important;
  align-content: center !important;
}
#immoStartOverlay .wizard-final-pre {
  border-top: 8px solid #0b109f !important;
  background: linear-gradient(145deg, rgba(237,240,255,.98), rgba(255,255,255,.88)) !important;
}
#immoStartOverlay .wizard-final-net {
  border-top: 8px solid #10b981 !important;
  background: linear-gradient(145deg, rgba(229,255,244,.98), rgba(255,255,255,.88)) !important;
}
#immoStartOverlay .wizard-final-card span,
#immoStartOverlay .wizard-final-score > div:last-child > span {
  color: #64748b !important;
  font-weight: 900 !important;
  letter-spacing: .03em !important;
}
#immoStartOverlay .wizard-final-card strong {
  display: block !important;
  font-size: clamp(4.2rem, 10vw, 7rem) !important;
  line-height: .9 !important;
  letter-spacing: -.08em !important;
  font-weight: 950 !important;
  white-space: nowrap !important;
}
#immoStartOverlay .wizard-final-pre strong { color: #0b109f !important; }
#immoStartOverlay .wizard-final-net strong { color: #059669 !important; }
#immoStartOverlay .wizard-final-score {
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  align-items: center !important;
  gap: clamp(14px, 2vw, 22px) !important;
}
#immoStartOverlay .wizard-final-score-number {
  width: clamp(76px, 12vw, 112px) !important;
  height: clamp(76px, 12vw, 112px) !important;
  border-radius: 28px !important;
  display: grid !important;
  place-items: center !important;
  color: #fff !important;
  background: linear-gradient(135deg, #f59e0b, #fbbf24) !important;
  box-shadow: 0 18px 42px rgba(245,158,11,.22) !important;
}
#immoStartOverlay .wizard-final-score-number span {
  color: #fff !important;
  font-size: clamp(2rem, 5vw, 3rem) !important;
  font-weight: 950 !important;
  letter-spacing: -.06em !important;
}
#immoStartOverlay .wizard-final-score strong {
  display: block !important;
  font-size: clamp(1.8rem, 4vw, 2.5rem) !important;
  line-height: 1 !important;
  letter-spacing: -.05em !important;
  margin: 4px 0 8px !important;
}
#immoStartOverlay .wizard-final-score b {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 34px !important;
  border-radius: 999px !important;
  padding: 7px 14px !important;
  font-weight: 950 !important;
}
#immoStartOverlay .wizard-final-score.score-buy .wizard-final-score-number { background: linear-gradient(135deg, #059669, #34d399) !important; }
#immoStartOverlay .wizard-final-score.score-buy strong,
#immoStartOverlay .wizard-final-score.score-buy b { color: #047857 !important; }
#immoStartOverlay .wizard-final-score.score-buy b { background: rgba(16,185,129,.11) !important; border: 1px solid rgba(16,185,129,.20) !important; }
#immoStartOverlay .wizard-final-score.score-negotiate .wizard-final-score-number { background: linear-gradient(135deg, #f59e0b, #fbbf24) !important; }
#immoStartOverlay .wizard-final-score.score-negotiate strong,
#immoStartOverlay .wizard-final-score.score-negotiate b { color: #92400e !important; }
#immoStartOverlay .wizard-final-score.score-negotiate b { background: rgba(245,158,11,.12) !important; border: 1px solid rgba(245,158,11,.24) !important; }
#immoStartOverlay .wizard-final-score.score-avoid .wizard-final-score-number { background: linear-gradient(135deg, #b91c1c, #ef4444) !important; }
#immoStartOverlay .wizard-final-score.score-avoid strong,
#immoStartOverlay .wizard-final-score.score-avoid b { color: #991b1b !important; }
#immoStartOverlay .wizard-final-score.score-avoid b { background: rgba(239,68,68,.11) !important; border: 1px solid rgba(239,68,68,.22) !important; }

@media (max-width: 720px) {
  #immoStartOverlay .immo-wizard-step,
  #immoStartOverlay .immo-wizard-step > .immo-wizard-grid,
  #immoStartOverlay .wizard-final-card,
  #immoStartOverlay .wizard-final-score {
    border-radius: 28px !important;
  }
  #immoStartOverlay .immo-wizard-step > .immo-wizard-grid {
    clip-path: inset(0 round 28px) !important;
  }
  #immoStartOverlay .immo-wizard-result-final {
    gap: 12px !important;
  }
  #immoStartOverlay .wizard-final-values {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  #immoStartOverlay .wizard-final-card {
    min-height: 145px !important;
    padding: 22px !important;
  }
  #immoStartOverlay .wizard-final-card strong {
    font-size: clamp(3.8rem, 15vw, 5.4rem) !important;
  }
  #immoStartOverlay .wizard-final-score {
    grid-template-columns: auto 1fr !important;
    padding: 18px !important;
  }
  #immoStartOverlay .wizard-final-score-number {
    width: 74px !important;
    height: 74px !important;
    border-radius: 24px !important;
  }
  #immoStartOverlay .wizard-final-score-number span {
    font-size: 2rem !important;
  }
  #immoStartOverlay .wizard-final-score strong {
    font-size: 1.65rem !important;
  }
  #immoStartOverlay .wizard-final-score b {
    font-size: .95rem !important;
  }
}
@media (max-width: 390px) {
  #immoStartOverlay .immo-wizard-step,
  #immoStartOverlay .immo-wizard-step > .immo-wizard-grid,
  #immoStartOverlay .wizard-final-card,
  #immoStartOverlay .wizard-final-score {
    border-radius: 24px !important;
  }
  #immoStartOverlay .immo-wizard-step > .immo-wizard-grid {
    clip-path: inset(0 round 24px) !important;
  }
}
#immoStartOverlay .wizard-final-card strong.tone-income { color: #059669 !important; }
#immoStartOverlay .wizard-final-card strong.tone-expense { color: #b91c1c !important; }
#immoStartOverlay .wizard-final-card strong.tone-neutral { color: #0b109f !important; }


/* v2.1.5 – Objekt & Finanzierung nach Wizard mobil einklappen + dezenter Pulse-Hinweis */
@keyframes immoInputPanelPulse {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 10px 24px rgba(15, 23, 42, .06), 0 0 0 0 rgba(14, 165, 233, .28);
  }
  50% {
    transform: scale(1.035);
    box-shadow: 0 14px 30px rgba(15, 23, 42, .10), 0 0 0 8px rgba(14, 165, 233, .10);
  }
}

@media (max-width: 720px) {
  .runenburg-immo-calculator .input-panel.is-collapsed .input-panel-collapse-toggle,
  .runenburg-immo-calculator .input-panel-collapse-toggle.is-pulsing {
    animation: immoInputPanelPulse 1.85s ease-in-out infinite !important;
  }

  .runenburg-immo-calculator .input-panel:not(.is-collapsed) .input-panel-collapse-toggle {
    animation: none !important;
  }
}

/* v2.1.6 – Import-Assistent bleibt im Fullscreen-Overlay; keine klassischen Drawer mehr im Analysepfad */
#immoStartOverlay .immo-import-screen.is-active {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}
#immoStartOverlay .immo-import-card {
  width: min(760px, 100%) !important;
  max-height: 100% !important;
  overflow: auto !important;
  border-radius: 32px !important;
  border: 1px solid rgba(203, 213, 225, .92) !important;
  background: rgba(255, 255, 255, .92) !important;
  box-shadow: 0 28px 80px rgba(16, 24, 40, .12) !important;
  padding: clamp(18px, 3vw, 30px) !important;
  box-sizing: border-box !important;
  display: grid !important;
  gap: 16px !important;
  background-clip: padding-box !important;
}
#immoStartOverlay .immo-import-head {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin: 0 !important;
}
#immoStartOverlay .immo-import-head > .uicon {
  --uicon-size: 28px !important;
  color: #101828 !important;
  background: currentColor !important;
}
#immoStartOverlay .immo-import-head strong {
  font-size: clamp(1.3rem, 2.6vw, 1.85rem) !important;
  letter-spacing: -.04em !important;
  line-height: 1 !important;
  color: #101828 !important;
}
#immoStartOverlay .immo-import-card .input-group label {
  display: flex !important;
  align-items: center !important;
  margin: 0 0 8px !important;
  color: #101828 !important;
  font-weight: 900 !important;
}
#immoStartOverlay .immo-import-card .input-wrap,
#immoStartOverlay .immo-import-card textarea {
  width: 100% !important;
  border-radius: 22px !important;
  border: 1px solid rgba(203, 213, 225, .95) !important;
  background: rgba(255,255,255,.94) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8) !important;
  box-sizing: border-box !important;
}
#immoStartOverlay .immo-import-card .input-wrap {
  min-height: 64px !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 18px !important;
}
#immoStartOverlay .immo-import-card .input-wrap input:not([type="file"]) {
  width: 100% !important;
  border: 0 !important;
  background: transparent !important;
  outline: 0 !important;
  font: inherit !important;
  font-weight: 900 !important;
  color: #101828 !important;
}
#immoStartOverlay .immo-import-card textarea {
  min-height: 220px !important;
  padding: 18px !important;
  resize: vertical !important;
  font: inherit !important;
  font-weight: 700 !important;
  color: #101828 !important;
  outline: 0 !important;
}
#immoStartOverlay .immo-import-card .file-wrap {
  min-height: 72px !important;
}
#immoStartOverlay .immo-import-submit,
#immoStartOverlay .immo-import-apply {
  width: 100% !important;
  min-height: 58px !important;
  border-radius: 20px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
#immoStartOverlay .immo-import-results {
  display: grid !important;
  gap: 14px !important;
  max-height: min(52vh, 520px) !important;
  overflow: auto !important;
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
}
#immoStartOverlay .immo-import-results.hidden { display: none !important; }
#immoStartOverlay .listing-results-head {
  display: flex !important;
  align-items: end !important;
  justify-content: space-between !important;
  gap: 12px !important;
}
#immoStartOverlay .listing-results-head strong {
  font-size: 1.15rem !important;
  color: #101828 !important;
}
#immoStartOverlay .listing-results-head small,
#immoStartOverlay .tool-note {
  color: #64748b !important;
  font-weight: 750 !important;
}
#immoStartOverlay .listing-suggestions {
  display: grid !important;
  gap: 10px !important;
}
#immoStartOverlay .listing-suggestion-card {
  border-radius: 22px !important;
  border: 1px solid rgba(203, 213, 225, .9) !important;
  background: rgba(255,255,255,.94) !important;
  padding: 14px !important;
  display: grid !important;
  gap: 8px !important;
  box-shadow: 0 12px 28px rgba(16, 24, 40, .06) !important;
}
#immoStartOverlay .listing-suggestion-main {
  display: flex !important;
  justify-content: space-between !important;
  gap: 12px !important;
  align-items: center !important;
}
#immoStartOverlay .listing-suggestion-main b {
  color: #0f766e !important;
  white-space: nowrap !important;
}
#immoStartOverlay .listing-edit-row {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
#immoStartOverlay .listing-edit-toggle {
  width: 38px !important;
  height: 38px !important;
  border-radius: 14px !important;
  display: grid !important;
  place-items: center !important;
}
#immoStartOverlay .listing-edit-input,
#immoStartOverlay .listing-manual-input {
  min-height: 44px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(203, 213, 225, .95) !important;
  padding: 0 12px !important;
  font-weight: 850 !important;
}
#immoStartOverlay .tool-note.is-error { color: #b91c1c !important; }
#immoStartOverlay .immo-wizard-step { overflow: visible !important; }
#immoStartOverlay .immo-wizard-step > .immo-wizard-grid {
  clip-path: none !important;
  -webkit-mask-image: radial-gradient(#fff, #fff) !important;
  mask-image: radial-gradient(#fff, #fff) !important;
}

@media (max-width: 720px) {
  #immoStartOverlay .immo-import-card {
    border-radius: 28px !important;
    padding: 16px !important;
    max-height: 100% !important;
  }
  #immoStartOverlay .immo-import-card textarea { min-height: 190px !important; }
  #immoStartOverlay .immo-import-results { max-height: 58vh !important; }
}
@media (max-width: 390px) {
  #immoStartOverlay .immo-import-card { border-radius: 24px !important; padding: 13px !important; }
}

/* v2.1.7 – mobile Layer-Fix: Drawer wirklich über dem Rechner, zentrierte X-Buttons und sichtbarer Objekt-Pulse */
html body.immo-drawer-open,
html body.immo-start-open {
  overflow: hidden !important;
  touch-action: none;
}

/* Tool-Drawer und Inserat-Drawer dürfen auf Mobile nicht mehr transparent über dem Rechner liegen. */
body > .immo-tools-drawer,
.runenburg-immo-calculator .immo-tools-drawer {
  z-index: 1000002 !important;
  background: #ffffff !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  box-shadow: 0 34px 100px rgba(15, 23, 42, .30) !important;
  isolation: isolate !important;
}
body > .immo-tools-backdrop,
.runenburg-immo-calculator .immo-tools-backdrop {
  z-index: 1000001 !important;
  background: rgba(15, 23, 42, .46) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  backdrop-filter: blur(8px) !important;
}
body > .immo-tools-drawer.open,
.runenburg-immo-calculator .immo-tools-drawer.open {
  opacity: 1 !important;
  pointer-events: auto !important;
}

@media (max-width: 720px) {
  body > .immo-tools-drawer,
  .runenburg-immo-calculator .immo-tools-drawer {
    position: fixed !important;
    left: 10px !important;
    right: 10px !important;
    top: max(10px, env(safe-area-inset-top)) !important;
    bottom: max(10px, env(safe-area-inset-bottom)) !important;
    width: auto !important;
    max-width: none !important;
    max-height: none !important;
    height: auto !important;
    border-radius: 28px !important;
    padding: 20px !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    transform: translateY(calc(100% + 24px)) !important;
  }
  body > .immo-tools-drawer.open,
  .runenburg-immo-calculator .immo-tools-drawer.open {
    transform: translateY(0) !important;
  }
  body > .immo-tools-drawer .immo-drawer-head,
  .runenburg-immo-calculator .immo-tools-drawer .immo-drawer-head {
    align-items: flex-start !important;
  }
}

/* X-Buttons optisch exakt zentrieren: kein Browser-Glyph-Baseline-Offset mehr. */
#immoStartOverlay .immo-start-close,
body > .immo-tools-drawer .drawer-close,
.runenburg-immo-calculator .drawer-close {
  display: grid !important;
  place-items: center !important;
  text-align: center !important;
  padding: 0 !important;
  line-height: 1 !important;
  font-size: 0 !important;
}
#immoStartOverlay .immo-start-close::before,
body > .immo-tools-drawer .drawer-close::before,
.runenburg-immo-calculator .drawer-close::before {
  content: "×" !important;
  display: block !important;
  font-size: 32px !important;
  line-height: 1 !important;
  font-weight: 450 !important;
  transform: translateY(-1px) !important;
  color: currentColor !important;
}
#immoStartOverlay .immo-start-close {
  width: 54px !important;
  height: 54px !important;
  flex-basis: 54px !important;
  border-radius: 18px !important;
}

/* Objekt & Finanzierung: deutlicher, aber hochwertiger Pulse, solange der Bereich zugeklappt ist. */
@keyframes immoInputPanelPulseStrong {
  0%, 100% {
    transform: scale(1);
    box-shadow:
      0 10px 24px rgba(15, 23, 42, .07),
      0 0 0 0 rgba(56, 189, 248, .32),
      0 0 0 0 rgba(47, 92, 255, .16);
  }
  45% {
    transform: scale(1.11);
    box-shadow:
      0 16px 36px rgba(15, 23, 42, .12),
      0 0 0 10px rgba(56, 189, 248, .16),
      0 0 34px 7px rgba(56, 189, 248, .22);
  }
}
@media (max-width: 720px) {
  .runenburg-immo-calculator .input-panel.is-collapsed .input-panel-collapse-toggle,
  .runenburg-immo-calculator .input-panel-collapse-toggle.is-pulsing {
    animation: immoInputPanelPulseStrong 1.45s ease-in-out infinite !important;
    transform-origin: center center !important;
    will-change: transform, box-shadow !important;
  }
  .runenburg-immo-calculator .input-panel:not(.is-collapsed) .input-panel-collapse-toggle {
    animation: none !important;
  }
}

/* Drawer-Inhalte selbst erhalten eine feste Ebene, damit keine dahinterliegenden Überschriften optisch durchscheinen. */
body > .immo-tools-drawer > *,
.runenburg-immo-calculator .immo-tools-drawer > * {
  position: relative !important;
  z-index: 1 !important;
}

/* v2.1.8 – Wizard final polish: Startscreen, scrolling, centered controls, unified glow pulse */
#immoStartOverlay.immo-start-overlay {
  z-index: 2147483000 !important;
}
#immoStartOverlay .immo-start-shell {
  height: 100dvh !important;
  max-height: 100dvh !important;
  min-height: 100dvh !important;
  width: 100% !important;
  max-width: none !important;
  border-radius: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  grid-template-rows: auto minmax(0, 1fr) auto !important;
  overflow: hidden !important;
  padding: max(18px, env(safe-area-inset-top)) clamp(18px, 4vw, 56px) max(18px, env(safe-area-inset-bottom)) !important;
}
#immoStartOverlay .immo-start-screen.is-active {
  min-height: 0 !important;
  height: 100% !important;
  overflow: hidden !important;
}
#immoStartOverlay .immo-start-screen[data-start-screen="manual"].is-active {
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  gap: 16px !important;
  align-content: stretch !important;
}
#immoStartOverlay .immo-wizard-head {
  width: min(820px, 100%) !important;
  margin: 0 auto 8px !important;
  flex: 0 0 auto !important;
}
#immoStartOverlay .immo-wizard-progress {
  width: 100% !important;
  max-width: none !important;
  justify-self: stretch !important;
  box-sizing: border-box !important;
}
#immoStartOverlay .immo-wizard-steps {
  width: min(820px, 100%) !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior: contain !important;
  padding: 0 0 18px !important;
  box-sizing: border-box !important;
}
#immoStartOverlay .immo-wizard-step.is-active {
  min-height: 100% !important;
  display: grid !important;
  align-content: center !important;
}
#immoStartOverlay .immo-wizard-step > .immo-wizard-grid,
#immoStartOverlay .immo-wizard-result-slim {
  width: min(760px, 100%) !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}
#immoStartOverlay .immo-wizard-step > .immo-wizard-grid {
  overflow: visible !important;
  border-radius: 34px !important;
  background-clip: padding-box !important;
}
#immoStartOverlay .immo-start-actions {
  width: min(820px, 100%) !important;
  margin: 0 auto !important;
  flex: 0 0 auto !important;
  position: relative !important;
  z-index: 3 !important;
}
#immoStartOverlay .immo-start-close,
body > .immo-tools-drawer .drawer-close,
.runenburg-immo-calculator .drawer-close {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  overflow: hidden !important;
}
#immoStartOverlay .immo-start-close::before,
#immoStartOverlay .immo-start-close::after,
body > .immo-tools-drawer .drawer-close::before,
body > .immo-tools-drawer .drawer-close::after,
.runenburg-immo-calculator .drawer-close::before,
.runenburg-immo-calculator .drawer-close::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 24px !important;
  height: 3px !important;
  border-radius: 999px !important;
  background: currentColor !important;
  transform-origin: center !important;
}
#immoStartOverlay .immo-start-close::before,
body > .immo-tools-drawer .drawer-close::before,
.runenburg-immo-calculator .drawer-close::before {
  transform: translate(-50%, -50%) rotate(45deg) !important;
}
#immoStartOverlay .immo-start-close::after,
body > .immo-tools-drawer .drawer-close::after,
.runenburg-immo-calculator .drawer-close::after {
  transform: translate(-50%, -50%) rotate(-45deg) !important;
}
#immoStartOverlay .immo-start-hero-intro {
  width: min(820px, 100%) !important;
  margin: 0 auto clamp(18px, 4vh, 34px) !important;
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  align-items: center !important;
  gap: clamp(14px, 3vw, 24px) !important;
  padding: clamp(18px, 4vw, 34px) !important;
  border-radius: 34px !important;
  background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(247,250,255,.84)) !important;
  border: 1px solid rgba(203, 213, 225, .84) !important;
  box-shadow: 0 24px 70px rgba(16, 24, 40, .10) !important;
}
#immoStartOverlay .immo-start-logo-wrap {
  width: clamp(68px, 12vw, 104px) !important;
  aspect-ratio: 1 !important;
  border-radius: 22px !important;
  border: 1px solid rgba(203, 213, 225, .95) !important;
  display: grid !important;
  place-items: center !important;
  background: rgba(255,255,255,.92) !important;
  box-shadow: 0 16px 36px rgba(16,24,40,.08) !important;
  overflow: hidden !important;
}
#immoStartOverlay .immo-start-logo-wrap img {
  width: 82% !important;
  height: 82% !important;
  object-fit: contain !important;
  display: block !important;
}
#immoStartOverlay .immo-start-hero-intro h2 {
  margin: 0 !important;
  font-size: clamp(2.1rem, 7vw, 5rem) !important;
  line-height: .9 !important;
  letter-spacing: -.07em !important;
  color: #101828 !important;
}
#immoStartOverlay .immo-start-options {
  width: min(820px, 100%) !important;
  margin: 0 auto !important;
}
#immoStartOverlay .immo-start-screen[data-start-screen="home"].is-active {
  align-content: center !important;
}

@keyframes immoInputPanelGlowPulse {
  0%, 100% {
    transform: none;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .07), 0 0 0 0 rgba(56, 189, 248, .34), 0 0 0 rgba(56, 189, 248, 0);
  }
  50% {
    transform: none;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .08), 0 0 0 10px rgba(56, 189, 248, .16), 0 0 30px 7px rgba(56, 189, 248, .22);
  }
}
@media (max-width: 720px) {
  .runenburg-immo-calculator .input-panel.is-collapsed .input-panel-collapse-toggle,
  .runenburg-immo-calculator .input-panel-collapse-toggle.is-pulsing {
    animation: immoInputPanelGlowPulse 1.45s ease-in-out infinite !important;
    transform: none !important;
    transform-origin: center center !important;
  }
}

#immoStartOverlay .immo-wizard-result-slim {
  display: grid !important;
  gap: clamp(22px, 4vh, 34px) !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
#immoStartOverlay .wizard-final-number {
  display: grid !important;
  gap: 6px !important;
  text-align: center !important;
  padding: 0 !important;
  min-height: auto !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
#immoStartOverlay .wizard-final-number span {
  color: #64748b !important;
  font-weight: 950 !important;
  font-size: clamp(1rem, 3vw, 1.35rem) !important;
  letter-spacing: -.02em !important;
}
#immoStartOverlay .wizard-final-number strong {
  font-size: clamp(4.6rem, 18vw, 9.5rem) !important;
  line-height: .88 !important;
  letter-spacing: -.09em !important;
  font-weight: 1000 !important;
}
#immoStartOverlay .wizard-final-score-slim {
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  align-items: center !important;
  gap: 18px !important;
  margin-top: 8px !important;
  padding: clamp(16px, 4vw, 24px) !important;
  border-radius: 30px !important;
  border: 1px solid rgba(203, 213, 225, .88) !important;
  background: rgba(255,255,255,.78) !important;
  box-shadow: 0 20px 60px rgba(16,24,40,.08) !important;
}
#immoStartOverlay .wizard-final-score-slim > div:last-child {
  display: grid !important;
  gap: 6px !important;
}
#immoStartOverlay .wizard-final-score-slim span:not(#wizPreviewScore) {
  color: #64748b !important;
  font-weight: 950 !important;
  font-size: clamp(.95rem, 3vw, 1.25rem) !important;
}
#immoStartOverlay .wizard-final-score-slim strong {
  font-size: clamp(1.8rem, 5vw, 2.7rem) !important;
  line-height: 1 !important;
  letter-spacing: -.06em !important;
  color: #101828 !important;
}
#immoStartOverlay .wizard-final-score-slim b {
  width: fit-content !important;
  padding: 8px 18px !important;
  border-radius: 999px !important;
  font-size: clamp(1rem, 3vw, 1.25rem) !important;
  line-height: 1 !important;
}
#immoStartOverlay .wizard-final-score-slim.score-buy b { color: #047857 !important; background: rgba(16,185,129,.10) !important; border: 1px solid rgba(16,185,129,.22) !important; }
#immoStartOverlay .wizard-final-score-slim.score-negotiate b { color: #92400e !important; background: rgba(245,158,11,.12) !important; border: 1px solid rgba(245,158,11,.26) !important; }
#immoStartOverlay .wizard-final-score-slim.score-avoid b { color: #991b1b !important; background: rgba(239,68,68,.10) !important; border: 1px solid rgba(239,68,68,.22) !important; }
#immoStartOverlay .wizard-final-score-number {
  width: clamp(70px, 16vw, 100px) !important;
  height: clamp(70px, 16vw, 100px) !important;
  border-radius: 26px !important;
}
#immoStartOverlay .wizard-final-score-number span {
  font-size: clamp(2rem, 6vw, 3rem) !important;
}

@media (max-width: 720px) {
  #immoStartOverlay .immo-start-shell {
    padding: max(18px, env(safe-area-inset-top)) 24px calc(18px + env(safe-area-inset-bottom)) !important;
  }
  #immoStartOverlay .immo-start-topbar {
    align-items: flex-start !important;
  }
  #immoStartOverlay .immo-start-close {
    width: 58px !important;
    height: 58px !important;
    border-radius: 20px !important;
  }
  #immoStartOverlay .immo-start-hero-intro {
    grid-template-columns: auto 1fr !important;
    border-radius: 28px !important;
  }
  #immoStartOverlay .immo-start-options.two,
  #immoStartOverlay .immo-start-options.three {
    grid-template-columns: 1fr !important;
  }
  #immoStartOverlay .immo-start-card {
    min-height: 124px !important;
    border-radius: 28px !important;
  }
  #immoStartOverlay .immo-wizard-head,
  #immoStartOverlay .immo-wizard-steps,
  #immoStartOverlay .immo-start-actions {
    width: 100% !important;
  }
  #immoStartOverlay .immo-wizard-step.is-active {
    align-content: center !important;
  }
  #immoStartOverlay .immo-wizard-step > .immo-wizard-grid {
    border-radius: 30px !important;
    padding: 20px !important;
    gap: 14px !important;
  }
  #immoStartOverlay .immo-wizard-grid.two {
    grid-template-columns: 1fr !important;
  }
  #immoStartOverlay .wizard-toggle {
    border-radius: 18px !important;
  }
}
@media (max-height: 820px) and (max-width: 720px) {
  #immoStartOverlay .immo-wizard-step.is-active {
    align-content: start !important;
  }
  #immoStartOverlay .immo-wizard-step > .immo-wizard-grid,
  #immoStartOverlay .immo-wizard-result-slim {
    margin-top: 0 !important;
  }
  #immoStartOverlay .immo-wizard-step > .immo-wizard-grid {
    padding: 16px !important;
    gap: 10px !important;
    border-radius: 26px !important;
  }
  #immoStartOverlay .immo-wizard-grid .input-wrap {
    min-height: 58px !important;
  }
  #immoStartOverlay .immo-wizard-grid .input-wrap input {
    min-height: 56px !important;
  }
  #immoStartOverlay .immo-wizard-grid .input-group label {
    margin-bottom: 6px !important;
  }
  #immoStartOverlay .wizard-toggle {
    min-height: 50px !important;
    height: 50px !important;
  }
}
@media (max-width: 390px) {
  #immoStartOverlay .immo-start-shell { padding-left: 18px !important; padding-right: 18px !important; }
  #immoStartOverlay .immo-wizard-step > .immo-wizard-grid { border-radius: 24px !important; }
  #immoStartOverlay .wizard-final-score-slim { grid-template-columns: 1fr !important; text-align: center !important; justify-items: center !important; }
  #immoStartOverlay .wizard-final-score-slim b { margin-inline: auto !important; }
}
/* v2.1.8 – iOS darf innerhalb des Wizards weiterhin vertikal scrollen. */
html body.immo-start-open {
  touch-action: auto !important;
}
#immoStartOverlay,
#immoStartOverlay .immo-start-shell,
#immoStartOverlay .immo-wizard-steps,
#immoStartOverlay .immo-import-card,
#immoStartOverlay .immo-import-results {
  touch-action: pan-y !important;
}

/* v2.1.9 – Wizard layout reset: schlanker, konsistenter und ohne seitliches Überlaufen */
#immoStartOverlay .immo-start-screen[data-start-screen="home"].is-active,
#immoStartOverlay .immo-start-screen[data-start-screen="source"].is-active,
#immoStartOverlay .immo-start-screen[data-start-screen="import"].is-active {
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(14px, 2.8vh, 24px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}
#immoStartOverlay .immo-start-screen[data-start-screen="home"] .immo-start-hero-intro {
  flex: 0 0 auto !important;
  width: min(760px, 100%) !important;
  margin: 0 auto !important;
}
#immoStartOverlay .immo-start-screen[data-start-screen="home"] .immo-start-options,
#immoStartOverlay .immo-start-screen[data-start-screen="source"] .immo-start-options,
#immoStartOverlay .immo-start-screen[data-start-screen="import"] .immo-start-options {
  flex: 0 0 auto !important;
  width: min(760px, 100%) !important;
  margin: 0 auto !important;
}
#immoStartOverlay .immo-start-options.two,
#immoStartOverlay .immo-start-options.three {
  gap: 14px !important;
}
#immoStartOverlay .immo-start-card {
  min-width: 0 !important;
  min-height: 118px !important;
  border-radius: 28px !important;
  box-shadow: 0 18px 52px rgba(16, 24, 40, .075) !important;
  background: linear-gradient(145deg, rgba(255,255,255,.94), rgba(248,250,252,.86)) !important;
  overflow: hidden !important;
  transform: none !important;
}
#immoStartOverlay .immo-start-card:hover { transform: none !important; }
#immoStartOverlay .immo-start-card + .immo-start-card {
  margin-top: 0 !important;
}
#immoStartOverlay .immo-start-card.primary {
  box-shadow: 0 18px 52px rgba(47, 92, 255, .08) !important;
}

/* Einheitlicher Arbeitsbereich: jede Eingabe-Karte hat dieselbe Breite und scrollt bei zu kleinen Screens. */
#immoStartOverlay .immo-wizard-head,
#immoStartOverlay .immo-wizard-steps,
#immoStartOverlay .immo-start-actions {
  width: min(760px, 100%) !important;
  max-width: 760px !important;
}
#immoStartOverlay .immo-wizard-progress {
  width: 100% !important;
}
#immoStartOverlay .immo-wizard-step {
  width: 100% !important;
  min-height: auto !important;
  overflow: visible !important;
}
#immoStartOverlay .immo-wizard-step.is-active {
  align-content: center !important;
  justify-content: stretch !important;
  width: 100% !important;
}
#immoStartOverlay .immo-wizard-step > .immo-wizard-grid,
#immoStartOverlay .immo-wizard-step > .immo-wizard-result,
#immoStartOverlay .immo-wizard-result-slim {
  width: 100% !important;
  max-width: 760px !important;
  margin-inline: auto !important;
  border-radius: 30px !important;
  box-sizing: border-box !important;
}
#immoStartOverlay .immo-wizard-step > .immo-wizard-grid {
  overflow: hidden !important;
  position: relative !important;
  isolation: isolate !important;
  box-shadow: 0 22px 64px rgba(16, 24, 40, .09) !important;
}
#immoStartOverlay .immo-wizard-step > .immo-wizard-grid::before,
#immoStartOverlay .immo-wizard-step > .immo-wizard-grid::after {
  content: none !important;
}
#immoStartOverlay .immo-wizard-grid.two {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

/* Keine grauen Schattenflächen unter/zwischen Karten. */
#immoStartOverlay .immo-start-screen,
#immoStartOverlay .immo-wizard-step,
#immoStartOverlay .immo-wizard-steps {
  background: transparent !important;
  box-shadow: none !important;
}

/* Abschluss neu: keine Box-in-Box-Optik, weniger Gewicht, eine Score-Zahl. */
#immoStartOverlay .immo-wizard-result-slim {
  display: grid !important;
  gap: clamp(18px, 3vh, 28px) !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: clamp(4px, 1.5vw, 10px) 0 !important;
  max-height: none !important;
  overflow: visible !important;
}
#immoStartOverlay .wizard-final-number {
  text-align: left !important;
  display: grid !important;
  gap: 8px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
#immoStartOverlay .wizard-final-number span {
  font-size: clamp(1rem, 2.5vw, 1.22rem) !important;
  color: #64748b !important;
  font-weight: 850 !important;
  letter-spacing: -.01em !important;
}
#immoStartOverlay .wizard-final-number strong {
  display: block !important;
  font-size: clamp(3.7rem, 13vw, 7rem) !important;
  line-height: .88 !important;
  letter-spacing: -.075em !important;
  font-weight: 850 !important;
  white-space: nowrap !important;
}
#immoStartOverlay .wizard-final-pre strong.tone-neutral { color: #0b109f !important; }
#immoStartOverlay .wizard-final-net strong.tone-income { color: #059669 !important; }
#immoStartOverlay .wizard-final-score-slim {
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  align-items: center !important;
  gap: 16px !important;
  width: 100% !important;
  margin-top: clamp(4px, 1.6vh, 12px) !important;
  padding: 16px !important;
  border-radius: 28px !important;
  border: 1px solid rgba(203,213,225,.82) !important;
  background: rgba(255,255,255,.76) !important;
  box-shadow: 0 18px 48px rgba(16,24,40,.075) !important;
}
#immoStartOverlay .wizard-final-score-number {
  width: clamp(68px, 15vw, 92px) !important;
  height: clamp(68px, 15vw, 92px) !important;
  border-radius: 24px !important;
  display: grid !important;
  place-items: center !important;
  box-shadow: 0 16px 36px rgba(245,158,11,.20) !important;
}
#immoStartOverlay .wizard-final-score-number span,
#immoStartOverlay .wizard-final-score-number #wizPreviewScore {
  color: #fff !important;
  font-size: clamp(2rem, 6vw, 2.75rem) !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: -.055em !important;
}
#immoStartOverlay .wizard-final-score-slim > div:last-child {
  display: grid !important;
  gap: 8px !important;
  justify-items: start !important;
}
#immoStartOverlay .wizard-final-score-slim > div:last-child > span {
  color: #64748b !important;
  font-size: clamp(.95rem, 2.4vw, 1.16rem) !important;
  font-weight: 850 !important;
  letter-spacing: -.01em !important;
  text-transform: none !important;
}
#immoStartOverlay .wizard-final-score-slim strong,
#immoStartOverlay #wizPreviewScoreText {
  display: none !important;
}
#immoStartOverlay .wizard-final-score-slim b {
  display: inline-flex !important;
  align-items: center !important;
  width: fit-content !important;
  min-height: 34px !important;
  padding: 8px 16px !important;
  border-radius: 999px !important;
  font-size: clamp(1rem, 2.6vw, 1.18rem) !important;
  line-height: 1 !important;
  font-weight: 850 !important;
}

/* Einheitlicher, ruhiger Lichtpuls – alte Größen-Pulse deaktivieren. */
@keyframes immoInputPanelGlowPulseUnified {
  0%, 100% {
    box-shadow: 0 10px 24px rgba(15, 23, 42, .07), 0 0 0 0 rgba(56, 189, 248, .32), 0 0 0 rgba(56, 189, 248, 0) !important;
    transform: none !important;
  }
  50% {
    box-shadow: 0 12px 28px rgba(15, 23, 42, .08), 0 0 0 10px rgba(56, 189, 248, .14), 0 0 30px 6px rgba(56, 189, 248, .20) !important;
    transform: none !important;
  }
}
@media (max-width: 720px) {
  .runenburg-immo-calculator .input-panel.is-collapsed .input-panel-collapse-toggle,
  .runenburg-immo-calculator .input-panel-collapse-toggle.is-pulsing {
    animation: immoInputPanelGlowPulseUnified 1.55s ease-in-out infinite !important;
    transform: none !important;
  }
}

@media (max-width: 720px) {
  #immoStartOverlay .immo-start-shell {
    padding: max(14px, env(safe-area-inset-top)) 20px calc(14px + env(safe-area-inset-bottom)) !important;
    gap: 12px !important;
  }
  #immoStartOverlay .immo-start-topbar {
    min-height: 58px !important;
  }
  #immoStartOverlay .immo-start-close {
    width: 56px !important;
    height: 56px !important;
    flex-basis: 56px !important;
    border-radius: 19px !important;
  }
  #immoStartOverlay .immo-start-screen[data-start-screen="home"].is-active {
    justify-content: start !important;
    padding-top: min(7vh, 52px) !important;
  }
  #immoStartOverlay .immo-start-hero-intro {
    width: 100% !important;
    grid-template-columns: auto 1fr !important;
    gap: 14px !important;
    padding: 18px !important;
    border-radius: 28px !important;
  }
  #immoStartOverlay .immo-start-logo-wrap {
    width: 72px !important;
    border-radius: 20px !important;
  }
  #immoStartOverlay .immo-start-hero-intro h2 {
    font-size: clamp(2.2rem, 12vw, 3.35rem) !important;
    line-height: .92 !important;
  }
  #immoStartOverlay .immo-start-options {
    width: 100% !important;
  }
  #immoStartOverlay .immo-start-card {
    width: 100% !important;
    min-height: 118px !important;
    padding: 18px !important;
    border-radius: 27px !important;
  }
  #immoStartOverlay .immo-start-card strong {
    font-size: clamp(1.65rem, 8vw, 2.05rem) !important;
    line-height: 1 !important;
    letter-spacing: -.055em !important;
  }
  #immoStartOverlay .immo-wizard-steps {
    overflow-y: auto !important;
    padding-bottom: 20px !important;
  }
  #immoStartOverlay .immo-wizard-step.is-active {
    align-content: center !important;
  }
  #immoStartOverlay .immo-wizard-grid.two {
    grid-template-columns: 1fr !important;
  }
  #immoStartOverlay .immo-wizard-step > .immo-wizard-grid {
    border-radius: 28px !important;
    padding: 17px !important;
    gap: 12px !important;
  }
  #immoStartOverlay .immo-wizard-grid .input-wrap {
    min-height: 54px !important;
    border-radius: 18px !important;
  }
  #immoStartOverlay .immo-wizard-grid .input-wrap input {
    min-height: 52px !important;
  }
  #immoStartOverlay .immo-wizard-grid .input-group label {
    font-size: .98rem !important;
  }
  #immoStartOverlay .wizard-toggle {
    min-height: 50px !important;
    height: 50px !important;
  }
  #immoStartOverlay .immo-wizard-result-slim {
    width: 100% !important;
    gap: 20px !important;
  }
  #immoStartOverlay .wizard-final-number strong {
    font-size: clamp(4rem, 18vw, 5.8rem) !important;
  }
}
@media (max-height: 780px) and (max-width: 720px) {
  #immoStartOverlay .immo-wizard-step.is-active { align-content: start !important; }
  #immoStartOverlay .immo-wizard-step > .immo-wizard-grid { padding: 14px !important; gap: 9px !important; }
  #immoStartOverlay .immo-wizard-grid .input-wrap { min-height: 50px !important; }
  #immoStartOverlay .immo-wizard-grid .input-wrap input { min-height: 48px !important; }
  #immoStartOverlay .wizard-toggle { min-height: 46px !important; height: 46px !important; }
}


/* v2.2.0 – Wizard clean reset: Schatten nicht clippen, Ergebnis mit Wow-Effekt, sauberer Glow-Pulse */
#immoStartOverlay .immo-start-screen[data-start-screen="home"].is-active,
#immoStartOverlay .immo-start-screen[data-start-screen="source"].is-active,
#immoStartOverlay .immo-start-screen[data-start-screen="import"].is-active {
  padding: 8px 10px 24px !important;
  overflow-y: auto !important;
  overflow-x: visible !important;
}
#immoStartOverlay .immo-start-screen[data-start-screen="home"] .immo-start-options,
#immoStartOverlay .immo-start-screen[data-start-screen="source"] .immo-start-options,
#immoStartOverlay .immo-start-screen[data-start-screen="import"] .immo-start-options {
  padding: 4px 4px 18px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}
#immoStartOverlay .immo-start-card {
  box-shadow: 0 16px 44px rgba(15,23,42,.055) !important;
}
#immoStartOverlay .immo-start-card.primary {
  box-shadow: 0 16px 44px rgba(47,92,255,.075) !important;
}
#immoStartOverlay .immo-start-card::before,
#immoStartOverlay .immo-start-card::after,
#immoStartOverlay .immo-wizard-result-slim::before,
#immoStartOverlay .immo-wizard-result-slim::after,
#immoStartOverlay .wizard-final-number::before,
#immoStartOverlay .wizard-final-number::after {
  content: none !important;
  display: none !important;
}
#immoStartOverlay .immo-wizard-steps {
  padding-left: 8px !important;
  padding-right: 8px !important;
  overflow-y: auto !important;
  overflow-x: visible !important;
}
#immoStartOverlay .immo-wizard-step > .immo-wizard-grid {
  overflow: hidden !important;
  clip-path: none !important;
  box-shadow: 0 18px 54px rgba(15,23,42,.07) !important;
}
#immoStartOverlay .immo-wizard-step > .immo-wizard-result-final,
#immoStartOverlay .immo-wizard-step > .immo-wizard-result-slim {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  overflow: visible !important;
  clip-path: none !important;
}
#immoStartOverlay .immo-wizard-result-slim {
  position: relative !important;
  display: grid !important;
  gap: clamp(16px, 2.4vh, 24px) !important;
  width: min(680px, 100%) !important;
  padding: clamp(10px, 2vw, 16px) !important;
  box-sizing: border-box !important;
  border-radius: 34px !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(56,189,248,.16), transparent 34%),
    radial-gradient(circle at 90% 18%, rgba(16,185,129,.14), transparent 32%),
    rgba(255,255,255,.54) !important;
  border: 1px solid rgba(226,232,240,.68) !important;
  box-shadow: 0 20px 70px rgba(15,23,42,.055) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
}
#immoStartOverlay .wizard-final-number {
  position: relative !important;
  text-align: center !important;
  display: grid !important;
  justify-items: center !important;
  gap: 6px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: translateY(8px) scale(.985) !important;
  opacity: .01 !important;
  animation: immoWizardResultRise .55s cubic-bezier(.22,1,.36,1) forwards !important;
}
#immoStartOverlay .wizard-final-net {
  animation-delay: .11s !important;
}
#immoStartOverlay .wizard-final-number span {
  font-size: clamp(.92rem, 2.5vw, 1.12rem) !important;
  color: #64748b !important;
  font-weight: 800 !important;
  letter-spacing: -.015em !important;
}
#immoStartOverlay .wizard-final-number strong {
  font-size: clamp(3.7rem, 15vw, 7.25rem) !important;
  line-height: .86 !important;
  letter-spacing: -.08em !important;
  font-weight: 800 !important;
  text-shadow: none !important;
}
#immoStartOverlay .wizard-final-number strong.is-counting {
  animation: immoWizardNumberPop .62s cubic-bezier(.22,1,.36,1) both !important;
}
#immoStartOverlay .wizard-final-score-slim {
  width: min(520px, 100%) !important;
  justify-self: center !important;
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  align-items: center !important;
  gap: 16px !important;
  margin-top: 4px !important;
  padding: 14px 16px !important;
  border-radius: 30px !important;
  border: 1px solid rgba(203,213,225,.76) !important;
  background: rgba(255,255,255,.72) !important;
  box-shadow: 0 14px 46px rgba(15,23,42,.06) !important;
  opacity: 0 !important;
  transform: translateY(10px) !important;
  transition: opacity .42s ease, transform .42s ease !important;
}
#immoStartOverlay .wizard-final-score-slim.is-visible {
  opacity: 1 !important;
  transform: translateY(0) !important;
}
#immoStartOverlay .wizard-final-score-number {
  width: clamp(62px, 14vw, 86px) !important;
  height: clamp(62px, 14vw, 86px) !important;
  border-radius: 24px !important;
  display: grid !important;
  place-items: center !important;
  box-shadow: 0 14px 34px rgba(245,158,11,.18) !important;
}
#immoStartOverlay .wizard-final-score-number span,
#immoStartOverlay .wizard-final-score-number #wizPreviewScore {
  font-size: clamp(1.8rem, 5.6vw, 2.45rem) !important;
  font-weight: 850 !important;
  letter-spacing: -.055em !important;
}
#immoStartOverlay .wizard-final-score-number span.is-counting,
#immoStartOverlay .wizard-final-score-number #wizPreviewScore.is-counting {
  animation: immoWizardScorePulse .7s cubic-bezier(.22,1,.36,1) both !important;
}
#immoStartOverlay .wizard-final-score-slim > div:last-child {
  gap: 7px !important;
}
#immoStartOverlay .wizard-final-score-slim > div:last-child > span {
  font-size: clamp(.92rem, 2.4vw, 1.08rem) !important;
  color: #64748b !important;
  font-weight: 800 !important;
}
#immoStartOverlay .wizard-final-score-slim b {
  font-size: clamp(.98rem, 2.6vw, 1.12rem) !important;
  font-weight: 820 !important;
  padding: 8px 15px !important;
}
@keyframes immoWizardResultRise {
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes immoWizardNumberPop {
  0% { transform: translateY(10px) scale(.92); filter: blur(2px); opacity: .25; }
  55% { transform: translateY(0) scale(1.035); filter: blur(0); opacity: 1; }
  100% { transform: translateY(0) scale(1); filter: blur(0); opacity: 1; }
}
@keyframes immoWizardScorePulse {
  0% { transform: scale(.88); opacity: .35; }
  58% { transform: scale(1.06); opacity: 1; }
  100% { transform: scale(1); opacity: 1; }
}

/* Objekt-&-Finanzierung: nur ein klarer Glow-Puls, ohne Größenwechsel. */
.runenburg-immo-calculator .input-panel-collapse-toggle {
  position: relative !important;
  overflow: visible !important;
  isolation: isolate !important;
}
.runenburg-immo-calculator .input-panel-collapse-toggle::after {
  content: "" !important;
  position: absolute !important;
  inset: -8px !important;
  border-radius: inherit !important;
  pointer-events: none !important;
  z-index: -1 !important;
  opacity: 0 !important;
  background: radial-gradient(circle, rgba(56,189,248,.22), rgba(56,189,248,0) 68%) !important;
}
@keyframes immoInputPanelGlowHalo {
  0%, 100% { opacity: .18; transform: scale(.92); box-shadow: 0 0 0 0 rgba(56,189,248,.20); }
  50% { opacity: 1; transform: scale(1.08); box-shadow: 0 0 0 8px rgba(56,189,248,.10), 0 0 30px rgba(56,189,248,.24); }
}
@media (max-width: 720px) {
  .runenburg-immo-calculator .input-panel.is-collapsed .input-panel-collapse-toggle,
  .runenburg-immo-calculator .input-panel-collapse-toggle.is-pulsing {
    animation: none !important;
    transform: none !important;
  }
  .runenburg-immo-calculator .input-panel.is-collapsed .input-panel-collapse-toggle::after,
  .runenburg-immo-calculator .input-panel-collapse-toggle.is-pulsing::after {
    animation: immoInputPanelGlowHalo 1.55s ease-in-out infinite !important;
  }
  .runenburg-immo-calculator .input-panel:not(.is-collapsed) .input-panel-collapse-toggle::after {
    animation: none !important;
    opacity: 0 !important;
  }
}

@media (max-width: 720px) {
  #immoStartOverlay .immo-start-screen[data-start-screen="home"].is-active,
  #immoStartOverlay .immo-start-screen[data-start-screen="source"].is-active,
  #immoStartOverlay .immo-start-screen[data-start-screen="import"].is-active {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
  #immoStartOverlay .immo-start-card {
    min-height: 110px !important;
    border-radius: 28px !important;
  }
  #immoStartOverlay .immo-wizard-result-slim {
    width: 100% !important;
    padding: 16px !important;
    border-radius: 32px !important;
  }
  #immoStartOverlay .wizard-final-number strong {
    font-size: clamp(3.7rem, 16vw, 5.8rem) !important;
  }
}
@media (max-height: 760px) and (max-width: 720px) {
  #immoStartOverlay .immo-wizard-result-slim { gap: 14px !important; padding: 14px !important; }
  #immoStartOverlay .wizard-final-number strong { font-size: clamp(3.25rem, 14vw, 5rem) !important; }
  #immoStartOverlay .wizard-final-number span { font-size: .9rem !important; }
  #immoStartOverlay .wizard-final-score-slim { padding: 12px 14px !important; }
}

/* v2.2.1 – Wizard: konstante Kartenbreite, sichtbare Ergebniszahlen, ruhiger Pulse */
#immoStartOverlay {
  --immo-wizard-card-width: min(760px, calc(100vw - 96px));
  --immo-wizard-card-radius: 32px;
}
#immoStartOverlay .immo-wizard-head,
#immoStartOverlay .immo-start-actions {
  width: var(--immo-wizard-card-width) !important;
  max-width: var(--immo-wizard-card-width) !important;
}
#immoStartOverlay .immo-wizard-steps {
  width: 100% !important;
  justify-items: center !important;
  align-items: center !important;
  padding: 0 !important;
  overflow: hidden !important;
}
#immoStartOverlay .immo-wizard-step {
  width: var(--immo-wizard-card-width) !important;
  max-width: var(--immo-wizard-card-width) !important;
  box-sizing: border-box !important;
  padding: 14px !important;
  overflow-y: auto !important;
  overflow-x: visible !important;
  scrollbar-width: thin !important;
}
#immoStartOverlay .immo-wizard-step.is-active {
  display: grid !important;
  place-items: center !important;
}
#immoStartOverlay .immo-wizard-step > .immo-wizard-grid,
#immoStartOverlay .immo-wizard-step > .immo-wizard-result,
#immoStartOverlay .immo-wizard-step > .immo-wizard-result-final,
#immoStartOverlay .immo-wizard-step > .immo-wizard-result-slim {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
#immoStartOverlay .immo-wizard-step > .immo-wizard-grid {
  border-radius: var(--immo-wizard-card-radius) !important;
  box-shadow: 0 20px 54px rgba(15, 23, 42, .075) !important;
}
#immoStartOverlay .immo-wizard-grid.two {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
#immoStartOverlay .immo-start-screen[data-start-screen="source"].is-active,
#immoStartOverlay .immo-start-screen[data-start-screen="home"].is-active,
#immoStartOverlay .immo-start-screen[data-start-screen="import"].is-active {
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 10px 0 28px !important;
}
#immoStartOverlay .immo-start-options {
  width: var(--immo-wizard-card-width) !important;
  max-width: var(--immo-wizard-card-width) !important;
  box-sizing: border-box !important;
  padding: 10px 0 18px !important;
  overflow: visible !important;
  gap: 16px !important;
}
#immoStartOverlay .immo-start-card {
  width: 100% !important;
  box-sizing: border-box !important;
  box-shadow: 0 18px 44px rgba(15, 23, 42, .06) !important;
}
#immoStartOverlay .immo-start-card + .immo-start-card {
  margin-top: 0 !important;
}
#immoStartOverlay .immo-wizard-result-slim {
  width: 100% !important;
  display: grid !important;
  gap: 0 !important;
  padding: clamp(24px, 4vw, 38px) !important;
  border-radius: var(--immo-wizard-card-radius) !important;
  border: 1px solid rgba(203, 213, 225, .72) !important;
  background:
    radial-gradient(circle at 15% 0%, rgba(103, 205, 245, .16), transparent 34%),
    radial-gradient(circle at 95% 18%, rgba(16, 185, 129, .13), transparent 30%),
    rgba(255, 255, 255, .74) !important;
  box-shadow: 0 24px 64px rgba(15, 23, 42, .075) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
  overflow: visible !important;
}
#immoStartOverlay .wizard-final-number {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
  text-align: left !important;
  display: grid !important;
  gap: 8px !important;
  justify-items: start !important;
  padding: 0 0 clamp(22px, 3vw, 30px) !important;
  margin: 0 0 clamp(22px, 3vw, 30px) !important;
  border-bottom: 1px solid rgba(203, 213, 225, .70) !important;
  background: transparent !important;
  box-shadow: none !important;
}
#immoStartOverlay .wizard-final-number:nth-of-type(2) {
  border-bottom: 0 !important;
  margin-bottom: clamp(22px, 3vw, 30px) !important;
}
#immoStartOverlay .wizard-final-number span {
  font-size: clamp(1rem, 2.5vw, 1.22rem) !important;
  line-height: 1.1 !important;
  font-weight: 820 !important;
  color: #64748b !important;
  letter-spacing: -.025em !important;
}
#immoStartOverlay .wizard-final-number strong {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  font-size: clamp(4rem, 12vw, 7.25rem) !important;
  line-height: .86 !important;
  font-weight: 760 !important;
  letter-spacing: -.085em !important;
  transform: none !important;
  filter: none !important;
}
#immoStartOverlay .wizard-final-number strong.is-counting {
  animation: immoWizardNumberCountUp 720ms cubic-bezier(.22,1,.36,1) both !important;
}
#immoStartOverlay .wizard-final-score-slim {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
  width: 100% !important;
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  align-items: center !important;
  gap: 16px !important;
  margin: 0 !important;
  padding: 16px !important;
  border-radius: 28px !important;
  border: 1px solid rgba(203, 213, 225, .76) !important;
  background: rgba(255, 255, 255, .70) !important;
  box-shadow: 0 14px 36px rgba(15, 23, 42, .05) !important;
}
#immoStartOverlay .wizard-final-score-number {
  width: clamp(70px, 16vw, 96px) !important;
  height: clamp(70px, 16vw, 96px) !important;
  border-radius: 25px !important;
  flex: 0 0 auto !important;
}
#immoStartOverlay .wizard-final-score-number span {
  font-size: clamp(2rem, 6vw, 2.75rem) !important;
  font-weight: 820 !important;
}
#immoStartOverlay .wizard-final-score-slim > div:last-child > span {
  display: block !important;
  color: #64748b !important;
  font-size: clamp(1rem, 2.6vw, 1.22rem) !important;
  line-height: 1.1 !important;
  font-weight: 820 !important;
  margin-bottom: 8px !important;
}
#immoStartOverlay .wizard-final-score-slim b {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-height: 36px !important;
  padding: 9px 17px !important;
  border-radius: 999px !important;
  font-size: clamp(1rem, 2.8vw, 1.18rem) !important;
  line-height: 1 !important;
  font-weight: 820 !important;
}
@keyframes immoWizardNumberCountUp {
  0% { opacity: .15; transform: translateY(14px) scale(.965); filter: blur(3px); }
  62% { opacity: 1; transform: translateY(0) scale(1.025); filter: blur(0); }
  100% { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}
@media (max-width: 720px) {
  #immoStartOverlay {
    --immo-wizard-card-width: calc(100vw - 72px);
    --immo-wizard-card-radius: 30px;
  }
  #immoStartOverlay .immo-wizard-head,
  #immoStartOverlay .immo-start-actions {
    width: var(--immo-wizard-card-width) !important;
    max-width: var(--immo-wizard-card-width) !important;
  }
  #immoStartOverlay .immo-wizard-step {
    width: calc(var(--immo-wizard-card-width) + 28px) !important;
    max-width: calc(var(--immo-wizard-card-width) + 28px) !important;
    padding: 14px !important;
  }
  #immoStartOverlay .immo-wizard-grid.two {
    grid-template-columns: 1fr !important;
  }
  #immoStartOverlay .immo-start-options.two,
  #immoStartOverlay .immo-start-options.three {
    grid-template-columns: 1fr !important;
  }
  #immoStartOverlay .immo-start-card {
    min-height: 118px !important;
    padding: 20px !important;
  }
  #immoStartOverlay .immo-wizard-result-slim {
    padding: 24px !important;
  }
  #immoStartOverlay .wizard-final-number strong {
    font-size: clamp(4.45rem, 17vw, 6.25rem) !important;
  }
}
@media (max-width: 380px) {
  #immoStartOverlay { --immo-wizard-card-width: calc(100vw - 54px); }
  #immoStartOverlay .wizard-final-number strong { font-size: clamp(3.8rem, 16vw, 5.4rem) !important; }
}


/* v2.2.2 – Ergebnislogik: Start-Intro, Gewinn/Verlust und Kaufstruktur-Empfehlung */
#immoStartOverlay .immo-start-intro-text {
  margin: clamp(8px, 1.6vw, 14px) 0 0 !important;
  max-width: 620px !important;
  color: #475467 !important;
  font-size: clamp(.95rem, 2vw, 1.1rem) !important;
  line-height: 1.45 !important;
  letter-spacing: -.01em !important;
}
.runenburg-immo-calculator .score-structure-recommendation {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  justify-content: center;
  margin-top: 6px;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .01em;
  border: 1px solid rgba(148,163,184,.28);
  color: #334155;
  background: rgba(248,250,252,.86);
}
.runenburg-immo-calculator .score-structure-recommendation.structure {
  color: #075985;
  background: rgba(14, 165, 233, .12);
  border-color: rgba(14, 165, 233, .25);
}
.runenburg-immo-calculator .score-structure-recommendation.private {
  color: #6d28d9;
  background: rgba(139, 92, 246, .12);
  border-color: rgba(139, 92, 246, .24);
}
.runenburg-immo-calculator .score-structure-box {
  margin: 10px 0 12px;
  padding: 10px 12px;
  border-radius: 16px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.16);
}
.runenburg-immo-calculator .score-structure-box span {
  display: block;
  color: #fff;
  font-size: .9rem;
  font-weight: 900;
  margin-bottom: 4px;
}
.runenburg-immo-calculator .score-structure-box small {
  display: block;
  color: rgba(255,255,255,.78);
  font-size: .8rem;
  line-height: 1.35;
}
.runenburg-immo-calculator .wizard-final-number small {
  display: block;
  margin-top: 2px;
  color: rgba(15, 23, 42, .58);
  font-size: .76rem;
  font-weight: 800;
}


/* v2.2.3: Score-Tooltip nur per Klick öffnen/schließen, nicht mehr durch Hover/Focus erzwingen. */
.runenburg-immo-calculator .hero-score-compact:not(.is-open) .hero-score-tooltip {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
.runenburg-immo-calculator .hero-score-compact.is-open .hero-score-tooltip {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
.runenburg-immo-calculator .score-structure-reason {
  display: block;
  margin-top: 8px;
  color: rgba(255,255,255,.82);
  font-size: .84rem;
  line-height: 1.4;
}
.runenburg-immo-calculator .score-structure-calc {
  display: grid;
  gap: 4px;
  margin: 8px 0;
  padding: 10px;
  border-radius: 14px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
}
.runenburg-immo-calculator .score-structure-calc-row {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: baseline;
}
.runenburg-immo-calculator .score-structure-calc-row span { color: rgba(255,255,255,.76); }
.runenburg-immo-calculator .score-structure-calc-row strong { color: #fff; font-variant-numeric: tabular-nums; white-space: nowrap; }
.runenburg-immo-calculator .score-structure-calc-row.total {
  margin-top: 4px;
  padding-top: 6px;
  border-top: 1px solid rgba(255,255,255,.18);
  font-weight: 900;
}
.runenburg-immo-calculator .score-structure-reason p { margin: 6px 0 0; }


/* v2.2.6: Realgewinn als ruhiges Zwischenergebnis statt Fehler-/Warnbox. */
.runenburg-immo-calculator .after-tax-stack .calc-row.real-profit-row {
  --real-profit-accent: #475569;
  position: relative;
  margin: 10px 0 8px;
  padding: 11px 0 11px;
  background: transparent;
  border: 0;
  border-top: 1px solid rgba(15,23,42,.10);
  border-bottom: 1px solid rgba(15,23,42,.10);
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
}

.runenburg-immo-calculator .after-tax-stack .calc-row.real-profit-row::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: -1px;
  height: 1px;
  background: linear-gradient(90deg, var(--real-profit-accent), transparent 72%);
  opacity: .45;
}

.runenburg-immo-calculator .after-tax-stack .calc-row.real-profit-row.is-positive {
  --real-profit-accent: #0f766e;
}

.runenburg-immo-calculator .after-tax-stack .calc-row.real-profit-row.is-negative {
  --real-profit-accent: #b91c1c;
}

.runenburg-immo-calculator .after-tax-stack .calc-row.real-profit-row.is-neutral {
  --real-profit-accent: #64748b;
}

.runenburg-immo-calculator .after-tax-stack .calc-row.real-profit-row > span,
.runenburg-immo-calculator .after-tax-stack .calc-row.real-profit-row > strong {
  color: var(--real-profit-accent);
  font-weight: 950;
}

.runenburg-immo-calculator .after-tax-stack .calc-row.real-profit-row .tooltip {
  border-color: color-mix(in srgb, var(--real-profit-accent) 24%, transparent);
  color: var(--real-profit-accent);
  background: rgba(255,255,255,.92);
}



/* v2.2.7: Strukturhinweis nur bei echter Kaufempfehlung; Realgewinn ohne Zusatz-Bubble. */
.runenburg-immo-calculator .hero-score-compact .score-buy-recommendation.structure-choice {
  margin-top: 7px;
  padding: 7px 12px;
  border-radius: 999px;
  box-shadow: 0 8px 20px rgba(15,23,42,.06);
}
.runenburg-immo-calculator .score-buy-recommendation.structure-choice.structure {
  color: #075985;
  background: linear-gradient(135deg, rgba(14,165,233,.14), rgba(255,255,255,.78));
  border-color: rgba(14,165,233,.28);
}
.runenburg-immo-calculator .score-buy-recommendation.structure-choice.private {
  color: #6d28d9;
  background: linear-gradient(135deg, rgba(139,92,246,.14), rgba(255,255,255,.78));
  border-color: rgba(139,92,246,.28);
}
.runenburg-immo-calculator .score-buy-recommendation.structure-choice.neutral {
  color: #475569;
  background: linear-gradient(135deg, rgba(100,116,139,.12), rgba(255,255,255,.78));
  border-color: rgba(100,116,139,.24);
}


/* v2.2.9: Speichern-&-Teilen-Drawer auf das bewährte Card-Layout zurückführen.
   Nur Darstellung: keine Funktions-/JS-Änderungen. Diese Regeln stehen bewusst am Ende,
   damit ältere Button-/Drawer-Regeln und Browser-Caches nicht mehr die einfache Fallback-
   Darstellung erzwingen. */
.runenburg-immo-calculator .immo-tools-drawer{
  width: min(420px, calc(100vw - 28px));
  max-height: calc(100vh - 46px);
  overflow-y: auto;
  padding: 24px 22px 24px;
  border-radius: 28px;
  border: 1px solid rgba(203,216,230,.95);
  background: rgba(255,255,255,.98);
  box-shadow: 0 24px 60px rgba(15,23,42,.18);
}
.runenburg-immo-calculator .immo-drawer-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 8px;
}
.runenburg-immo-calculator .immo-drawer-head .eyebrow{
  margin: 0 0 4px;
  color: #0f766e;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-weight: 950;
  font-size: .76rem;
}
.runenburg-immo-calculator .immo-drawer-head h2{
  margin: 0;
  font-size: clamp(1.75rem, 5vw, 2.25rem);
  line-height: .98;
  letter-spacing: -.055em;
  color: #0f172a;
}
.runenburg-immo-calculator .drawer-copy{
  color: #667085;
  line-height: 1.55;
  margin: 0 0 18px;
}
.runenburg-immo-calculator .immo-tools-drawer .tool-box{
  margin: 14px 0;
  padding: 14px;
  border: 1px solid rgba(203,216,230,.86);
  border-radius: 22px;
  background: linear-gradient(145deg, rgba(255,255,255,.96) 0%, rgba(248,250,252,.92) 100%);
  box-shadow: 0 14px 32px rgba(15,23,42,.055);
}
.runenburg-immo-calculator .immo-tools-drawer .tool-box:first-of-type{ margin-top: 16px; }
.runenburg-immo-calculator .immo-tools-drawer .tool-box-head,
.runenburg-immo-calculator .immo-tools-drawer .tool-box-head strong{
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 12px;
  color: #0f172a;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: .76rem;
  font-weight: 950;
  line-height: 1.1;
}
.runenburg-immo-calculator .immo-tools-drawer .tool-box-head .uicon{
  --uicon-size: 18px;
  color: #0f766e;
  flex: 0 0 auto;
}
.runenburg-immo-calculator .immo-tools-drawer .save-object-grid{
  margin: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}
.runenburg-immo-calculator .immo-tools-drawer .save-name-field,
.runenburg-immo-calculator .immo-tools-drawer .save-image-field{
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.runenburg-immo-calculator .immo-tools-drawer .save-name-field label,
.runenburg-immo-calculator .immo-tools-drawer .save-image-field label{
  min-height: auto;
  display: block;
  color: #667085;
  font-size: .82rem;
  line-height: 1.2;
  font-weight: 900;
  margin: 0;
}
.runenburg-immo-calculator .immo-tools-drawer .save-name-field input,
.runenburg-immo-calculator .immo-tools-drawer .save-name-field textarea{
  width: 100%;
  border: 1px solid rgba(203,216,230,.95);
  border-radius: 18px;
  background: #fff;
  color: #0f172a;
  font: inherit;
  font-weight: 800;
  line-height: 1.45;
  padding: 13px 14px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}
.runenburg-immo-calculator .immo-tools-drawer .save-name-field input{
  min-height: 58px;
}
.runenburg-immo-calculator .immo-tools-drawer .save-name-field textarea{
  min-height: 98px;
  resize: vertical;
}
.runenburg-immo-calculator .immo-tools-drawer .save-name-field input:focus,
.runenburg-immo-calculator .immo-tools-drawer .save-name-field textarea:focus{
  outline: none;
  border-color: rgba(15,118,110,.55);
  box-shadow: 0 0 0 4px rgba(15,118,110,.10);
}
.runenburg-immo-calculator .immo-tools-drawer .save-image-row{
  display: flex;
  align-items: center;
  gap: 8px;
}
.runenburg-immo-calculator .immo-tools-drawer .image-upload-button{
  width: auto;
  min-height: 58px;
  flex: 0 1 auto;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  padding: 13px 16px;
  border-radius: 18px;
  border: 1px solid rgba(203,216,230,.95);
  background: linear-gradient(145deg, #ffffff 0%, #f8fafc 100%);
  color: #101828;
  font-weight: 900;
  box-shadow: 0 12px 26px rgba(15,23,42,.055);
  cursor: pointer;
}
.runenburg-immo-calculator .immo-tools-drawer .image-upload-button:hover,
.runenburg-immo-calculator .immo-tools-drawer .image-upload-button:focus-visible{
  border-color: rgba(15,118,110,.38);
  color: #0f766e;
  box-shadow: 0 16px 32px rgba(15,23,42,.08), 0 0 0 4px rgba(15,118,110,.08);
  outline: none;
}
.runenburg-immo-calculator .immo-tools-drawer .image-upload-button .image-choice-icon{
  --uicon-size: 20px;
  color: currentColor;
  order: 0;
  margin: 0;
}
.runenburg-immo-calculator .immo-tools-drawer .image-upload-button strong{
  margin: 0;
  white-space: nowrap;
}
.runenburg-immo-calculator .immo-tools-drawer .object-image-preview.is-empty,
.runenburg-immo-calculator .immo-tools-drawer .object-image-preview:empty{
  display: none;
}
.runenburg-immo-calculator .immo-tools-drawer .tool-chip-actions,
.runenburg-immo-calculator .immo-tools-drawer .icon-actions.tool-chip-actions{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}
.runenburg-immo-calculator .immo-tools-drawer .tool-action.icon-action.tool-chip,
.runenburg-immo-calculator .immo-tools-drawer .tool-action.icon-action.tool-chip.calc-link-action{
  width: 100%;
  min-height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  text-align: left;
  padding: 13px 15px;
  border-radius: 18px;
  border: 1px solid rgba(203,216,230,.95);
  background: linear-gradient(145deg, #ffffff 0%, #f7fbfc 100%);
  color: #1e293b;
  font-weight: 950;
  box-shadow: 0 12px 26px rgba(15,23,42,.055);
}
.runenburg-immo-calculator .immo-tools-drawer .tool-action.icon-action.tool-chip:hover,
.runenburg-immo-calculator .immo-tools-drawer .tool-action.icon-action.tool-chip:focus-visible,
.runenburg-immo-calculator .immo-tools-drawer .tool-action.icon-action.tool-chip.calc-link-action:hover,
.runenburg-immo-calculator .immo-tools-drawer .tool-action.icon-action.tool-chip.calc-link-action:focus-visible{
  transform: translateY(-1px);
  border-color: rgba(15,118,110,.38);
  color: #0f766e;
  box-shadow: 0 16px 32px rgba(15,23,42,.08), 0 0 0 4px rgba(15,118,110,.08);
  outline: none;
}
.runenburg-immo-calculator .immo-tools-drawer .tool-action.icon-action.tool-chip .tool-chip-icon,
.runenburg-immo-calculator .immo-tools-drawer .tool-action.icon-action.tool-chip.calc-link-action .tool-chip-icon{
  order: 0;
  width: 22px;
  height: 22px;
  min-width: 22px;
  flex: 0 0 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}
.runenburg-immo-calculator .immo-tools-drawer .tool-action.icon-action.tool-chip .tool-chip-label,
.runenburg-immo-calculator .immo-tools-drawer .tool-action.icon-action.tool-chip.calc-link-action .tool-chip-label{
  order: 1;
  flex: 1 1 auto;
  width: auto;
  margin: 0;
  text-align: left;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  color: currentColor;
  font-size: .93rem;
  line-height: 1;
}
.runenburg-immo-calculator .immo-tools-drawer .portfolio-open-button{
  width: 100%;
  min-height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  text-align: left;
  padding: 13px 16px;
  border-radius: 18px;
  border: 1px solid rgba(203,216,230,.95);
  background: linear-gradient(145deg, #ffffff 0%, #f7fbfc 100%);
  color: #1e293b;
  font-weight: 950;
  box-shadow: 0 12px 26px rgba(15,23,42,.055);
}
.runenburg-immo-calculator .immo-tools-drawer .portfolio-open-button:hover,
.runenburg-immo-calculator .immo-tools-drawer .portfolio-open-button:focus-visible{
  transform: translateY(-1px);
  border-color: rgba(15,118,110,.38);
  color: #0f766e;
  box-shadow: 0 16px 32px rgba(15,23,42,.08), 0 0 0 4px rgba(15,118,110,.08);
  outline: none;
}
.runenburg-immo-calculator .immo-tools-drawer .portfolio-open-button .uicon{
  --uicon-size: 20px;
  color: currentColor;
  margin: 0;
  order: 0;
}
.runenburg-immo-calculator .immo-tools-drawer .share-output,
.runenburg-immo-calculator .immo-tools-drawer .saved-calcs{
  margin-top: 14px;
}
@media (max-width: 520px){
  .runenburg-immo-calculator .immo-tools-drawer{
    width: calc(100vw - 16px);
    max-height: calc(100vh - 18px);
    padding: 22px 14px 20px;
    border-radius: 24px;
  }
  .runenburg-immo-calculator .immo-tools-drawer .tool-chip-actions,
  .runenburg-immo-calculator .immo-tools-drawer .icon-actions.tool-chip-actions{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 360px){
  .runenburg-immo-calculator .immo-tools-drawer .tool-chip-actions,
  .runenburg-immo-calculator .immo-tools-drawer .icon-actions.tool-chip-actions{
    grid-template-columns: 1fr;
  }
}

/* v2.2.11 – Mobile: Puls-Effekt am + Button zuverlässig direkt auf dem Control.
   Die vorige Halo-Variante lag als ::after hinter dem Button und war auf iOS/Safari
   durch Stacking/Overflow zu unauffällig. Deshalb pulsiert jetzt die sichtbare
   Button-Fläche selbst: Rahmen, Licht und Schatten, ohne Größen-Springen. */
@keyframes immoInputPanelButtonPulseVisible {
  0%, 100% {
    border-color: rgba(147, 197, 253, .72);
    background: linear-gradient(135deg, #f8fbff 0%, #eef6ff 100%);
    box-shadow:
      0 10px 24px rgba(15, 23, 42, .06),
      0 0 0 0 rgba(56, 189, 248, .00),
      0 0 0 rgba(56, 189, 248, .00);
    filter: none;
  }
  50% {
    border-color: rgba(56, 189, 248, .95);
    background: linear-gradient(135deg, #ffffff 0%, #e4f6ff 100%);
    box-shadow:
      0 12px 28px rgba(15, 23, 42, .10),
      0 0 0 9px rgba(56, 189, 248, .16),
      0 0 28px rgba(56, 189, 248, .34);
    filter: saturate(1.04);
  }
}
@media (max-width: 720px) {
  .runenburg-immo-calculator .input-panel.is-collapsed .input-panel-collapse-toggle,
  .runenburg-immo-calculator .input-panel-collapse-toggle.is-pulsing {
    animation: immoInputPanelButtonPulseVisible 1.45s ease-in-out infinite !important;
    transform: none !important;
    overflow: visible !important;
    will-change: box-shadow, border-color, background, filter !important;
  }
  .runenburg-immo-calculator .input-panel.is-collapsed .input-panel-collapse-toggle::after,
  .runenburg-immo-calculator .input-panel-collapse-toggle.is-pulsing::after {
    animation: none !important;
    opacity: 0 !important;
  }
  .runenburg-immo-calculator .input-panel:not(.is-collapsed) .input-panel-collapse-toggle {
    animation: none !important;
    will-change: auto !important;
  }
}

/* v2.3.0: Login-Wall und Feature-Gates */
.runenburg-immo-calculator .is-feature-locked{
  position:relative;
}
.runenburg-immo-calculator .feature-lock-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-left:8px;
  padding:3px 8px;
  border-radius:999px;
  background:#eef2ff;
  color:#3730a3;
  font-size:.72rem;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
}
.immo-login-wall{
  position:fixed;
  inset:0;
  z-index:999999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:22px;
  background:rgba(15,23,42,.52);
  backdrop-filter:blur(8px);
}
.immo-login-wall.is-open{display:flex}
.immo-login-wall-card{
  position:relative;
  width:min(94vw,460px);
  border-radius:28px;
  padding:28px;
  background:linear-gradient(145deg,#ffffff,#f8fbff);
  border:1px solid rgba(226,232,240,.95);
  box-shadow:0 26px 90px rgba(15,23,42,.28);
  color:#0f172a;
}
.immo-login-wall-close{
  position:absolute;
  top:14px;
  right:14px;
  width:36px;
  height:36px;
  border:0;
  border-radius:999px;
  background:#f1f5f9;
  color:#0f172a;
  font-size:22px;
  line-height:1;
  cursor:pointer;
}
.immo-login-wall-badge{
  display:inline-flex;
  margin-bottom:12px;
  padding:7px 11px;
  border-radius:999px;
  background:#ecfeff;
  color:#0f766e;
  font-size:.76rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.immo-login-wall-card h3{margin:0 0 8px;font-size:1.45rem;line-height:1.1}
.immo-login-wall-text{margin:0;color:#475569;line-height:1.55;font-weight:650}
.immo-login-wall-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.immo-login-wall-actions a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:12px 16px;
  border-radius:14px;
  text-decoration:none;
  font-weight:900;
}
.immo-login-wall-primary{background:linear-gradient(135deg,#7dd3fc,#38bdf8,#0284c7);color:#fff;box-shadow:0 12px 28px rgba(2,132,199,.24)}
.immo-login-wall-secondary{background:#fff;color:#0f172a;border:1px solid #dbe4ef}
@media(max-width:520px){.immo-login-wall-actions a{width:100%}}

/* v2.3.1: zentraler Login-Einstieg statt Login-Badges an gesperrten Funktionen */
.runenburg-immo-calculator .immo-tools-tab.immo-login-tab{
  text-decoration:none;
}
.runenburg-immo-calculator [hidden]{display:none!important}

/* v2.4.0: Portfolio Direktzugriff, Link-Paare und ausklappbare Portfolio-Kennzahlen */
.runenburg-immo-calculator .share-link-field{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:0;
}
.runenburg-immo-calculator .share-link-field span{
  font-size:.78rem;
  font-weight:900;
  color:#475569;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.runenburg-immo-calculator .portfolio-summary-expandable{
  cursor:pointer;
}
.runenburg-immo-calculator .portfolio-summary-expandable summary{
  list-style:none;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.runenburg-immo-calculator .portfolio-summary-expandable summary::-webkit-details-marker{display:none}
.runenburg-immo-calculator .portfolio-summary-expandable summary::after{
  content:'+';
  display:inline-grid;
  place-items:center;
  flex:0 0 auto;
  width:24px;
  height:24px;
  border-radius:999px;
  background:#eef6f6;
  color:#0f766e;
  font-weight:900;
}
.runenburg-immo-calculator .portfolio-summary-expandable[open] summary::after{content:'−'}
.runenburg-immo-calculator .portfolio-summary-detail{
  margin-top:12px;
  padding-top:12px;
  border-top:1px dashed rgba(148,163,184,.55);
  color:#475569;
  font-size:.88rem;
  line-height:1.55;
}
.runenburg-immo-calculator .portfolio-summary-list{
  display:grid;
  gap:6px;
}
.runenburg-immo-calculator .portfolio-calc-part,
.runenburg-immo-calculator .portfolio-calc-separator{
  display:inline-block;
  margin:0 3px 4px 0;
  font-weight:850;
}
.runenburg-immo-calculator .portfolio-tone-positive{color:#10845f!important}
.runenburg-immo-calculator .portfolio-tone-negative{color:#b42318!important}
.runenburg-immo-calculator .portfolio-tone-neutral{color:#334155!important}
.runenburg-immo-calculator .portfolio-object-row{cursor:pointer}
.runenburg-immo-calculator .portfolio-object-row:hover{transform:translateY(-1px);filter:brightness(.99)}
.runenburg-immo-calculator .portfolio-object-row:focus-visible{outline:3px solid rgba(56,189,248,.4);outline-offset:2px}
.runenburg-immo-calculator .portfolio-summary-card .portfolio-summary-detail span,
.runenburg-immo-calculator .portfolio-summary-card .portfolio-summary-list span,
.runenburg-immo-calculator .portfolio-summary-card .portfolio-calc-part,
.runenburg-immo-calculator .portfolio-summary-card .portfolio-calc-separator{
  display:inline-block;
  margin:0 3px 4px 0;
  font-size:.88rem;
  font-weight:850;
  text-transform:none;
  letter-spacing:0;
}
.runenburg-immo-calculator .portfolio-summary-card .portfolio-summary-list span{display:block;color:#334155}

/* v2.5.0: Bankfaehige Portfolio-Vollbildansicht */
.runenburg-immo-calculator .portfolio-view{
  position:fixed;
  inset:0;
  z-index:10050;
  display:none;
  padding:0;
  overflow:hidden;
  background:#f8fafc;
  align-items:stretch;
  justify-content:stretch;
}
.runenburg-immo-calculator .portfolio-view.open{display:flex}
.runenburg-immo-calculator .portfolio-panel{
  width:100%;
  height:100%;
  max-width:none;
  border:0;
  border-radius:0;
  box-shadow:none;
  padding:0;
  background:#f8fafc;
  overflow:hidden;
}
.runenburg-immo-calculator .portfolio-app-shell{
  display:grid;
  grid-template-columns:minmax(330px,410px) minmax(0,1fr);
  width:100%;
  height:100%;
  min-height:0;
}
.runenburg-immo-calculator .portfolio-left-pane{
  display:flex;
  flex-direction:column;
  gap:16px;
  min-height:0;
  overflow:auto;
  padding:28px 22px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  border-right:1px solid #e2e8f0;
}
.runenburg-immo-calculator .portfolio-right-pane{
  min-width:0;
  min-height:0;
  overflow:auto;
  padding:32px;
  background:radial-gradient(circle at 85% 0%,rgba(56,189,248,.16),transparent 34%),#f8fafc;
}
.runenburg-immo-calculator .portfolio-head-compact{margin:0;align-items:flex-start}
.runenburg-immo-calculator .portfolio-head-compact h2{font-size:clamp(34px,4vw,52px);letter-spacing:-.055em}
.runenburg-immo-calculator .portfolio-close-button{position:sticky;top:0;z-index:2}
.runenburg-immo-calculator .portfolio-toolbar{display:grid;grid-template-columns:1fr;gap:8px;margin:0}
.runenburg-immo-calculator .portfolio-toolbar .portfolio-tool-action{width:100%;justify-content:flex-start}
.runenburg-immo-calculator .portfolio-share-output{display:grid;grid-template-columns:1fr;gap:9px;margin:0}
.runenburg-immo-calculator .portfolio-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}
.runenburg-immo-calculator .portfolio-summary-card{border-radius:18px;padding:13px;box-shadow:0 10px 28px rgba(15,23,42,.045)}
.runenburg-immo-calculator .portfolio-summary-card strong{font-size:18px}
.runenburg-immo-calculator .portfolio-object-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:2px}
.runenburg-immo-calculator .portfolio-object-list-head strong{font-size:1rem;color:#0f172a}
.runenburg-immo-calculator .portfolio-object-list-wrap{flex:1;min-height:260px;overflow:auto;border-radius:20px}
.runenburg-immo-calculator .portfolio-object-list{min-width:0}
.runenburg-immo-calculator .portfolio-object-list th:nth-child(2),
.runenburg-immo-calculator .portfolio-object-list td:nth-child(2),
.runenburg-immo-calculator .portfolio-object-list th:nth-child(3),
.runenburg-immo-calculator .portfolio-object-list td:nth-child(3){text-align:right;white-space:nowrap}
.runenburg-immo-calculator .portfolio-object-row.is-selected td{background:#ecfeff}
.runenburg-immo-calculator .portfolio-detail{
  background:rgba(255,255,255,.86);
  border:1px solid rgba(203,213,225,.85);
  border-radius:30px;
  padding:26px;
  box-shadow:0 22px 70px rgba(15,23,42,.08);
  margin-bottom:22px;
}
.runenburg-immo-calculator .portfolio-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}
.runenburg-immo-calculator .portfolio-detail-head h3{margin:0;font-size:clamp(30px,4vw,54px);letter-spacing:-.06em;line-height:.95;color:#0f172a}
.runenburg-immo-calculator .portfolio-detail-head p:not(.eyebrow){margin:10px 0 0;color:#64748b;font-weight:650;line-height:1.45;max-width:820px}
.runenburg-immo-calculator .portfolio-detail-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}
.runenburg-immo-calculator .portfolio-detail-metric{border:1px solid #dbe4ef;border-radius:20px;background:#fff;padding:16px;box-shadow:0 10px 24px rgba(15,23,42,.04)}
.runenburg-immo-calculator .portfolio-detail-metric span{display:block;color:#64748b;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}
.runenburg-immo-calculator .portfolio-detail-metric strong{display:block;font-size:24px;color:#0f172a;letter-spacing:-.03em}
.runenburg-immo-calculator .portfolio-detail-section{border:1px solid #e2e8f0;border-radius:22px;background:#fff;padding:18px;margin-top:14px}
.runenburg-immo-calculator .portfolio-detail-section h4{margin:0 0 12px;color:#0f172a;font-size:1rem}
.runenburg-immo-calculator .portfolio-detail-formula{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:#334155;font-weight:850}
.runenburg-immo-calculator .portfolio-detail-formula span,
.runenburg-immo-calculator .portfolio-detail-formula b{padding:7px 10px;border-radius:999px;background:#f8fafc}
.runenburg-immo-calculator .portfolio-detail-table{width:100%;border-collapse:collapse}
.runenburg-immo-calculator .portfolio-detail-table th,
.runenburg-immo-calculator .portfolio-detail-table td{padding:10px 0;border-bottom:1px solid #e2e8f0;text-align:left}
.runenburg-immo-calculator .portfolio-detail-table td{text-align:right;font-weight:900;color:#0f172a}
.runenburg-immo-calculator .portfolio-top-list{display:grid;gap:8px}
.runenburg-immo-calculator .portfolio-top-list button{border:1px solid #e2e8f0;border-radius:16px;background:#f8fafc;padding:12px 14px;display:flex;justify-content:space-between;gap:12px;cursor:pointer;font-weight:850;color:#0f172a}
.runenburg-immo-calculator .portfolio-chart-card{margin:0;border-radius:30px;box-shadow:0 26px 80px rgba(15,23,42,.14)}
.runenburg-immo-calculator .portfolio-detail-empty{min-height:260px;display:grid;align-content:center;justify-items:start}
.runenburg-immo-calculator .portfolio-detail-empty h3{font-size:36px;letter-spacing:-.04em;margin:0 0 8px}
@media(max-width:1100px){
  .runenburg-immo-calculator .portfolio-app-shell{grid-template-columns:1fr}
  .runenburg-immo-calculator .portfolio-left-pane{max-height:48vh;border-right:0;border-bottom:1px solid #e2e8f0;padding:20px}
  .runenburg-immo-calculator .portfolio-right-pane{padding:20px}
  .runenburg-immo-calculator .portfolio-detail-metrics{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .runenburg-immo-calculator .portfolio-summary-grid,
  .runenburg-immo-calculator .portfolio-detail-metrics{grid-template-columns:1fr}
  .runenburg-immo-calculator .portfolio-right-pane{padding:14px}
  .runenburg-immo-calculator .portfolio-detail{border-radius:22px;padding:18px}
  .runenburg-immo-calculator .portfolio-detail-head{display:block}
}

/* v2.6.0: Smartes, schlankes Bank-Dashboard mit Gesamtportfolio-Fokus */
.runenburg-immo-calculator .portfolio-view{
  background:linear-gradient(135deg,#f8fafc 0%,#f0fdfa 48%,#eff6ff 100%);
}
.runenburg-immo-calculator .portfolio-panel{
  background:transparent;
}
.runenburg-immo-calculator .portfolio-app-shell{
  grid-template-columns:minmax(320px,376px) minmax(0,1fr);
  gap:0;
}
.runenburg-immo-calculator .portfolio-left-pane{
  overflow:hidden;
  padding:18px 16px;
  gap:10px;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
  border-right:1px solid rgba(203,213,225,.72);
  box-shadow:18px 0 50px rgba(15,23,42,.045);
  scrollbar-width:none;
}
.runenburg-immo-calculator .portfolio-left-pane::-webkit-scrollbar,
.runenburg-immo-calculator .portfolio-object-list-wrap::-webkit-scrollbar{display:none}
.runenburg-immo-calculator .portfolio-right-pane{
  padding:20px;
  overflow:auto;
  background:radial-gradient(circle at 82% 2%,rgba(20,184,166,.14),transparent 34%),linear-gradient(180deg,#f8fafc 0%,#eef6fb 100%);
}
.runenburg-immo-calculator .portfolio-head-compact{
  display:grid;
  grid-template-columns:1fr auto;
  gap:12px;
  margin:0;
  padding:0 0 4px;
}
.runenburg-immo-calculator .portfolio-head-compact h2{
  font-size:2rem;
  line-height:.95;
  letter-spacing:-.05em;
  color:#0f172a;
}
.runenburg-immo-calculator .portfolio-head-compact p:not(.eyebrow){
  margin-top:5px;
  font-size:.78rem;
  line-height:1.35;
  color:#64748b;
}
.runenburg-immo-calculator .portfolio-close-button{
  position:static;
  width:38px;
  height:38px;
  border-radius:14px;
  background:#f8fafc;
  border:1px solid #dbe4ef;
  box-shadow:none;
}
.runenburg-immo-calculator .portfolio-toolbar{
  display:grid;
  grid-template-columns:1.1fr .95fr .95fr;
  gap:7px;
  margin:0;
}
.runenburg-immo-calculator .portfolio-toolbar .portfolio-tool-action{
  min-height:38px;
  width:100%;
  justify-content:center;
  gap:6px;
  border-radius:14px;
  padding:8px 9px;
  font-size:.78rem;
  background:#fff;
  border:1px solid #dbe4ef;
  box-shadow:0 8px 18px rgba(15,23,42,.04);
  color:#0f172a;
}
.runenburg-immo-calculator .portfolio-toolbar .portfolio-tool-action:first-child{
  background:linear-gradient(135deg,#0f766e,#14b8a6);
  color:#fff;
  border-color:rgba(15,118,110,.22);
  box-shadow:0 12px 26px rgba(20,184,166,.18);
}
.runenburg-immo-calculator .portfolio-share-output{
  gap:6px;
  padding:9px;
  border-radius:16px;
  background:linear-gradient(135deg,#f0fdfa,#ffffff);
}
.runenburg-immo-calculator .portfolio-share-output input{
  min-height:34px;
  padding:8px 10px;
  font-size:.76rem;
  border-radius:11px;
}
.runenburg-immo-calculator .portfolio-summary-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.runenburg-immo-calculator .portfolio-summary-card{
  border-radius:16px;
  padding:10px 11px;
  min-height:72px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
  border:1px solid rgba(203,213,225,.82);
  box-shadow:0 8px 18px rgba(15,23,42,.035);
}
.runenburg-immo-calculator .portfolio-summary-card span{
  font-size:10px;
  letter-spacing:.055em;
  margin-bottom:5px;
  color:#64748b;
}
.runenburg-immo-calculator .portfolio-summary-card strong{
  font-size:1.02rem;
  letter-spacing:-.03em;
  color:#0f172a;
}
.runenburg-immo-calculator .portfolio-summary-expandable summary::marker{content:''}
.runenburg-immo-calculator .portfolio-summary-expandable summary{cursor:pointer}
.runenburg-immo-calculator .portfolio-summary-detail{
  margin-top:8px;
  padding-top:7px;
  border-top:1px solid #e2e8f0;
  font-size:.72rem;
  line-height:1.5;
}
.runenburg-immo-calculator .portfolio-object-list-head{
  margin:2px 0 0;
  padding:0 2px;
}
.runenburg-immo-calculator .portfolio-object-list-head strong{
  font-size:.88rem;
}
.runenburg-immo-calculator .portfolio-object-list-head .mini-link{
  font-size:.76rem;
  color:#0f766e;
  background:#ecfeff;
  border:1px solid rgba(20,184,166,.22);
  border-radius:999px;
  padding:6px 10px;
}
.runenburg-immo-calculator .portfolio-object-list-wrap{
  flex:1 1 auto;
  min-height:0;
  overflow:hidden;
  border-radius:18px;
  border:1px solid rgba(203,213,225,.7);
  background:#fff;
  padding:7px;
  box-shadow:0 10px 24px rgba(15,23,42,.035);
}
.runenburg-immo-calculator .portfolio-object-list{
  width:100%;
  min-width:0;
  border-collapse:separate;
  border-spacing:0 6px;
}
.runenburg-immo-calculator .portfolio-object-list thead{display:none}
.runenburg-immo-calculator .portfolio-object-list td{
  padding:8px 6px;
  border:0;
  background:#f8fafc;
}
.runenburg-immo-calculator .portfolio-object-list tr td:first-child{border-radius:14px 0 0 14px;border-left:0}
.runenburg-immo-calculator .portfolio-object-list tr td:last-child{border-radius:0 14px 14px 0;border-right:0}
.runenburg-immo-calculator .portfolio-object-row.is-selected td,
.runenburg-immo-calculator .portfolio-object-row:hover td{
  background:#ecfeff;
}
.runenburg-immo-calculator .portfolio-object-cell{
  gap:8px;
  min-width:0;
}
.runenburg-immo-calculator .portfolio-object-cell strong{
  display:block;
  font-size:.82rem;
  line-height:1.12;
  max-width:150px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.runenburg-immo-calculator .portfolio-object-cell small{
  font-size:.68rem;
  color:#64748b;
  line-height:1.2;
  white-space:nowrap;
}
.runenburg-immo-calculator .portfolio-object-image,
.runenburg-immo-calculator .portfolio-object-placeholder{
  width:34px;
  height:34px;
  flex-basis:34px;
  border-radius:11px;
  font-size:18px;
}
.runenburg-immo-calculator .portfolio-pill,
.runenburg-immo-calculator .portfolio-score-mini{
  min-width:0;
  padding:5px 8px;
  font-size:.72rem;
  border-radius:999px;
}
.runenburg-immo-calculator .portfolio-detail{
  margin:0 0 14px;
  padding:18px;
  border-radius:26px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(203,213,225,.82);
  box-shadow:0 18px 54px rgba(15,23,42,.06);
}
.runenburg-immo-calculator .portfolio-bank-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,360px);
  gap:14px;
  align-items:stretch;
  margin-bottom:14px;
}
.runenburg-immo-calculator .portfolio-bank-hero-copy{
  border-radius:24px;
  padding:20px;
  background:linear-gradient(135deg,#ffffff 0%,#f0fdfa 100%);
  border:1px solid rgba(20,184,166,.18);
}
.runenburg-immo-calculator .portfolio-bank-hero-copy h3{
  margin:0;
  font-size:clamp(2rem,4vw,4.2rem);
  line-height:.88;
  letter-spacing:-.07em;
  color:#0f172a;
}
.runenburg-immo-calculator .portfolio-bank-hero-copy p:not(.eyebrow){
  margin:10px 0 0;
  max-width:760px;
  font-size:.94rem;
  line-height:1.45;
  color:#475569;
  font-weight:650;
}
.runenburg-immo-calculator .portfolio-bank-status{
  display:flex;
  flex-direction:column;
  justify-content:center;
  border-radius:24px;
  padding:20px;
  color:#fff;
  background:linear-gradient(135deg,#0f766e 0%,#14b8a6 100%);
  box-shadow:0 20px 48px rgba(20,184,166,.22);
}
.runenburg-immo-calculator .portfolio-bank-status.portfolio-tone-negative{
  color:#fff!important;
  background:linear-gradient(135deg,#b42318 0%,#ef4444 100%);
  box-shadow:0 20px 48px rgba(239,68,68,.18);
}
.runenburg-immo-calculator .portfolio-bank-status.portfolio-tone-neutral{
  color:#0f172a!important;
  background:linear-gradient(135deg,#e2e8f0,#ffffff);
}
.runenburg-immo-calculator .portfolio-bank-status span{
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.07em;
  font-weight:900;
  opacity:.86;
}
.runenburg-immo-calculator .portfolio-bank-status strong{
  margin:8px 0 6px;
  font-size:clamp(2rem,4vw,3.4rem);
  line-height:.92;
  letter-spacing:-.055em;
}
.runenburg-immo-calculator .portfolio-bank-status small{
  font-weight:750;
  opacity:.88;
}
.runenburg-immo-calculator .portfolio-detail-metrics{
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:8px;
  margin-bottom:12px;
}
.runenburg-immo-calculator .portfolio-detail-metric{
  border-radius:16px;
  padding:11px;
  background:#fff;
  box-shadow:0 8px 18px rgba(15,23,42,.035);
}
.runenburg-immo-calculator .portfolio-detail-metric span{
  font-size:.62rem;
  margin-bottom:5px;
}
.runenburg-immo-calculator .portfolio-detail-metric strong{
  font-size:1.05rem;
}
.runenburg-immo-calculator .portfolio-smart-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:12px;
  align-items:start;
}
.runenburg-immo-calculator .portfolio-detail-section{
  margin-top:0;
  border-radius:20px;
  padding:14px;
  background:#fff;
  border:1px solid rgba(226,232,240,.95);
}
.runenburg-immo-calculator .portfolio-detail-section h4{
  font-size:.9rem;
  margin-bottom:9px;
}
.runenburg-immo-calculator .smart-formula{
  gap:6px;
}
.runenburg-immo-calculator .smart-formula span,
.runenburg-immo-calculator .smart-formula b{
  padding:6px 9px;
  font-size:.78rem;
}
.runenburg-immo-calculator .portfolio-mini-explain{
  margin:10px 0 0;
  color:#64748b;
  font-size:.82rem;
  line-height:1.45;
  font-weight:650;
}
.runenburg-immo-calculator .portfolio-top-list.slim-top-list,
.runenburg-immo-calculator .portfolio-top-list.compact-watchlist{
  gap:6px;
}
.runenburg-immo-calculator .portfolio-top-list.slim-top-list button,
.runenburg-immo-calculator .portfolio-top-list.compact-watchlist button{
  padding:8px 10px;
  border-radius:13px;
  font-size:.82rem;
}
.runenburg-immo-calculator .portfolio-watchlist-card{margin-top:12px}
.runenburg-immo-calculator .portfolio-detail-modebar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.runenburg-immo-calculator .portfolio-detail-modebar span{
  color:#64748b;
  font-size:.78rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.runenburg-immo-calculator .portfolio-back-chip{
  appearance:none;
  border:1px solid rgba(20,184,166,.24);
  background:#ecfeff;
  color:#0f766e;
  border-radius:999px;
  padding:8px 12px;
  font-weight:950;
  cursor:pointer;
}
.runenburg-immo-calculator .portfolio-object-focus{
  display:grid;
  gap:12px;
}
.runenburg-immo-calculator .portfolio-detail-head-slim{
  margin-bottom:0;
}
.runenburg-immo-calculator .portfolio-detail-head-slim h3{
  font-size:clamp(2rem,3.5vw,3.3rem);
}
.runenburg-immo-calculator .portfolio-focus-strip{
  border-radius:22px;
  padding:16px 18px;
  background:linear-gradient(135deg,#0f766e,#14b8a6);
  color:#fff!important;
  box-shadow:0 16px 38px rgba(20,184,166,.18);
}
.runenburg-immo-calculator .portfolio-focus-strip.portfolio-tone-negative{
  color:#fff!important;
  background:linear-gradient(135deg,#b42318,#ef4444);
}
.runenburg-immo-calculator .portfolio-focus-strip span,
.runenburg-immo-calculator .portfolio-focus-strip small{display:block;font-weight:800;opacity:.88}
.runenburg-immo-calculator .portfolio-focus-strip strong{display:block;font-size:2.15rem;line-height:1;letter-spacing:-.05em;margin:6px 0}
.runenburg-immo-calculator .compact-metrics{grid-template-columns:repeat(6,minmax(0,1fr))}
.runenburg-immo-calculator .portfolio-detail-table th,
.runenburg-immo-calculator .portfolio-detail-table td{
  padding:7px 0;
  font-size:.82rem;
}
.runenburg-immo-calculator .portfolio-chart-card{
  border-radius:26px;
  padding:16px;
  background:linear-gradient(145deg,#0f172a 0%,#102335 48%,#0b3b37 100%);
  box-shadow:0 22px 62px rgba(15,23,42,.16);
}
.runenburg-immo-calculator .portfolio-chart-head{margin-bottom:6px}
.runenburg-immo-calculator .portfolio-chart-head strong{font-size:.98rem}
.runenburg-immo-calculator .portfolio-chart-head span{font-size:.78rem}
.runenburg-immo-calculator #portfolioChart{
  height:260px;
  min-height:220px;
}
@media(max-width:1240px){
  .runenburg-immo-calculator .portfolio-detail-metrics,
  .runenburg-immo-calculator .compact-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
  .runenburg-immo-calculator .portfolio-bank-hero{grid-template-columns:1fr}
}
@media(max-width:1100px){
  .runenburg-immo-calculator .portfolio-app-shell{grid-template-columns:1fr}
  .runenburg-immo-calculator .portfolio-left-pane{max-height:none;overflow:visible;border-right:0;border-bottom:1px solid #e2e8f0}
  .runenburg-immo-calculator .portfolio-object-list-wrap{max-height:280px;overflow:auto;scrollbar-width:none}
  .runenburg-immo-calculator .portfolio-right-pane{padding:16px}
}
@media(max-width:760px){
  .runenburg-immo-calculator .portfolio-toolbar{grid-template-columns:1fr}
  .runenburg-immo-calculator .portfolio-detail-metrics,
  .runenburg-immo-calculator .compact-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .runenburg-immo-calculator .portfolio-smart-grid{grid-template-columns:1fr}
  .runenburg-immo-calculator .portfolio-bank-hero-copy h3{font-size:2.3rem}
  .runenburg-immo-calculator .portfolio-object-list td:nth-child(3){display:none}
}
@media(max-width:520px){
  .runenburg-immo-calculator .portfolio-summary-grid,
  .runenburg-immo-calculator .portfolio-detail-metrics,
  .runenburg-immo-calculator .compact-metrics{grid-template-columns:1fr}
  .runenburg-immo-calculator .portfolio-left-pane{padding:14px}
  .runenburg-immo-calculator .portfolio-right-pane{padding:12px}
}

/* v2.7.0: Portfolio-Dashboard als Kachel-Layout statt gequetschter Seitenleiste */
.runenburg-immo-calculator .portfolio-view{
  background:linear-gradient(135deg,#f7fbfb 0%,#eefaf8 42%,#f8fafc 100%);
}
.runenburg-immo-calculator .portfolio-app-shell{
  display:grid;
  grid-template-columns:1fr;
  grid-template-rows:auto minmax(0,1fr);
  height:100%;
  min-height:0;
}
.runenburg-immo-calculator .portfolio-left-pane{
  display:grid;
  grid-template-columns:minmax(260px,330px) minmax(360px,1fr) minmax(310px,390px);
  grid-template-areas:
    "head summary tools"
    "objecthead objecthead objecthead"
    "objects objects objects"
    "share share share";
  align-items:start;
  gap:14px;
  overflow:visible;
  padding:18px 20px 12px;
  background:rgba(255,255,255,.88);
  border-right:0;
  border-bottom:1px solid rgba(203,213,225,.72);
  box-shadow:0 16px 42px rgba(15,23,42,.05);
}
.runenburg-immo-calculator .portfolio-head-compact{grid-area:head;align-self:stretch}
.runenburg-immo-calculator .portfolio-toolbar{grid-area:tools;align-self:start}
.runenburg-immo-calculator .portfolio-share-output{grid-area:share}
.runenburg-immo-calculator .portfolio-summary-grid{grid-area:summary}
.runenburg-immo-calculator .portfolio-object-list-head{grid-area:objecthead}
.runenburg-immo-calculator .portfolio-object-list-wrap{grid-area:objects}
.runenburg-immo-calculator .portfolio-head-compact h2{
  font-size:2.15rem;
  letter-spacing:-.055em;
}
.runenburg-immo-calculator .portfolio-head-compact p:not(.eyebrow){
  max-width:280px;
}
.runenburg-immo-calculator .portfolio-toolbar{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:9px;
}
.runenburg-immo-calculator .portfolio-toolbar .portfolio-tool-action{
  min-height:44px;
  border-radius:16px;
  padding:10px 12px;
  font-size:.82rem;
  line-height:1;
  white-space:nowrap;
}
.runenburg-immo-calculator .portfolio-toolbar .portfolio-tool-action .uicon{
  width:17px;
  height:17px;
  min-width:17px;
  min-height:17px;
}
.runenburg-immo-calculator .portfolio-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:0;
}
.runenburg-immo-calculator .portfolio-summary-card{
  min-height:74px;
  border-radius:18px;
  padding:11px 12px;
}
.runenburg-immo-calculator .portfolio-summary-card strong{
  font-size:1.12rem;
}
.runenburg-immo-calculator .portfolio-object-list-head{
  margin:0;
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.runenburg-immo-calculator .portfolio-object-list-head strong{
  font-size:1.02rem;
  letter-spacing:-.015em;
}
.runenburg-immo-calculator .portfolio-object-list-head strong::after{
  content:' · Klick auf eine Kachel zeigt Details';
  font-size:.78rem;
  color:#64748b;
  font-weight:700;
  letter-spacing:0;
}
.runenburg-immo-calculator .portfolio-object-list-wrap{
  overflow:visible;
  border:0;
  background:transparent;
  padding:0;
  box-shadow:none;
  border-radius:0;
}
.runenburg-immo-calculator .portfolio-object-list,
.runenburg-immo-calculator .portfolio-object-list tbody{
  display:block;
  width:100%;
}
.runenburg-immo-calculator .portfolio-object-list thead{display:none}
.runenburg-immo-calculator .portfolio-object-list tbody{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:12px;
}
.runenburg-immo-calculator .portfolio-object-list tr.portfolio-object-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:"object cashflow";
  align-items:stretch;
  min-height:112px;
  padding:12px;
  border:1px solid rgba(203,213,225,.82);
  border-radius:22px;
  background:linear-gradient(135deg,#ffffff 0%,#f8fafc 100%);
  box-shadow:0 12px 28px rgba(15,23,42,.055);
  transition:transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.runenburg-immo-calculator .portfolio-object-list tr.portfolio-object-row:hover,
.runenburg-immo-calculator .portfolio-object-list tr.portfolio-object-row.is-selected{
  transform:translateY(-2px);
  border-color:rgba(20,184,166,.42);
  background:linear-gradient(135deg,#ffffff 0%,#ecfeff 100%);
  box-shadow:0 18px 38px rgba(20,184,166,.12);
}
.runenburg-immo-calculator .portfolio-object-list td{
  display:block;
  padding:0;
  background:transparent;
  border:0;
}
.runenburg-immo-calculator .portfolio-object-list td:first-child{grid-area:object;border-radius:0;border:0}
.runenburg-immo-calculator .portfolio-object-list td:nth-child(2){grid-area:cashflow;align-self:end;justify-self:end}
.runenburg-immo-calculator .portfolio-object-list td:nth-child(3){display:none}
.runenburg-immo-calculator .portfolio-object-cell{
  display:grid;
  grid-template-columns:96px minmax(0,1fr);
  gap:13px;
  align-items:center;
}
.runenburg-immo-calculator .portfolio-object-image,
.runenburg-immo-calculator .portfolio-object-placeholder{
  width:96px;
  height:76px;
  flex-basis:96px;
  border-radius:18px;
  font-size:34px;
  box-shadow:0 12px 24px rgba(15,23,42,.08);
}
.runenburg-immo-calculator .portfolio-object-cell strong{
  max-width:100%;
  font-size:1.03rem;
  line-height:1.12;
  white-space:normal;
  letter-spacing:-.02em;
}
.runenburg-immo-calculator .portfolio-object-cell small{
  margin-top:6px;
  display:block;
  font-size:.78rem;
  white-space:normal;
  color:#64748b;
}
.runenburg-immo-calculator .portfolio-pill{
  min-width:86px;
  padding:8px 11px;
  font-size:.86rem;
  box-shadow:none;
}
.runenburg-immo-calculator .portfolio-score-mini{display:none}
.runenburg-immo-calculator .portfolio-right-pane{
  padding:18px 20px 22px;
  overflow:auto;
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
  background:transparent;
}
.runenburg-immo-calculator .portfolio-bank-hero{
  grid-template-columns:minmax(0,1fr) minmax(300px,380px);
  gap:16px;
}
.runenburg-immo-calculator .portfolio-bank-hero-copy{
  padding:24px 26px;
  border-radius:28px;
  background:linear-gradient(135deg,#ffffff 0%,#f0fdfa 100%);
}
.runenburg-immo-calculator .portfolio-bank-hero-copy h3{
  font-size:clamp(2.6rem,4.8vw,5.2rem);
}
.runenburg-immo-calculator .portfolio-bank-status,
.runenburg-immo-calculator .portfolio-bank-status.portfolio-tone-positive{
  color:#ffffff!important;
  background:linear-gradient(135deg,#0f766e 0%,#14b8a6 100%);
}
.runenburg-immo-calculator .portfolio-bank-status strong{
  color:#ffffff!important;
  font-size:clamp(2.4rem,4vw,4.4rem);
}
.runenburg-immo-calculator .portfolio-bank-status span,
.runenburg-immo-calculator .portfolio-bank-status small{color:rgba(255,255,255,.88)!important}
.runenburg-immo-calculator .portfolio-detail-metrics.portfolio-core-metrics{
  grid-template-columns:repeat(6,minmax(0,1fr));
}
.runenburg-immo-calculator .portfolio-smart-grid.portfolio-bank-grid{
  grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);
}
.runenburg-immo-calculator .portfolio-watchlist-card{
  display:none;
}
.runenburg-immo-calculator .portfolio-chart-card{
  padding:18px;
  border-radius:28px;
  min-height:390px;
}
.runenburg-immo-calculator #portfolioChart{
  width:100%;
  height:350px;
  min-height:350px;
  display:block;
}
.runenburg-immo-calculator .portfolio-detail{
  margin:0;
}
.runenburg-immo-calculator .portfolio-focus-strip,
.runenburg-immo-calculator .portfolio-focus-strip.portfolio-tone-positive{
  color:#ffffff!important;
}
.runenburg-immo-calculator .portfolio-focus-strip strong,
.runenburg-immo-calculator .portfolio-focus-strip span,
.runenburg-immo-calculator .portfolio-focus-strip small{color:rgba(255,255,255,.92)!important}
@media(max-width:1380px){
  .runenburg-immo-calculator .portfolio-left-pane{
    grid-template-columns:minmax(240px,300px) minmax(0,1fr);
    grid-template-areas:
      "head tools"
      "summary summary"
      "objecthead objecthead"
      "objects objects"
      "share share";
  }
  .runenburg-immo-calculator .portfolio-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:1100px){
  .runenburg-immo-calculator .portfolio-left-pane{
    display:grid;
    grid-template-columns:1fr;
    grid-template-areas:"head" "tools" "summary" "objecthead" "objects" "share";
    overflow:visible;
  }
  .runenburg-immo-calculator .portfolio-toolbar{grid-template-columns:repeat(3,minmax(0,1fr))}
  .runenburg-immo-calculator .portfolio-bank-hero,
  .runenburg-immo-calculator .portfolio-smart-grid.portfolio-bank-grid{grid-template-columns:1fr}
  .runenburg-immo-calculator .portfolio-detail-metrics.portfolio-core-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .runenburg-immo-calculator .portfolio-toolbar,
  .runenburg-immo-calculator .portfolio-summary-grid,
  .runenburg-immo-calculator .portfolio-detail-metrics.portfolio-core-metrics{grid-template-columns:1fr}
  .runenburg-immo-calculator .portfolio-object-list tbody{grid-template-columns:1fr}
  .runenburg-immo-calculator .portfolio-object-cell{grid-template-columns:78px minmax(0,1fr)}
  .runenburg-immo-calculator .portfolio-object-image,
  .runenburg-immo-calculator .portfolio-object-placeholder{width:78px;height:64px;flex-basis:78px}
  .runenburg-immo-calculator #portfolioChart{height:280px;min-height:280px}
}

/* v2.8.0: finales Portfolio-Expose mit echter Expose-Struktur, grossen Objektkarten und hellem Chart */
.runenburg-immo-calculator .portfolio-view{
  position:fixed;
  inset:0;
  z-index:10050;
  display:none;
  padding:0;
  background:linear-gradient(135deg,#f6fbfb 0%,#edf8f7 42%,#f8fafc 100%);
  overflow:hidden;
}
.runenburg-immo-calculator .portfolio-view.open{display:block}
.runenburg-immo-calculator .portfolio-panel{
  width:100%;
  height:100%;
  max-width:none;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:auto;
}
.runenburg-immo-calculator .portfolio-expose-shell{
  width:min(1560px,100%);
  margin:0 auto;
  min-height:100%;
  padding:22px clamp(18px,3vw,42px) 34px;
  box-sizing:border-box;
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
}
.runenburg-immo-calculator .portfolio-expose-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding:14px 18px;
  border:1px solid rgba(203,213,225,.78);
  border-radius:24px;
  background:rgba(255,255,255,.92);
  box-shadow:0 16px 42px rgba(15,23,42,.055);
  backdrop-filter:blur(12px);
}
.runenburg-immo-calculator .portfolio-expose-brand h2{
  margin:2px 0 0;
  font-size:clamp(2rem,3.5vw,3.7rem);
  line-height:.92;
  letter-spacing:-.06em;
  color:#0f172a;
}
.runenburg-immo-calculator .portfolio-expose-brand p:not(.eyebrow){
  margin:6px 0 0;
  color:#64748b;
  font-weight:700;
  font-size:.88rem;
}
.runenburg-immo-calculator .portfolio-expose-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:nowrap;
}
.runenburg-immo-calculator .portfolio-expose-actions .portfolio-tool-action{
  min-height:44px;
  border-radius:999px;
  padding:10px 16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  white-space:nowrap;
  font-size:.88rem;
  font-weight:950;
  color:#0f172a;
  background:#ffffff;
  border:1px solid #dbe4ef;
  box-shadow:0 10px 22px rgba(15,23,42,.055);
}
.runenburg-immo-calculator .portfolio-expose-actions .portfolio-tool-action:first-child{
  color:#fff;
  border-color:rgba(15,118,110,.24);
  background:linear-gradient(135deg,#0f766e 0%,#14b8a6 100%);
  box-shadow:0 14px 30px rgba(20,184,166,.22);
}
.runenburg-immo-calculator .portfolio-expose-actions .portfolio-tool-action.secondary{
  background:#f8fafc;
  color:#334155;
}
.runenburg-immo-calculator .portfolio-expose-actions .uicon{
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  min-height:18px!important;
}
.runenburg-immo-calculator .portfolio-close-button{
  position:static;
  width:46px;
  height:46px;
  border-radius:999px;
  flex:0 0 46px;
  background:#ffffff;
  border:1px solid #dbe4ef;
  box-shadow:0 10px 22px rgba(15,23,42,.06);
  color:#475569;
}
.runenburg-immo-calculator .portfolio-share-output{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto auto;
  gap:10px;
  align-items:end;
  padding:14px;
  border-radius:22px;
  border:1px solid rgba(20,184,166,.18);
  background:rgba(255,255,255,.92);
  box-shadow:0 12px 30px rgba(15,23,42,.045);
}
.runenburg-immo-calculator .portfolio-share-output.hidden{display:none!important}
.runenburg-immo-calculator .portfolio-expose-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,430px);
  gap:18px;
  align-items:stretch;
}
.runenburg-immo-calculator .portfolio-expose-hero-copy,
.runenburg-immo-calculator .portfolio-expose-cashflow-card{
  border-radius:32px;
  border:1px solid rgba(203,213,225,.78);
  box-shadow:0 20px 56px rgba(15,23,42,.07);
}
.runenburg-immo-calculator .portfolio-expose-hero-copy{
  padding:clamp(24px,3vw,38px);
  background:linear-gradient(135deg,#ffffff 0%,#f0fdfa 100%);
}
.runenburg-immo-calculator .portfolio-expose-hero-copy h3{
  margin:0;
  max-width:980px;
  font-size:clamp(3rem,6vw,6.7rem);
  line-height:.86;
  letter-spacing:-.075em;
  color:#0f172a;
}
.runenburg-immo-calculator .portfolio-expose-hero-copy p:not(.eyebrow){
  margin:16px 0 0;
  max-width:860px;
  font-size:1.05rem;
  line-height:1.5;
  font-weight:750;
  color:#475569;
}
.runenburg-immo-calculator .portfolio-expose-hero-copy small{
  display:block;
  margin-top:12px;
  color:#64748b;
  font-weight:800;
}
.runenburg-immo-calculator .portfolio-expose-cashflow-card{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:28px;
  background:linear-gradient(135deg,#0f766e 0%,#14b8a6 100%);
  color:#fff!important;
  box-shadow:0 24px 64px rgba(20,184,166,.24);
}
.runenburg-immo-calculator .portfolio-expose-cashflow-card.portfolio-tone-negative{
  background:linear-gradient(135deg,#b42318 0%,#ef4444 100%);
  box-shadow:0 24px 64px rgba(239,68,68,.20);
}
.runenburg-immo-calculator .portfolio-expose-cashflow-card.portfolio-tone-neutral{
  background:linear-gradient(135deg,#334155 0%,#64748b 100%);
}
.runenburg-immo-calculator .portfolio-expose-cashflow-card span,
.runenburg-immo-calculator .portfolio-expose-cashflow-card small{
  color:rgba(255,255,255,.9)!important;
  font-weight:900;
}
.runenburg-immo-calculator .portfolio-expose-cashflow-card span{
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.82rem;
}
.runenburg-immo-calculator .portfolio-expose-cashflow-card strong{
  color:#fff!important;
  display:block;
  margin:12px 0 8px;
  font-size:clamp(3rem,5vw,5.6rem);
  line-height:.88;
  letter-spacing:-.07em;
}
.runenburg-immo-calculator .portfolio-expose-kpis{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
}
.runenburg-immo-calculator .portfolio-expose-kpis .portfolio-summary-card{
  min-height:96px;
  border-radius:22px;
  padding:16px;
  background:#ffffff;
  border:1px solid rgba(203,213,225,.82);
  box-shadow:0 14px 34px rgba(15,23,42,.045);
}
.runenburg-immo-calculator .portfolio-expose-kpis .portfolio-summary-card span{
  font-size:.68rem;
  letter-spacing:.07em;
  color:#64748b;
}
.runenburg-immo-calculator .portfolio-expose-kpis .portfolio-summary-card strong{
  font-size:1.55rem;
  letter-spacing:-.04em;
}
.runenburg-immo-calculator .portfolio-expose-chart-card{
  min-height:0;
  padding:22px;
  border-radius:32px;
  background:#ffffff;
  border:1px solid rgba(203,213,225,.82);
  box-shadow:0 20px 56px rgba(15,23,42,.07);
  color:#0f172a;
}
.runenburg-immo-calculator .portfolio-chart-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:10px;
}
.runenburg-immo-calculator .portfolio-chart-head strong{
  display:block;
  color:#0f172a;
  font-size:1.2rem;
  letter-spacing:-.02em;
}
.runenburg-immo-calculator .portfolio-chart-head span{
  display:block;
  margin-top:4px;
  color:#64748b;
  font-size:.88rem;
}
.runenburg-immo-calculator #portfolioChart{
  width:100%;
  height:430px;
  min-height:430px;
  display:block;
  background:#fff;
  border-radius:24px;
}
.runenburg-immo-calculator .portfolio-chart-bg{fill:url(#portfolioPanelBg)}
.runenburg-immo-calculator .portfolio-grid{stroke:#e2e8f0;stroke-width:1}
.runenburg-immo-calculator .portfolio-axis{fill:#64748b;font-weight:800;font-size:12px}
.runenburg-immo-calculator .portfolio-zero-line{stroke:#cbd5e1;stroke-width:2;stroke-dasharray:6 8}
.runenburg-immo-calculator .portfolio-chart-total{fill:#0f766e;font-weight:950;font-size:14px}
.runenburg-immo-calculator .portfolio-total-line{fill:none;stroke:#0f766e;stroke-width:5.5;stroke-linecap:round;stroke-linejoin:round}
.runenburg-immo-calculator .portfolio-total-dot{fill:#0f766e;stroke:#ccfbf1;stroke-width:3}
.runenburg-immo-calculator .portfolio-object-line{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.34}
.runenburg-immo-calculator .portfolio-object-dot{opacity:.55;stroke:#fff;stroke-width:1.5}
.runenburg-immo-calculator .portfolio-expose-objects{
  display:grid;
  gap:14px;
}
.runenburg-immo-calculator .portfolio-object-list-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin:2px 0 0;
}
.runenburg-immo-calculator .portfolio-object-list-head strong{
  display:block;
  color:#0f172a;
  font-size:1.45rem;
  letter-spacing:-.035em;
}
.runenburg-immo-calculator .portfolio-object-list-head strong::after{content:none}
.runenburg-immo-calculator .portfolio-object-list-head span{
  display:block;
  margin-top:3px;
  color:#64748b;
  font-weight:700;
  font-size:.9rem;
}
.runenburg-immo-calculator .portfolio-object-list-head .mini-link{
  flex:0 0 auto;
  color:#0f766e;
  background:#ecfeff;
  border:1px solid rgba(20,184,166,.22);
  border-radius:999px;
  padding:9px 14px;
  font-weight:950;
}
.runenburg-immo-calculator .portfolio-object-list-wrap{
  overflow:visible;
  border:0;
  background:transparent;
  box-shadow:none;
  padding:0;
}
.runenburg-immo-calculator .portfolio-object-list,
.runenburg-immo-calculator .portfolio-object-list tbody{
  display:block;
  width:100%;
}
.runenburg-immo-calculator .portfolio-object-list thead{display:none}
.runenburg-immo-calculator .portfolio-object-list tbody{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(430px,1fr));
  gap:18px;
}
.runenburg-immo-calculator .portfolio-object-list tr.portfolio-object-row{
  display:block;
  min-height:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  cursor:pointer;
}
.runenburg-immo-calculator .portfolio-object-list tr.portfolio-object-row:hover{transform:none;filter:none}
.runenburg-immo-calculator .portfolio-object-list td{
  display:block;
  padding:0;
  border:0;
  background:transparent;
}
.runenburg-immo-calculator .portfolio-property-card{
  position:relative;
  display:grid;
  grid-template-columns:minmax(180px,38%) minmax(0,1fr);
  min-height:260px;
  overflow:hidden;
  border-radius:32px;
  background:#ffffff;
  border:1px solid rgba(203,213,225,.82);
  box-shadow:0 18px 48px rgba(15,23,42,.08);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.runenburg-immo-calculator .portfolio-object-row:hover .portfolio-property-card,
.runenburg-immo-calculator .portfolio-object-row:focus-visible .portfolio-property-card{
  transform:translateY(-3px);
  border-color:rgba(20,184,166,.42);
  box-shadow:0 24px 64px rgba(20,184,166,.15);
}
.runenburg-immo-calculator .portfolio-property-media{
  position:relative;
  min-height:260px;
  background:linear-gradient(135deg,#e2e8f0,#f8fafc);
}
.runenburg-immo-calculator .portfolio-property-media .portfolio-object-image,
.runenburg-immo-calculator .portfolio-property-media .portfolio-object-placeholder{
  width:100%;
  height:100%;
  min-height:260px;
  border:0;
  border-radius:0;
  object-fit:cover;
  display:grid;
  place-items:center;
  box-shadow:none;
  font-size:64px;
  color:#0f766e;
}
.runenburg-immo-calculator .portfolio-property-media::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(15,23,42,0) 45%,rgba(15,23,42,.46) 100%);
  pointer-events:none;
}
.runenburg-immo-calculator .portfolio-property-badge{
  position:absolute;
  left:16px;
  bottom:16px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:10px 14px;
  font-weight:950;
  color:#fff;
  background:#0f766e;
  box-shadow:0 12px 24px rgba(15,23,42,.24);
}
.runenburg-immo-calculator .portfolio-property-badge.negative{background:#dc2626}
.runenburg-immo-calculator .portfolio-property-body{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:18px;
  padding:24px;
}
.runenburg-immo-calculator .portfolio-property-title strong{
  display:block;
  color:#0f172a;
  font-size:clamp(1.35rem,2vw,2rem);
  line-height:1;
  letter-spacing:-.045em;
}
.runenburg-immo-calculator .portfolio-property-title small{
  display:block;
  margin-top:8px;
  color:#0f766e;
  font-weight:900;
}
.runenburg-immo-calculator .portfolio-property-metrics{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.runenburg-immo-calculator .portfolio-property-metrics span{
  display:block;
  border-radius:16px;
  padding:10px 11px;
  background:#f8fafc;
  border:1px solid #e2e8f0;
}
.runenburg-immo-calculator .portfolio-property-metrics b{
  display:block;
  color:#0f172a;
  font-size:1.05rem;
  letter-spacing:-.02em;
}
.runenburg-immo-calculator .portfolio-property-metrics small{
  display:block;
  margin-top:3px;
  color:#64748b;
  font-size:.72rem;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.055em;
}
.runenburg-immo-calculator .portfolio-property-body em{
  align-self:flex-start;
  display:inline-flex;
  border-radius:999px;
  padding:9px 13px;
  color:#0f766e;
  background:#ecfeff;
  border:1px solid rgba(20,184,166,.24);
  font-style:normal;
  font-weight:950;
}
@media(max-width:1120px){
  .runenburg-immo-calculator .portfolio-expose-topbar,
  .runenburg-immo-calculator .portfolio-expose-hero{grid-template-columns:1fr;display:grid}
  .runenburg-immo-calculator .portfolio-expose-actions{justify-content:flex-start;flex-wrap:wrap}
  .runenburg-immo-calculator .portfolio-expose-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .runenburg-immo-calculator .portfolio-object-list tbody{grid-template-columns:1fr}
}
@media(max-width:720px){
  .runenburg-immo-calculator .portfolio-expose-shell{padding:14px;gap:14px}
  .runenburg-immo-calculator .portfolio-expose-actions .portfolio-tool-action{flex:1 1 auto}
  .runenburg-immo-calculator .portfolio-expose-kpis{grid-template-columns:1fr}
  .runenburg-immo-calculator .portfolio-property-card{grid-template-columns:1fr;min-height:0}
  .runenburg-immo-calculator .portfolio-property-media,
  .runenburg-immo-calculator .portfolio-property-media .portfolio-object-image,
  .runenburg-immo-calculator .portfolio-property-media .portfolio-object-placeholder{min-height:220px;height:220px}
  .runenburg-immo-calculator .portfolio-property-metrics{grid-template-columns:1fr 1fr}
  .runenburg-immo-calculator #portfolioChart{height:300px;min-height:300px}
  .runenburg-immo-calculator .portfolio-share-output{grid-template-columns:1fr}
}

/* v3.0.0: Portfolio mit Kurzzusammenfassung, farbigen Kernkennzahlen und prominenter Mietaufstellung */
.runenburg-immo-calculator .result-period-toggle{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:5px;
  margin:0 0 16px;
  border:1px solid rgba(203,213,225,.9);
  border-radius:999px;
  background:#f8fafc;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 10px 22px rgba(15,23,42,.045);
}
.runenburg-immo-calculator .result-period-toggle button{
  appearance:none;
  border:0;
  border-radius:999px;
  padding:9px 15px;
  background:transparent;
  color:#64748b;
  font-weight:950;
  cursor:pointer;
  transition:background .16s ease,color .16s ease,box-shadow .16s ease;
}
.runenburg-immo-calculator .result-period-toggle button.is-active{
  color:#fff;
  background:linear-gradient(135deg,#0f766e,#14b8a6);
  box-shadow:0 8px 20px rgba(20,184,166,.24);
}
.runenburg-immo-calculator .portfolio-expose-shell{
  background:linear-gradient(135deg,rgba(240,253,250,.38),rgba(239,246,255,.32));
}
.runenburg-immo-calculator .portfolio-expose-hero{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}
.runenburg-immo-calculator .portfolio-brief-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  padding:20px 22px;
  border-radius:26px;
  background:linear-gradient(135deg,#ffffff 0%,#f0fdfa 100%);
  border:1px solid rgba(20,184,166,.18);
  box-shadow:0 16px 42px rgba(15,23,42,.055);
}
.runenburg-immo-calculator .portfolio-brief-card h3{
  margin:0;
  font-size:1.8rem;
  line-height:1;
  letter-spacing:-.04em;
  color:#0f172a;
}
.runenburg-immo-calculator .portfolio-brief-card p:not(.eyebrow){
  margin:8px 0 0;
  max-width:980px;
  color:#475569;
  font-size:.98rem;
  line-height:1.45;
  font-weight:700;
}
.runenburg-immo-calculator .portfolio-brief-meta{
  min-width:210px;
  padding:14px 16px;
  border-radius:20px;
  background:#ffffff;
  border:1px solid rgba(203,213,225,.76);
  text-align:right;
}
.runenburg-immo-calculator .portfolio-brief-meta span,
.runenburg-immo-calculator .portfolio-brief-meta small{display:block;color:#64748b;font-weight:850;font-size:.78rem}
.runenburg-immo-calculator .portfolio-brief-meta strong{display:block;color:#0f172a;font-size:1rem;margin:3px 0;white-space:nowrap}
.runenburg-immo-calculator .portfolio-primary-metric-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.runenburg-immo-calculator .portfolio-primary-metric{
  position:relative;
  overflow:hidden;
  border-radius:30px;
  padding:24px;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.28);
  box-shadow:0 22px 58px rgba(15,23,42,.12);
}
.runenburg-immo-calculator .portfolio-primary-metric::before{
  content:'';
  position:absolute;
  inset:-30% auto auto 50%;
  width:340px;
  height:340px;
  border-radius:999px;
  background:rgba(255,255,255,.16);
  pointer-events:none;
}
.runenburg-immo-calculator .portfolio-primary-cashflow{background:linear-gradient(135deg,#0f766e 0%,#14b8a6 68%,#2dd4bf 100%)}
.runenburg-immo-calculator .portfolio-primary-cashflow.portfolio-tone-negative{background:linear-gradient(135deg,#b42318 0%,#ef4444 100%)}
.runenburg-immo-calculator .portfolio-primary-realprofit{background:linear-gradient(135deg,#1d4ed8 0%,#2563eb 54%,#38bdf8 100%)}
.runenburg-immo-calculator .portfolio-primary-realprofit.portfolio-tone-negative{background:linear-gradient(135deg,#9f1239 0%,#e11d48 100%)}
.runenburg-immo-calculator .portfolio-primary-metric > span{
  display:block;
  color:rgba(255,255,255,.88)!important;
  font-size:.84rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.runenburg-immo-calculator .portfolio-primary-metric > strong{
  display:block;
  margin:10px 0 14px;
  color:#fff!important;
  font-size:clamp(2.4rem,5vw,5.3rem);
  line-height:.9;
  letter-spacing:-.07em;
}
.runenburg-immo-calculator .portfolio-mini-calc{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.runenburg-immo-calculator .portfolio-mini-calc b,
.runenburg-immo-calculator .portfolio-mini-calc i,
.runenburg-immo-calculator .portfolio-mini-calc em{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:7px 10px;
  background:rgba(255,255,255,.16);
  color:#fff;
  font-style:normal;
  font-weight:900;
  font-size:.82rem;
}
.runenburg-immo-calculator .portfolio-mini-calc em{background:rgba(255,255,255,.26)}
.runenburg-immo-calculator .portfolio-rent-statement{
  padding:18px;
  border-radius:32px;
  background:linear-gradient(135deg,#fff7ed 0%,#ffffff 48%,#ecfeff 100%);
  border:1px solid rgba(251,146,60,.18);
  box-shadow:0 18px 50px rgba(15,23,42,.055);
}
.runenburg-immo-calculator .portfolio-rent-statement .portfolio-object-list-head{
  margin:0 0 14px;
}
.runenburg-immo-calculator .portfolio-rent-statement .portfolio-object-list-head strong{
  font-size:2rem;
}
.runenburg-immo-calculator .portfolio-rent-statement .portfolio-object-list-head span{
  color:#7c2d12;
}
.runenburg-immo-calculator .portfolio-object-list tbody{
  grid-template-columns:repeat(auto-fit,minmax(520px,1fr));
  gap:16px;
}
.runenburg-immo-calculator .portfolio-rent-card{
  display:grid;
  grid-template-columns:180px minmax(0,1fr);
  min-height:210px;
  overflow:hidden;
  border-radius:28px;
  background:#fff;
  border:1px solid rgba(203,213,225,.78);
  box-shadow:0 18px 44px rgba(15,23,42,.07);
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.runenburg-immo-calculator .portfolio-object-row:hover .portfolio-rent-card,
.runenburg-immo-calculator .portfolio-object-row:focus-visible .portfolio-rent-card{
  transform:translateY(-3px);
  border-color:rgba(20,184,166,.38);
  box-shadow:0 24px 62px rgba(20,184,166,.15);
}
.runenburg-immo-calculator .portfolio-rent-media{
  min-height:210px;
  background:linear-gradient(135deg,#e0f2fe,#f0fdfa);
}
.runenburg-immo-calculator .portfolio-rent-media .portfolio-object-image,
.runenburg-immo-calculator .portfolio-rent-media .portfolio-object-placeholder{
  width:100%;
  height:100%;
  min-height:210px;
  border-radius:0;
  border:0;
  object-fit:cover;
  box-shadow:none;
  font-size:56px;
}
.runenburg-immo-calculator .portfolio-rent-content{
  display:grid;
  grid-template-rows:auto 1fr auto;
  gap:12px;
  padding:18px;
}
.runenburg-immo-calculator .portfolio-rent-title{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
}
.runenburg-immo-calculator .portfolio-rent-title strong{
  display:block;
  color:#0f172a;
  font-size:1.35rem;
  line-height:1;
  letter-spacing:-.04em;
}
.runenburg-immo-calculator .portfolio-rent-title small{display:block;margin-top:5px;color:#64748b;font-weight:800}
.runenburg-immo-calculator .portfolio-rent-title em{
  flex:0 0 auto;
  border-radius:999px;
  padding:9px 12px;
  background:#ecfeff;
  font-style:normal;
  font-weight:950;
}
.runenburg-immo-calculator .portfolio-rent-breakdown{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
.runenburg-immo-calculator .portfolio-rent-breakdown span{
  display:block;
  border-radius:16px;
  padding:10px;
  background:#f8fafc;
  border:1px solid #e2e8f0;
}
.runenburg-immo-calculator .portfolio-rent-breakdown span.is-empty{opacity:.45}
.runenburg-immo-calculator .portfolio-rent-breakdown small{
  display:block;
  color:#64748b;
  font-size:.68rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.055em;
}
.runenburg-immo-calculator .portfolio-rent-breakdown b{
  display:block;
  margin-top:4px;
  color:#0f172a;
  font-size:1rem;
  letter-spacing:-.02em;
}
.runenburg-immo-calculator .portfolio-rent-footer{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
}
.runenburg-immo-calculator .portfolio-rent-footer span,
.runenburg-immo-calculator .portfolio-rent-footer i{
  display:inline-flex;
  align-items:center;
  gap:5px;
  border-radius:999px;
  padding:8px 10px;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  color:#475569;
  font-weight:850;
  font-style:normal;
  font-size:.78rem;
}
.runenburg-immo-calculator .portfolio-rent-footer i{background:#ecfeff;color:#0f766e;border-color:rgba(20,184,166,.24)}
.runenburg-immo-calculator .portfolio-expose-kpis{
  grid-template-columns:repeat(6,minmax(0,1fr));
}
.runenburg-immo-calculator .portfolio-expose-kpis .portfolio-summary-card:nth-child(1){background:linear-gradient(135deg,#eef2ff,#fff)}
.runenburg-immo-calculator .portfolio-expose-kpis .portfolio-summary-card:nth-child(2){background:linear-gradient(135deg,#f0f9ff,#fff)}
.runenburg-immo-calculator .portfolio-expose-kpis .portfolio-summary-card:nth-child(3){background:linear-gradient(135deg,#ecfdf5,#fff)}
.runenburg-immo-calculator .portfolio-expose-kpis .portfolio-summary-card:nth-child(4){background:linear-gradient(135deg,#fff7ed,#fff)}
.runenburg-immo-calculator .portfolio-expose-kpis .portfolio-summary-card:nth-child(5){background:linear-gradient(135deg,#fef2f2,#fff)}
.runenburg-immo-calculator .portfolio-expose-kpis .portfolio-summary-card:nth-child(6){background:linear-gradient(135deg,#faf5ff,#fff)}
.runenburg-immo-calculator .portfolio-today-line{stroke:#0f766e;stroke-width:2.5;stroke-dasharray:8 7;opacity:.95}
.runenburg-immo-calculator .portfolio-today-label{fill:#0f766e;font-weight:950;font-size:13px}
.runenburg-immo-calculator .portfolio-expose-chart-card{background:linear-gradient(135deg,#ffffff 0%,#f8fafc 72%,#ecfeff 100%)}
@media(max-width:1240px){
  .runenburg-immo-calculator .portfolio-expose-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
  .runenburg-immo-calculator .portfolio-object-list tbody{grid-template-columns:1fr}
}
@media(max-width:760px){
  .runenburg-immo-calculator .portfolio-brief-card,
  .runenburg-immo-calculator .portfolio-primary-metric-grid{grid-template-columns:1fr}
  .runenburg-immo-calculator .portfolio-brief-meta{text-align:left;min-width:0}
  .runenburg-immo-calculator .portfolio-rent-card{grid-template-columns:1fr}
  .runenburg-immo-calculator .portfolio-rent-media,.runenburg-immo-calculator .portfolio-rent-media .portfolio-object-image,.runenburg-immo-calculator .portfolio-rent-media .portfolio-object-placeholder{min-height:210px;height:210px}
  .runenburg-immo-calculator .portfolio-rent-breakdown{grid-template-columns:repeat(2,minmax(0,1fr))}
  .runenburg-immo-calculator .portfolio-expose-kpis{grid-template-columns:1fr}
}

/* v3.1.0: Stabilisierung Portfolio-Layout, 3er-Mietkacheln, bessere Bildqualitaet und Share-Ausgabe */
.runenburg-immo-calculator .portfolio-expose-shell{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.runenburg-immo-calculator .portfolio-expose-shell > *{
  width:100%;
  box-sizing:border-box;
}
.runenburg-immo-calculator .portfolio-expose-hero{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.runenburg-immo-calculator .portfolio-brief-card{
  width:100%;
  grid-template-columns:minmax(0,1fr) minmax(220px,280px);
  align-items:stretch;
}
.runenburg-immo-calculator .portfolio-brief-card h3{
  font-size:1.55rem;
  letter-spacing:-.035em;
}
.runenburg-immo-calculator .portfolio-brief-card p:not(.eyebrow){
  max-width:1120px;
  word-break:normal;
  overflow-wrap:normal;
}
.runenburg-immo-calculator .portfolio-primary-metric-grid{
  width:100%;
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.runenburg-immo-calculator .portfolio-primary-metric{
  min-width:0;
  padding:22px;
}
.runenburg-immo-calculator .portfolio-primary-metric > strong{
  font-size:clamp(2.25rem,4vw,4.6rem);
  word-break:normal;
}
.runenburg-immo-calculator .portfolio-mini-calc{
  max-width:100%;
}
.runenburg-immo-calculator .portfolio-mini-calc b,
.runenburg-immo-calculator .portfolio-mini-calc i,
.runenburg-immo-calculator .portfolio-mini-calc em{
  max-width:100%;
  white-space:normal;
  line-height:1.25;
}
.runenburg-immo-calculator .portfolio-rent-statement{
  padding:20px;
}
.runenburg-immo-calculator .portfolio-rent-statement .portfolio-object-list-head strong{
  font-size:2.25rem;
}
.runenburg-immo-calculator .portfolio-object-list tbody{
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
}
.runenburg-immo-calculator .portfolio-rent-card{
  grid-template-columns:1fr;
  min-height:0;
  height:100%;
}
.runenburg-immo-calculator .portfolio-rent-media,
.runenburg-immo-calculator .portfolio-rent-media .portfolio-object-image,
.runenburg-immo-calculator .portfolio-rent-media .portfolio-object-placeholder{
  min-height:168px;
  height:168px;
  width:100%;
}
.runenburg-immo-calculator .portfolio-rent-media .portfolio-object-image{
  image-rendering:auto;
}
.runenburg-immo-calculator .portfolio-rent-content{
  padding:16px;
  gap:12px;
}
.runenburg-immo-calculator .portfolio-rent-title{
  align-items:flex-start;
}
.runenburg-immo-calculator .portfolio-rent-title strong{
  font-size:1.18rem;
}
.runenburg-immo-calculator .portfolio-rent-title em{
  padding:8px 11px;
  font-size:.88rem;
}
.runenburg-immo-calculator .portfolio-rent-breakdown{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.runenburg-immo-calculator .portfolio-rent-breakdown span{
  padding:9px;
}
.runenburg-immo-calculator .portfolio-rent-footer{
  gap:6px;
}
.runenburg-immo-calculator .portfolio-rent-footer span,
.runenburg-immo-calculator .portfolio-rent-footer i{
  font-size:.75rem;
  line-height:1.25;
}
.runenburg-immo-calculator .portfolio-expose-chart-card{
  overflow:hidden;
}
.runenburg-immo-calculator .portfolio-chart-head strong{
  font-size:1.35rem;
}
.runenburg-immo-calculator .portfolio-share-output{
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:end;
  gap:12px;
  position:relative;
  z-index:4;
}
.runenburg-immo-calculator .portfolio-share-output .share-link-field{
  min-width:0;
}
.runenburg-immo-calculator .portfolio-share-output input{
  min-width:0;
  width:100%;
}
.runenburg-immo-calculator .portfolio-share-output button{
  width:100%;
  min-height:42px;
}
@media(max-width:1320px){
  .runenburg-immo-calculator .portfolio-object-list tbody{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:920px){
  .runenburg-immo-calculator .portfolio-object-list tbody,
  .runenburg-immo-calculator .portfolio-primary-metric-grid,
  .runenburg-immo-calculator .portfolio-share-output{grid-template-columns:1fr}
  .runenburg-immo-calculator .portfolio-brief-card{grid-template-columns:1fr}
}

/* v3.2.0: Wertkarten und Mietaufstellung neu strukturiert, ohne Ueberlappungen */
.runenburg-immo-calculator .portfolio-rent-statement{
  display:flex;
  flex-direction:column;
  gap:18px;
  overflow:hidden;
  padding:22px;
}
.runenburg-immo-calculator .portfolio-rent-statement .portfolio-object-list-head{
  position:relative;
  z-index:3;
  margin:0;
  padding:0 2px;
}
.runenburg-immo-calculator .portfolio-rent-statement .portfolio-object-list-head strong{
  font-size:2.4rem;
  line-height:1;
  letter-spacing:-.055em;
}
.runenburg-immo-calculator .portfolio-rent-statement .portfolio-object-list-head span{
  max-width:760px;
  line-height:1.35;
}
.runenburg-immo-calculator .portfolio-rent-statement .portfolio-object-list-wrap{
  position:relative;
  z-index:2;
  margin:0;
}
.runenburg-immo-calculator .portfolio-object-list tbody{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.runenburg-immo-calculator .portfolio-rent-card{
  display:flex;
  flex-direction:column;
  min-height:0;
  height:100%;
  border-radius:26px;
}
.runenburg-immo-calculator .portfolio-rent-media,
.runenburg-immo-calculator .portfolio-rent-media .portfolio-object-image,
.runenburg-immo-calculator .portfolio-rent-media .portfolio-object-placeholder{
  height:150px;
  min-height:150px;
}
.runenburg-immo-calculator .portfolio-rent-content{
  flex:1;
  padding:15px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.runenburg-immo-calculator .portfolio-rent-title{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
}
.runenburg-immo-calculator .portfolio-rent-title strong{
  font-size:1.12rem;
  line-height:1.05;
}
.runenburg-immo-calculator .portfolio-rent-title small{
  font-size:.78rem;
}
.runenburg-immo-calculator .portfolio-rent-title em{
  font-size:.82rem;
  padding:7px 10px;
}
.runenburg-immo-calculator .portfolio-rent-breakdown{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
}
.runenburg-immo-calculator .portfolio-rent-breakdown span{
  padding:8px 9px;
  min-width:0;
}
.runenburg-immo-calculator .portfolio-rent-breakdown b{
  font-size:.95rem;
}
.runenburg-immo-calculator .portfolio-rent-footer{
  margin-top:2px;
}
.runenburg-immo-calculator .portfolio-rent-footer span,
.runenburg-immo-calculator .portfolio-rent-footer i{
  font-size:.72rem;
  padding:7px 9px;
}
.runenburg-immo-calculator .portfolio-expose-kpis{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:14px;
}
.runenburg-immo-calculator .portfolio-value-card{
  position:relative;
  overflow:hidden;
  min-height:112px;
  border-radius:24px;
  padding:18px;
  border:1px solid rgba(203,213,225,.82);
  background:#fff;
  box-shadow:0 16px 38px rgba(15,23,42,.055);
}
.runenburg-immo-calculator .portfolio-value-card::after{
  content:'';
  position:absolute;
  right:-34px;
  top:-34px;
  width:96px;
  height:96px;
  border-radius:999px;
  background:rgba(20,184,166,.10);
}
.runenburg-immo-calculator .portfolio-value-card span{
  position:relative;
  z-index:1;
  display:block;
  color:#64748b;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.07em;
  font-weight:950;
  margin-bottom:8px;
}
.runenburg-immo-calculator .portfolio-value-card strong{
  position:relative;
  z-index:1;
  display:block;
  color:#0f172a;
  font-size:clamp(1.45rem,2vw,2.2rem);
  line-height:1;
  letter-spacing:-.045em;
}
.runenburg-immo-calculator .portfolio-value-card small{
  position:relative;
  z-index:1;
  display:block;
  margin-top:8px;
  color:#64748b;
  font-weight:800;
  line-height:1.25;
}
.runenburg-immo-calculator .portfolio-value-card.objects{background:linear-gradient(135deg,#eef2ff,#fff)}
.runenburg-immo-calculator .portfolio-value-card.purchase{background:linear-gradient(135deg,#f0f9ff,#fff)}
.runenburg-immo-calculator .portfolio-value-card.rent{background:linear-gradient(135deg,#ecfdf5,#fff)}
.runenburg-immo-calculator .portfolio-value-card.debt{background:linear-gradient(135deg,#fff7ed,#fff)}
.runenburg-immo-calculator .portfolio-value-card.costs{background:linear-gradient(135deg,#fef2f2,#fff)}
.runenburg-immo-calculator .portfolio-value-card.yield{background:linear-gradient(135deg,#faf5ff,#fff)}
.runenburg-immo-calculator .portfolio-value-card.objects::after{background:rgba(99,102,241,.12)}
.runenburg-immo-calculator .portfolio-value-card.purchase::after{background:rgba(14,165,233,.12)}
.runenburg-immo-calculator .portfolio-value-card.rent::after{background:rgba(16,185,129,.14)}
.runenburg-immo-calculator .portfolio-value-card.debt::after{background:rgba(249,115,22,.14)}
.runenburg-immo-calculator .portfolio-value-card.costs::after{background:rgba(239,68,68,.12)}
.runenburg-immo-calculator .portfolio-value-card.yield::after{background:rgba(168,85,247,.12)}
@media(max-width:1180px){
  .runenburg-immo-calculator .portfolio-object-list tbody{grid-template-columns:repeat(2,minmax(0,1fr))}
  .runenburg-immo-calculator .portfolio-expose-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:720px){
  .runenburg-immo-calculator .portfolio-object-list tbody,
  .runenburg-immo-calculator .portfolio-expose-kpis{grid-template-columns:1fr}
}

/* v3.3.0: Objektkarten auf Key-Werte fokussiert und Portfolio-Zeitraumtoggle */
.runenburg-immo-calculator .portfolio-period-toggle{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:5px;
  border:1px solid rgba(20,184,166,.24);
  border-radius:999px;
  background:#ffffff;
  box-shadow:0 10px 22px rgba(15,23,42,.045);
}
.runenburg-immo-calculator .portfolio-period-toggle button{
  appearance:none;
  border:0;
  border-radius:999px;
  padding:8px 13px;
  background:transparent;
  color:#64748b;
  font-weight:950;
  cursor:pointer;
}
.runenburg-immo-calculator .portfolio-period-toggle button.is-active{
  color:#fff;
  background:linear-gradient(135deg,#0f766e,#14b8a6);
  box-shadow:0 8px 18px rgba(20,184,166,.22);
}
.runenburg-immo-calculator .portfolio-key-card .portfolio-rent-content{
  gap:14px;
}
.runenburg-immo-calculator .portfolio-key-card .portfolio-rent-title small{
  color:#64748b;
}
.runenburg-immo-calculator .portfolio-object-key-values{
  display:grid;
  grid-template-columns:1fr;
  gap:9px;
}
.runenburg-immo-calculator .portfolio-object-key-values span{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  min-height:58px;
  border-radius:18px;
  padding:12px 13px;
  border:1px solid rgba(203,213,225,.78);
  background:#f8fafc;
}
.runenburg-immo-calculator .portfolio-object-key-values small{
  color:#64748b;
  font-size:.76rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.055em;
}
.runenburg-immo-calculator .portfolio-object-key-values b{
  color:#0f172a;
  font-size:1.18rem;
  line-height:1;
  letter-spacing:-.035em;
}
.runenburg-immo-calculator .portfolio-object-key-values .key-rent{
  background:linear-gradient(135deg,#ecfdf5,#ffffff);
  border-color:rgba(16,185,129,.22);
}
.runenburg-immo-calculator .portfolio-object-key-values .key-cashflow{
  background:linear-gradient(135deg,#ecfeff,#ffffff);
  border-color:rgba(20,184,166,.22);
}
.runenburg-immo-calculator .portfolio-object-key-values .key-realprofit{
  background:linear-gradient(135deg,#eff6ff,#ffffff);
  border-color:rgba(59,130,246,.20);
}
.runenburg-immo-calculator .portfolio-key-card .portfolio-rent-footer i{
  width:100%;
  justify-content:center;
  background:linear-gradient(135deg,#ecfeff,#ffffff);
}
.runenburg-immo-calculator .portfolio-rent-statement .portfolio-object-list-head{
  align-items:center;
}
@media(max-width:720px){
  .runenburg-immo-calculator .portfolio-rent-statement .portfolio-object-list-head{align-items:flex-start;flex-direction:column}
}

/* v3.4.0: Stammdaten, Accountdaten und Portfolio-Rücksprung */
.runenburg-immo-calculator .object-masterdata-box{
  margin-top:18px;
  padding:18px;
  border:1px solid rgba(14,116,144,.16);
  border-radius:22px;
  background:linear-gradient(135deg, rgba(240,253,250,.86), rgba(255,255,255,.96));
}
.runenburg-immo-calculator .object-masterdata-box .section-title-line{
  margin-bottom:12px;
}
.runenburg-immo-calculator .object-masterdata-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.runenburg-immo-calculator .object-masterdata-grid .input-group:first-child{
  grid-column:span 2;
}
.runenburg-immo-calculator .object-masterdata-grid select,
.runenburg-immo-calculator .account-profile-grid input{
  width:100%;
  border:1px solid rgba(148,163,184,.38);
  border-radius:14px;
  background:#fff;
  padding:12px 13px;
  font:inherit;
  color:#0f172a;
  outline:none;
}
.runenburg-immo-calculator .object-masterdata-grid select:focus,
.runenburg-immo-calculator .account-profile-grid input:focus{
  border-color:rgba(14,165,148,.65);
  box-shadow:0 0 0 3px rgba(20,184,166,.12);
}
.runenburg-immo-calculator .tool-box-account{
  border-color:rgba(14,116,144,.18);
  background:linear-gradient(135deg,#ffffff,#f0fdfa);
}
.runenburg-immo-calculator .tool-box-copy{
  margin:2px 0 12px;
  color:#64748b;
  font-size:12px;
  line-height:1.45;
}
.runenburg-immo-calculator .account-profile-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-bottom:12px;
}
.runenburg-immo-calculator .account-profile-grid label{
  display:grid;
  gap:5px;
  color:#475569;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.portfolio-return-button{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:99998;
  display:none;
  align-items:center;
  gap:10px;
  border:1px solid rgba(13,148,136,.30);
  border-radius:999px;
  background:linear-gradient(135deg,#0f766e,#14b8a6);
  color:#fff;
  box-shadow:0 18px 42px rgba(15,118,110,.26);
  padding:13px 18px;
  font-weight:900;
  cursor:pointer;
}
.portfolio-return-button.is-visible{display:flex;}
.portfolio-return-button span{
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  border-radius:999px;
  background:rgba(255,255,255,.18);
}
.runenburg-immo-calculator .portfolio-expose-brand #portfolioSubtitle{
  max-width:900px;
}
@media (max-width: 920px){
  .runenburg-immo-calculator .object-masterdata-grid,
  .runenburg-immo-calculator .account-profile-grid{grid-template-columns:1fr;}
  .runenburg-immo-calculator .object-masterdata-grid .input-group:first-child{grid-column:auto;}
  .portfolio-return-button{right:14px;bottom:14px;left:14px;justify-content:center;}
}

/* v3.4.1: Portfolio-Button statt Floating-Return und Stammdaten als eigene Box */
.runenburg-immo-calculator .immo-side-tools .immo-portfolio-tab,
.runenburg-immo-calculator .immo-side-tools .immo-portfolio-tab.is-portfolio-primary{
  display:flex;
  background:linear-gradient(135deg,#0f766e,#14b8a6);
  border-color:rgba(20,184,166,.34);
  color:#ffffff;
  box-shadow:0 16px 34px rgba(15,118,110,.20);
}
.runenburg-immo-calculator .immo-side-tools .immo-portfolio-tab .uicon,
.runenburg-immo-calculator .immo-side-tools .immo-portfolio-tab img{
  filter:brightness(0) invert(1);
}
.runenburg-immo-calculator .immo-side-tools .immo-portfolio-tab.has-return-context strong::after{
  content:' · zurück';
  font-weight:800;
  opacity:.86;
}
.portfolio-return-button{display:none!important;}
.runenburg-immo-calculator .object-masterdata-input-section .section-details-body{
  background:linear-gradient(135deg,#ffffff,#f7fffe);
}
.runenburg-immo-calculator .object-masterdata-input-section .section-details-summary h3{
  color:#0f172a;
}
.runenburg-immo-calculator .object-masterdata-fields{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  align-items:stretch;
}
.runenburg-immo-calculator .object-masterdata-fields .input-group,
.runenburg-immo-calculator .object-masterdata-fields .input-group:first-child{
  grid-column:auto;
  min-width:0;
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}
.runenburg-immo-calculator .object-masterdata-fields .input-group label{
  min-height:18px;
  display:flex;
  align-items:center;
}
.runenburg-immo-calculator .object-masterdata-fields input,
.runenburg-immo-calculator .object-masterdata-fields select{
  min-height:46px;
  width:100%;
  border:1px solid rgba(148,163,184,.34);
  border-radius:14px;
  background:#fff;
  color:#0f172a;
  padding:11px 12px;
  box-sizing:border-box;
}
.runenburg-immo-calculator .object-masterdata-fields .input-wrap{
  min-height:46px;
}
.runenburg-immo-calculator .object-masterdata-fields input:focus,
.runenburg-immo-calculator .object-masterdata-fields select:focus{
  border-color:rgba(20,184,166,.72);
  box-shadow:0 0 0 3px rgba(20,184,166,.12);
  outline:none;
}
@media (max-width:1180px){
  .runenburg-immo-calculator .object-masterdata-fields{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:820px){
  .runenburg-immo-calculator .object-masterdata-fields{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:560px){
  .runenburg-immo-calculator .object-masterdata-fields{grid-template-columns:1fr;}
}
.runenburg-immo-calculator .object-masterdata-fields .input-group label{min-height:34px;line-height:1.15;align-items:flex-end;}

/* v3.6.0: Stammdaten entschlackt, Stadtfilter und robustere Portfolio-Kacheln */
.runenburg-immo-calculator .immo-side-tools .immo-portfolio-tab.has-return-context strong::after{
  content:'' !important;
}
.runenburg-immo-calculator .object-masterdata-fields{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:16px !important;
  align-items:start !important;
}
.runenburg-immo-calculator .object-masterdata-fields .input-group,
.runenburg-immo-calculator .object-masterdata-fields .input-group:first-child{
  min-width:0 !important;
  grid-column:auto !important;
}
.runenburg-immo-calculator .object-masterdata-fields .input-group.input-group-wide{
  grid-column:span 2 !important;
}
.runenburg-immo-calculator .object-masterdata-fields .input-group label{
  min-height:22px !important;
  line-height:1.2 !important;
  align-items:flex-end !important;
  word-break:normal;
  overflow-wrap:anywhere;
}
.runenburg-immo-calculator .object-masterdata-fields input,
.runenburg-immo-calculator .object-masterdata-fields select,
.runenburg-immo-calculator .object-masterdata-fields .input-wrap{
  min-height:50px !important;
}
.runenburg-immo-calculator .object-masterdata-fields .input-wrap{
  display:flex;
  align-items:center;
  overflow:hidden;
}
.runenburg-immo-calculator .object-masterdata-fields .input-wrap input{
  min-width:0;
}
.runenburg-immo-calculator .portfolio-head-controls{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
}
.runenburg-immo-calculator .portfolio-city-filter{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  justify-content:flex-end;
  max-width:780px;
}
.runenburg-immo-calculator .portfolio-city-filter[hidden]{display:none!important;}
.runenburg-immo-calculator .portfolio-city-filter button{
  appearance:none;
  border:1px solid rgba(20,184,166,.22);
  border-radius:999px;
  background:#fff;
  color:#0f766e;
  padding:8px 12px;
  font-weight:950;
  line-height:1;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(15,23,42,.045);
}
.runenburg-immo-calculator .portfolio-city-filter button span{
  margin-left:4px;
  opacity:.72;
}
.runenburg-immo-calculator .portfolio-city-filter button.is-active{
  background:linear-gradient(135deg,#0f766e,#14b8a6);
  color:#fff;
  border-color:transparent;
  box-shadow:0 10px 22px rgba(20,184,166,.22);
}
.runenburg-immo-calculator .portfolio-object-list tbody{
  grid-template-columns:repeat(auto-fit,minmax(380px,1fr)) !important;
  align-items:stretch;
}
.runenburg-immo-calculator .portfolio-rent-card.portfolio-key-card{
  border-radius:26px;
  overflow:hidden;
  background:#fff;
}
.runenburg-immo-calculator .portfolio-key-card .portfolio-rent-media,
.runenburg-immo-calculator .portfolio-key-card .portfolio-rent-media .portfolio-object-image,
.runenburg-immo-calculator .portfolio-key-card .portfolio-rent-media .portfolio-object-placeholder{
  height:180px;
  min-height:180px;
}
.runenburg-immo-calculator .portfolio-key-card .portfolio-rent-content{
  padding:18px;
  gap:16px;
}
.runenburg-immo-calculator .portfolio-key-card .portfolio-rent-title strong{
  font-size:1.28rem;
  line-height:1.05;
}
.runenburg-immo-calculator .portfolio-key-card .portfolio-rent-title small{
  font-size:.82rem;
  line-height:1.25;
}
.runenburg-immo-calculator .portfolio-object-key-values{
  gap:10px;
}
.runenburg-immo-calculator .portfolio-object-key-values span{
  min-height:64px;
  padding:13px 14px;
  border-radius:18px;
}
.runenburg-immo-calculator .portfolio-object-key-values small{
  line-height:1.15;
}
.runenburg-immo-calculator .portfolio-object-key-values b{
  white-space:nowrap;
  font-size:1.28rem;
}
.runenburg-immo-calculator .portfolio-key-card .portfolio-rent-footer i{
  min-height:40px;
  font-size:.86rem;
}
@media (min-width:1500px){
  .runenburg-immo-calculator .portfolio-object-list tbody{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}
@media (max-width:1180px){
  .runenburg-immo-calculator .object-masterdata-fields{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .runenburg-immo-calculator .object-masterdata-fields .input-group.input-group-wide{grid-column:span 2 !important;}
  .runenburg-immo-calculator .portfolio-rent-statement .portfolio-object-list-head{align-items:flex-start;flex-direction:column;}
  .runenburg-immo-calculator .portfolio-head-controls{justify-content:flex-start;}
  .runenburg-immo-calculator .portfolio-city-filter{justify-content:flex-start;}
}
@media (max-width:620px){
  .runenburg-immo-calculator .object-masterdata-fields{grid-template-columns:1fr !important;}
  .runenburg-immo-calculator .object-masterdata-fields .input-group.input-group-wide{grid-column:auto !important;}
  .runenburg-immo-calculator .portfolio-object-list tbody{grid-template-columns:1fr !important;}
  .runenburg-immo-calculator .portfolio-object-key-values span{grid-template-columns:1fr;gap:5px;}
}

/* v3.7.0: schlankere Stadtfilter, Hero-Objektdaten, Account-Zahnrad und Kostenfelder */
.runenburg-immo-calculator .portfolio-city-filter button span{display:none!important;}
.runenburg-immo-calculator .portfolio-city-filter button{padding:9px 15px;}
@keyframes portfolioCardFadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.runenburg-immo-calculator .portfolio-object-row{animation:portfolioCardFadeIn .22s ease both;}
.runenburg-immo-calculator .portfolio-object-key-values .key-realprofit small{font-size:.70rem;}
.runenburg-immo-calculator .hero-card{position:relative;}
.runenburg-immo-calculator .hero-object-editor{
  margin-top:14px;
  display:grid;
  grid-template-columns:minmax(170px,240px) minmax(220px,1fr) auto;
  gap:10px;
  align-items:end;
  opacity:.18;
  max-height:38px;
  overflow:hidden;
  transition:opacity .18s ease,max-height .18s ease,transform .18s ease;
}
.runenburg-immo-calculator .hero-card:hover .hero-object-editor,
.runenburg-immo-calculator .hero-object-editor:focus-within{
  opacity:1;
  max-height:180px;
}
.runenburg-immo-calculator .hero-edit-field{
  display:grid;
  gap:4px;
  color:#64748b;
  font-size:11px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.runenburg-immo-calculator .hero-edit-field input,
.runenburg-immo-calculator .hero-edit-field textarea{
  width:100%;
  border:1px solid rgba(148,163,184,.34);
  border-radius:14px;
  background:rgba(255,255,255,.84);
  padding:10px 12px;
  color:#0f172a;
  font:inherit;
  text-transform:none;
  letter-spacing:0;
  font-weight:750;
  box-sizing:border-box;
}
.runenburg-immo-calculator .hero-edit-field textarea{resize:vertical;min-height:42px;}
.runenburg-immo-calculator .hero-image-edit{display:flex;align-items:center;gap:8px;}
.runenburg-immo-calculator .hero-image-edit .image-upload-button{
  min-height:42px;
  border-radius:999px;
  padding:8px 12px;
  border:1px solid rgba(20,184,166,.24);
  background:#ecfeff;
  color:#0f766e;
  font-weight:900;
}
.runenburg-immo-calculator .hero-image-edit .object-image-preview{
  width:28px;
  height:28px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(20,184,166,.12);
}
.runenburg-immo-calculator .account-settings-trigger{
  position:absolute;
  right:18px;
  top:18px;
  z-index:5;
  width:42px;
  height:42px;
  border-radius:999px;
  border:1px solid rgba(148,163,184,.28);
  background:#ffffff;
  color:#0f766e;
  box-shadow:0 12px 28px rgba(15,23,42,.08);
  cursor:pointer;
  font-size:19px;
}
.runenburg-immo-calculator .account-settings-panel{
  position:fixed;
  right:24px;
  top:86px;
  z-index:99992;
  width:min(520px,calc(100vw - 32px));
  padding:18px;
  border-radius:24px;
  border:1px solid rgba(20,184,166,.18);
  background:linear-gradient(135deg,#ffffff,#f0fdfa);
  box-shadow:0 24px 70px rgba(15,23,42,.18);
}
.runenburg-immo-calculator .account-settings-panel.hidden{display:none!important;}
.runenburg-immo-calculator .account-settings-panel .tool-box-head{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
.runenburg-immo-calculator .account-settings-panel .small-close{margin-left:auto;width:34px;height:34px;font-size:22px;}
.runenburg-immo-calculator .immo-side-tools .immo-portfolio-tab .uicon{
  background:rgba(255,255,255,.18);
  border-radius:12px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);
}
.runenburg-immo-calculator .immo-side-tools .immo-portfolio-tab .uicon::before,
.runenburg-immo-calculator .immo-side-tools .immo-portfolio-tab .uicon::after{
  filter:brightness(0) invert(1);
}
@media(max-width:920px){
  .runenburg-immo-calculator .hero-object-editor{grid-template-columns:1fr;max-height:none;opacity:1;}
  .runenburg-immo-calculator .account-settings-trigger{right:12px;top:12px;}
  .runenburg-immo-calculator .account-settings-panel{right:12px;left:12px;top:76px;width:auto;}
}

/* v3.8.0: einfache Inline-Objektbearbeitung, stabiler Score und bessere Stammdatenfelder */
.runenburg-immo-calculator .hero-meta-input{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
.runenburg-immo-calculator .hero-text-content{min-width:0;}
.runenburg-immo-calculator .hero-edit-line{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.runenburg-immo-calculator .hero-title-line h1,
.runenburg-immo-calculator .hero-copy-line .hero-copy{
  min-width:0;
}
.runenburg-immo-calculator .hero-pencil{
  flex:0 0 auto;
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:999px;
  border:1px solid rgba(20,184,166,.25);
  background:#ffffff;
  color:#0f766e;
  opacity:0;
  transform:translateY(2px);
  transition:opacity .16s ease,transform .16s ease,box-shadow .16s ease;
  cursor:pointer;
  font-weight:950;
  box-shadow:0 8px 18px rgba(15,23,42,.06);
}
.runenburg-immo-calculator .hero-edit-line:hover .hero-pencil,
.runenburg-immo-calculator .hero-pencil:focus-visible{
  opacity:1;
  transform:translateY(0);
}
.runenburg-immo-calculator .hero-image-edit-wrap{position:relative;}
.runenburg-immo-calculator .hero-image-edit-button{
  position:absolute;
  right:8px;
  bottom:8px;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.65);
  background:rgba(15,118,110,.92);
  color:#fff;
  opacity:0;
  transform:translateY(2px);
  cursor:pointer;
  font-weight:950;
  box-shadow:0 10px 24px rgba(15,23,42,.18);
  transition:opacity .16s ease,transform .16s ease;
}
.runenburg-immo-calculator .hero-image-edit-wrap:hover .hero-image-edit-button,
.runenburg-immo-calculator .hero-image-edit-button:focus-visible{
  opacity:1;
  transform:translateY(0);
}
.runenburg-immo-calculator .hero-image-remove{
  position:absolute;
  right:46px;
  bottom:8px;
}
.runenburg-immo-calculator .account-settings-trigger{
  position:fixed!important;
  top:18px!important;
  right:18px!important;
  z-index:99991!important;
  width:42px!important;
  height:42px!important;
  border-radius:999px!important;
  background:#ffffff!important;
  color:#0f766e!important;
}
.runenburg-immo-calculator .hero-card .account-settings-trigger{position:fixed!important;}
.runenburg-immo-calculator .hero-card .hero-score-compact{
  position:relative;
  z-index:2;
  align-self:center;
}
.runenburg-immo-calculator .object-masterdata-fields{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:18px !important;
}
.runenburg-immo-calculator .object-masterdata-fields .input-group.input-group-wide{
  grid-column:span 2 !important;
}
.runenburg-immo-calculator .object-masterdata-fields .input-group label{
  min-height:auto !important;
  line-height:1.25 !important;
  align-items:flex-start !important;
}
.runenburg-immo-calculator .object-masterdata-fields input,
.runenburg-immo-calculator .object-masterdata-fields select,
.runenburg-immo-calculator .object-masterdata-fields .input-wrap{
  width:100%;
  min-width:0;
  box-sizing:border-box;
}
.runenburg-immo-calculator .object-masterdata-fields .input-wrap input{
  flex:1 1 auto;
  width:100%;
  min-width:0;
}
.runenburg-immo-calculator .object-masterdata-fields .input-wrap span{
  flex:0 0 auto;
  padding-left:6px;
  white-space:nowrap;
}
.runenburg-immo-calculator .portfolio-realprofit-sum i.portfolio-tone-positive{background:rgba(220,252,231,.24);}
.runenburg-immo-calculator .portfolio-realprofit-sum i.portfolio-tone-negative{background:rgba(254,226,226,.24);}
@media(max-width:560px){
  .runenburg-immo-calculator .object-masterdata-fields{grid-template-columns:1fr !important;}
  .runenburg-immo-calculator .object-masterdata-fields .input-group.input-group-wide{grid-column:auto !important;}
}

/* v3.8.1: Icon-Zentrierung und Bild-X nur bei Hover */
.runenburg-immo-calculator .hero-image-remove{
  opacity:0 !important;
  pointer-events:none !important;
  width:34px !important;
  height:34px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
  padding:0 !important;
  border-radius:999px !important;
  background:#ffffff !important;
  color:#0f172a !important;
  box-shadow:0 10px 24px rgba(15,23,42,.18) !important;
}
.runenburg-immo-calculator .hero-image-edit-wrap:hover .hero-image-remove:not(.hidden),
.runenburg-immo-calculator .hero-image-remove:focus-visible:not(.hidden){
  opacity:1 !important;
  pointer-events:auto !important;
}
.runenburg-immo-calculator .hero-pencil,
.runenburg-immo-calculator .hero-image-edit-button,
.runenburg-immo-calculator .account-settings-trigger{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  line-height:1 !important;
  padding:0 !important;
  box-sizing:border-box !important;
}
.runenburg-immo-calculator .account-settings-trigger{
  font-size:24px !important;
  font-weight:800 !important;
  color:#0f766e !important;
  border:1px solid rgba(15,118,110,.18) !important;
  box-shadow:0 14px 34px rgba(15,23,42,.14) !important;
}
.runenburg-immo-calculator .immo-side-tools .immo-portfolio-tab .uicon,
.runenburg-immo-calculator .immo-side-tools .immo-portfolio-tab.is-portfolio-primary .uicon{
  background-color:#052e2b !important;
  color:#052e2b !important;
  filter:none !important;
}
.runenburg-immo-calculator .immo-side-tools .immo-portfolio-tab:hover .uicon,
.runenburg-immo-calculator .immo-side-tools .immo-portfolio-tab:focus-visible .uicon{
  background-color:#ffffff !important;
  color:#ffffff !important;
}

/* v3.9.0: Objekt-Dock und Portfolio-Icon stabilisieren */
.runenburg-immo-calculator .immo-side-tools .immo-portfolio-tab:hover .uicon,
.runenburg-immo-calculator .immo-side-tools .immo-portfolio-tab:focus-visible .uicon,
.runenburg-immo-calculator .immo-side-tools .immo-portfolio-tab:hover .uicon::before,
.runenburg-immo-calculator .immo-side-tools .immo-portfolio-tab:hover .uicon::after,
.runenburg-immo-calculator .immo-side-tools .immo-portfolio-tab:focus-visible .uicon::before,
.runenburg-immo-calculator .immo-side-tools .immo-portfolio-tab:focus-visible .uicon::after{
  background-color:#052e2b !important;
  color:#052e2b !important;
  filter:none !important;
}
.runenburg-immo-calculator .saved-object-dock{
  position:fixed;
  left:14px;
  top:50%;
  transform:translateY(-50%);
  z-index:30;
  width:72px;
  max-height:72vh;
  padding:10px 8px;
  border:1px solid rgba(15,118,110,.16);
  border-radius:999px;
  background:rgba(255,255,255,.92);
  box-shadow:0 18px 44px rgba(15,23,42,.14);
  backdrop-filter:blur(14px);
  transition:width .22s ease,border-radius .22s ease,box-shadow .22s ease;
  overflow:hidden;
}
.runenburg-immo-calculator .saved-object-dock:hover,
.runenburg-immo-calculator .saved-object-dock.is-pinned-open{
  width:220px;
  border-radius:28px;
  box-shadow:0 24px 60px rgba(15,23,42,.18);
}
.runenburg-immo-calculator .saved-object-dock-toggle{
  width:100%;
  min-height:48px;
  border:0;
  background:linear-gradient(135deg,#0f766e,#14b8a6);
  color:#fff;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  cursor:pointer;
  font-weight:900;
  letter-spacing:.01em;
  white-space:nowrap;
}
.runenburg-immo-calculator .saved-object-dock-toggle strong{display:none;}
.runenburg-immo-calculator .saved-object-dock:hover .saved-object-dock-toggle strong,
.runenburg-immo-calculator .saved-object-dock.is-pinned-open .saved-object-dock-toggle strong{display:inline;}
.runenburg-immo-calculator .saved-object-dock-list{
  display:grid;
  gap:8px;
  margin-top:10px;
  max-height:calc(72vh - 78px);
  overflow:auto;
  scrollbar-width:none;
}
.runenburg-immo-calculator .saved-object-dock-list::-webkit-scrollbar{display:none;}
.runenburg-immo-calculator .saved-object-dock-item{
  border:1px solid rgba(15,118,110,.14);
  background:rgba(247,250,252,.92);
  border-radius:18px;
  min-height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:6px;
  cursor:pointer;
  overflow:hidden;
  transition:transform .16s ease,border-color .16s ease,background .16s ease;
}
.runenburg-immo-calculator .saved-object-dock-item:hover,
.runenburg-immo-calculator .saved-object-dock-item.is-active{
  transform:translateX(2px);
  border-color:rgba(15,118,110,.42);
  background:#ecfdf5;
}
.runenburg-immo-calculator .saved-object-dock-item img,
.runenburg-immo-calculator .saved-object-dock-item > span{
  width:42px;
  height:42px;
  border-radius:14px;
  object-fit:cover;
  flex:0 0 42px;
  display:grid;
  place-items:center;
  background:#e6fffb;
}
.runenburg-immo-calculator .saved-object-dock-item strong{
  display:none;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:13px;
  color:#0f172a;
  text-align:left;
}
.runenburg-immo-calculator .saved-object-dock:hover .saved-object-dock-item,
.runenburg-immo-calculator .saved-object-dock.is-pinned-open .saved-object-dock-item{justify-content:flex-start;}
.runenburg-immo-calculator .saved-object-dock:hover .saved-object-dock-item strong,
.runenburg-immo-calculator .saved-object-dock.is-pinned-open .saved-object-dock-item strong{display:block;}
.runenburg-immo-calculator .object-gallery-panel{
  margin-top:18px;
  padding:18px;
  border:1px dashed rgba(15,118,110,.28);
  border-radius:24px;
  background:linear-gradient(135deg,rgba(240,253,250,.92),rgba(255,255,255,.9));
  display:grid;
  gap:14px;
}
.runenburg-immo-calculator .object-gallery-panel strong{font-size:16px;color:#0f172a;}
.runenburg-immo-calculator .object-gallery-panel p{margin:4px 0 0;color:#64748b;font-size:13px;}
.runenburg-immo-calculator .gallery-upload-button{
  justify-self:start;
  border:1px solid rgba(15,118,110,.22);
  background:#fff;
  color:#0f766e;
  border-radius:999px;
  padding:11px 16px;
  font-weight:900;
  cursor:pointer;
}
.runenburg-immo-calculator .object-gallery-preview{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(92px,1fr));
  gap:10px;
}
.runenburg-immo-calculator .object-gallery-preview em{color:#94a3b8;font-style:normal;font-size:13px;}
.runenburg-immo-calculator .object-gallery-thumb{
  position:relative;
  aspect-ratio:4/3;
  border:0;
  border-radius:16px;
  overflow:hidden;
  padding:0;
  cursor:pointer;
  background:#f1f5f9;
}
.runenburg-immo-calculator .object-gallery-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.runenburg-immo-calculator .object-gallery-thumb span{
  position:absolute;
  right:6px;
  top:6px;
  width:24px;
  height:24px;
  border-radius:999px;
  background:rgba(15,23,42,.72);
  color:#fff;
  display:grid;
  place-items:center;
  opacity:0;
  transition:opacity .16s ease;
}
.runenburg-immo-calculator .object-gallery-thumb:hover span{opacity:1;}
@media (max-width:900px){
  .runenburg-immo-calculator .saved-object-dock{display:none!important;}
}

/* v3.9.1: Dock-Animation ruhiger, Score klar klickbar, Tooltips lesbarer */
.runenburg-immo-calculator .saved-object-dock{
  border-radius:28px !important;
  transition:width .18s ease, box-shadow .18s ease, transform .18s ease !important;
}
.runenburg-immo-calculator .saved-object-dock:hover,
.runenburg-immo-calculator .saved-object-dock.is-pinned-open{
  border-radius:28px !important;
}
.runenburg-immo-calculator .saved-object-dock-item.is-active{
  outline:2px solid rgba(15,118,110,.42);
  outline-offset:2px;
  border-color:rgba(15,118,110,.52) !important;
  background:linear-gradient(135deg,#ecfdf5,#ffffff) !important;
}
.runenburg-immo-calculator .hero-score-compact{
  cursor:pointer !important;
  position:relative;
  z-index:40;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.runenburg-immo-calculator .hero-score-compact::after{
  content:'Details ansehen';
  position:absolute;
  right:18px;
  bottom:-13px;
  border:1px solid rgba(15,118,110,.18);
  background:#fff;
  color:#0f766e;
  border-radius:999px;
  padding:5px 9px;
  font-size:11px;
  font-weight:900;
  opacity:0;
  transform:translateY(-4px);
  transition:opacity .16s ease, transform .16s ease;
  pointer-events:none;
}
.runenburg-immo-calculator .hero-score-compact:hover,
.runenburg-immo-calculator .hero-score-compact.is-open{
  transform:translateY(-2px);
  border-color:rgba(15,118,110,.28);
  box-shadow:0 24px 50px rgba(15,23,42,.13);
}
.runenburg-immo-calculator .hero-score-compact:hover::after,
.runenburg-immo-calculator .hero-score-compact.is-open::after{
  opacity:1;
  transform:translateY(0);
}
.runenburg-immo-calculator .hero-score-tooltip{
  z-index:9999 !important;
  isolation:isolate;
}
.runenburg-immo-calculator .hero-score-compact.is-open{z-index:9998 !important;}
.runenburg-immo-calculator .tooltip-calc-line{
  display:grid;
  grid-template-columns:1fr auto;
  gap:18px;
  align-items:baseline;
  padding:5px 0;
  border-bottom:1px solid rgba(148,163,184,.22);
}
.runenburg-immo-calculator .tooltip-calc-line i{font-style:normal;color:inherit;opacity:.86;}
.runenburg-immo-calculator .tooltip-calc-line b{font-weight:900;white-space:nowrap;}
.runenburg-immo-calculator .tooltip-calc-line.total{border-top:1px solid rgba(148,163,184,.34);border-bottom:0;margin-top:4px;padding-top:8px;}
.runenburg-immo-calculator .dynamic-tooltip small{display:block;margin-top:8px;opacity:.78;line-height:1.35;}

/* v3.9.2: Dock-Karten nicht mehr am Rand abschneiden */
.runenburg-immo-calculator .saved-object-dock:hover,
.runenburg-immo-calculator .saved-object-dock.is-pinned-open{
  overflow:visible !important;
}
.runenburg-immo-calculator .saved-object-dock-list{
  padding:3px !important;
  margin-left:-1px;
  margin-right:-1px;
}
.runenburg-immo-calculator .saved-object-dock-item:hover,
.runenburg-immo-calculator .saved-object-dock-item.is-active{
  transform:none !important;
  box-shadow:inset 0 0 0 2px rgba(15,118,110,.38),0 10px 22px rgba(15,23,42,.08) !important;
}
.runenburg-immo-calculator .saved-object-dock-item.is-active{
  outline:0 !important;
}
.runenburg-immo-calculator .object-gallery-status{
  min-height:18px;
  color:#64748b;
  font-size:13px;
  font-weight:800;
}
.runenburg-immo-calculator .object-gallery-status.is-working{color:#0f766e;}
.runenburg-immo-calculator .object-gallery-status.is-error{color:#b42318;}
.runenburg-immo-calculator .tool-action.is-busy,
.runenburg-immo-calculator .immo-tools-tab.is-busy{
  pointer-events:none;
  opacity:.72;
}

/* v3.10.7: Konsolidierter Premium-Header, Dock, Accordion-Layout und Objektfakten */
.runenburg-immo-calculator .input-panel .collapsible-form-section .section-details > summary.section-details-summary,
.runenburg-immo-calculator .input-panel .collapsible-form-section .section-details > summary {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto 44px !important;
  align-items: center !important;
  column-gap: 16px !important;
  min-height: 86px !important;
  padding: 0 22px !important;
}
.runenburg-immo-calculator .input-panel .section-details-summary h3 {
  grid-column: 1;
  min-width: 0;
}
.runenburg-immo-calculator .input-panel .section-summary-total {
  grid-column: 2;
  justify-self: end;
  white-space: nowrap;
}
.runenburg-immo-calculator .input-panel .section-expand-icon {
  grid-column: 3;
  justify-self: end;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  border-radius: 14px !important;
}
.runenburg-immo-calculator .input-panel .income-section,
.runenburg-immo-calculator .input-panel .expense-section,
.runenburg-immo-calculator .input-panel .expense-section:has(#separateReserves) {
  padding: 0 !important;
}
.runenburg-immo-calculator .input-panel .income-section::before,
.runenburg-immo-calculator .input-panel .expense-section::before {
  top: 22px !important;
  bottom: 22px !important;
}
.runenburg-immo-calculator .input-panel .income-section .section-details-body,
.runenburg-immo-calculator .input-panel .expense-section .section-details-body {
  padding: 0 22px 24px !important;
}
.runenburg-immo-calculator .always-collapsible-section .section-details-body > .secondary-adjust-toggle {
  margin: 16px 0 20px;
  width: fit-content;
  max-width: 100%;
}
.runenburg-immo-calculator .always-collapsible-section .section-details:not([open]) .section-details-body {
  display: none;
}
.runenburg-immo-calculator .input-group > label,
.runenburg-immo-calculator .finance-input-block h3,
.runenburg-immo-calculator .slim-stat > span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  flex-wrap: nowrap;
  max-width: 100%;
}
.runenburg-immo-calculator .input-group > label .tooltip,
.runenburg-immo-calculator .finance-input-block h3 .tooltip,
.runenburg-immo-calculator .slim-stat .tooltip {
  flex: 0 0 auto;
  margin-left: 2px;
  vertical-align: middle;
}
.runenburg-immo-calculator .hero-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 320px) !important;
  align-items: center !important;
  gap: 26px !important;
  padding: 28px !important;
  border-radius: 34px !important;
  border: 1px solid rgba(15, 118, 110, .12) !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(216,177,90,.16), transparent 26rem),
    radial-gradient(circle at 94% 12%, rgba(15,118,110,.13), transparent 24rem),
    linear-gradient(145deg, rgba(255,255,255,.98), rgba(248,251,249,.96) 54%, rgba(242,248,246,.92)) !important;
  box-shadow: 0 28px 80px rgba(2,6,23,.105), inset 0 1px 0 rgba(255,255,255,.86) !important;
  overflow: visible;
  isolation: isolate;
}
.runenburg-immo-calculator .hero-main {
  display: grid !important;
  grid-template-columns: minmax(220px, 260px) minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 26px !important;
  width: 100%;
  min-width: 0;
  flex: initial;
}
.runenburg-immo-calculator .hero-icon-wrap.hero-image-edit-wrap,
.runenburg-immo-calculator .hero-card.has-object-gallery .hero-icon-wrap.hero-image-edit-wrap {
  width: 260px !important;
  height: 260px !important;
  flex: 0 0 260px !important;
  aspect-ratio: 1 / 1;
  padding: 0;
  border-radius: 34px !important;
  border: 1px solid rgba(255,255,255,.76);
  background: linear-gradient(145deg, rgba(255,255,255,.92), rgba(238,248,245,.86));
  box-shadow: 0 26px 62px rgba(15,23,42,.16), inset 0 1px 0 rgba(255,255,255,.84);
  overflow: hidden;
}
.runenburg-immo-calculator .hero-icon-wrap .hero-icon {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 1 / 1;
  object-fit: cover !important;
  border-radius: 34px !important;
  transition: opacity .22s ease, transform .22s ease;
}
.runenburg-immo-calculator .hero-icon-wrap .hero-icon.is-fading {
  opacity: .04;
  transform: scale(1.025);
}
.runenburg-immo-calculator .hero-title-line h1 {
  max-width: 100%;
  color: #0b1220;
  font-size: clamp(2.45rem, 3.35vw, 3.35rem) !important;
  line-height: 1.04 !important;
  letter-spacing: -.04em !important;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: manual;
  text-wrap: balance;
}
.runenburg-immo-calculator .hero-edit-line.hero-title-line {
  align-items: flex-start;
}
.runenburg-immo-calculator .hero-copy {
  max-width: 600px !important;
  color: #556170;
  font-size: 1rem;
  line-height: 1.55;
}
.runenburg-immo-calculator .hero-score-compact {
  width: 100% !important;
  min-width: 0 !important;
  align-self: center;
  padding: 22px 24px !important;
  border-radius: 28px !important;
  border: 1px solid rgba(15,118,110,.14) !important;
  background: linear-gradient(145deg, rgba(255,255,255,.94), rgba(240,250,247,.88)) !important;
  box-shadow: 0 22px 56px rgba(15,23,42,.105), inset 0 1px 0 rgba(255,255,255,.82) !important;
}
.runenburg-immo-calculator .hero-score-compact::after {
  display: none !important;
}
.runenburg-immo-calculator .hero-score-compact .score-ring {
  width: 66px !important;
  height: 66px !important;
  flex: 0 0 66px !important;
  border-radius: 22px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.26), 0 16px 32px rgba(15,118,110,.20) !important;
}
.runenburg-immo-calculator .hero-score-compact .score-ring::after {
  display: none !important;
}
.runenburg-immo-calculator .hero-score-compact .score-ring span {
  color: #fff !important;
  font-size: 1.25rem !important;
  text-shadow: 0 1px 2px rgba(0,0,0,.16);
}
.runenburg-immo-calculator .hero-gallery-controls {
  left: 50% !important;
  bottom: 14px !important;
  gap: 10px;
  padding: 6px;
  border-radius: 999px;
  background: rgba(2,6,23,.32) !important;
  border: 1px solid rgba(255,255,255,.28);
  box-shadow: 0 18px 36px rgba(2,6,23,.20);
  backdrop-filter: blur(14px) saturate(1.25);
  opacity: 0 !important;
  pointer-events: none;
  transform: translateX(-50%) translateY(6px) !important;
  transition: opacity .18s ease, transform .18s ease;
}
.runenburg-immo-calculator .hero-image-edit-wrap:hover .hero-gallery-controls,
.runenburg-immo-calculator .hero-card.has-object-gallery .hero-image-edit-wrap:focus-within .hero-gallery-controls {
  opacity: 1 !important;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0) !important;
}
.runenburg-immo-calculator .hero-gallery-controls button {
  width: 38px !important;
  height: 38px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 0 3px;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.72) !important;
  background: rgba(255,255,255,.92) !important;
  color: #063f3a !important;
  font-size: 26px !important;
  font-weight: 800;
  line-height: 1;
  box-shadow: 0 8px 20px rgba(2,6,23,.16) !important;
}
.runenburg-immo-calculator .hero-object-facts-standalone {
  margin: 18px 0 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(4, max-content) !important;
  justify-content: start;
  align-items: center;
  gap: 24px !important;
  border: 0;
  background: transparent;
}
.runenburg-immo-calculator .hero-object-facts-standalone .hero-object-fact {
  position: relative;
  display: inline-flex !important;
  flex-direction: row !important;
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
  min-height: 40px;
  padding: 0;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.runenburg-immo-calculator .hero-object-facts-standalone .hero-object-fact + .hero-object-fact::before {
  display: none;
}
.runenburg-immo-calculator .hero-object-facts-standalone .hero-object-fact img {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  padding: 0;
  border-radius: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  filter: sepia(1) saturate(2.6) hue-rotate(112deg) brightness(.48) !important;
  opacity: .96;
}
.runenburg-immo-calculator .hero-object-facts-standalone .hero-object-fact strong {
  color: #07111f;
  font-size: 18px !important;
  line-height: 1.05;
  font-weight: 950;
  letter-spacing: -.025em;
  text-align: left;
  white-space: nowrap;
}
.runenburg-immo-calculator .rent-main-row label[for="rent"] {
  width: max-content;
  max-width: 100%;
  white-space: nowrap !important;
}
.runenburg-immo-calculator .saved-object-dock {
  width: 94px !important;
  padding: 12px 10px !important;
  border-radius: 30px !important;
  transition: width .18s ease, box-shadow .18s ease !important;
  contain: none !important;
}
.runenburg-immo-calculator .saved-object-dock:hover,
.runenburg-immo-calculator .saved-object-dock.is-pinned-open {
  width: 264px !important;
  border-radius: 30px !important;
  transform: translateY(-50%) translateZ(0) !important;
}
.runenburg-immo-calculator .saved-object-dock-toggle {
  display: none !important;
}
.runenburg-immo-calculator .saved-object-dock-list {
  gap: 10px !important;
  margin-top: 0 !important;
  padding: 0 !important;
}
.runenburg-immo-calculator .saved-object-dock-item,
.runenburg-immo-calculator .saved-object-dock:not(:hover):not(.is-pinned-open) .saved-object-dock-item {
  width: 74px !important;
  height: 74px !important;
  min-height: 74px !important;
  flex: 0 0 74px !important;
  padding: 5px !important;
  border-radius: 24px !important;
  transform: none !important;
}
.runenburg-immo-calculator .saved-object-dock:hover .saved-object-dock-item,
.runenburg-immo-calculator .saved-object-dock.is-pinned-open .saved-object-dock-item {
  width: 100% !important;
  height: 74px !important;
  min-height: 74px !important;
  padding: 5px 12px 5px 5px !important;
  border-radius: 24px !important;
}
.runenburg-immo-calculator .saved-object-dock-item img,
.runenburg-immo-calculator .saved-object-dock-item > span,
.runenburg-immo-calculator .saved-object-dock:not(:hover):not(.is-pinned-open) .saved-object-dock-item img,
.runenburg-immo-calculator .saved-object-dock:not(:hover):not(.is-pinned-open) .saved-object-dock-item > span {
  width: 64px !important;
  height: 64px !important;
  min-width: 64px !important;
  min-height: 64px !important;
  flex: 0 0 64px !important;
  border-radius: 20px !important;
}
.runenburg-immo-calculator .saved-object-dock-item strong {
  line-height: 1.15;
}
.runenburg-immo-calculator .rent-growth-card .mobile-section-toggle,
.runenburg-immo-calculator .finance-compare-card .mobile-section-toggle {
  display: inline-flex !important;
  border: 1px solid rgba(15,118,110,.16) !important;
  background: linear-gradient(135deg, #ffffff, #eef8f5) !important;
  color: #064e45 !important;
  box-shadow: 0 12px 26px rgba(15,23,42,.08) !important;
}
.runenburg-immo-calculator .rent-growth-card .mobile-section-head,
.runenburg-immo-calculator .finance-compare-card .mobile-section-head {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 18px !important;
}
.runenburg-immo-calculator .rent-growth-card .mobile-section-toggle .collapse-icon,
.runenburg-immo-calculator .finance-compare-card .mobile-section-toggle .collapse-icon {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  transform: translateY(-1px) !important;
}
.runenburg-immo-calculator .mobile-collapsible-section.is-collapsed .mobile-section-body {
  max-height: 0 !important;
  opacity: 0 !important;
  overflow: hidden !important;
  pointer-events: none;
}
@media (max-width: 1080px) {
  .runenburg-immo-calculator .hero-card {
    grid-template-columns: 1fr !important;
  }
  .runenburg-immo-calculator .hero-main {
    grid-template-columns: minmax(200px, 240px) minmax(0, 1fr) !important;
  }
  .runenburg-immo-calculator .hero-icon-wrap.hero-image-edit-wrap,
  .runenburg-immo-calculator .hero-card.has-object-gallery .hero-icon-wrap.hero-image-edit-wrap {
    width: 240px !important;
    height: 240px !important;
    flex-basis: 240px !important;
  }
}
@media (max-width: 760px) {
  .runenburg-immo-calculator .hero-main {
    grid-template-columns: 170px minmax(0, 1fr) !important;
  }
  .runenburg-immo-calculator .hero-icon-wrap.hero-image-edit-wrap,
  .runenburg-immo-calculator .hero-card.has-object-gallery .hero-icon-wrap.hero-image-edit-wrap {
    width: 170px !important;
    height: 170px !important;
    flex-basis: 170px !important;
  }
  .runenburg-immo-calculator .hero-title-line h1 {
    font-size: clamp(2.15rem, 8.4vw, 3rem) !important;
  }
  .runenburg-immo-calculator .hero-object-facts-standalone {
    grid-template-columns: repeat(2, max-content) !important;
    gap: 12px 22px !important;
  }
}
@media (max-width: 640px) {
  .runenburg-immo-calculator .input-panel .collapsible-form-section .section-details > summary.section-details-summary,
  .runenburg-immo-calculator .input-panel .collapsible-form-section .section-details > summary {
    grid-template-columns: minmax(0, 1fr) auto 40px !important;
    min-height: 78px !important;
    padding: 0 16px !important;
  }
  .runenburg-immo-calculator .input-panel .section-summary-total {
    font-size: .8rem;
    padding: 6px 9px;
  }
  .runenburg-immo-calculator .input-panel .section-expand-icon {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
  }
}
@media (max-width: 560px) {
  .runenburg-immo-calculator .hero-main {
    grid-template-columns: 1fr !important;
  }
  .runenburg-immo-calculator .hero-object-facts-standalone {
    grid-template-columns: repeat(2, max-content) !important;
    gap: 12px 20px !important;
    margin-top: 16px !important;
  }
  .runenburg-immo-calculator .hero-object-facts-standalone .hero-object-fact img {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
  }
  .runenburg-immo-calculator .hero-object-facts-standalone .hero-object-fact strong {
    font-size: 17px !important;
  }
  .runenburg-immo-calculator .hero-title-line h1 {
    font-size: clamp(2.05rem, 10vw, 2.75rem) !important;
  }
  .runenburg-immo-calculator .hero-icon-wrap.hero-image-edit-wrap,
  .runenburg-immo-calculator .hero-card.has-object-gallery .hero-icon-wrap.hero-image-edit-wrap {
    width: 100% !important;
    height: auto !important;
    max-width: 340px !important;
    flex-basis: auto !important;
  }
  .runenburg-immo-calculator .hero-icon-wrap.hero-image-edit-wrap::before {
    content: "";
    display: block;
    padding-top: 100%;
  }
  .runenburg-immo-calculator .hero-icon-wrap .hero-icon {
    position: absolute !important;
    inset: 0 !important;
  }
  .runenburg-immo-calculator .always-collapsible-section .section-details-body > .secondary-adjust-toggle {
    width: 100%;
  }
  .runenburg-immo-calculator .rent-main-row label[for="rent"] {
    white-space: normal !important;
  }
}

/* v3.10.8: Objekt-Dateien + Lightbox für Bilder, Galerie und PDFs */
.runenburg-immo-calculator .object-files-panel{
  margin-top:18px;
  padding:18px;
  border:1px dashed rgba(15,23,42,.18);
  border-radius:24px;
  background:linear-gradient(135deg,rgba(248,250,252,.96),rgba(255,255,255,.92));
  display:grid;
  gap:14px;
}
.runenburg-immo-calculator .object-files-panel strong{font-size:16px;color:#0f172a;}
.runenburg-immo-calculator .object-files-panel p{margin:4px 0 0;color:#64748b;font-size:13px;}
.runenburg-immo-calculator .object-files-preview{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
  gap:10px;
}
.runenburg-immo-calculator .object-files-preview em{color:#94a3b8;font-style:normal;font-size:13px;}
.runenburg-immo-calculator .object-file-tile{
  position:relative;
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  align-items:center;
  gap:12px;
  padding:10px 40px 10px 10px;
  min-height:76px;
  border:1px solid rgba(203,213,225,.86);
  border-radius:18px;
  background:rgba(255,255,255,.92);
  box-shadow:0 12px 28px rgba(15,23,42,.05);
  cursor:pointer;
  text-align:left;
}
.runenburg-immo-calculator .object-file-tile:hover,
.runenburg-immo-calculator .object-file-tile:focus-visible{
  transform:translateY(-1px);
  box-shadow:0 18px 34px rgba(15,23,42,.08);
  border-color:rgba(15,118,110,.28);
}
.runenburg-immo-calculator .object-file-thumb{
  width:58px;
  height:58px;
  border-radius:14px;
  background:#eef6f6;
  overflow:hidden;
  display:grid;
  place-items:center;
  color:#0f766e;
  font-weight:950;
  font-size:13px;
}
.runenburg-immo-calculator .object-file-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.runenburg-immo-calculator .object-file-pdf{letter-spacing:.08em;}
.runenburg-immo-calculator .object-file-meta{min-width:0;display:block;}
.runenburg-immo-calculator .object-file-meta strong,
.runenburg-immo-calculator .object-file-meta small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.runenburg-immo-calculator .object-file-meta strong{font-size:13px;color:#0f172a;}
.runenburg-immo-calculator .object-file-meta small{margin-top:4px;color:#64748b;font-weight:800;font-size:11px;}
.runenburg-immo-calculator .object-file-remove,
.runenburg-immo-calculator .object-gallery-remove{
  position:absolute;
  right:7px;
  top:7px;
  width:26px;
  height:26px;
  border-radius:999px;
  background:rgba(15,23,42,.76);
  color:#fff;
  display:grid;
  place-items:center;
  font-weight:900;
  line-height:1;
  opacity:0;
  transition:opacity .16s ease, transform .16s ease, background .16s ease;
  z-index:2;
}
.runenburg-immo-calculator .object-file-remove:hover,
.runenburg-immo-calculator .object-file-remove:focus-visible,
.runenburg-immo-calculator .object-gallery-remove:hover,
.runenburg-immo-calculator .object-gallery-remove:focus-visible{background:#b91c1c;transform:scale(1.04);outline:0;}
.runenburg-immo-calculator .object-file-tile:hover .object-file-remove,
.runenburg-immo-calculator .object-file-tile:focus-within .object-file-remove,
.runenburg-immo-calculator .object-gallery-thumb:hover .object-gallery-remove,
.runenburg-immo-calculator .object-gallery-thumb:focus-within .object-gallery-remove{opacity:1;}
.runenburg-immo-calculator .object-gallery-thumb > span:not(.object-gallery-remove){display:none;}
.runenburg-immo-calculator .hero-icon-wrap .hero-icon{cursor:zoom-in;}
body.immo-lightbox-open{overflow:hidden;}
.runenburg-immo-calculator .object-media-lightbox{position:fixed;inset:0;z-index:10080;display:none;align-items:center;justify-content:center;padding:24px;box-sizing:border-box;}
.runenburg-immo-calculator .object-media-lightbox.is-open{display:flex;}
.runenburg-immo-calculator .object-media-lightbox-backdrop{position:absolute;inset:0;background:rgba(2,6,23,.72);backdrop-filter:blur(10px) saturate(1.1);}
.runenburg-immo-calculator .object-media-lightbox-panel{position:relative;width:min(1120px,100%);height:min(84vh,860px);border:1px solid rgba(255,255,255,.22);border-radius:30px;background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(241,245,249,.94));box-shadow:0 34px 120px rgba(2,6,23,.45);display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;}
.runenburg-immo-calculator .object-media-lightbox-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid rgba(203,213,225,.78);}
.runenburg-immo-calculator .object-media-lightbox-head strong{display:block;color:#0f172a;font-size:16px;max-width:min(72vw,760px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.runenburg-immo-calculator .object-media-lightbox-head span{display:block;color:#64748b;font-weight:800;font-size:12px;margin-top:2px;}
.runenburg-immo-calculator #objectMediaLightboxClose{width:40px;height:40px;border-radius:999px;border:1px solid rgba(203,213,225,.9);background:#fff;color:#0f172a;font-size:24px;font-weight:800;cursor:pointer;}
.runenburg-immo-calculator .object-media-lightbox-stage{min-height:0;display:grid;place-items:center;padding:18px;background:radial-gradient(circle at 50% 0%,rgba(20,184,166,.10),transparent 34rem);}
.runenburg-immo-calculator .object-media-full-image{max-width:100%;max-height:100%;border-radius:22px;object-fit:contain;box-shadow:0 24px 70px rgba(15,23,42,.18);}
.runenburg-immo-calculator .object-media-pdf-frame{width:100%;height:100%;border:0;border-radius:20px;background:#fff;box-shadow:0 18px 54px rgba(15,23,42,.14);}
.runenburg-immo-calculator .object-media-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:999px;border:1px solid rgba(255,255,255,.72);background:rgba(255,255,255,.92);box-shadow:0 18px 48px rgba(2,6,23,.20);color:#063f3a;font-size:34px;font-weight:800;line-height:1;cursor:pointer;z-index:2;}
.runenburg-immo-calculator .object-media-lightbox-nav.prev{left:18px;}
.runenburg-immo-calculator .object-media-lightbox-nav.next{right:18px;}
.runenburg-immo-calculator .object-media-lightbox-nav[hidden]{display:none!important;}
@media(max-width:720px){
  .runenburg-immo-calculator .object-media-lightbox{padding:10px;}
  .runenburg-immo-calculator .object-media-lightbox-panel{height:88vh;border-radius:22px;}
  .runenburg-immo-calculator .object-media-lightbox-stage{padding:10px;}
  .runenburg-immo-calculator .object-media-lightbox-nav{width:42px;height:42px;font-size:28px;}
  .runenburg-immo-calculator .object-media-lightbox-nav.prev{left:10px;}
  .runenburg-immo-calculator .object-media-lightbox-nav.next{right:10px;}
  .runenburg-immo-calculator .object-files-preview{grid-template-columns:1fr;}
}

/* v3.10.9: Lightbox sichtbar außerhalb des Rechner-Containers + bessere Datei-Karten */
.object-media-lightbox{
  position:fixed !important;
  inset:0 !important;
  z-index:2147483000 !important;
  display:none !important;
  align-items:center !important;
  justify-content:center !important;
  padding:24px !important;
  box-sizing:border-box !important;
}
.object-media-lightbox.is-open{display:flex !important;}
.object-media-lightbox-backdrop{position:absolute;inset:0;background:rgba(2,6,23,.76);backdrop-filter:blur(10px) saturate(1.1);}
.object-media-lightbox-panel{position:relative;width:min(1120px,100%);height:min(84vh,860px);border:1px solid rgba(255,255,255,.22);border-radius:30px;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(241,245,249,.96));box-shadow:0 34px 120px rgba(2,6,23,.50);display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;}
.object-media-lightbox-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid rgba(203,213,225,.78);}
.object-media-lightbox-head strong{display:block;color:#0f172a;font-size:16px;max-width:min(72vw,760px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.object-media-lightbox-head span{display:block;color:#64748b;font-weight:800;font-size:12px;margin-top:2px;}
#objectMediaLightboxClose{width:40px;height:40px;border-radius:999px;border:1px solid rgba(203,213,225,.9);background:#fff;color:#0f172a;font-size:24px;font-weight:800;cursor:pointer;}
.object-media-lightbox-stage{min-height:0;display:grid;place-items:center;padding:18px;background:radial-gradient(circle at 50% 0%,rgba(20,184,166,.10),transparent 34rem);}
.object-media-full-image{max-width:100%;max-height:100%;border-radius:22px;object-fit:contain;box-shadow:0 24px 70px rgba(15,23,42,.18);}
.object-media-pdf-frame{width:100%;height:100%;border:0;border-radius:20px;background:#fff;box-shadow:0 18px 54px rgba(15,23,42,.14);}
.object-media-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:999px;border:1px solid rgba(255,255,255,.72);background:rgba(255,255,255,.94);box-shadow:0 18px 48px rgba(2,6,23,.20);color:#063f3a;font-size:34px;font-weight:800;line-height:1;cursor:pointer;z-index:2;}
.object-media-lightbox-nav.prev{left:18px;}
.object-media-lightbox-nav.next{right:18px;}
.object-media-lightbox-nav[hidden]{display:none!important;}
.runenburg-immo-calculator .object-files-preview{grid-template-columns:1fr;}
.runenburg-immo-calculator .object-file-tile{
  position:relative;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center;
  gap:12px;
  padding:10px 12px !important;
  min-height:82px;
  border:1px solid rgba(203,213,225,.86) !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.94) !important;
  box-shadow:0 12px 28px rgba(15,23,42,.05) !important;
  text-align:left;
}
.runenburg-immo-calculator .object-file-open{
  min-width:0;
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  align-items:center;
  gap:12px;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
  text-align:left;
}
.runenburg-immo-calculator .object-file-open:hover .object-file-meta strong,
.runenburg-immo-calculator .object-file-open:focus-visible .object-file-meta strong{color:#0f766e;}
.runenburg-immo-calculator .object-file-actions{display:flex;align-items:center;gap:8px;align-self:stretch;}
.runenburg-immo-calculator .object-file-download{
  align-self:center;
  border:1px solid rgba(15,118,110,.22);
  background:#fff;
  color:#0f766e;
  border-radius:999px;
  padding:9px 12px;
  font-size:12px;
  font-weight:950;
  cursor:pointer;
  white-space:nowrap;
}
.runenburg-immo-calculator .object-file-download:hover,
.runenburg-immo-calculator .object-file-download:focus-visible{background:#0f766e;color:#fff;outline:0;}
.runenburg-immo-calculator .object-file-remove{
  position:static !important;
  width:34px !important;
  height:34px !important;
  flex:0 0 34px;
  opacity:1 !important;
  border:0;
  cursor:pointer;
}
.runenburg-immo-calculator .object-file-meta strong{
  white-space:normal !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  line-height:1.25;
  max-height:2.55em;
}
@media(max-width:720px){
  .object-media-lightbox{padding:10px !important;}
  .object-media-lightbox-panel{height:88vh;border-radius:22px;}
  .object-media-lightbox-stage{padding:10px;}
  .object-media-lightbox-nav{width:42px;height:42px;font-size:28px;}
  .object-media-lightbox-nav.prev{left:10px;}
  .object-media-lightbox-nav.next{right:10px;}
  .runenburg-immo-calculator .object-file-tile{grid-template-columns:1fr !important;}
  .runenburg-immo-calculator .object-file-actions{justify-content:flex-start;}
}

/* v3.10.11: Wizard-Scroll repariert – lange Schritte dürfen nicht vertikal zentriert werden. */
#immoStartOverlay .immo-wizard-steps{
  padding-top: 14px !important;
  padding-bottom: 24px !important;
  scroll-padding-top: 18px !important;
}
#immoStartOverlay .immo-wizard-step.is-active{
  align-content: start !important;
  justify-content: stretch !important;
  min-height: auto !important;
}
#immoStartOverlay .immo-wizard-step > .immo-wizard-grid,
#immoStartOverlay .immo-wizard-step > .immo-wizard-result,
#immoStartOverlay .immo-wizard-result-slim{
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
#immoStartOverlay .immo-start-screen[data-start-screen="manual"].is-active{
  overflow: hidden !important;
}
@media(max-height:760px){
  #immoStartOverlay .immo-wizard-steps{padding-top: 10px !important;}
}

/* v3.10.12: Einnahmen-Wizard wieder sichtbar grüner; Ausgaben-Farbe bleibt getrennt. */
#immoStartOverlay.immo-start-overlay[data-theme="income"] {
  background:
    radial-gradient(circle at 16% 8%, rgba(5, 150, 105, .30), transparent 34rem),
    radial-gradient(circle at 88% 18%, rgba(20, 184, 166, .24), transparent 32rem),
    linear-gradient(135deg, #e4fff6 0%, #f4fffb 100%) !important;
}
#immoStartOverlay[data-theme="income"] .immo-wizard-progress span {
  background: linear-gradient(90deg, #059669, #14b8a6, #99f6e4) !important;
}
#immoStartOverlay[data-theme="income"] .immo-wizard-step > .immo-wizard-grid {
  border-color: rgba(5, 150, 105, .36) !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(16,185,129,.20), transparent 22rem),
    linear-gradient(145deg, rgba(220,252,231,.96), rgba(255,255,255,.82)) !important;
  box-shadow: 0 24px 72px rgba(5, 150, 105, .14), inset 0 1px 0 rgba(255,255,255,.88) !important;
}
#immoStartOverlay[data-theme="income"] .immo-wizard-grid .input-group {
  background: rgba(240,253,244,.52) !important;
  border-color: rgba(16,185,129,.18) !important;
}
#immoStartOverlay[data-theme="income"] .immo-wizard-grid .input-wrap {
  border-color: rgba(5,150,105,.22) !important;
  background: rgba(255,255,255,.92) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 10px 24px rgba(5,150,105,.06) !important;
}
#immoStartOverlay[data-theme="income"] .wizard-toggle input:checked + span,
#immoStartOverlay[data-theme="income"] .toggle-line input:checked + span {
  background: linear-gradient(135deg, #059669, #14b8a6) !important;
}

/* v3.10.13: Einnahmen-Karte im Rechner wieder mit klar sichtbarem Premium-Grün. */
.runenburg-immo-calculator .input-panel .income-section {
  border-color: rgba(5,150,105,.30) !important;
  background:
    radial-gradient(circle at 0% 50%, rgba(16,185,129,.22) 0%, rgba(16,185,129,.10) 26%, rgba(16,185,129,0) 56%),
    linear-gradient(105deg, rgba(220,252,231,.98) 0%, rgba(236,253,245,.96) 36%, rgba(255,255,255,.96) 72%, rgba(240,253,250,.92) 100%) !important;
  box-shadow: 0 18px 48px rgba(5,150,105,.105), inset 0 1px 0 rgba(255,255,255,.92) !important;
}
.runenburg-immo-calculator .input-panel .income-section::before {
  background: linear-gradient(180deg, #10b981, #14b8a6) !important;
  box-shadow: 0 12px 24px rgba(16,185,129,.28) !important;
}
.runenburg-immo-calculator .input-panel .income-section .section-details > summary.section-details-summary,
.runenburg-immo-calculator .input-panel .income-section .section-details > summary {
  background:
    radial-gradient(circle at 6% 50%, rgba(16,185,129,.16) 0%, rgba(16,185,129,.06) 35%, transparent 68%),
    linear-gradient(90deg, rgba(236,253,245,.72), rgba(255,255,255,.30)) !important;
  border-radius: 24px !important;
}
.runenburg-immo-calculator .input-panel .income-uicon,
.runenburg-immo-calculator .input-panel .income-section .section-icon {
  color: #047857 !important;
  background: linear-gradient(145deg, rgba(204,251,241,.98), rgba(236,253,245,.96)) !important;
  border: 1px solid rgba(16,185,129,.32) !important;
  box-shadow: 0 10px 22px rgba(16,185,129,.16), inset 0 1px 0 rgba(255,255,255,.9) !important;
}
