    /* ===== Design Tokens ===== */
    :root {
      --farbe-positiv: #2d8a4e;
      --farbe-negativ: #c0392b;
      --farbe-warnung: #d35400;
      --farbe-info: #2980b9;
      --farbe-neutral: #7f8c8d;
      --farbe-hintergrund: #f8f9fa;
      --farbe-karte: #ffffff;
      --farbe-text: #2c3e50;
      --farbe-text-hell: #95a5a6;
      --inflation-1: #2d8a4e;
      --inflation-2: #7dba3f;
      --inflation-3: #f1c40f;
      --inflation-4: #e67e22;
      --inflation-5: #c0392b;
      --font-familie: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
      --font-groesse-basis: 16px;
      --font-groesse-klein: 0.85rem;
      --font-groesse-gross: 1.25rem;
      --font-groesse-dashboard: 1.5rem;
      --font-groesse-beamer: 1.5;
      --abstand-xs: 0.25rem;
      --abstand-sm: 0.5rem;
      --abstand-md: 1rem;
      --abstand-lg: 1.5rem;
      --abstand-xl: 2rem;
    }

    /* ===== Reset & Basis ===== */
    *, *::before, *::after {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }

    body {
      font-family: var(--font-familie);
      font-size: var(--font-groesse-basis);
      color: var(--farbe-text);
      background-color: var(--farbe-hintergrund);
      line-height: 1.5;
      min-height: 100vh;
    }

    /* ===== Animationen ===== */
    @keyframes puls {
      0%, 100% { opacity: 1; }
      50% { opacity: 0.6; }
    }

    .pulsiert {
      animation: puls 2s ease-in-out infinite;
    }

    /* ===== Dashboard ===== */
    #dashboard {
      position: sticky;
      top: 0;
      z-index: 100;
      background: var(--farbe-karte);
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
      padding: var(--abstand-md) var(--abstand-lg);
    }

    .dashboard-titel {
      font-size: var(--font-groesse-klein);
      color: var(--farbe-text-hell);
      text-transform: uppercase;
      letter-spacing: 0.05em;
      font-weight: 600;
    }

    .dashboard-kopf {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: var(--abstand-sm);
      gap: var(--abstand-md);
    }

    .dashboard-toggle {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: transparent;
      border: 1px solid #d5d8dc;
      border-radius: 4px;
      padding: 2px var(--abstand-sm);
      font-family: inherit;
      font-size: var(--font-groesse-klein);
      color: var(--farbe-text-hell);
      cursor: pointer;
      transition: background 0.15s, border-color 0.15s;
    }
    .dashboard-toggle:hover { background: #f4f6f7; border-color: #b3b6b7; }

    .dashboard-toggle-pfeil {
      display: inline-block;
      transition: transform 0.3s ease;
      font-size: 0.9rem;
    }
    #dashboard.dashboard-zu .dashboard-toggle-pfeil { transform: rotate(-90deg); }

    .dashboard-inhalt {
      overflow: hidden;
      transition: max-height 0.35s ease, opacity 0.25s ease;
    }
    #dashboard.dashboard-zu .dashboard-inhalt {
      max-height: 0 !important;
      opacity: 0;
      pointer-events: none;
    }

    .kennzahl-detail {
      font-size: var(--font-groesse-klein);
      color: var(--farbe-text-hell);
      margin-top: 2px;
    }

    /* --- Zeile 1: Hauptkennzahlen --- */
    .dashboard-zeile-1 {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: var(--abstand-md);
      margin-bottom: var(--abstand-md);
    }

    .kennzahl {
      text-align: center;
      padding: var(--abstand-sm) var(--abstand-xs);
    }

    .kennzahl-label {
      font-size: var(--font-groesse-klein);
      color: var(--farbe-text-hell);
      font-weight: 500;
      margin-bottom: var(--abstand-xs);
    }

    .kennzahl-wert {
      font-size: var(--font-groesse-dashboard);
      font-weight: 700;
      line-height: 1.2;
    }

    .kennzahl-einheit {
      font-size: var(--font-groesse-klein);
      color: var(--farbe-text-hell);
      font-weight: 400;
    }

    .kennzahl--positiv .kennzahl-wert {
      color: var(--farbe-positiv);
    }

    .kennzahl--negativ .kennzahl-wert {
      color: var(--farbe-negativ);
    }

    .kennzahl--warnung .kennzahl-wert {
      color: var(--farbe-warnung);
    }

    .kennzahl--neutral .kennzahl-wert {
      color: var(--farbe-text);
    }

    /* --- Defizit-Balken --- */
    .defizit-balken-container {
      margin-bottom: var(--abstand-md);
      padding: 0 var(--abstand-sm);
    }

    .defizit-balken-label {
      font-size: var(--font-groesse-klein);
      color: var(--farbe-text-hell);
      margin-bottom: var(--abstand-xs);
      display: flex;
      justify-content: space-between;
    }

    .defizit-balken {
      height: 8px;
      background: #ecf0f1;
      border-radius: 4px;
      overflow: hidden;
      position: relative;
    }

    .defizit-balken-fuellung {
      height: 100%;
      border-radius: 4px;
      transition: width 0.5s ease, background 0.5s ease;
    }

    .defizit-balken-fuellung--negativ {
      background: linear-gradient(90deg, var(--farbe-warnung), var(--farbe-negativ));
    }

    .defizit-balken-fuellung--positiv {
      background: linear-gradient(90deg, var(--farbe-positiv), #27ae60);
    }

    /* --- Zeile 2: Sekundaere Kennzahlen --- */
    .dashboard-zeile-2 {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: var(--abstand-md);
      margin-bottom: var(--abstand-sm);
      padding-top: var(--abstand-sm);
      border-top: 1px solid #ecf0f1;
    }

    .sekundaer-kennzahl {
      text-align: center;
      padding: var(--abstand-xs);
    }

    .sekundaer-kennzahl-label {
      font-size: var(--font-groesse-klein);
      color: var(--farbe-text-hell);
      font-weight: 500;
    }

    .sekundaer-kennzahl-wert {
      font-size: var(--font-groesse-gross);
      font-weight: 700;
      line-height: 1.3;
    }

    .sekundaer-kennzahl-detail {
      font-size: var(--font-groesse-klein);
      color: var(--farbe-text-hell);
    }

    /* Inflation Badge */
    .inflation-badge {
      display: inline-block;
      padding: var(--abstand-xs) var(--abstand-sm);
      border-radius: 12px;
      font-size: var(--font-groesse-klein);
      font-weight: 600;
      color: #fff;
    }

    .inflation-badge--niedrig { background-color: var(--inflation-1); }
    .inflation-badge--moderat { background-color: var(--inflation-2); color: #1a3a0a; }
    .inflation-badge--mittel  { background-color: var(--inflation-3); color: var(--farbe-text); }
    .inflation-badge--erhoeht { background-color: var(--inflation-4); }
    .inflation-badge--hoch    { background-color: var(--inflation-5); }

    /* --- Zeile 1 (Bilanz): Einnahmen-vs-Ausgaben + Saldo + Defizit/BIP --- */
    .dashboard-bilanz {
      display: grid;
      grid-template-columns: 2.4fr 1.1fr 0.9fr;
      gap: var(--abstand-md);
      align-items: stretch;
      padding-bottom: var(--abstand-sm);
    }
    .bilanz-balken-card { display: flex; flex-direction: column; gap: 4px; }
    .bilanz-balken-titel {
      font-size: var(--font-groesse-klein);
      color: var(--farbe-text-hell);
      font-weight: 500;
    }
    .bilanz-balken {
      position: relative;
      height: 28px;
      background: #ecf0f1;
      border-radius: 6px;
      overflow: hidden;
      display: flex;
    }
    .bilanz-balken-einnahmen {
      background: linear-gradient(90deg, #27ae60, #2ecc71);
      height: 100%;
    }
    .bilanz-balken-ausgaben {
      background: linear-gradient(90deg, #c0392b, #e74c3c);
      height: 100%;
    }
    .bilanz-balken-werte {
      display: flex;
      justify-content: space-between;
      font-variant-numeric: tabular-nums;
      font-size: var(--font-groesse-klein);
      font-weight: 600;
    }
    .bilanz-balken-werte .einn-wert { color: var(--farbe-positiv); }
    .bilanz-balken-werte .ausg-wert { color: var(--farbe-negativ); }
    .bilanz-balken-detail {
      font-size: var(--font-groesse-klein);
      color: var(--farbe-text-hell);
    }
    .bilanz-saldo, .bilanz-quote {
      display: flex;
      flex-direction: column;
      justify-content: center;
      text-align: center;
      padding: var(--abstand-xs);
    }
    .bilanz-saldo-wert, .bilanz-quote-wert {
      font-size: var(--font-groesse-gross);
      font-weight: 700;
      line-height: 1.2;
      font-variant-numeric: tabular-nums;
    }
    .bilanz-saldo--defizit .bilanz-saldo-wert { color: var(--farbe-negativ); }
    .bilanz-saldo--ueberschuss .bilanz-saldo-wert { color: var(--farbe-positiv); }
    .bilanz-saldo-label, .bilanz-quote-label {
      font-size: var(--font-groesse-klein);
      color: var(--farbe-text-hell);
      font-weight: 500;
    }
    .bilanz-saldo-detail, .bilanz-quote-detail {
      font-size: 11px;
      color: var(--farbe-text-hell);
    }
    .bilanz-quote--warn .bilanz-quote-wert { color: var(--farbe-warnung); }

    /* --- Zeile 2 (Delta zum Regierungsentwurf): kompakte Chip-Reihe --- */
    .dashboard-delta {
      display: flex;
      flex-wrap: wrap;
      gap: var(--abstand-xs);
      align-items: center;
      padding: var(--abstand-xs) 0;
      border-top: 1px solid #ecf0f1;
      font-size: var(--font-groesse-klein);
    }
    .delta-praefix {
      color: var(--farbe-text-hell);
      font-weight: 600;
      margin-right: 6px;
    }
    .delta-chip {
      display: inline-flex;
      align-items: center;
      gap: 4px;
      padding: 3px 10px;
      border-radius: 12px;
      background: #f4f6f8;
      font-variant-numeric: tabular-nums;
      font-weight: 600;
    }
    .delta-chip--positiv { background: #e8f5e9; color: #1b5e20; }
    .delta-chip--negativ { background: #fdecea; color: #922b21; }
    .delta-chip--neutral { background: #eceff1; color: #546e7a; }
    .delta-chip-label { font-weight: 500; opacity: 0.7; margin-right: 4px; }
    .delta-hebel {
      margin-left: auto;
      color: var(--farbe-text-hell);
      font-size: 11px;
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
    }
    .delta-hebel-titel { font-weight: 600; }

    /* --- Zeile 3 (Nachhaltigkeit): Schuldenquote + Zinslast + Trajektorien-Chart --- */
    .dashboard-nachhaltigkeit {
      display: grid;
      grid-template-columns: 1fr 1fr 2.2fr;
      gap: var(--abstand-md);
      align-items: stretch;
      padding-top: var(--abstand-sm);
      border-top: 1px solid #ecf0f1;
    }
    .nh-card {
      display: flex;
      flex-direction: column;
      justify-content: center;
      text-align: center;
    }
    .nh-card-label {
      font-size: var(--font-groesse-klein);
      color: var(--farbe-text-hell);
      font-weight: 500;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 4px;
    }
    .nh-card-wert {
      font-size: var(--font-groesse-gross);
      font-weight: 700;
      line-height: 1.2;
      font-variant-numeric: tabular-nums;
    }
    .nh-card-detail {
      font-size: 11px;
      color: var(--farbe-text-hell);
    }
    .nh-card-wert--warn { color: var(--farbe-warnung); }
    .nh-card-wert--krit { color: var(--farbe-negativ); }
    .trajektorie-chart {
      display: flex;
      flex-direction: column;
      gap: 2px;
    }
    .trajektorie-chart-titel {
      font-size: var(--font-groesse-klein);
      color: var(--farbe-text-hell);
      font-weight: 500;
      display: flex;
      align-items: center;
      gap: 4px;
    }
    .trajektorie-chart svg {
      display: block;
      width: 100%;
      height: 80px;
    }
    .trajektorie-legende {
      display: flex;
      gap: 12px;
      font-size: 11px;
      color: var(--farbe-text-hell);
      flex-wrap: wrap;
    }
    .trajektorie-legende-eintrag {
      display: inline-flex;
      align-items: center;
      gap: 4px;
      font-variant-numeric: tabular-nums;
    }
    .trajektorie-legende-eintrag::before {
      content: '';
      display: inline-block;
      width: 10px;
      height: 2px;
      border-radius: 1px;
    }
    .trajektorie-legende-eintrag--quote::before { background: #2874a6; }
    .trajektorie-legende-eintrag--zins::before  { background: #c0392b; }

    /* --- Fuß: Kontext-Pillen --- */
    .dashboard-fuss {
      display: flex;
      gap: var(--abstand-md);
      align-items: center;
      flex-wrap: wrap;
      padding-top: var(--abstand-xs);
      margin-top: var(--abstand-xs);
      border-top: 1px solid #ecf0f1;
      font-size: var(--font-groesse-klein);
      color: var(--farbe-text-hell);
    }
    .fuss-pille {
      display: inline-flex;
      align-items: center;
      gap: 4px;
    }
    .fuss-pille-wert { font-weight: 600; color: var(--farbe-text); font-variant-numeric: tabular-nums; }

    @media (max-width: 768px) {
      .dashboard-bilanz, .dashboard-nachhaltigkeit { grid-template-columns: 1fr; }
      .delta-hebel { margin-left: 0; }
    }

    /* --- Zeile 3 (alt, vermutlich ungenutzt — kompatibel halten) --- */
    .dashboard-zeile-3 {
      padding-top: var(--abstand-sm);
      border-top: 1px solid #ecf0f1;
      text-align: center;
      font-size: var(--font-groesse-klein);
      color: var(--farbe-text-hell);
    }

    .dashboard-zeile-3 strong {
      color: var(--farbe-text);
      font-weight: 600;
    }

    .projektion-wert {
      font-weight: 700;
    }

    .projektion-wert--negativ {
      color: var(--farbe-negativ);
    }

    .projektion-wert--positiv {
      color: var(--farbe-positiv);
    }

    /* ===== Hauptinhalt ===== */
    main#inhalt {
      max-width: 1200px;
      margin: 0 auto;
      padding: var(--abstand-xl) var(--abstand-lg);
      min-height: 60vh;
    }

    .inhalt-platzhalter {
      text-align: center;
      color: var(--farbe-text-hell);
      padding: var(--abstand-xl);
      font-style: italic;
    }

    /* ===== Footer ===== */
    footer {
      max-width: 1200px;
      margin: 0 auto;
      padding: var(--abstand-lg);
      border-top: 1px solid #ecf0f1;
      font-size: var(--font-groesse-klein);
      color: var(--farbe-text-hell);
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap;
      gap: var(--abstand-md);
    }

    .quellen {
      flex: 1;
    }

    .quellen a {
      color: var(--farbe-info);
      text-decoration: none;
    }

    .quellen a:hover {
      text-decoration: underline;
    }

    .footer-aktionen {
      display: flex;
      gap: var(--abstand-sm);
    }

    .btn-beamer {
      background: var(--farbe-info);
      color: #fff;
      border: none;
      padding: var(--abstand-xs) var(--abstand-md);
      border-radius: 4px;
      font-size: var(--font-groesse-klein);
      cursor: pointer;
      font-family: var(--font-familie);
      transition: background 0.2s;
    }

    .btn-beamer:hover {
      background: #2471a3;
    }

    /* ===== Responsive: Tablet ===== */
    @media (max-width: 1024px) {
      .dashboard-zeile-1 {
        grid-template-columns: repeat(2, 1fr);
      }

      .dashboard-zeile-2 {
        grid-template-columns: repeat(2, 1fr);
      }
    }

    /* ===== Responsive: Mobile ===== */
    @media (max-width: 768px) {
      #dashboard {
        padding: var(--abstand-sm) var(--abstand-md);
      }

      .dashboard-zeile-1 {
        grid-template-columns: 1fr;
        gap: var(--abstand-sm);
      }

      .dashboard-zeile-2 {
        grid-template-columns: 1fr;
        gap: var(--abstand-sm);
      }

      .kennzahl-wert {
        font-size: var(--font-groesse-gross);
      }

      .sekundaer-kennzahl-wert {
        font-size: 1rem;
      }

      footer {
        flex-direction: column;
        text-align: center;
      }
    }

    /* ===== Akkordeon ===== */
    .akkordeon-gruppe {
      margin-bottom: var(--abstand-xl);
    }

    .akkordeon-gruppe h2 {
      font-size: var(--font-groesse-gross);
      font-weight: 700;
      color: var(--farbe-text);
      text-transform: uppercase;
      letter-spacing: 0.04em;
      padding-bottom: var(--abstand-sm);
      border-bottom: 2px solid var(--farbe-text);
      margin-bottom: var(--abstand-md);
    }

    .kategorie {
      margin-bottom: var(--abstand-xs);
    }

    /* Abzugsblock (Vorabzüge an EU & Länder) — optisch abgesetzt, rötlicher Akzent */
    .kategorie--abzug {
      margin-top: var(--abstand-md);
      border-left: 3px solid #c0392b;
      background: #fdf3f1;
      border-radius: 4px;
    }
    .kategorie--abzug .kategorie-header .name {
      color: #922b21;
    }
    .kategorie--abzug .kategorie-header .summe {
      color: #c0392b;
      font-weight: 700;
    }
    .kategorie--abzug .kategorie-header::before {
      content: "−";
      color: #c0392b;
      font-weight: 700;
      margin-right: 4px;
    }

    .kategorie-header {
      display: flex;
      align-items: center;
      gap: var(--abstand-sm);
      padding: var(--abstand-sm) var(--abstand-md);
      cursor: pointer;
      border-bottom: 1px solid #ecf0f1;
      transition: background 0.15s;
      user-select: none;
    }

    .kategorie-header:hover {
      background: rgba(0, 0, 0, 0.03);
    }

    .kategorie-header .pfeil {
      display: inline-block;
      font-size: 1rem;
      width: 1em;
      text-align: center;
      transition: transform 0.3s ease;
      flex-shrink: 0;
    }

    .kategorie-header .name {
      flex: 1;
      font-weight: 600;
    }

    .kategorie-header .summe {
      font-weight: 700;
      font-variant-numeric: tabular-nums;
      color: var(--farbe-text);
      white-space: nowrap;
    }

    .kategorie-inhalt {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.3s ease;
    }

    .kategorie-inhalt.offen {
      /* max-height set by JS */
    }

    .slider-zeile {
      display: flex;
      align-items: center;
      gap: var(--abstand-sm);
      padding: var(--abstand-xs) var(--abstand-md) var(--abstand-xs) calc(var(--abstand-md) + 1em + var(--abstand-sm));
      border-bottom: 1px solid #f0f0f0;
    }

    .slider-zeile label {
      min-width: 200px;
      font-size: var(--font-groesse-klein);
      color: var(--farbe-text);
      flex-shrink: 0;
    }

    .slider-zeile input[type="range"] {
      flex: 1;
      min-width: 80px;
      height: 6px;
      -webkit-appearance: none;
      appearance: none;
      background: #ecf0f1;
      border-radius: 3px;
      outline: none;
      cursor: pointer;
    }

    .slider-zeile input[type="range"]::-webkit-slider-thumb {
      -webkit-appearance: none;
      appearance: none;
      width: 16px;
      height: 16px;
      border-radius: 50%;
      background: var(--farbe-info);
      cursor: pointer;
      border: 2px solid #fff;
      box-shadow: 0 1px 3px rgba(0,0,0,0.2);
    }

    .slider-zeile input[type="range"]::-moz-range-thumb {
      width: 16px;
      height: 16px;
      border-radius: 50%;
      background: var(--farbe-info);
      cursor: pointer;
      border: 2px solid #fff;
      box-shadow: 0 1px 3px rgba(0,0,0,0.2);
    }

    .slider-zeile .betrag {
      min-width: 100px;
      text-align: right;
      font-family: "SF Mono", "Consolas", "Monaco", monospace;
      font-size: var(--font-groesse-klein);
      font-variant-numeric: tabular-nums;
      white-space: nowrap;
      cursor: pointer;
    }

    .slider-zeile .info-btn {
      width: 22px;
      height: 22px;
      border-radius: 50%;
      border: 1.5px solid var(--farbe-info);
      background: transparent;
      color: var(--farbe-info);
      font-size: 0.75rem;
      font-weight: 700;
      font-style: italic;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      transition: background 0.15s, color 0.15s;
      font-family: Georgia, serif;
      padding: 0;
    }

    .slider-zeile .info-btn:hover {
      background: var(--farbe-info);
      color: #fff;
    }

    .finanzierungsblock-platzhalter {
      margin-top: var(--abstand-xl);
      padding: var(--abstand-lg);
      border: 2px dashed #ecf0f1;
      border-radius: 8px;
      text-align: center;
      color: var(--farbe-text-hell);
      font-style: italic;
    }

    /* ===== Finanzierungsblock ===== */
    .finanzierungsblock {
      margin-top: var(--abstand-xl);
      padding: var(--abstand-lg);
      border: 2px dashed var(--farbe-warnung);
      border-radius: 8px;
      background: #fff8f0;
    }

    .finanzierungsblock h2 {
      font-size: var(--font-groesse-gross);
      font-weight: 700;
      color: var(--farbe-warnung);
      margin-bottom: var(--abstand-sm);
    }

    .finanzierungsblock .hinweis-text {
      font-size: var(--font-groesse-klein);
      color: var(--farbe-text-hell);
      font-style: italic;
      margin-bottom: var(--abstand-md);
      line-height: 1.5;
    }

    .finanz-wert {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: var(--abstand-sm) 0;
    }

    .finanz-wert .label {
      font-weight: 600;
      color: var(--farbe-text);
    }

    .finanz-wert .wert {
      font-family: "SF Mono", "Consolas", "Monaco", monospace;
      font-size: var(--font-groesse-gross);
      font-weight: 700;
      color: var(--farbe-negativ);
      font-variant-numeric: tabular-nums;
    }

    /* ===== Tooltip Popup ===== */
    .tooltip-popup {
      position: absolute;
      z-index: 200;
      background: var(--farbe-karte);
      border: 1px solid #ddd;
      border-radius: 8px;
      box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
      padding: var(--abstand-md);
      max-width: 300px;
      font-size: var(--font-groesse-klein);
      line-height: 1.5;
      color: var(--farbe-text);
    }

    .tooltip-popup .tooltip-erklaerung {
      margin-bottom: var(--abstand-sm);
    }

    .tooltip-popup .tooltip-badges {
      display: flex;
      flex-wrap: wrap;
      gap: var(--abstand-xs);
      margin-bottom: var(--abstand-sm);
    }

    .tooltip-popup .tooltip-badge {
      display: inline-block;
      padding: 2px 8px;
      border-radius: 10px;
      font-size: 0.75rem;
      font-weight: 600;
      white-space: nowrap;
    }

    .tooltip-badge--gesetzlich {
      background: #fdecea;
      color: var(--farbe-negativ);
    }

    .tooltip-badge--politisch {
      background: #e8f5e9;
      color: var(--farbe-positiv);
    }

    .tooltip-badge--kurzfristig {
      background: #e3f2fd;
      color: var(--farbe-info);
    }

    .tooltip-badge--mittelfristig {
      background: #fff3e0;
      color: var(--farbe-warnung);
    }

    .tooltip-badge--sozial {
      background: #fce4ec;
      color: #c62828;
    }

    .tooltip-badge--investiv {
      background: #e0f2f1;
      color: #00695c;
    }

    .tooltip-badge--sicherheit {
      background: #efebe9;
      color: #4e342e;
    }

    .tooltip-badge--neutral {
      background: #eceff1;
      color: #546e7f;
    }

    .tooltip-popup .tooltip-hinweis {
      font-style: italic;
      color: var(--farbe-text-hell);
      border-top: 1px solid #ecf0f1;
      padding-top: var(--abstand-xs);
      margin-top: var(--abstand-xs);
    }

    /* ===== Dashboard Info Button ===== */
    .dashboard-info-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 16px;
      height: 16px;
      border-radius: 50%;
      border: 1.5px solid var(--farbe-info);
      background: transparent;
      color: var(--farbe-info);
      font-size: 0.6rem;
      font-weight: 700;
      font-style: italic;
      font-family: Georgia, serif;
      cursor: pointer;
      padding: 0;
      vertical-align: middle;
      margin-left: 4px;
      transition: background 0.15s, color 0.15s;
      position: relative;
    }

    .dashboard-info-btn:hover {
      background: var(--farbe-info);
      color: #fff;
    }

    /* ===== Gesetzlich-gebunden Warnung ===== */
    .gesetzlich-warnung {
      color: var(--farbe-warnung);
      font-size: var(--font-groesse-klein);
      padding: var(--abstand-xs) var(--abstand-md) var(--abstand-xs) calc(var(--abstand-md) + 1em + var(--abstand-sm));
      display: none;
    }

    .gesetzlich-warnung.sichtbar {
      display: block;
    }

    /* ===== Inline Betrag Edit Input ===== */
    .betrag-input {
      width: 100px;
      text-align: right;
      font-family: "SF Mono", "Consolas", "Monaco", monospace;
      font-size: var(--font-groesse-klein);
      font-variant-numeric: tabular-nums;
      border: 1px solid var(--farbe-info);
      border-radius: 3px;
      padding: 1px 4px;
      outline: none;
      background: #f0f7ff;
    }

    .slider-zeile .betrag:hover {
      background: #f0f7ff;
      border-radius: 3px;
    }

    /* ===== Responsive Akkordeon: Tablet ===== */
    @media (max-width: 1024px) {
      .slider-zeile label {
        min-width: 150px;
      }
    }

    /* ===== Responsive Akkordeon: Mobile ===== */
    @media (max-width: 768px) {
      .slider-zeile {
        flex-wrap: wrap;
        padding-left: var(--abstand-md);
        gap: var(--abstand-xs);
      }

      .slider-zeile label {
        min-width: 100%;
        font-weight: 500;
      }

      .slider-zeile input[type="range"] {
        min-width: 0;
        flex: 1;
      }

      .slider-zeile .betrag {
        min-width: 80px;
      }

      .kategorie-header .summe {
        font-size: var(--font-groesse-klein);
      }
    }

    /* Einkommensteuer-Tarifeditor */
    .est-editor {
      background: #f0f4f8;
      border-left: 4px solid var(--farbe-info);
      border-radius: 8px;
      padding: var(--abstand-md);
      margin: var(--abstand-sm) 0;
    }
    .est-editor-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: var(--abstand-md);
      font-weight: 700;
      font-size: var(--font-groesse-gross);
    }
    .est-editor-header .est-gesamt {
      color: var(--farbe-info);
    }
    .est-revenue-bar {
      display: flex;
      height: 24px;
      border-radius: 4px;
      overflow: hidden;
      margin-bottom: var(--abstand-md);
      font-size: 0.7rem;
      color: #fff;
      font-weight: 600;
    }
    .est-revenue-bar > div {
      display: flex;
      align-items: center;
      justify-content: center;
      transition: width 0.3s ease;
    }
    .est-tabelle {
      width: 100%;
      border-collapse: collapse;
      font-size: var(--font-groesse-klein);
    }
    .est-tabelle th {
      text-align: left;
      padding: var(--abstand-xs) var(--abstand-sm);
      border-bottom: 2px solid #ccc;
      color: var(--farbe-text-hell);
      font-weight: 600;
    }
    .est-tabelle td {
      padding: var(--abstand-xs) var(--abstand-sm);
      border-bottom: 1px solid #e8e8e8;
      vertical-align: middle;
    }
    .est-tabelle tr:last-child td { border-bottom: none; }
    .est-rate-slider {
      width: 80px;
      height: 4px;
      vertical-align: middle;
      cursor: pointer;
      accent-color: var(--farbe-info);
    }
    .est-rate-value {
      display: inline-block;
      min-width: 35px;
      text-align: right;
      font-variant-numeric: tabular-nums;
      font-weight: 600;
      cursor: pointer;
      border-bottom: 1px dashed var(--farbe-info);
    }
    .est-rate-value:hover {
      color: var(--farbe-info);
    }
    .est-rate-input {
      width: 45px;
      text-align: right;
      border: 1px solid var(--farbe-info);
      border-radius: 3px;
      padding: 1px 4px;
      font-size: inherit;
      font-family: inherit;
      font-weight: 600;
    }
    .est-soli-checkbox {
      margin-right: var(--abstand-sm);
      accent-color: var(--farbe-info);
      cursor: pointer;
      width: 16px;
      height: 16px;
      vertical-align: middle;
    }
    .est-soli-label {
      cursor: pointer;
      vertical-align: middle;
    }
    .est-grundfreibetrag-input {
      width: 90px;
      text-align: right;
      border: 1px solid #ccc;
      border-radius: 4px;
      padding: 2px 6px;
      font-size: inherit;
      font-family: inherit;
    }
    .est-soli-zeile {
      display: flex;
      justify-content: space-between;
      margin-top: var(--abstand-sm);
      padding-top: var(--abstand-sm);
      border-top: 1px dashed #ccc;
      font-size: var(--font-groesse-klein);
      color: var(--farbe-text-hell);
    }
    .est-einnahmen-zelle {
      font-variant-numeric: tabular-nums;
      text-align: right;
      min-width: 80px;
    }
    /* Responsive EST Editor */
    @media (max-width: 768px) {
      .est-tabelle { font-size: 0.75rem; }
      .est-rate-slider { width: 60px; }
      .est-editor-header { flex-direction: column; gap: var(--abstand-xs); }
    }

    /* ===== Bürgergeld + Unterkunft: Gesamtbox (einklappbar) ===== */
    .bgbox {
      background: #fff8ef;
      border: 1px solid #f0c48a;
      border-left: 4px solid var(--farbe-warnung);
      border-radius: 8px;
      margin: var(--abstand-sm) 0;
      overflow: hidden;
    }
    .bgbox-header {
      display: flex;
      align-items: center;
      gap: 10px;
      width: 100%;
      padding: 10px 14px;
      background: #fff2df;
      border: none;
      cursor: pointer;
      font: inherit;
      text-align: left;
      color: inherit;
    }
    .bgbox-header:hover { background: #ffe9cc; }
    .bgbox-chevron { font-size: 0.8em; color: #a66410; width: 12px; display: inline-block; }
    .bgbox-titel { font-weight: 700; flex: 1; }
    .bgbox-summe { font-weight: 500; color: #333; }
    .bgbox-summe span { font-weight: 700; }
    .bgbox-status-zeile {
      padding: 4px 14px 8px 36px;
      font-size: 0.85em;
      color: #7a5323;
      background: #fff2df;
      border-bottom: 1px solid #f0c48a;
    }
    .bgbox.zu .bgbox-status-zeile { border-bottom: none; }
    .bgbox-inhalt { padding: var(--abstand-sm) var(--abstand-md); }

    /* Unterabschnitt: Unterkunft und Heizung */
    .bg-unterkunft {
      margin-top: var(--abstand-sm);
      padding: var(--abstand-sm) var(--abstand-md);
      background: #f5f8fb;
      border-left: 3px solid #3b7aa8;
      border-radius: 6px;
    }
    .bg-unterkunft-kopf {
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap;
      gap: 8px;
      margin-bottom: 6px;
    }
    .bg-unterkunft-titel { font-weight: 700; color: #1f4c70; }
    .bg-unterkunft-gesamt { color: #333; }
    .bg-unterkunft-gesamt span { font-weight: 700; }
    .bg-unterkunft-info {
      font-size: 0.85em;
      color: #555;
      line-height: 1.4;
      margin-bottom: 8px;
    }
    .bg-unterkunft-karten {
      display: flex;
      flex-direction: column;
      gap: 6px;
    }
    .bg-unterkunft-karte {
      display: grid;
      grid-template-columns: auto 1fr;
      grid-template-rows: auto auto;
      gap: 4px 10px;
      padding: 8px 10px;
      background: #fff;
      border: 1px solid #c5d3df;
      border-radius: 6px;
      cursor: pointer;
      transition: border-color 0.15s, background 0.15s;
    }
    .bg-unterkunft-karte:hover { border-color: #3b7aa8; }
    .bg-unterkunft-karte.aktiv {
      border-color: #3b7aa8;
      background: #eaf2f8;
      box-shadow: 0 0 0 1px #3b7aa8 inset;
    }
    .bg-unterkunft-radio { grid-row: 1 / span 2; align-self: center; margin: 0; }
    .bg-unterkunft-karte-kopf {
      display: flex; justify-content: space-between; align-items: center; gap: 8px; flex-wrap: wrap;
    }
    .bg-unterkunft-karte-name { font-weight: 600; color: #222; }
    .bg-unterkunft-karte-badge {
      font-size: 0.82em;
      font-weight: 600;
      padding: 2px 8px;
      border-radius: 12px;
      white-space: nowrap;
    }
    .bg-unterkunft-karte-badge.neutral { background: #eceff1; color: #455a64; }
    .bg-unterkunft-karte-badge.minus { background: #e8f5e9; color: #2e7d32; }
    .bg-unterkunft-karte-erklaerung {
      grid-column: 2;
      font-size: 0.85em;
      color: #555;
      line-height: 1.35;
    }

    /* Platzhalter für spätere Zusatzblöcke */
    /* .bg-zusatz-* entfernt – ersetzt durch .bgz-* */

    /* ===== Bürgergeld-Zusatzblöcke (Mehrbedarfe, Einmalige, BuT) ===== */
    .bgz-container {
      display: flex;
      flex-direction: column;
      gap: 10px;
      margin-top: var(--abstand-sm);
    }
    .bgz-block {
      background: #fafafa;
      border: 1px solid #dde3ea;
      border-left: 3px solid #8c9ead;
      border-radius: 6px;
      padding: 10px 12px 8px;
    }
    .bgz-kopf {
      display: flex;
      align-items: center;
      gap: 8px;
      margin-bottom: 6px;
      flex-wrap: wrap;
    }
    .bgz-titel { font-weight: 700; color: #2c3e50; flex: 1; }
    .bgz-info-btn {
      background: none;
      border: none;
      cursor: pointer;
      font-size: 1em;
      color: #5d7080;
      padding: 0 2px;
      line-height: 1;
    }
    .bgz-info-btn:hover { color: #2874a6; }
    .bgz-delta-badge {
      font-size: 0.82em;
      font-weight: 700;
      padding: 2px 8px;
      border-radius: 12px;
      white-space: nowrap;
      margin-left: auto;
    }
    .bgz-delta--null  { background: #eceff1; color: #546e7a; }
    .bgz-delta--minus { background: #e8f5e9; color: #2e7d32; }
    .bgz-delta--plus  { background: #fce4ec; color: #c62828; }
    .bgz-infobox {
      display: none;
      background: #eef4fa;
      border: 1px solid #c5d9ea;
      border-radius: 5px;
      padding: 8px 10px;
      font-size: 0.86em;
      color: #2c3e50;
      line-height: 1.4;
      margin-bottom: 8px;
    }
    .bgz-infobox.sichtbar { display: block; }
    .bgz-infobox p { margin: 4px 0 0; }
    /* Chip-Leiste */
    .bgz-chips {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      margin-bottom: 6px;
    }
    .bgz-chip {
      padding: 4px 11px;
      border-radius: 14px;
      border: 1px solid #c5cdd6;
      background: #f3f5f7;
      cursor: pointer;
      font: inherit;
      font-size: 0.85em;
      font-weight: 600;
      transition: background 0.12s, border-color 0.12s;
      white-space: nowrap;
    }
    .bgz-chip:hover { border-color: #667a8a; background: #e8ecf0; }
    /* Typen-Farben */
    .bgz-chip--restriktiv { color: #6d4c41; border-color: #c8b0a8; }
    .bgz-chip--restriktiv:hover { background: #fbe9e7; border-color: #bf6e5d; }
    .bgz-chip--restriktiv.aktiv { background: #fbe9e7; border-color: #bf6e5d; color: #b71c1c; box-shadow: 0 0 0 1.5px #bf6e5d inset; }
    .bgz-chip--neutral { color: #2e4a2a; border-color: #a5c4a0; }
    .bgz-chip--neutral:hover { background: #e8f5e9; border-color: #4caf50; }
    .bgz-chip--neutral.aktiv { background: #e8f5e9; border-color: #388e3c; color: #1b5e20; box-shadow: 0 0 0 1.5px #388e3c inset; font-weight: 800; }
    .bgz-chip--expansiv { color: #1a3c5e; border-color: #90b4d0; }
    .bgz-chip--expansiv:hover { background: #e3f0fb; border-color: #2874a6; }
    .bgz-chip--expansiv.aktiv { background: #e3f0fb; border-color: #1565c0; color: #0d47a1; box-shadow: 0 0 0 1.5px #1565c0 inset; }
    /* Kurzbeschreibung */
    .bgz-kurzbeschreibung {
      font-size: 0.84em;
      color: #555;
      font-style: italic;
      min-height: 1.2em;
      line-height: 1.35;
    }
    @media (max-width: 520px) {
      .bgz-chips { gap: 4px; }
      .bgz-chip { font-size: 0.8em; padding: 3px 8px; }
    }

    /* ===== Kleine Sozialleistungen: Sammelblöcke ===== */
    .sozial-sammelblock {
      background: #f7f9fb;
      border: 1px solid #d5dde5;
      border-left: 3px solid #607d8b;
      border-radius: 6px;
      padding: 10px 14px 8px;
      margin: var(--abstand-xs) 0;
    }
    .sozial-sammelblock-kopf {
      display: flex;
      justify-content: space-between;
      align-items: baseline;
      gap: 12px;
      flex-wrap: wrap;
    }
    .sozial-sammelblock-titel {
      font-weight: 700;
      color: #2c3e50;
    }
    .sozial-sammelblock-betrag {
      font-weight: 700;
      color: #37474f;
      white-space: nowrap;
    }
    .sozial-sammelblock-beschr {
      font-size: 0.84em;
      color: #607d8b;
      margin-top: 4px;
      line-height: 1.35;
    }

    /* ===== Bürgergeld-Editor ===== */
    .bg-editor {
      background: #fff5eb;
      border-left: 4px solid var(--farbe-warnung);
      border-radius: 8px;
      padding: var(--abstand-md);
      margin: var(--abstand-sm) 0;
    }

    /* ===== Generische Klappbox ===== */
    .klappbox {
      border-radius: 8px;
      border: 1px solid #d0d5dd;
      border-left-width: 4px;
      margin: var(--abstand-sm) 0;
      overflow: hidden;
    }
    .klappbox-header {
      display: flex;
      align-items: center;
      gap: 10px;
      width: 100%;
      padding: 10px 14px;
      background: #f7f8fa;
      border: none;
      cursor: pointer;
      font: inherit;
      text-align: left;
      color: inherit;
      transition: background 0.12s;
    }
    .klappbox-header:hover { background: #eef0f4; }
    .klappbox-chevron { font-size: 0.78em; width: 12px; flex-shrink: 0; }
    .klappbox-titel { font-weight: 700; flex: 1; }
    .klappbox-summe { font-weight: 500; color: #333; white-space: nowrap; }
    .klappbox-summe span { font-weight: 700; }
    .klappbox-status {
      padding: 3px 14px 7px 36px;
      font-size: 0.83em;
      background: #f7f8fa;
      border-bottom: 1px solid #e0e4ea;
    }
    .klappbox.zu .klappbox-status { border-bottom: none; }
    .klappbox-inhalt { padding: var(--abstand-sm) var(--abstand-sm); }

    /* Akzentfarben pro Block */
    .klappbox--rente  { border-left-color: #2874a6; }
    .klappbox--rente .klappbox-header { background: #eef4fa; }
    .klappbox--rente .klappbox-header:hover { background: #dceaf5; }
    .klappbox--rente .klappbox-status { background: #eef4fa; color: #1a4f77; }
    .klappbox--rente .klappbox-chevron { color: #2874a6; }

    .klappbox--knapp  { border-left-color: #34495e; }
    .klappbox--knapp .klappbox-header { background: #edf0f3; }
    .klappbox--knapp .klappbox-header:hover { background: #dde3ea; }
    .klappbox--knapp .klappbox-status { background: #edf0f3; color: #2c3e50; }
    .klappbox--knapp .klappbox-chevron { color: #34495e; }

    .klappbox--landw  { border-left-color: #4e8c3a; }
    .klappbox--landw .klappbox-header { background: #edf5eb; }
    .klappbox--landw .klappbox-header:hover { background: #daecd6; }
    .klappbox--landw .klappbox-status { background: #edf5eb; color: #2e5a1e; }
    .klappbox--landw .klappbox-chevron { color: #4e8c3a; }

    .klappbox--asyl { border-left-color: #a04545; }
    .klappbox--asyl .klappbox-header { background: #fbeeed; }
    .klappbox--asyl .klappbox-header:hover { background: #f5d9d6; }
    .klappbox--asyl .klappbox-status { background: #fbeeed; color: #7a2d28; }
    .klappbox--asyl .klappbox-chevron { color: #a04545; }

    .klappbox--gsa { border-left-color: #7b5ea7; }
    .klappbox--gsa .klappbox-header { background: #f4f0fa; }
    .klappbox--gsa .klappbox-header:hover { background: #e8dff5; }
    .klappbox--gsa .klappbox-status { background: #f4f0fa; color: #4a2d80; }
    .klappbox--gsa .klappbox-chevron { color: #7b5ea7; }

    .gsa-inner { padding: 12px 14px; }
    .gsa-abschnitt-titel {
      font-size: 12px; font-weight: 700; text-transform: uppercase;
      letter-spacing: .05em; color: #7b5ea7; margin: 0 0 8px;
    }
    .gsa-szenario-karten { display: flex; flex-direction: column; gap: 7px; margin-bottom: 14px; }
    .gsa-karte {
      display: flex; align-items: flex-start; gap: 10px; padding: 10px 12px;
      background: #fff; border: 1.5px solid #ddd3f0; border-radius: 7px;
      cursor: pointer; transition: border-color .15s, background .15s;
    }
    .gsa-karte:hover { border-color: #7b5ea7; background: #faf7fe; }
    .gsa-karte.aktiv { border-color: #7b5ea7; background: #f0eaf9; }
    .gsa-karte input[type="radio"] { margin-top: 2px; flex-shrink: 0; accent-color: #7b5ea7; width: 15px; height: 15px; }
    .gsa-karte-inhalt { flex: 1; }
    .gsa-karte-kopf { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
    .gsa-karte-label { font-size: 13px; font-weight: 600; color: #2a1a50; line-height: 1.4; }
    .gsa-karte-badge {
      font-size: 12px; font-weight: 700; white-space: nowrap; flex-shrink: 0;
      padding: 1px 7px; border-radius: 10px;
    }
    .gsa-badge--null  { background: #e8e4f0; color: #6b5ea0; }
    .gsa-badge--minus { background: #ede0f8; color: #5a1a90; }
    .gsa-karte-beschr { font-size: 12px; color: #5a4880; margin-top: 3px; line-height: 1.4; }
    .gsa-karte-tooltip { font-size: 11px; color: #8e7ab0; margin-top: 3px; line-height: 1.4; font-style: italic; }
    .gsa-festposten {
      display: flex; justify-content: space-between; align-items: center;
      padding: 9px 12px; background: #f7f5fb; border: 1px solid #ddd3f0;
      border-radius: 6px; margin-top: 2px;
    }
    .gsa-festposten-titel { font-size: 12px; color: #5a4880; }
    .gsa-festposten-betrag { font-size: 13px; font-weight: 600; color: #3a2868; }
    .gsa-festposten-hinweis { font-size: 11px; color: #9a87bc; margin-left: 6px; }

    /* Sub-Block-Header innerhalb einer Kategorie (Verteidigung: Kernverteidigung / Innere Sicherheit) */
    .unterblock-header {
      display: flex; justify-content: space-between; align-items: baseline;
      padding: 10px 14px 8px; margin: 10px 0 4px;
      background: linear-gradient(180deg, #f1f5fa, #e5ecf4);
      border-left: 3px solid #3e6aa8;
      border-radius: 5px;
    }
    .unterblock-header:first-child { margin-top: 0; }
    .unterblock-titel {
      font-size: 13px; font-weight: 700; color: #1d3a63;
      text-transform: uppercase; letter-spacing: .04em;
    }
    .unterblock-betrag {
      font-size: 14px; font-weight: 700; color: #1d3a63; font-variant-numeric: tabular-nums;
    }
    .unterblock-beschr {
      padding: 2px 14px 10px;
      font-size: 11px; color: #4a6a95; line-height: 1.45; font-style: italic;
    }
    .unterblock--kernverteidigung { border-left-color: #3e6aa8; }
    .unterblock--kernverteidigung .unterblock-titel,
    .unterblock--kernverteidigung .unterblock-betrag { color: #1d3a63; }
    .unterblock--innere_sicherheit {
      border-left-color: #a86f3e;
      background: linear-gradient(180deg, #fbf4eb, #f5e9d9);
    }
    .unterblock--innere_sicherheit .unterblock-titel,
    .unterblock--innere_sicherheit .unterblock-betrag { color: #6a4420; }

    /* Feste Aggregat-Karten für Kernverteidigung / Innere Sicherheit (readonly, ohne Slider) */
    .vtd-aggregat-karte {
      display: flex; justify-content: space-between; align-items: flex-start; gap: 14px;
      padding: 14px 16px; margin: 8px 0;
      background: #fff; border: 1.5px solid #d7dfeb; border-left: 4px solid #3e6aa8;
      border-radius: 8px;
    }
    .vtd-aggregat-karte--innere { border-left-color: #a86f3e; }
    .vtd-aggregat-inhalt { flex: 1; min-width: 0; }
    .vtd-aggregat-kopf {
      display: flex; justify-content: space-between; align-items: baseline; gap: 10px;
      margin-bottom: 6px;
    }
    .vtd-aggregat-titel {
      font-size: 14px; font-weight: 700; color: #1d3a63;
      text-transform: uppercase; letter-spacing: .04em;
    }
    .vtd-aggregat-karte--innere .vtd-aggregat-titel { color: #6a4420; }
    .vtd-aggregat-betrag {
      font-size: 18px; font-weight: 700; color: #1d3a63; font-variant-numeric: tabular-nums;
      white-space: nowrap;
    }
    .vtd-aggregat-karte--innere .vtd-aggregat-betrag { color: #6a4420; }
    .vtd-aggregat-beschr {
      font-size: 12px; color: #4a6a95; line-height: 1.5;
    }
    .vtd-aggregat-karte--innere .vtd-aggregat-beschr { color: #7a5a3a; }
    .vtd-aggregat-delta {
      font-size: 12px; font-weight: 600; color: #888; margin-top: 4px;
      font-variant-numeric: tabular-nums;
    }
    .vtd-aggregat-delta.aktiv-minus { color: #2c7a3f; }
    .vtd-aggregat-delta.aktiv-plus { color: #a04040; }

    /* Allgemeine Finanzverwaltung — Aggregat-Karte + Multi-Select-Editor */
    .vtd-aggregat-karte--fv { border-left-color: #6e4a5a; }
    .vtd-aggregat-karte--fv .vtd-aggregat-titel,
    .vtd-aggregat-karte--fv .vtd-aggregat-betrag { color: #4a2a38; }
    .vtd-aggregat-karte--fv .vtd-aggregat-beschr { color: #6e4a5a; }

    .vtd-aggregat-karte--gkv { border-left-color: #2c8b57; }
    .vtd-aggregat-karte--gkv .vtd-aggregat-titel,
    .vtd-aggregat-karte--gkv .vtd-aggregat-betrag { color: #1a5a36; }
    .vtd-aggregat-karte--gkv .vtd-aggregat-beschr { color: #34614a; }

    /* Verkehr und Infrastruktur — Aggregat-Karte */
    .vtd-aggregat-karte--verkehr { border-left-color: #1e88a8; }
    .vtd-aggregat-karte--verkehr .vtd-aggregat-titel,
    .vtd-aggregat-karte--verkehr .vtd-aggregat-betrag { color: #0e4654; }
    .vtd-aggregat-karte--verkehr .vtd-aggregat-beschr { color: #2c6e85; }

    /* ===== AfD-Flat-Tax Preset-Klappbox (klappbox--afd) — AfD-Hellblau ===== */
    .klappbox--afd { border-left-color: #009ee0; border-left-width: 5px; }
    .klappbox--afd .klappbox-header { background: #d4eef9; }
    .klappbox--afd .klappbox-header:hover { background: #bee0f1; }
    .klappbox--afd .klappbox-status { background: #d4eef9; color: #00374f; }
    .klappbox--afd .klappbox-chevron { color: #009ee0; }
    .klappbox--afd .klappbox-titel { color: #00374f; }

    .afd-eckdaten {
      font-size:11.5px; color:#00374f; background:#e6f4fb; border-left:3px solid #009ee0;
      border-radius:0 6px 6px 0; padding:10px 12px; margin-bottom:12px; line-height:1.6;
    }
    .afd-eckdaten strong { color:#003e58; }

    .afd-warnung {
      font-size:11px; color:#7a3a3a; background:#fcf0ed; border-left:3px solid #c0392b;
      border-radius:0 5px 5px 0; padding:6px 10px; margin:0 0 10px; line-height:1.45;
    }

    /* ===== CDU-Steuerreform Preset-Klappbox (klappbox--cdu) ===== */
    .klappbox--cdu { border-left-color: #1c4587; }
    .klappbox--cdu .klappbox-header { background: #e3eaf5; }
    .klappbox--cdu .klappbox-header:hover { background: #d2dceb; }
    .klappbox--cdu .klappbox-status { background: #e3eaf5; color: #0f2a55; }
    .klappbox--cdu .klappbox-chevron { color: #1c4587; }

    /* ===== Tabaksteuer-Reform-Klappbox (klappbox--tabakr) ===== */
    .klappbox--tabakr { border-left-color: #8b3a3a; }
    .klappbox--tabakr .klappbox-header { background: #f5e8e8; }
    .klappbox--tabakr .klappbox-header:hover { background: #ecd5d5; }
    .klappbox--tabakr .klappbox-status { background: #f5e8e8; color: #5a1f1f; }
    .klappbox--tabakr .klappbox-chevron { color: #8b3a3a; }

    .tabakr-szenario {
      display: flex; align-items: flex-start; gap: 10px;
      padding: 10px 12px; background: #fff;
      border: 1.5px solid #d8b8b8; border-radius: 7px;
      transition: border-color .15s, background .15s;
    }
    .tabakr-szenario:hover { border-color: #8b3a3a; }
    .tabakr-szenario.aktiv { border-color: #8b3a3a; background: #f5e8e8; }
    .tabakr-szenario input[type="checkbox"] { margin-top: 2px; flex-shrink: 0; accent-color: #8b3a3a; width: 16px; height: 16px; cursor: pointer; }
    .tabakr-label { flex: 1; cursor: pointer; }
    .tabakr-titel { font-size: 13px; font-weight: 600; color: #5a1f1f; line-height: 1.4; }
    .tabakr-kurz { font-size: 12px; color: #7a3a3a; margin-top: 3px; line-height: 1.4; }
    .tabakr-delta { font-size: 13px; font-weight: 700; color: #8b3a3a; white-space: nowrap; flex-shrink: 0; margin-top: 2px; }
    .tabakr-info-btn {
      display: inline-flex; align-items: center; justify-content: center;
      width: 22px; height: 22px; padding: 0; margin-left: 6px;
      border: 1px solid #d8b8b8; border-radius: 50%;
      background: #f5e8e8; color: #8b3a3a; cursor: pointer; font-size: 13px;
      flex-shrink: 0;
    }
    .tabakr-info-btn:hover { background: #8b3a3a; color: #fff; border-color: #8b3a3a; }

    /* ===== Kindergeld-Szenario-Editor (klappbox--kg) ===== */
    .klappbox--kg { border-left-color: #b9396f; }
    .klappbox--kg .klappbox-header { background: #fbeaef; }
    .klappbox--kg .klappbox-header:hover { background: #f4d5dc; }
    .klappbox--kg .klappbox-status { background: #fbeaef; color: #6e1f3a; }
    .klappbox--kg .klappbox-chevron { color: #b9396f; }

    .kg-info-zeile {
      display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 16px;
      margin-bottom: 10px;
    }
    .kg-info-zeile .kg-label { font-size: 11px; color: #8a4a60; text-transform: uppercase; letter-spacing: 0.04em; }
    .kg-info-zeile .kg-value { font-size: 15px; font-weight: 700; color: #6e1f3a; }
    .kindergeld-akt-delta { font-size: 14px; font-weight: 700; }
    .kindergeld-akt-delta.minus { color: #2c8b57; }
    .kindergeld-akt-delta.plus  { color: #c0392b; }
    .kindergeld-akt-delta.null  { color: #999; font-weight: 600; }

    .kg-section {
      margin: 12px 0 6px;
      padding: 10px 12px 8px;
      background: #fbf3f6;
      border-left: 3px solid #b9396f;
      border-radius: 0 6px 6px 0;
    }
    .kg-section-titel {
      font-size: 12px; font-weight: 700; color: #6e1f3a; text-transform: uppercase; letter-spacing: 0.04em;
    }
    .kg-section-beschr { font-size: 11px; color: #8a4a60; margin-top: 2px; line-height: 1.4; }

    .kg-chips { display: flex; flex-wrap: wrap; gap: 5px; padding: 8px 0 4px; }
    .kg-chip {
      flex: 1 1 90px; min-width: 0;
      display: flex; flex-direction: column; align-items: center; gap: 2px;
      padding: 9px 10px; background: #fff;
      border: 1.5px solid #e6c4d0; border-radius: 7px; cursor: pointer; user-select: none;
      transition: border-color .12s, background .12s; text-align: center;
    }
    .kg-chip:hover { border-color: #b9396f; background: #fbeaef; }
    .kg-chip.aktiv { border-color: #b9396f; background: #f4c8d6; }
    .kg-chip.sq { background: #fbf3f6; }
    .kg-chip.aktiv.sq { background: #f4c8d6; }
    .kg-chip-label { font-size: 13px; font-weight: 700; color: #4a1a2a; line-height: 1.2; }
    .kg-chip-delta { font-size: 11px; font-weight: 600; line-height: 1.2; }
    .kg-chip-delta.minus { color: #2c8b57; }
    .kg-chip-delta.plus  { color: #c0392b; }
    .kg-chip-delta.null  { color: #999; font-weight: 500; }
    .kg-chip-sq-label { font-size: 9px; font-weight: 700; color: #999; text-transform: uppercase; letter-spacing: 0.06em; }

    .kg-ausland-liste { display: flex; flex-direction: column; gap: 6px; padding: 6px 0 4px; }
    .kg-ausland-card {
      display: flex; align-items: flex-start; gap: 10px;
      padding: 9px 12px; background: #fff;
      border: 1.5px solid #e6c4d0; border-radius: 7px; cursor: pointer;
      transition: border-color .15s, background .15s;
    }
    .kg-ausland-card:hover { border-color: #b9396f; background: #fbf3f6; }
    .kg-ausland-card.aktiv { border-color: #b9396f; background: #f4c8d6; }
    .kg-ausland-card input[type="radio"] { margin-top: 2px; flex-shrink: 0; accent-color: #b9396f; width: 16px; height: 16px; }
    .kg-ausland-label { flex: 1; }
    .kg-ausland-titel { font-size: 13px; font-weight: 600; color: #4a1a2a; line-height: 1.4; }
    .kg-ausland-hinweis { font-size: 11px; color: #8a4a60; margin-top: 3px; line-height: 1.45; font-style: italic; }
    .kg-ausland-delta { font-size: 13px; font-weight: 700; color: #2c8b57; white-space: nowrap; flex-shrink: 0; margin-top: 2px; }

    .kg-summe-zeile {
      display: flex; justify-content: space-between; align-items: center;
      padding: 9px 12px; background: #f4c8d6; border-radius: 6px; margin-top: 10px;
      font-size: 12px; color: #4a1a2a;
    }
    .kg-summe-zeile strong { font-size: 13px; }

    .kg-erklaerung {
      font-size: 11px; color: #6e4a5a; background: #faf3f6; border-left: 3px solid #c89cab;
      border-radius: 0 5px 5px 0; padding: 6px 10px; margin: 10px 0 0; line-height: 1.5; font-style: italic;
    }

    .kg-info-btn {
      display: inline-flex; align-items: center; justify-content: center;
      width: 22px; height: 22px; padding: 0; margin-left: 6px;
      border: 1px solid #e6c4d0; border-radius: 50%;
      background: #fbeaef; color: #b9396f; cursor: pointer; font-size: 13px;
      flex-shrink: 0;
    }
    .kg-info-btn:hover { background: #b9396f; color: #fff; border-color: #b9396f; }

    /* ===== Elterngeld-Parameter-Editor (klappbox--eltg) ===== */
    .klappbox--eltg { border-left-color: #b8590e; }
    .klappbox--eltg .klappbox-header { background: #fbf0e3; }
    .klappbox--eltg .klappbox-header:hover { background: #f5e0c7; }
    .klappbox--eltg .klappbox-status { background: #fbf0e3; color: #6e3508; }
    .klappbox--eltg .klappbox-chevron { color: #b8590e; }
    /* ===== Unterhaltsvorschuss-Editor (klappbox--uv) ===== */
    .klappbox--uv { border-left-color: #5e7a4b; }
    .klappbox--uv .klappbox-header { background: #eaf4e0; }
    .klappbox--uv .klappbox-header:hover { background: #daeecb; }
    .klappbox--uv .klappbox-status { background: #eaf4e0; color: #2e4a20; }
    .klappbox--uv .klappbox-chevron { color: #5e7a4b; }

    .eltg-section { margin: 12px 0 6px; }
    .eltg-section-titel {
      font-size: 12px; font-weight: 700; color: #6e3508;
      text-transform: uppercase; letter-spacing: 0.04em;
      display: flex; align-items: center; justify-content: space-between; gap: 8px;
      padding-bottom: 4px;
    }
    .eltg-section-status { font-size: 11px; font-weight: 500; color: #8a5a30; text-transform: none; letter-spacing: 0; }
    .eltg-section-beschr { font-size: 11px; color: #6a4a30; margin-top: 2px; line-height: 1.4; }

    .eltg-chips {
      display: flex; flex-wrap: wrap; gap: 5px; padding: 6px 0 4px;
    }
    .eltg-chip {
      flex: 1 1 0; min-width: 0;
      display: flex; flex-direction: column; align-items: center; gap: 2px;
      padding: 8px 10px;
      background: #fff; border: 1.5px solid #e6cba8;
      border-radius: 6px; cursor: pointer; user-select: none;
      transition: border-color .12s, background .12s;
      text-align: center;
    }
    .eltg-chip:hover { border-color: #b8590e; background: #fbf0e3; }
    .eltg-chip.aktiv { border-color: #b8590e; background: #f5d9b3; }
    .eltg-chip.sq { background: #faf6f0; }
    .eltg-chip.aktiv.sq { background: #f5d9b3; }
    .eltg-chip-label { font-size: 12px; font-weight: 700; color: #5a3008; line-height: 1.2; }
    .eltg-chip-delta { font-size: 11px; font-weight: 600; color: #b8590e; line-height: 1.2; }
    .eltg-chip-delta.minus { color: #2c8b57; }
    .eltg-chip-delta.plus  { color: #c0392b; }
    .eltg-chip-delta.null  { color: #999; font-weight: 500; }
    .eltg-chip-sq-label { font-size: 9px; font-weight: 700; color: #999; text-transform: uppercase; letter-spacing: 0.06em; }

    .eltg-beispiele {
      display: flex; flex-wrap: wrap; gap: 8px;
      margin: 10px 0 6px; padding: 0;
    }
    .eltg-beispiel {
      flex: 1 1 280px;
      padding: 10px 12px;
      background: #fbf6ee; border: 1px solid #e6cba8; border-radius: 7px;
    }
    .eltg-beispiel-titel { font-size: 12px; font-weight: 700; color: #6e3508; margin-bottom: 4px; }
    .eltg-beispiel-zeile { font-size: 12px; color: #5a3a20; line-height: 1.45; margin: 2px 0; }
    .eltg-beispiel-zeile strong { color: #6e3508; }
    .eltg-beispiel-hinweis { font-size: 11px; color: #8a6a45; font-style: italic; margin-top: 4px; line-height: 1.4; }

    .eltg-summe-zeile {
      display: flex; justify-content: space-between; align-items: center;
      padding: 9px 12px; background: #f5d9b3; border-radius: 6px; margin-top: 10px;
      font-size: 13px; color: #6e3508;
    }
    .eltg-summe-zeile strong { font-size: 14px; }

    .eltg-info-btn {
      display: inline-flex; align-items: center; justify-content: center;
      width: 22px; height: 22px; padding: 0;
      border: 1px solid #e6cba8; border-radius: 50%;
      background: #fbf6ee; color: #b8590e; cursor: pointer; font-size: 13px;
      flex-shrink: 0;
    }
    .eltg-info-btn:hover { background: #b8590e; color: #fff; border-color: #b8590e; }

    /* Aggregat-Karte für Familie/Elterngeld */
    .vtd-aggregat-karte--eltg { border-left-color: #b8590e; }
    .vtd-aggregat-karte--eltg .vtd-aggregat-titel,
    .vtd-aggregat-karte--eltg .vtd-aggregat-betrag { color: #6e3508; }
    .vtd-aggregat-karte--eltg .vtd-aggregat-beschr { color: #8a5a30; }

    .vtd-aggregat-karte--buergschaft { border-left-color: #7a8a9c; background: #f3f5f8; }
    .vtd-aggregat-karte--buergschaft .vtd-aggregat-titel,
    .vtd-aggregat-karte--buergschaft .vtd-aggregat-betrag { color: #3a4a5a; }
    .vtd-aggregat-karte--buergschaft .vtd-aggregat-beschr { color: #5a6a7a; }
    .vtd-aggregat-karte--buergschaft .vtd-aggregat-delta { color: #4a5a6a; line-height: 1.55; }
    .vtd-aggregat-karte--kiz { border-left-color: #b9396f; background: #fbeaef; }
    .vtd-aggregat-karte--kiz .vtd-aggregat-titel,
    .vtd-aggregat-karte--kiz .vtd-aggregat-betrag { color: #7a1a3a; }
    .vtd-aggregat-karte--kiz .vtd-aggregat-beschr { color: #9a3a5a; }
    .vtd-aggregat-karte--kiz .vtd-aggregat-delta { color: #8a2a4a; line-height: 1.55; }
    /* ===== Jugendpolitik – Szenario-Editor (klappbox--jugend) ===== */
    .klappbox--jugend { border-left-color: #7a5230; }
    .klappbox--jugend .klappbox-header { background: #f5ede4; }
    .klappbox--jugend .klappbox-header:hover { background: #ecddd0; }
    .klappbox--jugend .klappbox-status { background: #f5ede4; color: #3e2810; }
    .klappbox--jugend .klappbox-chevron { color: #7a5230; }
    .jugend-chip-grid { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
    .jugend-chip { padding: 5px 13px; border-radius: 16px; border: 1.5px solid #c8a87a; background: #faf0e6; color: #3e2810; font-size: 13px; font-weight: 500; cursor: pointer; transition: background 0.15s, border-color 0.15s, color 0.15s; white-space: nowrap; }
    .jugend-chip:hover { background: #ecddd0; border-color: #a07040; }
    .jugend-chip.aktiv-sq { background: #7a5230; border-color: #4e3018; color: #fff; font-weight: 700; }
    .jugend-chip.aktiv-kuerzen { background: #c0392b; border-color: #922b21; color: #fff; font-weight: 700; }
    .jugend-chip.aktiv-ausbauen { background: #27ae60; border-color: #1a7a42; color: #fff; font-weight: 700; }
    .jugend-erklaerung { font-size: 12px; color: #3e2810; background: #faf0e6; border-radius: 6px; padding: 7px 11px; margin-bottom: 8px; line-height: 1.5; }
    .jugend-delta-zeile { font-size: 12px; color: #3e2810; margin-bottom: 8px; }
    .jugend-delta-pos { color: #27ae60; font-weight: 700; }
    .jugend-delta-neg { color: #c0392b; font-weight: 700; }
    .jugend-delta-null { color: #7a5230; font-weight: 700; }
    .jugend-info-box { background: #fdf6ee; border: 1px solid #d4a870; border-radius: 6px; padding: 9px 12px; font-size: 12px; color: #3e2810; line-height: 1.55; margin-top: 8px; }
    .jugend-info-box-titel { font-weight: 700; color: #3e2810; margin-bottom: 4px; font-size: 12px; }
    .jugend-info-zeile { display: flex; justify-content: space-between; gap: 8px; padding: 2px 0; border-bottom: 1px solid #ead8c0; }
    .jugend-info-zeile:last-child { border-bottom: none; }
    .jugend-info-label { color: #5e3a18; }
    .jugend-info-wert { font-weight: 600; color: #3e2810; white-space: nowrap; }
    /* ===== Wohnungsbauprämie – Szenario-Editor (klappbox--wbp) ===== */
    .klappbox--wbp { border-left-color: #5a6a8a; }
    .klappbox--wbp .klappbox-header { background: #eceef8; }
    .klappbox--wbp .klappbox-header:hover { background: #dcdff0; }
    .klappbox--wbp .klappbox-status { background: #eceef8; color: #1e2a5a; }
    .klappbox--wbp .klappbox-chevron { color: #5a6a8a; }
    .wbp-chip-grid { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
    .wbp-chip { padding: 5px 14px; border-radius: 16px; border: 1.5px solid #a0acd0; background: #eceef8; color: #1e2a5a; font-size: 13px; font-weight: 500; cursor: pointer; transition: background 0.15s, border-color 0.15s, color 0.15s; white-space: nowrap; }
    .wbp-chip:hover { background: #d8ddf0; border-color: #7a8ac0; }
    .wbp-chip.aktiv-sq { background: #5a6a8a; border-color: #3a4a6a; color: #fff; font-weight: 700; }
    .wbp-chip.aktiv-abschaffen { background: #c0392b; border-color: #922b21; color: #fff; font-weight: 700; }
    .wbp-chip.aktiv-verdoppeln { background: #27ae60; border-color: #1a7a42; color: #fff; font-weight: 700; }
    .wbp-erklaerung { font-size: 12px; color: #2a3060; background: #eceef8; border-radius: 6px; padding: 7px 11px; margin-bottom: 8px; line-height: 1.5; }
    .wbp-info-box { background: #f4f5fc; border: 1px solid #b0bce0; border-radius: 6px; padding: 9px 12px; font-size: 12px; color: #2a3060; line-height: 1.55; margin-top: 8px; }
    /* ===== Sozialer Wohnungsbau – Szenario-Editor (klappbox--wb) ===== */
    .klappbox--wb { border-left-color: #2e7d6a; }
    .klappbox--wb .klappbox-header { background: #e4f4ef; }
    .klappbox--wb .klappbox-header:hover { background: #cce8e0; }
    .klappbox--wb .klappbox-status { background: #e4f4ef; color: #154535; }
    .klappbox--wb .klappbox-chevron { color: #2e7d6a; }
    .wb-section-titel { font-size: 12px; font-weight: 700; color: #154535; text-transform: uppercase; letter-spacing: 0.04em; margin: 0 0 6px; }
    .wb-beschr { font-size: 12px; color: #1e4a38; margin: 0 0 10px; line-height: 1.55; }
    .wb-chip-grid { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
    .wb-chip { padding: 5px 12px; border-radius: 16px; border: 1.5px solid #8ac4b0; background: #eaf7f2; color: #154535; font-size: 13px; font-weight: 500; cursor: pointer; transition: background 0.15s, border-color 0.15s, color 0.15s; white-space: nowrap; }
    .wb-chip:hover { background: #cce8e0; border-color: #5aaa90; }
    .wb-chip.aktiv-sq { background: #2e7d6a; border-color: #1a5545; color: #fff; font-weight: 700; }
    .wb-chip.aktiv-kuerzen { background: #c0392b; border-color: #922b21; color: #fff; font-weight: 700; }
    .wb-chip.aktiv-erhoehen { background: #27ae60; border-color: #1a7a42; color: #fff; font-weight: 700; }
    .wb-erklaerung { font-size: 12px; color: #1e4a38; background: #e4f4ef; border-radius: 6px; padding: 7px 11px; margin-bottom: 8px; line-height: 1.5; }
    .wb-delta-zeile { font-size: 13px; color: #1e4a38; margin-bottom: 12px; }
    .wb-sep { height: 1px; background: #c0ddd5; margin: 12px 0; }
    .wb-zusatz-liste { display: flex; flex-direction: column; gap: 8px; margin-bottom: 10px; }
    .wb-toggle-karte { display: flex; align-items: flex-start; gap: 10px; background: #fff; border: 1.5px solid #a8d8c8; border-radius: 8px; padding: 10px 12px; cursor: pointer; transition: border-color 0.15s, background 0.15s; }
    .wb-toggle-karte.aktiv { border-color: #2e7d6a; background: #eaf7f2; }
    .wb-toggle-karte:hover { border-color: #5aaa90; }
    .wb-toggle-check { width: 20px; height: 20px; min-width: 20px; border-radius: 4px; border: 2px solid #8ac4b0; background: #fff; display: flex; align-items: center; justify-content: center; font-size: 14px; color: #fff; font-weight: 700; transition: background 0.15s, border-color 0.15s; }
    .wb-toggle-karte.aktiv .wb-toggle-check { background: #2e7d6a; border-color: #2e7d6a; }
    .wb-toggle-body { flex: 1; min-width: 0; }
    .wb-toggle-label { font-size: 13px; font-weight: 600; color: #154535; margin-bottom: 3px; }
    .wb-toggle-erkl { font-size: 11px; color: #2e5a46; line-height: 1.5; margin-bottom: 3px; }
    .wb-toggle-betrag { font-size: 12px; font-weight: 700; color: #27ae60; }
    .wb-toggle-karte.aktiv .wb-toggle-betrag { color: #27ae60; }
    .wb-gesamt-zeile { font-size: 13px; color: #1e4a38; font-weight: 600; margin-bottom: 10px; }
    .wb-info-box { background: #f0faf6; border: 1px solid #a0d8c8; border-radius: 6px; padding: 10px 12px; font-size: 12px; color: #1e4a38; line-height: 1.55; margin-top: 4px; }
    .wb-info-box-titel { font-weight: 700; color: #154535; margin-bottom: 4px; font-size: 12px; }
    .wb-delta-pos { color: #27ae60; font-weight: 700; }
    .wb-delta-neg { color: #c0392b; font-weight: 700; }
    .wb-delta-null { color: #2e7d6a; font-weight: 700; }
    /* ===== Wohngeld-Szenario-Editor (klappbox--wg) ===== */
    .klappbox--wg { border-left-color: #3e6aa8; }
    .klappbox--wg .klappbox-header { background: #e8f0fa; }
    .klappbox--wg .klappbox-header:hover { background: #d5e4f5; }
    .klappbox--wg .klappbox-status { background: #e8f0fa; color: #1e3a6a; }
    .klappbox--wg .klappbox-chevron { color: #3e6aa8; }
    .wg-chip-grid { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
    .wg-chip { padding: 5px 13px; border-radius: 16px; border: 1.5px solid #a8c0e0; background: #edf3fb; color: #1e3a6a; font-size: 13px; font-weight: 500; cursor: pointer; transition: background 0.15s, border-color 0.15s, color 0.15s; white-space: nowrap; }
    .wg-chip:hover { background: #d0e3f5; border-color: #5e90d0; }
    .wg-chip.aktiv-sq { background: #3e6aa8; border-color: #2a4a88; color: #fff; font-weight: 700; }
    .wg-chip.aktiv-kuerzen { background: #c0392b; border-color: #922b21; color: #fff; font-weight: 700; }
    .wg-chip.aktiv-ausweiten { background: #27ae60; border-color: #1a7a42; color: #fff; font-weight: 700; }
    .wg-erklaerung { font-size: 12px; color: #2a3a5a; background: #e8f0fa; border-radius: 6px; padding: 8px 12px; margin-bottom: 8px; line-height: 1.5; }
    .wg-delta-zeile { display: flex; align-items: center; gap: 12px; font-size: 13px; color: #2a3a5a; }
    .wg-delta-pos { color: #1a7a42; font-weight: 700; }
    .wg-delta-neg { color: #c0392b; font-weight: 700; }
    .wg-delta-null { color: #3e6aa8; font-weight: 700; }
    .wg-info-box { background: #f0f6ff; border: 1px solid #b8d0f0; border-radius: 6px; padding: 10px 12px; font-size: 12px; color: #2a3a5a; line-height: 1.55; margin-top: 10px; }
    .wg-info-box-titel { font-weight: 700; color: #1e3a6a; margin-bottom: 5px; font-size: 12px; }
    /* ===== Unterhaltsvorschuss-Editor ===== */
    .uv-editor { border-left: 4px solid #5e7a4b; background: #f4f8f1; border-radius: 8px; margin: 6px 0; }
    .uv-editor-kopf { display: flex; align-items: center; gap: 8px; padding: 10px 14px 0; }
    .uv-editor-titel { font-size: 14px; font-weight: 600; color: #2e4a20; flex: 1; }
    .uv-editor-gesamt { font-size: 13px; font-weight: 700; color: #2e4a20; white-space: nowrap; }
    .uv-editor-hinweis { font-size: 12px; color: #4a6a38; padding: 4px 14px 8px; line-height: 1.5; }
    .uv-editor-body { padding: 4px 14px 12px; }
    .uv-gruppe { background: #fff; border: 1px solid #c8dbb8; border-radius: 6px; margin-bottom: 8px; padding: 10px 12px 8px; }
    .uv-gruppe:last-child { margin-bottom: 0; }
    .uv-gruppe-label { font-size: 12px; font-weight: 700; color: #2e4a20; text-transform: uppercase; letter-spacing: 0.04em; margin-bottom: 8px; }
    .uv-chips { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 8px; }
    .uv-chip { padding: 4px 10px; border-radius: 14px; border: 1.5px solid #a0bb8a; background: #f0f6ea; color: #3a5a28; font-size: 12px; font-weight: 500; cursor: pointer; transition: background 0.15s, border-color 0.15s, color 0.15s; white-space: nowrap; }
    .uv-chip:hover { background: #ddeece; border-color: #7aaa60; }
    .uv-chip.aktiv { background: #5e7a4b; border-color: #3e5a30; color: #fff; font-weight: 700; }
    .uv-chip.aktiv-abschaffen { background: #c0392b; border-color: #922b21; color: #fff; }
    .uv-chip.aktiv-minus { background: #e67e22; border-color: #b7650d; color: #fff; }
    .uv-chip.aktiv-plus { background: #27ae60; border-color: #1a7a42; color: #fff; }
    .uv-info-zeile { display: flex; gap: 16px; font-size: 12px; color: #4a6a38; flex-wrap: wrap; }
    .uv-info-zeile span { display: inline-flex; align-items: center; gap: 4px; }
    .uv-info-zeile strong { color: #2e4a20; }
    .uv-delta-pos { color: #1a7a42 !important; font-weight: 700; }
    .uv-delta-neg { color: #c0392b !important; font-weight: 700; }
    .uv-delta-null { color: #5e7a4b !important; }
    @media (max-width: 600px) {
      .uv-chips { gap: 4px; }
      .uv-chip { font-size: 11px; padding: 3px 8px; }
    }

    .vtd-aggregat-karte--gkv-andere { border-left-color: #6a8e76; background: #f4f8f5; }
    .vtd-aggregat-karte--gkv-andere .vtd-aggregat-titel,
    .vtd-aggregat-karte--gkv-andere .vtd-aggregat-betrag { color: #34614a; }
    .vtd-aggregat-karte--gkv-andere .vtd-aggregat-beschr { color: #4a6c54; }

    /* ===== Strompreis-Subventionen-Editor (klappbox--strom) ===== */
    .klappbox--strom { border-left-color: #1e6091; }
    .klappbox--strom .klappbox-header { background: #e8f1f8; }
    .klappbox--strom .klappbox-header:hover { background: #d6e6f2; }
    .klappbox--strom .klappbox-status { background: #e8f1f8; color: #0f3a5c; }
    .klappbox--strom .klappbox-chevron { color: #1e6091; }

    .strom-section {
      margin: 10px 0 6px;
      padding: 8px 12px 6px;
      border-left: 3px solid #1e6091;
      background: #f4f8fc;
      border-radius: 0 6px 6px 0;
    }
    .strom-section-titel {
      font-size: 12px; font-weight: 700; color: #0f3a5c; text-transform: uppercase; letter-spacing: 0.04em;
    }
    .strom-section-beschr {
      font-size: 11px; color: #466880; margin-top: 2px; line-height: 1.4;
    }
    .strom-stufen-liste { display: flex; flex-direction: column; gap: 6px; padding: 8px 0 4px; }
    .strom-stufe {
      display: flex; align-items: flex-start; gap: 10px;
      padding: 9px 12px; background: #fff;
      border: 1.5px solid #c8d8e6; border-radius: 7px; cursor: pointer;
      transition: border-color .15s, background .15s;
    }
    .strom-stufe:hover { border-color: #1e6091; background: #f0f6fb; }
    .strom-stufe.aktiv { border-color: #1e6091; background: #dbe8f3; }
    .strom-stufe input[type="radio"] { margin-top: 2px; flex-shrink: 0; accent-color: #1e6091; width: 16px; height: 16px; }
    .strom-stufe-label { flex: 1; }
    .strom-stufe-titel { font-size: 13px; font-weight: 600; color: #0f3a5c; line-height: 1.4; }
    .strom-stufe-kurz { font-size: 11px; color: #466880; margin-top: 2px; line-height: 1.4; }
    .strom-stufe-delta { font-size: 12px; font-weight: 700; color: #1e6091; white-space: nowrap; flex-shrink: 0; margin-top: 2px; }
    .strom-stufe.aktiv .strom-stufe-delta { color: #0f3a5c; }
    .strom-stufe-delta.plus { color: #c0392b; }

    .strom-info-btn {
      display: inline-flex; align-items: center; justify-content: center;
      width: 22px; height: 22px; padding: 0; margin-left: 6px;
      border: 1px solid #c8d8e6; border-radius: 50%;
      background: #f0f6fb; color: #1e6091; cursor: pointer; font-size: 13px;
      flex-shrink: 0;
    }
    .strom-info-btn:hover { background: #1e6091; color: #fff; border-color: #1e6091; }

    .strom-checks-liste { display: flex; flex-direction: column; gap: 6px; padding: 6px 0 8px; }
    .strom-check {
      display: flex; align-items: flex-start; gap: 10px; padding: 9px 12px;
      background: #fff; border: 1.5px solid #c8d8e6; border-radius: 7px;
      transition: border-color .15s, background .15s;
    }
    .strom-check:hover { border-color: #1e6091; }
    .strom-check.aktiv { border-color: #1e6091; background: #dbe8f3; }
    .strom-check input[type="checkbox"] { margin-top: 2px; flex-shrink: 0; accent-color: #1e6091; width: 16px; height: 16px; }
    .strompreis-check-label { flex: 1; cursor: pointer; }
    .strompreis-check-titel { font-size: 13px; font-weight: 600; color: #0f3a5c; line-height: 1.4; }
    .strompreis-check-ziel { font-size: 11px; color: #466880; margin-top: 2px; font-style: italic; }
    .strompreis-check-kurz { font-size: 12px; color: #2c4a66; margin-top: 3px; line-height: 1.4; }
    .strompreis-check-delta { font-size: 12px; font-weight: 700; color: #1e6091; white-space: nowrap; flex-shrink: 0; margin-top: 2px; }
    .strom-check.aktiv .strompreis-check-delta { color: #0f3a5c; }

    .strompreis-summe-zeile {
      display: flex; justify-content: space-between; align-items: center;
      padding: 9px 12px; background: #d6e6f2; border-radius: 6px; margin-top: 6px;
      font-size: 13px; color: #0f3a5c;
    }
    .strompreis-summe-zeile strong { font-size: 14px; }
    .strompreis-summe-zeile .saldo-plus { color: #c0392b; }

    /* Universal Info-Popup-Overlay */
    .info-popup-overlay {
      position: fixed; inset: 0; background: rgba(0,0,0,0.55);
      display: flex; align-items: center; justify-content: center;
      z-index: 9000; padding: 20px;
      animation: popupFadeIn 0.18s ease-out;
    }
    @keyframes popupFadeIn { from { opacity: 0; } to { opacity: 1; } }
    .info-popup {
      background: #fff; border-radius: 10px; max-width: 640px; width: 100%;
      max-height: 86vh; display: flex; flex-direction: column;
      box-shadow: 0 12px 48px rgba(0,0,0,0.25);
      overflow: hidden;
    }
    .info-popup-header {
      display: flex; justify-content: space-between; align-items: flex-start;
      padding: 14px 18px; background: #1e6091; color: #fff; gap: 12px;
    }
    .info-popup-titel { font-size: 15px; font-weight: 700; line-height: 1.35; flex: 1; }
    .info-popup-schliessen {
      background: transparent; border: none; color: #fff; font-size: 22px; line-height: 1;
      cursor: pointer; padding: 0 4px; flex-shrink: 0;
    }
    .info-popup-schliessen:hover { color: #ffe; }
    .info-popup-body { padding: 16px 18px; overflow-y: auto; }
    .info-popup-section { margin-bottom: 12px; }
    .info-popup-section-titel {
      font-size: 11px; font-weight: 700; color: #1e6091; text-transform: uppercase;
      letter-spacing: 0.04em; margin-bottom: 4px;
    }
    .info-popup-section-text { font-size: 13px; color: #2c3e50; line-height: 1.55; }
    .info-popup-meta {
      padding: 8px 12px; background: #f0f6fb; border-radius: 6px;
      font-size: 12px; color: #466880; margin-bottom: 12px;
    }
    .info-popup-meta strong { color: #0f3a5c; }
    .info-popup-quelle {
      font-size: 11px; color: #7a8a9a; font-style: italic;
      padding-top: 8px; border-top: 1px solid #e0e6ed; margin-top: 8px;
    }

    /* ===== GKV-Reform-Editor (klappbox--gkv) ===== */
    .klappbox--gkv { border-left-color: #2c8b57; }
    .klappbox--gkv .klappbox-header { background: #e8f4ec; }
    .klappbox--gkv .klappbox-header:hover { background: #d6ecdf; }
    .klappbox--gkv .klappbox-status { background: #e8f4ec; color: #1a5a36; }
    .klappbox--gkv .klappbox-chevron { color: #2c8b57; }

    /* GKV Sub-Sektion: einzelnes Reform-Thema, eigenständig klappbar */
    .gkv-sub {
      margin: 10px 0 4px;
      border: 1px solid #c3dccf;
      border-radius: 7px;
      background: #fafdfb;
      overflow: hidden;
    }
    .gkv-sub-header {
      display: flex; align-items: center; gap: 10px; width: 100%;
      padding: 10px 12px; background: #eaf3ee;
      border: none; cursor: pointer; font: inherit; text-align: left; color: inherit;
      transition: background .12s;
    }
    .gkv-sub-header:hover { background: #dbecdf; }
    .gkv-sub-chevron { font-size: 0.78em; width: 12px; flex-shrink: 0; color: #2c8b57; }
    .gkv-sub-titel { font-size: 13px; font-weight: 700; flex: 1; color: #1a5a36; }
    .gkv-sub-status { font-size: 11px; color: #466e54; white-space: nowrap; }
    .gkv-sub-inhalt { padding: 10px 12px 12px; }
    .gkv-sub.zu .gkv-sub-inhalt { display: none; }

    .gkv-szenario-liste { display: flex; flex-direction: column; gap: 6px; padding: 4px 0 6px; }
    .gkv-szenario {
      display: flex; align-items: flex-start; gap: 10px;
      padding: 9px 12px; background: #fff;
      border: 1.5px solid #c3dccf; border-radius: 7px; cursor: pointer;
      transition: border-color .15s, background .15s;
    }
    .gkv-szenario:hover { border-color: #2c8b57; background: #f0f7f3; }
    .gkv-szenario.aktiv { border-color: #2c8b57; background: #d8ead9; }
    .gkv-szenario input[type="radio"] { margin-top: 2px; flex-shrink: 0; accent-color: #2c8b57; width: 16px; height: 16px; }
    .gkv-szenario-label { flex: 1; }
    .gkv-szenario-titel { font-size: 13px; font-weight: 600; color: #1a5a36; line-height: 1.4; }
    .gkv-szenario-kurz { font-size: 11px; color: #466e54; margin-top: 2px; line-height: 1.4; }
    .gkv-szenario-delta { font-size: 12px; font-weight: 700; color: #2c8b57; white-space: nowrap; flex-shrink: 0; margin-top: 2px; }
    .gkv-szenario.aktiv .gkv-szenario-delta { color: #1a5a36; }
    .gkv-info-btn {
      display: inline-flex; align-items: center; justify-content: center;
      width: 22px; height: 22px; padding: 0; margin-left: 6px;
      border: 1px solid #c3dccf; border-radius: 50%;
      background: #f0f7f3; color: #2c8b57; cursor: pointer; font-size: 13px;
      flex-shrink: 0;
    }
    .gkv-info-btn:hover { background: #2c8b57; color: #fff; border-color: #2c8b57; }

    .gkv-summe-zeile {
      display: flex; justify-content: space-between; align-items: center;
      padding: 9px 12px; background: #d6ecdf; border-radius: 6px; margin-top: 8px;
      font-size: 13px; color: #1a5a36;
    }
    .gkv-summe-zeile strong { font-size: 14px; }

    .klappbox--fv { border-left-color: #6e4a5a; }
    .klappbox--fv .klappbox-header { background: #f4ecf0; }
    .klappbox--fv .klappbox-header:hover { background: #ebdee5; }
    .klappbox--fv .klappbox-status { background: #f4ecf0; color: #4a2a38; }
    .klappbox--fv .klappbox-chevron { color: #6e4a5a; }

    .fv-massnahmen-liste { display: flex; flex-direction: column; gap: 8px; padding: 4px 0 8px; }
    .fv-massnahme {
      display: flex; align-items: flex-start; gap: 10px; padding: 10px 12px;
      background: #fff; border: 1.5px solid #d8c8d1; border-radius: 7px; cursor: pointer;
      transition: border-color .15s, background .15s;
    }
    .fv-massnahme:hover { border-color: #6e4a5a; background: #faf5f7; }
    .fv-massnahme.aktiv { border-color: #6e4a5a; background: #ede0e6; }
    .fv-massnahme input[type="checkbox"] { margin-top: 2px; flex-shrink: 0; accent-color: #6e4a5a; width: 16px; height: 16px; }
    .fv-massnahme-label { flex: 1; }
    .fv-massnahme-titel { font-size: 13px; font-weight: 600; color: #3a1f2a; line-height: 1.4; }
    .fv-massnahme-ziel { font-size: 11px; color: #8a6a75; margin-top: 2px; font-style: italic; }
    .fv-massnahme-erkl { font-size: 12px; color: #5a3a48; margin-top: 3px; line-height: 1.4; }
    .fv-massnahme-tooltip { font-size: 11px; color: #8a6a75; margin-top: 3px; line-height: 1.4; font-style: italic; }
    .fv-massnahme-delta { font-size: 12px; font-weight: 700; color: #6e4a5a; white-space: nowrap; flex-shrink: 0; margin-top: 2px; }
    .fv-massnahme.aktiv .fv-massnahme-delta { color: #3a1f2a; }
    .fv-summe-zeile {
      display: flex; justify-content: space-between; align-items: center;
      padding: 8px 12px; background: #ebdee5; border-radius: 6px; margin-top: 4px;
      font-size: 13px; color: #3a1f2a;
    }
    .fv-summe-zeile strong { font-size: 14px; }

    /* Militärhilfe Ukraine + NATO-Pfad: Klappbox-Akzente */
    .klappbox--ukraine { border-left-color: #c8a81a; }
    .klappbox--ukraine .klappbox-header { background: #fbf7e4; }
    .klappbox--ukraine .klappbox-header:hover { background: #f5efc8; }
    .klappbox--ukraine .klappbox-status { background: #fbf7e4; color: #8c7200; }
    .klappbox--ukraine .klappbox-chevron { color: #c8a81a; }

    .klappbox--natopfad { border-left-color: #3e6aa8; }
    .klappbox--natopfad .klappbox-header { background: #eef3f9; }
    .klappbox--natopfad .klappbox-header:hover { background: #dce6f2; }
    .klappbox--natopfad .klappbox-status { background: #eef3f9; color: #1d3a63; }
    .klappbox--natopfad .klappbox-chevron { color: #3e6aa8; }

    .vp-optionen { display: flex; flex-direction: column; gap: 7px; padding: 4px 0 8px; }
    .vp-option {
      display: flex; align-items: center; gap: 10px; padding: 10px 12px;
      background: #fff; border: 1.5px solid #dcdce6; border-radius: 7px; cursor: pointer;
      transition: border-color .15s, background .15s;
    }
    .vp-option:hover { background: #f7f7fb; }
    .vp-option.aktiv { background: #eef2fb; }
    .vp-option input[type="radio"] { flex-shrink: 0; width: 16px; height: 16px; }
    .vp-option-inhalt { flex: 1; display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }
    .vp-option-label { font-size: 13px; font-weight: 600; color: #1f1f2e; }
    .vp-option-werte {
      display: flex; gap: 10px; align-items: baseline; flex-shrink: 0;
      font-variant-numeric: tabular-nums;
    }
    .vp-option-wert { font-size: 13px; font-weight: 700; color: #1f1f2e; }
    .vp-option-delta { font-size: 12px; font-weight: 600; }
    .vp-option-delta--plus  { color: #a04040; }
    .vp-option-delta--minus { color: #2c7a3f; }
    .vp-option-delta--null  { color: #888; }
    .klappbox--ukraine .vp-option.aktiv  { border-color: #c8a81a; background: #faf2d4; }
    .klappbox--natopfad .vp-option.aktiv { border-color: #3e6aa8; background: #dce6f2; }
    .klappbox--ukraine .vp-option input[type="radio"]  { accent-color: #c8a81a; }
    .klappbox--natopfad .vp-option input[type="radio"] { accent-color: #3e6aa8; }

    /* Militärhilfe weitere Staaten */
    .klappbox--mhs { border-left-color: #a86f3e; }
    .klappbox--mhs .klappbox-header { background: #fbf4eb; }
    .klappbox--mhs .klappbox-header:hover { background: #f5e9d9; }
    .klappbox--mhs .klappbox-status { background: #fbf4eb; color: #6a4420; }
    .klappbox--mhs .klappbox-chevron { color: #a86f3e; }
    .mhs-land-gruppe { margin-bottom: 14px; }
    .mhs-land-kopf {
      display: flex; justify-content: space-between; align-items: baseline;
      padding: 8px 10px; margin-bottom: 6px;
      background: #fbf4eb; border-left: 3px solid #a86f3e; border-radius: 4px;
    }
    .mhs-land-titel { font-size: 13px; font-weight: 700; color: #6a4420; }
    .mhs-land-wert { font-size: 13px; font-weight: 700; color: #6a4420; font-variant-numeric: tabular-nums; }
    .mhs-land-erkl { font-size: 11px; color: #7a5a3a; padding: 0 10px 6px; line-height: 1.4; font-style: italic; }
    .klappbox--mhs .vp-option.aktiv { border-color: #a86f3e; background: #fbefda; }
    .klappbox--mhs .vp-option input[type="radio"] { accent-color: #a86f3e; }

    /* Wehrdienst / Wehrpflicht */
    .klappbox--wehrdienst { border-left-color: #5e7a4b; }
    .klappbox--wehrdienst .klappbox-header { background: #eef3e9; }
    .klappbox--wehrdienst .klappbox-header:hover { background: #dde8d3; }
    .klappbox--wehrdienst .klappbox-status { background: #eef3e9; color: #3c5030; }
    .klappbox--wehrdienst .klappbox-chevron { color: #5e7a4b; }
    .klappbox--wehrdienst .vp-option.aktiv { border-color: #5e7a4b; background: #e3edd8; }
    .klappbox--wehrdienst .vp-option input[type="radio"] { accent-color: #5e7a4b; }

    /* Deutschlandticket-Reform-Klappbox (Verkehr) */
    .klappbox--deutschlandticket { border-left-color: #1e88a8; }
    .klappbox--deutschlandticket .klappbox-header { background: #e0f2f7; }
    .klappbox--deutschlandticket .klappbox-header:hover { background: #c5e3ed; }
    .klappbox--deutschlandticket .klappbox-status { background: #e0f2f7; color: #0e4654; }
    .klappbox--deutschlandticket .klappbox-chevron { color: #1e88a8; }
    .klappbox--deutschlandticket .vp-option.aktiv { border-color: #1e88a8; background: #d4ebf2; }
    .klappbox--deutschlandticket .vp-option input[type="radio"] { accent-color: #1e88a8; }
    .klappbox--film { border-left-color: #5e35b1; }
    .klappbox--film .klappbox-header { background: #ede7f6; }
    .klappbox--film .klappbox-header:hover { background: #d7ccef; }
    .klappbox--film .klappbox-status { background: #ede7f6; color: #311b6b; }
    .klappbox--film .klappbox-chevron { color: #5e35b1; }
    .klappbox--film .vp-option.aktiv { border-color: #5e35b1; background: #e2daf5; }
    .klappbox--film .vp-option input[type="radio"] { accent-color: #5e35b1; }
    .klappbox--bafoeg-wohn { border-left-color: #1565c0; }
    .klappbox--bafoeg-wohn .klappbox-header { background: #e3f0fb; }
    .klappbox--bafoeg-wohn .klappbox-header:hover { background: #c8def0; }
    .klappbox--bafoeg-wohn .klappbox-status { background: #e3f0fb; color: #0d3a6e; }
    .klappbox--bafoeg-wohn .klappbox-chevron { color: #1565c0; }
    .klappbox--bafoeg-wohn .vp-option.aktiv { border-color: #1565c0; background: #d4e6f6; }
    .klappbox--bafoeg-wohn .vp-option input[type="radio"] { accent-color: #1565c0; }
    .klappbox--bafoeg-grund { border-left-color: #b8860b; }
    .klappbox--bafoeg-grund .klappbox-header { background: #f8f1de; }
    .klappbox--bafoeg-grund .klappbox-header:hover { background: #eee0b8; }
    .klappbox--bafoeg-grund .klappbox-status { background: #f8f1de; color: #6e4e07; }
    .klappbox--bafoeg-grund .klappbox-chevron { color: #b8860b; }
    .klappbox--bafoeg-grund .vp-option.aktiv { border-color: #b8860b; background: #f0e3bf; }
    .klappbox--bafoeg-grund .vp-option input[type="radio"] { accent-color: #b8860b; }

    /* Regionalisierungsmittel-Reform-Klappbox (Verkehr) — dunkles Teal */
    .klappbox--regionalisierung { border-left-color: #00838f; }
    .klappbox--regionalisierung .klappbox-header { background: #d8efef; }
    .klappbox--regionalisierung .klappbox-header:hover { background: #b8e0e0; }
    .klappbox--regionalisierung .klappbox-status { background: #d8efef; color: #004d52; }
    .klappbox--regionalisierung .klappbox-chevron { color: #00838f; }
    .klappbox--regionalisierung .vp-option.aktiv { border-color: #00838f; background: #c8e8e8; }
    .klappbox--regionalisierung .vp-option input[type="radio"] { accent-color: #00838f; }

    /* Deutsche-Bahn-Reform-Klappbox (Verkehr) — DB-Rot */
    .klappbox--bahn { border-left-color: #c8102e; }
    .klappbox--bahn .klappbox-header { background: #fbe4e6; }
    .klappbox--bahn .klappbox-header:hover { background: #f5cdd1; }
    .klappbox--bahn .klappbox-status { background: #fbe4e6; color: #6a0e15; }
    .klappbox--bahn .klappbox-chevron { color: #c8102e; }
    .klappbox--bahn .vp-option.aktiv { border-color: #c8102e; background: #f7d2d6; }
    .klappbox--bahn .vp-option input[type="radio"] { accent-color: #c8102e; }

    /* Autobahn-Moratorium-Klappbox (Verkehr) — Asphalt-Anthrazit */
    .klappbox--autobahn { border-left-color: #4a4a4a; }
    .klappbox--autobahn .klappbox-header { background: #e8e8e8; }
    .klappbox--autobahn .klappbox-header:hover { background: #d8d8d8; }
    .klappbox--autobahn .klappbox-status { background: #e8e8e8; color: #2a2a2a; }
    .klappbox--autobahn .klappbox-chevron { color: #4a4a4a; }
    .klappbox--autobahn .vp-option.aktiv { border-color: #4a4a4a; background: #d0d0d0; }
    .klappbox--autobahn .vp-option input[type="radio"] { accent-color: #4a4a4a; }

    /* Bahn-Generalsanierungs-Klappbox (Verkehr) — Sienna/Rust (Bau-/Sanierungs-Theme) */
    .klappbox--bahnsanierung { border-left-color: #a0522d; }
    .klappbox--bahnsanierung .klappbox-header { background: #f5e8de; }
    .klappbox--bahnsanierung .klappbox-header:hover { background: #ecd6c2; }
    .klappbox--bahnsanierung .klappbox-status { background: #f5e8de; color: #5e2f15; }
    .klappbox--bahnsanierung .klappbox-chevron { color: #a0522d; }
    .klappbox--bahnsanierung .vp-option.aktiv { border-color: #a0522d; background: #efd8c4; }
    .klappbox--bahnsanierung .vp-option input[type="radio"] { accent-color: #a0522d; }
    .vp-option-tooltip { font-size: 11px; color: #7a7a8a; margin-top: 3px; line-height: 1.4; font-style: italic; }

    .klappbox--wsp { border-left-color: #1e4d80; }
    .klappbox--wsp .klappbox-header { background: #eaf0f8; }
    .klappbox--wsp .klappbox-header:hover { background: #d7e3f1; }
    .klappbox--wsp .klappbox-status { background: #eaf0f8; color: #143358; }
    .klappbox--wsp .klappbox-chevron { color: #1e4d80; }

    .wsp-massnahmen-liste { display: flex; flex-direction: column; gap: 8px; padding: 4px 0 8px; }
    .wsp-massnahme {
      display: flex; align-items: flex-start; gap: 10px; padding: 10px 12px;
      background: #fff; border: 1.5px solid #c8d6e8; border-radius: 7px; cursor: pointer;
      transition: border-color .15s, background .15s;
    }
    .wsp-massnahme:hover { border-color: #1e4d80; background: #f5f8fc; }
    .wsp-massnahme.aktiv { border-color: #1e4d80; background: #dde7f3; }
    .wsp-massnahme input[type="checkbox"] { margin-top: 2px; flex-shrink: 0; accent-color: #1e4d80; width: 16px; height: 16px; }
    .wsp-massnahme-label { flex: 1; }
    .wsp-massnahme-titel { font-size: 13px; font-weight: 600; color: #102c4e; line-height: 1.4; }
    .wsp-massnahme-ziel { font-size: 11px; color: #5a7ba8; margin-top: 2px; font-style: italic; }
    .wsp-massnahme-erkl { font-size: 12px; color: #2d4c74; margin-top: 3px; line-height: 1.4; }
    .wsp-massnahme-tooltip { font-size: 11px; color: #5a7ba8; margin-top: 3px; line-height: 1.4; font-style: italic; }
    .wsp-massnahme-delta { font-size: 12px; font-weight: 700; color: #1e4d80; white-space: nowrap; flex-shrink: 0; margin-top: 2px; }
    .wsp-massnahme.aktiv .wsp-massnahme-delta { color: #102c4e; }
    .wsp-summe-zeile {
      display: flex; justify-content: space-between; align-items: center;
      padding: 8px 12px; background: #d7e3f1; border-radius: 6px; margin-top: 4px;
      font-size: 13px; color: #102c4e;
    }
    .wsp-summe-zeile strong { font-size: 14px; }

    .klappbox--se { border-left-color: #2c7a7b; }
    .klappbox--se .klappbox-header { background: #eaf4f4; }
    .klappbox--se .klappbox-header:hover { background: #d4e9e9; }
    .klappbox--se .klappbox-status { background: #eaf4f4; color: #1e5a5a; }
    .klappbox--se .klappbox-chevron { color: #2c7a7b; }

    .se-massnahmen-liste { display: flex; flex-direction: column; gap: 8px; padding: 4px 0 8px; }
    .se-massnahme {
      display: flex; align-items: flex-start; gap: 10px; padding: 10px 12px;
      background: #fff; border: 1.5px solid #c8ddde; border-radius: 7px; cursor: pointer;
      transition: border-color .15s, background .15s;
    }
    .se-massnahme:hover { border-color: #2c7a7b; background: #f3faf9; }
    .se-massnahme.aktiv { border-color: #2c7a7b; background: #dcf0ef; }
    .se-massnahme input[type="checkbox"] { margin-top: 2px; flex-shrink: 0; accent-color: #2c7a7b; width: 16px; height: 16px; }
    .se-massnahme-label { flex: 1; }
    .se-massnahme-titel { font-size: 13px; font-weight: 600; color: #1a3e3f; line-height: 1.4; }
    .se-massnahme-erkl { font-size: 12px; color: #3d6667; margin-top: 2px; line-height: 1.4; }
    .se-massnahme-tooltip { font-size: 11px; color: #5a8889; margin-top: 3px; line-height: 1.4; font-style: italic; }
    .se-massnahme-delta { font-size: 12px; font-weight: 700; color: #2c7a7b; white-space: nowrap; flex-shrink: 0; margin-top: 2px; }
    .se-massnahme.aktiv .se-massnahme-delta { color: #1e5a5a; }
    .se-summe-zeile {
      display: flex; justify-content: space-between; align-items: center;
      padding: 8px 12px; background: #d4e9e9; border-radius: 6px; margin-top: 4px;
      font-size: 13px; color: #1a3e3f;
    }
    .se-summe-zeile strong { font-size: 14px; }

    .klappbox--am { border-left-color: #c07000; }
    .klappbox--am .klappbox-header { background: #fdf5e6; }
    .klappbox--am .klappbox-header:hover { background: #faebd0; }
    .klappbox--am .klappbox-status { background: #fdf5e6; color: #7a4500; }
    .klappbox--am .klappbox-chevron { color: #c07000; }

    .am-massnahmen-liste { display: flex; flex-direction: column; gap: 8px; padding: 4px 0 8px; }
    .am-massnahme {
      display: flex; align-items: flex-start; gap: 10px; padding: 10px 12px;
      background: #fff; border: 1.5px solid #e8dcc8; border-radius: 7px; cursor: pointer;
      transition: border-color .15s, background .15s;
    }
    .am-massnahme:hover { border-color: #c07000; background: #fffbf3; }
    .am-massnahme.aktiv { border-color: #c07000; background: #fef3d8; }
    .am-massnahme input[type="checkbox"] { margin-top: 2px; flex-shrink: 0; accent-color: #c07000; width: 16px; height: 16px; }
    .am-massnahme-label { flex: 1; }
    .am-massnahme-titel { font-size: 13px; font-weight: 600; color: #3a2a00; line-height: 1.4; }
    .am-massnahme-erkl { font-size: 12px; color: #6b5320; margin-top: 2px; line-height: 1.4; }
    .am-massnahme-delta { font-size: 12px; font-weight: 700; color: #c07000; white-space: nowrap; flex-shrink: 0; margin-top: 2px; }
    .am-massnahme.aktiv .am-massnahme-delta { color: #a04800; }
    .am-summe-zeile {
      display: flex; justify-content: space-between; align-items: center;
      padding: 8px 12px; background: #faebd0; border-radius: 6px; margin-top: 4px;
      font-size: 13px; color: #5a3a00;
    }
    .am-summe-zeile strong { font-size: 14px; }

    /* ===== Asylbewerberleistungen: Editor ===== */
    .asyl-editor { padding: 2px 4px; }
    .asyl-info {
      background: #fff;
      border: 1px solid #eccfcc;
      border-radius: 6px;
      padding: var(--abstand-sm) var(--abstand-md);
      margin-bottom: var(--abstand-sm);
    }
    .asyl-info-titel { font-weight: 700; color: #7a2d28; margin-bottom: 4px; }
    .asyl-info-text { font-size: 0.88em; color: #444; line-height: 1.4; }
    .asyl-delta {
      display: inline-block;
      padding: 4px 12px;
      border-radius: 14px;
      background: #eceff1;
      color: #546e7a;
      font-weight: 700;
      font-size: 0.88em;
      margin-bottom: var(--abstand-sm);
    }
    .asyl-delta--minus { background: #e8f5e9; color: #2e7d32; }
    .asyl-delta--plus  { background: #fbe9e7; color: #c62828; }
    .asyl-gruppe {
      margin-top: var(--abstand-sm);
      padding: 10px 12px;
      background: #fafafa;
      border: 1px solid #e4dddc;
      border-radius: 6px;
    }
    .asyl-gruppe-titel { font-weight: 700; color: #5c3532; margin-bottom: 3px; }
    .asyl-gruppe-erklaerung { font-size: 0.85em; color: #666; line-height: 1.4; margin-bottom: 8px; }
    .asyl-karten { display: flex; flex-direction: column; gap: 6px; }
    .asyl-karte {
      display: grid;
      grid-template-columns: auto 1fr;
      grid-template-rows: auto auto;
      gap: 4px 10px;
      padding: 8px 10px;
      background: #fff;
      border: 1px solid #d8cdcc;
      border-radius: 6px;
      cursor: pointer;
      transition: border-color 0.15s, background 0.15s;
    }
    .asyl-karte:hover { border-color: #a04545; }
    .asyl-karte.aktiv {
      border-color: #a04545;
      background: #fbeeed;
      box-shadow: 0 0 0 1px #a04545 inset;
    }
    .asyl-karte-radio { grid-row: 1 / span 2; align-self: center; margin: 0; }
    .asyl-karte-kopf {
      display: flex; justify-content: space-between; align-items: center; gap: 8px; flex-wrap: wrap;
    }
    .asyl-karte-name { font-weight: 600; color: #222; }
    .asyl-karte-badge {
      font-size: 0.82em;
      font-weight: 700;
      padding: 2px 8px;
      border-radius: 12px;
      white-space: nowrap;
    }
    .asyl-badge--null  { background: #eceff1; color: #546e7a; }
    .asyl-badge--minus { background: #e8f5e9; color: #2e7d32; }
    .asyl-badge--plus  { background: #fbe9e7; color: #c62828; }
    .asyl-karte-erklaerung {
      grid-column: 2;
      font-size: 0.85em;
      color: #555;
      line-height: 1.35;
    }

    /* ===== Generischer Szenario-Editor (Knappschaft, Landwirte) ===== */
    .szenario-editor {
      background: #f6f1fa;
      border-left: 4px solid #7d3c98;
      border-radius: 8px;
      padding: var(--abstand-md);
      margin: var(--abstand-sm) 0;
    }
    .szenario-editor--knapp { background: #f3f6fb; border-left-color: #34495e; }
    .szenario-editor--landw { background: #f4faf3; border-left-color: #4e8c3a; }
    .szenario-editor-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      font-weight: 600;
      margin-bottom: var(--abstand-sm);
      flex-wrap: wrap;
      gap: 8px;
    }
    .szenario-gesamt { color: #333; font-weight: 500; }
    .szenario-gesamt span { font-weight: 700; }
    .szenario-info {
      font-size: 0.88em;
      color: #555;
      margin-bottom: var(--abstand-sm);
      line-height: 1.4;
    }
    .szenario-karten {
      display: flex;
      flex-direction: column;
      gap: 8px;
    }
    .szenario-karte {
      display: grid;
      grid-template-columns: auto 1fr;
      grid-template-rows: auto auto;
      gap: 4px 10px;
      padding: 10px 12px;
      background: #fff;
      border: 1px solid #d5dae0;
      border-radius: 6px;
      cursor: pointer;
      transition: border-color 0.15s, background 0.15s;
    }
    .szenario-karte:hover { border-color: #7d3c98; }
    .szenario-karte.aktiv {
      border-color: #7d3c98;
      background: #faf5fd;
      box-shadow: 0 0 0 1px #7d3c98 inset;
    }
    .szenario-editor--knapp .szenario-karte.aktiv { border-color: #34495e; background: #eef2f7; box-shadow: 0 0 0 1px #34495e inset; }
    .szenario-editor--landw .szenario-karte.aktiv { border-color: #4e8c3a; background: #eef7ea; box-shadow: 0 0 0 1px #4e8c3a inset; }
    .szenario-karte-radio {
      grid-row: 1 / span 2;
      align-self: center;
      margin: 0;
    }
    .szenario-karte-kopf {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 8px;
      flex-wrap: wrap;
    }
    .szenario-karte-name { font-weight: 600; color: #222; }
    .szenario-karte-badge {
      font-size: 0.85em;
      font-weight: 600;
      padding: 2px 8px;
      border-radius: 12px;
      white-space: nowrap;
    }
    .szenario-badge--minus { background: #e8f5e9; color: #2e7d32; }
    .szenario-badge--plus  { background: #fbe9e7; color: #c62828; }
    .szenario-badge--null  { background: #eceff1; color: #555; }
    .szenario-karte-erklaerung {
      grid-column: 2;
      font-size: 0.85em;
      color: #555;
      line-height: 1.35;
    }
    @media (max-width: 600px) {
      .szenario-karte { grid-template-columns: auto 1fr; }
    }

    /* ===== Rente-Szenario-Editor ===== */
    .rente-editor {
      background: #f0f6fb;
      border-left: 4px solid #2874a6;
      border-radius: 8px;
      padding: var(--abstand-md);
      margin: var(--abstand-sm) 0;
    }
    /* innerer Header jetzt nur noch Infobeschriftung, kein eigenständiger Titelblock */
    .rente-editor-header--inner {
      font-weight: 600;
      font-size: 0.9em;
      color: #2874a6;
      margin-bottom: var(--abstand-sm);
    }
    .rente-info {
      background: #fff;
      border: 1px solid #d5e5f0;
      border-radius: 6px;
      padding: var(--abstand-sm) var(--abstand-md);
      margin-bottom: var(--abstand-sm);
    }
    .rente-info-titel {
      font-weight: 700;
      color: #2874a6;
      font-size: 0.9rem;
      margin-bottom: 4px;
    }
    .rente-info-text {
      font-size: 0.85rem;
      color: var(--farbe-text-hell);
      line-height: 1.45;
    }
    .rente-delta {
      padding: 6px 12px;
      margin-bottom: var(--abstand-sm);
      border-radius: 4px;
      font-size: 0.85rem;
      font-weight: 600;
      background: #eef2f5;
      color: var(--farbe-text-hell);
      text-align: center;
    }
    .rente-delta--minus { background: #e8f5e9; color: #1b5e20; }
    .rente-delta--plus  { background: #fdecea; color: #922b21; }
    .rente-gruppe {
      margin-bottom: var(--abstand-md);
    }
    .rente-gruppe:last-child { margin-bottom: 0; }
    .rente-gruppe-titel {
      font-weight: 700;
      font-size: 0.82rem;
      text-transform: uppercase;
      letter-spacing: 0.04em;
      color: #2874a6;
      margin-bottom: 4px;
    }
    .rente-gruppe-info {
      font-size: 0.82rem;
      color: var(--farbe-text-hell);
      line-height: 1.45;
      margin-bottom: 6px;
      padding-left: 2px;
    }
    .rente-karten {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
      gap: 8px;
    }
    .rente-karte {
      position: relative;
      display: block;
      background: #fff;
      border: 2px solid #cfd8dc;
      border-radius: 6px;
      padding: 8px 10px 8px 30px;
      cursor: pointer;
      transition: border-color 0.15s, background 0.15s, box-shadow 0.15s;
    }
    .rente-karte:hover { border-color: #2874a6; }
    .rente-karte.aktiv {
      border-color: #2874a6;
      background: #eaf3fb;
      box-shadow: 0 1px 3px rgba(40,116,166,0.15);
    }
    .rente-karte-checkbox {
      position: absolute;
      top: 10px;
      left: 9px;
      width: 16px;
      height: 16px;
      cursor: pointer;
      accent-color: #2874a6;
    }
    .rente-karte-kopf {
      display: flex;
      align-items: center;
      gap: 6px;
      flex-wrap: wrap;
      margin-bottom: 3px;
    }
    .rente-karte-name {
      font-weight: 600;
      font-size: 0.88rem;
      flex: 1;
      min-width: 0;
    }
    .rente-karte-info {
      opacity: 0.65;
      cursor: help;
      font-size: 0.95rem;
      transition: opacity 0.15s;
    }
    .rente-karte-info:hover, .rente-karte-info:focus { opacity: 1; }
    .rente-karte-badge {
      font-size: 0.78rem;
      font-weight: 700;
      padding: 2px 7px;
      border-radius: 10px;
      font-variant-numeric: tabular-nums;
      white-space: nowrap;
    }
    .rente-badge--minus { background: #e8f5e9; color: #1b5e20; }
    .rente-badge--plus  { background: #fdecea; color: #922b21; }
    .rente-karte-erklaerung {
      font-size: 0.78rem;
      color: var(--farbe-text-hell);
      line-height: 1.4;
    }
    .bg-editor-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: var(--abstand-md);
      font-weight: 700;
      font-size: var(--font-groesse-gross);
    }
    .bg-editor-header .bg-gesamt {
      color: var(--farbe-warnung);
    }
    .bg-optionen {
      display: flex;
      gap: var(--abstand-xs);
      margin-bottom: var(--abstand-md);
      flex-wrap: wrap;
    }
    .bg-option-btn {
      padding: var(--abstand-xs) var(--abstand-sm);
      border: 2px solid #ccc;
      background: white;
      border-radius: 4px;
      cursor: pointer;
      font-size: var(--font-groesse-klein);
      font-family: inherit;
    }
    .bg-option-btn:hover { border-color: var(--farbe-warnung); }
    .bg-option-btn.aktiv {
      border-color: var(--farbe-warnung);
      background: var(--farbe-warnung);
      color: white;
    }
    .bg-tabelle {
      width: 100%;
      border-collapse: collapse;
      font-size: var(--font-groesse-klein);
    }
    .bg-tabelle th, .bg-tabelle td {
      padding: var(--abstand-xs) var(--abstand-sm);
      border-bottom: 1px solid #eee;
      text-align: left;
    }
    .bg-tabelle td:last-child {
      text-align: right;
      font-variant-numeric: tabular-nums;
      font-weight: 600;
    }
    .bg-komposition {
      margin-top: var(--abstand-md);
      padding-top: var(--abstand-sm);
      border-top: 1px dashed #ccc;
      font-size: var(--font-groesse-klein);
      color: var(--farbe-text-hell);
    }
    .bg-rbs1-input {
      width: 70px;
      text-align: right;
      border: 1px solid var(--farbe-warnung);
      border-radius: 3px;
      padding: 2px 6px;
      font-size: inherit;
      font-family: inherit;
      font-weight: 600;
    }

    /* ===== Kapitalertragsteuer-Editor ===== */
    .kapital-editor {
      background: #f0f9f4;
      border-left: 4px solid #2d8a4e;
      border-radius: 8px;
      padding: var(--abstand-md);
      margin: var(--abstand-sm) 0;
    }
    .kapital-editor-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: var(--abstand-md);
      font-weight: 700;
      font-size: var(--font-groesse-gross);
    }
    .kapital-editor-header .kapital-gesamt {
      color: #2d8a4e;
    }
    .kapital-stufen {
      display: flex;
      gap: var(--abstand-xs);
      flex-wrap: wrap;
      margin-bottom: var(--abstand-md);
    }
    .kapital-stufe-btn {
      padding: var(--abstand-xs) var(--abstand-sm);
      border: 2px solid #ccc;
      background: white;
      border-radius: 4px;
      cursor: pointer;
      font-size: var(--font-groesse-klein);
      font-family: inherit;
      font-weight: 600;
      min-width: 50px;
      text-align: center;
      transition: border-color 0.15s, background 0.15s;
    }
    .kapital-stufe-btn:hover { border-color: #2d8a4e; }
    .kapital-stufe-btn.aktiv {
      border-color: #2d8a4e;
      background: #2d8a4e;
      color: white;
    }
    .kapital-info {
      font-size: var(--font-groesse-klein);
      color: var(--farbe-text-hell);
      padding-top: var(--abstand-sm);
      border-top: 1px dashed #ccc;
      line-height: 1.6;
    }

    /* ===== Generischer Segment-Editor (Körperschaft, USt 19%, USt 7%, Einfuhr) ===== */
    .seg-editor {
      border-left: 4px solid #ccc;
      border-radius: 8px;
      padding: var(--abstand-md);
      margin: var(--abstand-sm) 0;
    }
    .seg-editor--koerp  { background: #eaf0fb; border-color: #1a5276; }
    .seg-editor--ust19  { background: #fef5e7; border-color: #d35400; }
    .seg-editor--ust7   { background: #e8f8f5; border-color: #16a085; }
    .seg-editor--energie{ background: #fdf6e3; border-color: #b7950b; }
    .seg-editor--tabak  { background: #f6ddcc; border-color: #873600; }
    .seg-editor--strom  { background: #d6eaf8; border-color: #2471a3; }
    .seg-editor--co2    { background: #d5f5e3; border-color: #1e8449; }
    .seg-editor--vers   { background: #e8daef; border-color: #6c3483; }
    .seg-editor--verkehr{ background: #d1f2eb; border-color: #117864; }
    .seg-editor--alkohol{ background: #fadbd8; border-color: #922b21; }
    .seg-editor--kaffee { background: #e5d5c1; border-color: #5d4037; }
    .seg-editor--gebuehren { background: #eaeded; border-color: #34495e; }
    .seg-editor--maut      { background: #fdebd0; border-color: #ca6f1e; }
    .seg-editor--zucker    { background: #fce4ec; border-color: #c2185b; }
    .seg-editor--fix    { background: #f2f3f4; border-color: #7f8c8d; }
    .seg-editor--abzug  { background: #fdf3f1; border-color: #c0392b; }
    .seg-editor--abzug .seg-gesamt { color: #c0392b; }
    .seg-editor--abzug .seg-info   { border-top-color: #f5c6bb; }

    .seg-editor-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: var(--abstand-md);
      font-weight: 700;
      font-size: var(--font-groesse-gross);
    }
    .seg-editor--koerp   .seg-gesamt { color: #1a5276; }
    .seg-editor--ust19   .seg-gesamt { color: #d35400; }
    .seg-editor--ust7    .seg-gesamt { color: #16a085; }
    .seg-editor--energie .seg-gesamt { color: #b7950b; }
    .seg-editor--tabak   .seg-gesamt { color: #873600; }
    .seg-editor--strom   .seg-gesamt { color: #2471a3; }
    .seg-editor--co2     .seg-gesamt { color: #1e8449; }
    .seg-editor--vers    .seg-gesamt { color: #6c3483; }
    .seg-editor--verkehr .seg-gesamt { color: #117864; }
    .seg-editor--alkohol .seg-gesamt { color: #922b21; }
    .seg-editor--kaffee  .seg-gesamt { color: #5d4037; }
    .seg-editor--gebuehren .seg-gesamt { color: #34495e; }
    .seg-editor--maut      .seg-gesamt { color: #ca6f1e; }
    .seg-editor--zucker    .seg-gesamt { color: #c2185b; }
    .seg-editor--fix     .seg-gesamt { color: #7f8c8d; }

    .seg-stufen {
      display: flex;
      gap: var(--abstand-xs);
      flex-wrap: wrap;
      margin-bottom: var(--abstand-md);
    }
    .seg-stufe-btn {
      padding: var(--abstand-xs) var(--abstand-sm);
      border: 2px solid #ccc;
      background: white;
      border-radius: 4px;
      cursor: pointer;
      font-size: var(--font-groesse-klein);
      font-family: inherit;
      font-weight: 600;
      min-width: 50px;
      text-align: center;
      transition: border-color 0.15s, background 0.15s;
    }
    .seg-editor--koerp .seg-stufe-btn:hover  { border-color: #1a5276; }
    .seg-editor--koerp .seg-stufe-btn.aktiv  { border-color: #1a5276; background: #1a5276; color: white; }
    .seg-editor--ust19 .seg-stufe-btn:hover  { border-color: #d35400; }
    .seg-editor--ust19 .seg-stufe-btn.aktiv  { border-color: #d35400; background: #d35400; color: white; }
    .seg-editor--ust7  .seg-stufe-btn:hover  { border-color: #16a085; }
    .seg-editor--ust7  .seg-stufe-btn.aktiv  { border-color: #16a085; background: #16a085; color: white; }
    .seg-editor--energie .seg-stufe-btn:hover { border-color: #b7950b; }
    .seg-editor--energie .seg-stufe-btn.aktiv { border-color: #b7950b; background: #b7950b; color: white; }
    .seg-editor--tabak   .seg-stufe-btn:hover { border-color: #873600; }
    .seg-editor--tabak   .seg-stufe-btn.aktiv { border-color: #873600; background: #873600; color: white; }
    .seg-editor--strom   .seg-stufe-btn:hover { border-color: #2471a3; }
    .seg-editor--strom   .seg-stufe-btn.aktiv { border-color: #2471a3; background: #2471a3; color: white; }
    .seg-editor--co2     .seg-stufe-btn:hover { border-color: #1e8449; }
    .seg-editor--co2     .seg-stufe-btn.aktiv { border-color: #1e8449; background: #1e8449; color: white; }
    .seg-editor--vers    .seg-stufe-btn:hover { border-color: #6c3483; }
    .seg-editor--vers    .seg-stufe-btn.aktiv { border-color: #6c3483; background: #6c3483; color: white; }
    .seg-editor--verkehr .seg-stufe-btn:hover { border-color: #117864; }
    .seg-editor--verkehr .seg-stufe-btn.aktiv { border-color: #117864; background: #117864; color: white; }
    .seg-editor--alkohol .seg-stufe-btn:hover { border-color: #922b21; }
    .seg-editor--alkohol .seg-stufe-btn.aktiv { border-color: #922b21; background: #922b21; color: white; }
    .seg-editor--kaffee  .seg-stufe-btn:hover { border-color: #5d4037; }
    .seg-editor--kaffee  .seg-stufe-btn.aktiv { border-color: #5d4037; background: #5d4037; color: white; }
    .seg-editor--gebuehren .seg-stufe-btn:hover { border-color: #34495e; }
    .seg-editor--gebuehren .seg-stufe-btn.aktiv { border-color: #34495e; background: #34495e; color: white; }
    .seg-editor--maut      .seg-stufe-btn:hover { border-color: #ca6f1e; }
    .seg-editor--maut      .seg-stufe-btn.aktiv { border-color: #ca6f1e; background: #ca6f1e; color: white; }
    .seg-editor--zucker    .seg-stufe-btn:hover { border-color: #c2185b; }
    .seg-editor--zucker    .seg-stufe-btn.aktiv { border-color: #c2185b; background: #c2185b; color: white; }

    /* CO2-Abschaffungsoption: optisch vom gesetzlichen Korridor getrennt */
    .seg-co2-gruppe {
      display: flex;
      align-items: center;
      gap: var(--abstand-sm);
      flex-wrap: wrap;
      margin-bottom: var(--abstand-md);
    }
    .seg-co2-trenner {
      border-left: 2px dashed #999;
      height: 28px;
      margin: 0 var(--abstand-xs);
    }
    .seg-co2-korridor-label {
      font-size: var(--font-groesse-klein);
      color: var(--farbe-text-hell);
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.03em;
    }
    .seg-stufe-btn--abschaffung {
      border-color: #c0392b !important;
      color: #c0392b;
    }
    .seg-stufe-btn--abschaffung:hover {
      border-color: #c0392b !important;
      background: #fadbd8;
    }
    .seg-stufe-btn--abschaffung.aktiv {
      border-color: #c0392b !important;
      background: #c0392b !important;
      color: white !important;
    }

    .seg-info {
      font-size: var(--font-groesse-klein);
      color: var(--farbe-text-hell);
      padding-top: var(--abstand-sm);
      border-top: 1px dashed #ccc;
      line-height: 1.6;
    }
    .seg-fix-betrag {
      font-size: 1rem;
      font-weight: 700;
      color: #7f8c8d;
      margin-bottom: var(--abstand-sm);
    }
    .koerp-info-icon {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 1.1em;
      height: 1.1em;
      font-size: 0.95em;
      color: #1a5276;
      cursor: help;
      vertical-align: middle;
      opacity: 0.75;
      transition: opacity 0.15s;
    }
    .koerp-info-icon:hover, .koerp-info-icon:focus {
      opacity: 1;
      outline: none;
    }

    /* ===== Overlay (Tutorial + Szenario) ===== */
    .overlay {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(0, 0, 0, 0.6);
      z-index: 1000;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: var(--abstand-lg);
    }

    .overlay-inhalt {
      background: var(--farbe-karte);
      max-width: 600px;
      width: 100%;
      padding: var(--abstand-xl);
      border-radius: 12px;
      box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);
      text-align: center;
    }

    .overlay-inhalt h1 {
      font-size: 1.8rem;
      font-weight: 800;
      color: var(--farbe-text);
      margin-bottom: var(--abstand-xs);
    }

    .overlay-inhalt h2 {
      font-size: var(--font-groesse-gross);
      font-weight: 600;
      color: var(--farbe-info);
      margin-bottom: var(--abstand-md);
    }

    .overlay-inhalt p {
      font-size: 0.95rem;
      color: var(--farbe-text);
      line-height: 1.6;
      margin-bottom: var(--abstand-md);
      text-align: left;
    }

    .overlay-buttons {
      display: flex;
      gap: var(--abstand-md);
      justify-content: center;
      margin-top: var(--abstand-lg);
      flex-wrap: wrap;
    }

    .btn-primary {
      background: var(--farbe-info);
      color: #fff;
      border: none;
      padding: var(--abstand-sm) var(--abstand-lg);
      border-radius: 6px;
      font-size: 1rem;
      font-weight: 600;
      font-family: var(--font-familie);
      cursor: pointer;
      transition: background 0.2s;
    }

    .btn-primary:hover {
      background: #2471a3;
    }

    .btn-primary:disabled {
      background: #bdc3c7;
      cursor: not-allowed;
    }

    .btn-secondary {
      background: transparent;
      color: var(--farbe-info);
      border: 2px solid var(--farbe-info);
      padding: var(--abstand-sm) var(--abstand-lg);
      border-radius: 6px;
      font-size: 1rem;
      font-weight: 600;
      font-family: var(--font-familie);
      cursor: pointer;
      transition: background 0.2s, color 0.2s;
    }

    .btn-secondary:hover {
      background: var(--farbe-info);
      color: #fff;
    }

    /* ===== Overlay breit (Szenario-Auswahl) ===== */
    .overlay-breit {
      max-width: 800px;
    }

    .szenario-karten {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: var(--abstand-md);
      margin-top: var(--abstand-lg);
      text-align: left;
    }

    .szenario-karte {
      background: var(--farbe-hintergrund);
      border: 2px solid #ecf0f1;
      border-radius: 10px;
      padding: var(--abstand-lg);
      cursor: pointer;
      transition: border-color 0.2s, box-shadow 0.2s, transform 0.15s;
    }

    .szenario-karte:hover {
      border-color: var(--farbe-info);
      box-shadow: 0 4px 12px rgba(41, 128, 185, 0.15);
      transform: translateY(-2px);
    }

    .szenario-karte .szenario-icon {
      font-size: 1.8rem;
      margin-bottom: var(--abstand-sm);
    }

    .szenario-karte h3 {
      font-size: 1rem;
      font-weight: 700;
      color: var(--farbe-text);
      margin-bottom: var(--abstand-xs);
    }

    .szenario-karte p {
      font-size: var(--font-groesse-klein);
      color: var(--farbe-text-hell);
      line-height: 1.4;
      margin-bottom: 0;
      text-align: left;
    }

    @media (max-width: 600px) {
      .szenario-karten {
        grid-template-columns: 1fr;
      }
    }

    /* ===== Tutorial Box ===== */
    .tutorial-box {
      position: fixed;
      bottom: 20px;
      right: 20px;
      max-width: 400px;
      width: calc(100% - 40px);
      background: var(--farbe-karte);
      border-radius: 12px;
      box-shadow: 0 4px 24px rgba(0, 0, 0, 0.18);
      z-index: 500;
      padding: var(--abstand-md) var(--abstand-lg);
      border-left: 4px solid var(--farbe-info);
    }

    .tutorial-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: var(--abstand-sm);
    }

    .tutorial-header span {
      font-size: var(--font-groesse-klein);
      color: var(--farbe-text-hell);
      font-weight: 600;
    }

    .tutorial-beenden {
      background: none;
      border: none;
      font-size: 1.3rem;
      color: var(--farbe-text-hell);
      cursor: pointer;
      padding: 0 4px;
      line-height: 1;
    }

    .tutorial-beenden:hover {
      color: var(--farbe-negativ);
    }

    .tutorial-box h3 {
      font-size: 1rem;
      font-weight: 700;
      color: var(--farbe-text);
      margin-bottom: var(--abstand-xs);
    }

    .tutorial-box p {
      font-size: var(--font-groesse-klein);
      color: var(--farbe-text);
      line-height: 1.5;
      margin-bottom: var(--abstand-md);
    }

    @media (max-width: 500px) {
      .tutorial-box {
        right: 10px;
        bottom: 10px;
        max-width: calc(100% - 20px);
      }
    }

    /* Tutorial highlight glow */
    .tutorial-highlight {
      box-shadow: 0 0 0 3px rgba(41, 128, 185, 0.4), 0 0 16px rgba(41, 128, 185, 0.2);
      border-radius: 6px;
      transition: box-shadow 0.3s ease;
    }

    /* Reset-Button (im Footer) */
    .btn-zuruecksetzen {
      background: transparent;
      color: var(--farbe-negativ);
      border: 1px solid var(--farbe-negativ);
      padding: var(--abstand-xs) var(--abstand-md);
      border-radius: 4px;
      font-size: var(--font-groesse-klein);
      font-family: var(--font-familie);
      cursor: pointer;
      transition: background 0.2s, color 0.2s;
      white-space: nowrap;
    }
    .btn-zuruecksetzen:hover {
      background: var(--farbe-negativ);
      color: #fff;
    }

    /* ===== Nur-Druck ===== */
    .nur-druck { display: none; }

    /* ===== Druck ===== */
    @media print {
      #dashboard {
        position: relative;
        box-shadow: none;
        border-bottom: 2px solid var(--farbe-text);
      }

      .footer-aktionen,
      input[type="range"],
      .overlay,
      .tutorial-box,
      .info-btn,
      .dashboard-info-btn {
        display: none !important;
      }

      .nur-druck { display: block; }

      .pulsiert {
        animation: none;
      }

      body {
        background: #fff;
      }

      .slider-zeile {
        break-inside: avoid;
      }

      .druck-tabelle {
        width: 100%;
        border-collapse: collapse;
        font-size: 0.85rem;
        margin-top: 1rem;
      }
      .druck-tabelle th,
      .druck-tabelle td {
        padding: 4px 8px;
        border-bottom: 1px solid #ccc;
        text-align: left;
      }
      .druck-tabelle th {
        font-weight: 600;
        color: var(--farbe-text-hell);
        border-bottom: 2px solid var(--farbe-text);
      }
      .druck-tabelle .delta-positiv { color: var(--farbe-positiv); font-weight: 600; }
      .druck-tabelle .delta-negativ { color: var(--farbe-negativ); font-weight: 600; }
    }
