/* Grundriss-Studio v3 — portiert aus dem Raumgefühl-Prototyp, gescoped unter #raumgefuehl */
    #raumgefuehl {
      --bg: #f6f7f9;
      --panel: #ffffff;
      --ink: #20242a;
      --muted: #5a6470;
      --line: #dce2e8;
      --line-strong: #c4ccd5;
      --green: #2d7d46;
      --green-soft: #e8f4ec;
      --blue: #2b5f7d;
      --red: #b4473c;
      --yellow: #a8701a;
      --surface: #edf2f6;
      --surface-2: #fbfcfd;
      --surface-3: #eef2f6;
      --ink-2: #303b48;
      --wood: #c8a97e;
      --radius: 8px;
      --shadow: 0 14px 32px rgba(31, 41, 55, 0.12);
    }

    #raumgefuehl * {
      box-sizing: border-box;
    }

    #raumgefuehl {
      width: 100%;
      height: 100%;
      margin: 0;
      overflow: hidden;
      background: var(--bg);
      color: var(--ink);
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
    }

    #raumgefuehl button, #raumgefuehl input {
      font: inherit;
    }

    #raumgefuehl button {
      border: 0;
      color: inherit;
      cursor: pointer;
    }

    #raumgefuehl .app {
      display: grid;
      grid-template-rows: auto minmax(0, 1fr);
      width: 100vw;
      height: 100vh;
      min-width: 0;
    }

    #raumgefuehl .topbar {
      display: grid;
      grid-template-columns: minmax(260px, 1fr) auto auto;
      align-items: center;
      gap: 22px;
      padding: 14px 22px;
      border-bottom: 1px solid var(--line);
      background: rgba(255, 255, 255, 0.92);
      backdrop-filter: blur(12px);
      z-index: 5;
    }

    #raumgefuehl .brand {
      min-width: 0;
    }

    #raumgefuehl .brand h1, #raumgefuehl .brand h2 {
      margin: 0;
      font-size: 23px;
      line-height: 1.05;
      font-weight: 850;
      letter-spacing: 0;
    }

    #raumgefuehl .brand p {
      margin: 6px 0 0;
      color: var(--muted);
      font-size: 14px;
      line-height: 1.35;
    }

    #raumgefuehl .control-block {
      display: grid;
      gap: 6px;
      min-width: 0;
    }

    #raumgefuehl .control-label {
      color: var(--muted);
      font-size: 12px;
      font-weight: 750;
      letter-spacing: 0;
      text-transform: uppercase;
    }

    #raumgefuehl .segmented {
      display: inline-flex;
      max-width: 100%;
      min-width: 0;
      gap: 6px;
      padding: 5px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: var(--surface-2);
      overflow-x: auto;
      scrollbar-width: thin;
    }

    #raumgefuehl .segmented button {
      min-height: 36px;
      padding: 0 12px;
      border-radius: 6px;
      background: transparent;
      color: #374151;
      white-space: nowrap;
      transition: background 140ms ease, color 140ms ease, box-shadow 140ms ease;
    }

    #raumgefuehl .segmented button:hover {
      background: var(--surface-3);
    }

    #raumgefuehl .segmented button.active {
      background: var(--green);
      color: #fff;
      box-shadow: 0 6px 14px rgba(45, 125, 70, 0.22);
    }

    #raumgefuehl .workspace {
      display: grid;
      grid-template-columns: minmax(430px, 1.15fr) minmax(360px, 0.85fr) 350px;
      min-height: 0;
    }

    #raumgefuehl .plan-panel, #raumgefuehl .preview-panel, #raumgefuehl .sidebar {
      min-width: 0;
      min-height: 0;
      border-right: 1px solid var(--line);
      background: #f9fafb;
      overflow: hidden;
    }

    #raumgefuehl .panel-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 14px;
      min-height: 58px;
      padding: 14px 18px;
      border-bottom: 1px solid var(--line);
      background: #fff;
    }

    #raumgefuehl .panel-title {
      margin: 0;
      font-size: 15px;
      font-weight: 850;
      letter-spacing: 0;
    }

    #raumgefuehl .panel-subtitle {
      margin: 4px 0 0;
      color: var(--muted);
      font-size: 13px;
      line-height: 1.35;
    }

    #raumgefuehl .head-actions {
      display: inline-flex;
      flex-wrap: wrap;
      justify-content: flex-end;
      gap: 8px;
    }

    #raumgefuehl .plan-shell {
      position: relative;
      height: calc(100% - 58px);
      min-height: 0;
      overflow: hidden;
      background: #eef1f4;
    }

    #raumgefuehl #planSvg {
      display: block;
      width: 100%;
      height: 100%;
      touch-action: none;
      user-select: none;
      background: #eef1f4;
    }

    #raumgefuehl .svg-floor {
      fill: #cfad79;
      stroke: #aa8a5e;
      stroke-width: 5;
      vector-effect: non-scaling-stroke;
    }

    #raumgefuehl .svg-wall {
      fill: rgba(240, 240, 240, 0.72);
      stroke: rgba(150, 160, 172, 0.9);
      stroke-width: 4;
      vector-effect: non-scaling-stroke;
    }

    #raumgefuehl .svg-grid {
      stroke: rgba(255, 255, 255, 0.55);
      stroke-width: 1;
      vector-effect: non-scaling-stroke;
    }

    #raumgefuehl .svg-wheelwell {
      fill: rgba(83, 95, 109, 0.24);
      stroke: rgba(83, 95, 109, 0.54);
      stroke-width: 4;
      vector-effect: non-scaling-stroke;
      pointer-events: none;
    }

    #raumgefuehl .svg-door {
      fill: none;
      stroke: rgba(43, 95, 125, 0.85);
      stroke-width: 8;
      stroke-dasharray: 34 18;
      vector-effect: non-scaling-stroke;
      pointer-events: none;
    }

    #raumgefuehl .walk-band {
      pointer-events: none;
      mix-blend-mode: multiply;
    }

    #raumgefuehl .walk-band.green {
      fill: rgba(45, 125, 70, 0.24);
      stroke: rgba(45, 125, 70, 0.72);
    }

    #raumgefuehl .walk-band.yellow {
      fill: rgba(201, 134, 36, 0.24);
      stroke: rgba(201, 134, 36, 0.72);
    }

    #raumgefuehl .walk-band.red {
      fill: rgba(180, 71, 60, 0.24);
      stroke: rgba(180, 71, 60, 0.72);
    }

    #raumgefuehl .human-svg {
      pointer-events: none;
      filter: url(#moduleShadow);
    }

    #raumgefuehl .human-body {
      fill: rgba(32, 36, 42, 0.78);
      stroke: rgba(255, 255, 255, 0.92);
      stroke-width: 5;
      vector-effect: non-scaling-stroke;
    }

    #raumgefuehl .human-label {
      fill: #20242a;
      font-size: 58px;
      font-weight: 850;
      text-anchor: middle;
      dominant-baseline: central;
      pointer-events: none;
    }

    #raumgefuehl .coach-zone {
      fill: rgba(255, 255, 255, 0.12);
      stroke-width: 9;
      stroke-dasharray: 34 18;
      vector-effect: non-scaling-stroke;
      pointer-events: none;
    }

    #raumgefuehl .coach-zone.green {
      stroke: rgba(45, 125, 70, 0.78);
      fill: rgba(45, 125, 70, 0.1);
    }

    #raumgefuehl .coach-zone.yellow {
      stroke: rgba(201, 134, 36, 0.82);
      fill: rgba(201, 134, 36, 0.11);
    }

    #raumgefuehl .coach-zone.red {
      stroke: rgba(180, 71, 60, 0.82);
      fill: rgba(180, 71, 60, 0.11);
    }

    #raumgefuehl .coach-zone.blue {
      stroke: rgba(43, 95, 125, 0.82);
      fill: rgba(43, 95, 125, 0.1);
    }

    #raumgefuehl .coach-zone-label {
      fill: #20242a;
      paint-order: stroke;
      stroke: rgba(255, 255, 255, 0.88);
      stroke-width: 18;
      stroke-linejoin: round;
      font-size: 66px;
      font-weight: 900;
      pointer-events: none;
      text-anchor: middle;
    }

    #raumgefuehl .svg-axis-label {
      fill: #586170;
      font-size: 95px;
      font-weight: 800;
      letter-spacing: 0;
      pointer-events: none;
    }

    #raumgefuehl .module-svg {
      cursor: grab;
    }

    #raumgefuehl .module-svg.dragging {
      cursor: grabbing;
    }

    #raumgefuehl .module-body {
      stroke: rgba(31, 41, 55, 0.22);
      stroke-width: 5;
      vector-effect: non-scaling-stroke;
      filter: url(#moduleShadow);
    }

    #raumgefuehl .module-selected .module-body {
      stroke: var(--green);
      stroke-width: 8;
    }

    #raumgefuehl .module-problem .module-body {
      stroke: var(--red);
      stroke-width: 9;
      stroke-dasharray: 18 12;
    }

    #raumgefuehl .module-label-svg {
      fill: #20242a;
      font-size: 92px;
      font-weight: 850;
      letter-spacing: 0;
      text-anchor: middle;
      dominant-baseline: central;
      pointer-events: none;
    }

    #raumgefuehl .module-sub-svg {
      fill: #4f5a68;
      font-size: 60px;
      font-weight: 700;
      text-anchor: middle;
      dominant-baseline: central;
      pointer-events: none;
    }

    #raumgefuehl .quick-actions {
      position: absolute;
      display: none;
      gap: 6px;
      padding: 6px;
      border: 1px solid rgba(205, 213, 222, 0.9);
      border-radius: var(--radius);
      background: rgba(255, 255, 255, 0.94);
      box-shadow: var(--shadow);
      transform: translate(-50%, -100%);
      z-index: 4;
    }

    #raumgefuehl .quick-actions.show {
      display: inline-flex;
    }

    #raumgefuehl .quick-actions button {
      display: grid;
      place-items: center;
      width: 34px;
      height: 34px;
      border-radius: 6px;
      background: var(--surface-3);
      font-size: 16px;
    }

    #raumgefuehl .quick-actions button:hover {
      background: var(--green-soft);
      color: var(--green);
    }

    #raumgefuehl .quick-actions .danger:hover {
      background: #f6e7e5;
      color: var(--red);
    }

    #raumgefuehl .preview-panel {
      display: grid;
      grid-template-rows: auto minmax(0, 1fr);
      background: var(--bg);
    }

    #raumgefuehl .preview-panel .panel-head {
      align-items: flex-start;
      flex-direction: column;
    }

    #raumgefuehl .camera-tools {
      display: inline-flex;
      max-width: 100%;
      flex-wrap: wrap;
      gap: 6px;
      padding: 5px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: var(--surface-2);
    }

    #raumgefuehl .camera-tools button, #raumgefuehl .icon-toggle {
      min-height: 32px;
      padding: 0 10px;
      border-radius: 6px;
      background: transparent;
      color: #39424e;
      white-space: nowrap;
    }

    #raumgefuehl .camera-tools button:hover, #raumgefuehl .icon-toggle:hover {
      background: var(--surface-3);
    }

    #raumgefuehl .camera-tools button.active, #raumgefuehl .icon-toggle.active {
      background: var(--blue);
      color: #fff;
    }

    #raumgefuehl .camera-tools button[data-group="focus"] {
      background: #f1f7f1;
      color: #254a33;
      box-shadow: inset 0 0 0 1px rgba(45, 125, 70, 0.18);
    }

    #raumgefuehl .camera-tools button[data-group="focus"]:hover {
      background: #e5f0e4;
    }

    #raumgefuehl .camera-tools button[data-group="focus"].active {
      background: var(--green);
      color: #fff;
      box-shadow: none;
    }

    #raumgefuehl .scene-wrap {
      position: relative;
      min-height: 0;
      overflow: hidden;
      background: #f7f8fa;
    }

    #raumgefuehl #scene {
      display: block;
      width: 100%;
      max-width: 100%;
      height: 100%;
    }

    #raumgefuehl .scene-hint {
      position: absolute;
      left: 16px;
      bottom: 16px;
      max-width: calc(100% - 32px);
      padding: 10px 12px;
      border: 1px solid rgba(221, 226, 232, 0.9);
      border-radius: var(--radius);
      background: rgba(255, 255, 255, 0.9);
      color: #46515f;
      font-size: 13px;
      line-height: 1.35;
      pointer-events: none;
      box-shadow: 0 10px 24px rgba(35, 42, 54, 0.1);
      backdrop-filter: blur(8px);
    }

    #raumgefuehl .sidebar {
      position: relative;
      z-index: 3;
      display: grid;
      grid-auto-rows: max-content;
      align-content: start;
      gap: 14px;
      padding: 18px;
      border-right: 0;
      background: var(--panel);
      box-shadow: -14px 0 30px rgba(31, 41, 55, 0.08);
      overflow-x: hidden;
      overflow-y: auto;
    }

    #raumgefuehl .workflow-panel {
      position: sticky;
      top: 0;
      z-index: 8;
      display: grid;
      gap: 10px;
      padding: 14px;
      border: 1px solid rgba(43, 95, 125, 0.18);
      border-radius: var(--radius);
      background: rgba(255, 255, 255, 0.96);
      box-shadow: 0 12px 28px rgba(31, 41, 55, 0.12);
      backdrop-filter: blur(10px);
    }

    #raumgefuehl .workflow-actions, #raumgefuehl .workflow-tabs {
      display: grid;
      gap: 7px;
    }

    #raumgefuehl .workflow-actions {
      grid-template-columns: 1fr 1fr;
    }

    #raumgefuehl .workflow-tabs {
      grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    #raumgefuehl .workflow-action, #raumgefuehl .workflow-tab {
      min-height: 34px;
      border-radius: 6px;
      background: var(--surface);
      color: #26323a;
      font-size: 11px;
      font-weight: 900;
      white-space: nowrap;
    }

    #raumgefuehl .workflow-action.primary {
      background: var(--green);
      color: #fff;
    }

    #raumgefuehl .workflow-action.blue {
      background: var(--blue);
      color: #fff;
    }

    #raumgefuehl .workflow-tab {
      min-height: 30px;
      padding: 0 6px;
      color: #5d6876;
    }

    #raumgefuehl .workflow-tab.active {
      background: var(--blue);
      color: #fff;
    }

    #raumgefuehl .workflow-panel + [data-workflow] {
      margin-top: 0;
    }

    #raumgefuehl [data-workflow][hidden] {
      display: none !important;
    }

    #raumgefuehl .start-overlay {
      position: fixed;
      inset: 0;
      z-index: 40;
      display: grid;
      place-items: center;
      padding: 22px;
      background: rgba(32, 36, 42, 0.46);
      backdrop-filter: blur(10px);
    }

    #raumgefuehl .start-overlay[hidden] {
      display: none !important;
    }

    #raumgefuehl .start-dialog {
      width: min(960px, 100%);
      max-height: min(820px, calc(100vh - 44px));
      overflow: auto;
      padding: 22px;
      border: 1px solid rgba(221, 226, 232, 0.95);
      border-radius: 12px;
      background: #fff;
      box-shadow: 0 28px 70px rgba(18, 24, 32, 0.28);
    }

    #raumgefuehl .start-head {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 18px;
      align-items: start;
      margin-bottom: 18px;
    }

    #raumgefuehl .start-kicker {
      margin: 0 0 6px;
      color: var(--blue);
      font-size: 12px;
      font-weight: 900;
      text-transform: uppercase;
    }

    #raumgefuehl .start-head h2 {
      margin: 0;
      font-size: 26px;
      line-height: 1.08;
      letter-spacing: 0;
    }

    #raumgefuehl .start-head p:last-child {
      margin: 8px 0 0;
      max-width: 680px;
      color: #5b6573;
      font-size: 15px;
      line-height: 1.45;
    }

    #raumgefuehl .start-close {
      width: 34px;
      height: 34px;
      border-radius: 6px;
      background: var(--surface);
      color: #26323a;
      font-size: 20px;
      font-weight: 900;
    }

    #raumgefuehl .start-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 14px;
    }

    #raumgefuehl .start-step {
      display: grid;
      gap: 9px;
      padding: 14px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: var(--surface-2);
    }

    #raumgefuehl .start-label {
      color: var(--muted);
      font-size: 12px;
      font-weight: 850;
      text-transform: uppercase;
    }

    #raumgefuehl .start-footer {
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-end;
      gap: 10px;
      margin-top: 18px;
      padding-top: 16px;
      border-top: 1px solid var(--line);
    }

    #raumgefuehl .start-primary, #raumgefuehl .start-secondary {
      min-height: 42px;
      padding: 0 16px;
      border-radius: 7px;
      font-weight: 900;
    }

    #raumgefuehl .start-primary {
      background: var(--green);
      color: #fff;
    }

    #raumgefuehl .start-secondary {
      background: var(--surface);
      color: #26323a;
    }

    #raumgefuehl .module-library {
      min-height: 0;
      overflow: auto;
      padding-right: 2px;
    }

    #raumgefuehl .guide-panel {
      padding: 14px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: var(--surface-2);
    }

    #raumgefuehl .guide-title {
      margin: 0 0 10px;
      font-size: 15px;
      font-weight: 850;
      letter-spacing: 0;
      text-transform: uppercase;
    }

    #raumgefuehl .guide-row {
      display: grid;
      gap: 7px;
      margin-top: 10px;
    }

    #raumgefuehl .guide-row:first-of-type {
      margin-top: 0;
    }

    #raumgefuehl .guide-label {
      color: var(--muted);
      font-size: 12px;
      font-weight: 750;
      text-transform: uppercase;
    }

    #raumgefuehl .choice-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 6px;
    }

    #raumgefuehl .choice-grid.three {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    #raumgefuehl .choice-btn {
      min-height: 34px;
      padding: 5px 8px;
      border: 1px solid var(--line);
      border-radius: 6px;
      background: #fff;
      color: #344050;
      font-size: 12px;
      font-weight: 750;
    }

    #raumgefuehl .choice-btn .choice-main, #raumgefuehl .choice-btn .choice-sub {
      display: block;
      overflow: hidden;
      text-overflow: ellipsis;
    }

    #raumgefuehl .choice-btn .choice-main {
      font-weight: 850;
    }

    #raumgefuehl .choice-btn .choice-sub {
      margin-top: 2px;
      color: #667281;
      font-size: 10px;
      font-weight: 650;
    }

    #raumgefuehl .choice-btn:hover {
      background: #f4f7fa;
    }

    #raumgefuehl .choice-btn.active {
      border-color: var(--green);
      background: var(--green-soft);
      color: #214f32;
    }

    #raumgefuehl .guide-action {
      width: 100%;
      min-height: 38px;
      margin-top: 10px;
      border-radius: 6px;
      background: var(--blue);
      color: #fff;
      font-weight: 850;
    }

    #raumgefuehl .style-panel {
      display: grid;
      gap: 10px;
      padding: 14px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: var(--surface-2);
    }

    #raumgefuehl .style-head {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 12px;
    }

    #raumgefuehl .style-title {
      margin: 0;
      font-size: 15px;
      font-weight: 850;
      letter-spacing: 0;
      text-transform: uppercase;
    }

    #raumgefuehl .style-summary {
      color: var(--muted);
      font-size: 12px;
      font-weight: 700;
      text-align: right;
    }

    #raumgefuehl .style-options {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 7px;
    }

    #raumgefuehl .style-btn {
      display: grid;
      gap: 7px;
      min-height: 70px;
      padding: 8px;
      border: 1px solid var(--line);
      border-radius: 6px;
      background: #fff;
      color: #344050;
      font-size: 12px;
      font-weight: 850;
      text-align: left;
    }

    #raumgefuehl .style-btn:hover {
      border-color: #bfd0de;
      background: #f4f7fa;
    }

    #raumgefuehl .style-btn.active {
      border-color: var(--green);
      background: var(--green-soft);
      color: #214f32;
      box-shadow: inset 3px 0 0 var(--green);
    }

    #raumgefuehl .style-swatch-row {
      display: flex;
      gap: 4px;
    }

    #raumgefuehl .style-swatch {
      width: 22px;
      height: 18px;
      border: 1px solid rgba(31, 41, 55, 0.16);
      border-radius: 4px;
    }

    #raumgefuehl .compare-panel {
      display: grid;
      gap: 10px;
      padding: 14px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: var(--surface-2);
    }

    #raumgefuehl .compare-head, #raumgefuehl .compare-card-top {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 10px;
    }

    #raumgefuehl .compare-title {
      margin: 0;
      font-size: 15px;
      font-weight: 850;
      letter-spacing: 0;
      text-transform: uppercase;
    }

    #raumgefuehl .compare-summary, #raumgefuehl .compare-meta {
      color: var(--muted);
      font-size: 12px;
      font-weight: 700;
    }

    #raumgefuehl .compare-save {
      min-height: 36px;
      border-radius: 6px;
      background: var(--blue);
      color: #fff;
      font-weight: 850;
    }

    #raumgefuehl .compare-slots {
      display: grid;
      gap: 8px;
    }

    #raumgefuehl .compare-card {
      display: grid;
      grid-template-columns: 78px minmax(0, 1fr);
      gap: 10px;
      min-width: 0;
      padding: 8px;
      border: 1px solid var(--line);
      border-radius: 7px;
      background: #fff;
    }

    #raumgefuehl .compare-card.active {
      border-color: var(--green);
      background: var(--green-soft);
      box-shadow: inset 3px 0 0 var(--green);
    }

    #raumgefuehl .compare-preview {
      display: block;
      width: 78px;
      height: 92px;
      border: 1px solid var(--line);
      border-radius: 6px;
      background: #eef1f4;
    }

    #raumgefuehl .compare-card-body {
      display: grid;
      gap: 6px;
      min-width: 0;
    }

    #raumgefuehl .compare-name {
      overflow: hidden;
      color: #20242a;
      font-size: 13px;
      font-weight: 850;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    #raumgefuehl .compare-actions {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 6px;
    }

    #raumgefuehl .compare-empty {
      padding: 10px;
      border: 1px dashed var(--line-strong);
      border-radius: 7px;
      color: var(--muted);
      font-size: 12px;
      line-height: 1.35;
    }

    #raumgefuehl .story-panel {
      display: grid;
      gap: 10px;
      padding: 14px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: var(--surface-2);
    }

    #raumgefuehl .story-head {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 10px;
    }

    #raumgefuehl .story-title {
      margin: 0;
      font-size: 15px;
      font-weight: 850;
      letter-spacing: 0;
      text-transform: uppercase;
    }

    #raumgefuehl .story-summary {
      color: var(--muted);
      font-size: 12px;
      font-weight: 700;
      text-align: right;
    }

    #raumgefuehl .story-tour {
      min-height: 36px;
      border-radius: 6px;
      background: var(--blue);
      color: #fff;
      font-weight: 850;
    }

    #raumgefuehl .story-tour:hover {
      filter: brightness(1.05);
    }

    #raumgefuehl .story-tour.active {
      background: var(--green);
    }

    #raumgefuehl .story-progress {
      height: 7px;
      overflow: hidden;
      border-radius: 999px;
      background: #e6ebf0;
    }

    #raumgefuehl .story-progress-fill {
      width: 0;
      height: 100%;
      border-radius: inherit;
      background: var(--green);
      transition: width 180ms ease;
    }

    #raumgefuehl .story-list {
      display: grid;
      gap: 8px;
    }

    #raumgefuehl .story-card {
      display: grid;
      gap: 6px;
      width: 100%;
      min-width: 0;
      padding: 9px;
      border: 1px solid var(--line);
      border-radius: 7px;
      background: #fff;
      color: var(--ink-2);
      text-align: left;
    }

    #raumgefuehl .story-card:hover {
      border-color: #bfd0de;
      background: #f4f7fa;
    }

    #raumgefuehl .story-card.active {
      border-color: var(--green);
      background: var(--green-soft);
      box-shadow: inset 3px 0 0 var(--green);
    }

    #raumgefuehl .story-card.red.active {
      border-color: var(--red);
      background: #f9eeee;
      box-shadow: inset 3px 0 0 var(--red);
    }

    #raumgefuehl .story-card.yellow.active {
      border-color: var(--yellow);
      background: #fbf3e8;
      box-shadow: inset 3px 0 0 var(--yellow);
    }

    #raumgefuehl .story-card.blue.active {
      border-color: var(--blue);
      background: #eef5f8;
      box-shadow: inset 3px 0 0 var(--blue);
    }

    #raumgefuehl .story-card.touring {
      outline: 2px solid rgba(45, 125, 70, 0.24);
      outline-offset: 2px;
    }

    #raumgefuehl .story-card-top {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      min-width: 0;
    }

    #raumgefuehl .story-card-title {
      overflow: hidden;
      color: #20242a;
      font-size: 13px;
      font-weight: 900;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    #raumgefuehl .story-score {
      flex: 0 0 auto;
      color: var(--muted);
      font-size: 12px;
      font-weight: 850;
    }

    #raumgefuehl .story-text {
      color: #44505e;
      font-size: 12px;
      font-weight: 600;
      line-height: 1.35;
    }

    #raumgefuehl .review-panel {
      display: grid;
      gap: 10px;
      padding: 14px;
      border: 1px solid rgba(43, 95, 125, 0.18);
      border-radius: var(--radius);
      background: #f7fbfc;
    }

    #raumgefuehl .review-head, #raumgefuehl .review-row-top {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 10px;
    }

    #raumgefuehl .review-title {
      margin: 0;
      color: #20242a;
      font-size: 15px;
      font-weight: 850;
      letter-spacing: 0;
      text-transform: uppercase;
    }

    #raumgefuehl .review-summary, #raumgefuehl .review-score {
      color: var(--muted);
      font-size: 12px;
      font-weight: 800;
    }

    #raumgefuehl .review-meter {
      height: 9px;
      overflow: hidden;
      border-radius: 999px;
      background: #dfe8ee;
    }

    #raumgefuehl .review-fill {
      width: 0;
      height: 100%;
      border-radius: inherit;
      background: var(--green);
      transition: width 180ms ease, background 180ms ease;
    }

    #raumgefuehl .review-list {
      display: grid;
      gap: 8px;
    }

    #raumgefuehl .review-row {
      display: grid;
      gap: 5px;
      padding: 9px;
      border: 1px solid var(--line);
      border-radius: 7px;
      background: #fff;
    }

    #raumgefuehl .review-kicker {
      color: var(--blue);
      font-size: 11px;
      font-weight: 900;
      letter-spacing: 0;
      text-transform: uppercase;
    }

    #raumgefuehl .review-row-title {
      color: #20242a;
      font-size: 13px;
      font-weight: 900;
    }

    #raumgefuehl .review-copy {
      color: #44505e;
      font-size: 12px;
      font-weight: 600;
      line-height: 1.35;
    }

    #raumgefuehl .review-action {
      min-height: 36px;
      border-radius: 6px;
      background: var(--blue);
      color: #fff;
      font-size: 12px;
      font-weight: 850;
    }

    #raumgefuehl .review-action:hover {
      filter: brightness(1.05);
    }

    #raumgefuehl .ready-panel {
      display: grid;
      gap: 10px;
      padding: 14px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: var(--surface-2);
    }

    #raumgefuehl .ready-head {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 10px;
    }

    #raumgefuehl .ready-title {
      margin: 0;
      color: #20242a;
      font-size: 15px;
      font-weight: 850;
      letter-spacing: 0;
      text-transform: uppercase;
    }

    #raumgefuehl .ready-summary {
      color: var(--muted);
      font-size: 12px;
      font-weight: 800;
      white-space: nowrap;
    }

    #raumgefuehl .ready-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 7px;
    }

    #raumgefuehl .ready-item {
      display: grid;
      grid-template-columns: 34px minmax(0, 1fr);
      gap: 8px;
      min-height: 64px;
      padding: 8px;
      border: 1px solid var(--line);
      border-radius: 7px;
      background: #fff;
      color: var(--ink-2);
      text-align: left;
    }

    #raumgefuehl .ready-item:hover {
      border-color: #bfd0de;
      background: #f4f7fa;
    }

    #raumgefuehl .ready-item.done {
      border-color: rgba(45, 125, 70, 0.34);
      background: #f1f8f2;
    }

    #raumgefuehl .ready-item.warn {
      border-color: rgba(201, 134, 36, 0.36);
      background: #fbf5eb;
    }

    #raumgefuehl .ready-item.todo {
      border-color: rgba(180, 71, 60, 0.28);
      background: #fbf2f1;
    }

    #raumgefuehl .ready-mark {
      display: grid;
      place-items: center;
      width: 34px;
      height: 34px;
      border-radius: 7px;
      background: var(--surface);
      color: #26323a;
      font-size: 11px;
      font-weight: 900;
    }

    #raumgefuehl .ready-item.done .ready-mark {
      background: var(--green);
      color: #fff;
    }

    #raumgefuehl .ready-item.warn .ready-mark {
      background: var(--yellow);
      color: #fff;
    }

    #raumgefuehl .ready-item.todo .ready-mark {
      background: var(--red);
      color: #fff;
    }

    #raumgefuehl .ready-body {
      display: grid;
      min-width: 0;
    }

    #raumgefuehl .ready-name {
      overflow: hidden;
      color: #20242a;
      font-size: 12px;
      font-weight: 900;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    #raumgefuehl .ready-copy {
      margin-top: 3px;
      color: #4f5a68;
      font-size: 11px;
      font-weight: 650;
      line-height: 1.25;
    }

    #raumgefuehl .route-panel {
      display: grid;
      gap: 10px;
      padding: 14px;
      border: 1px solid rgba(45, 125, 70, 0.18);
      border-radius: var(--radius);
      background: #f7fbf8;
    }

    #raumgefuehl .route-head {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 10px;
    }

    #raumgefuehl .route-title {
      margin: 0;
      color: #20242a;
      font-size: 15px;
      font-weight: 850;
      letter-spacing: 0;
      text-transform: uppercase;
    }

    #raumgefuehl .route-summary {
      color: var(--muted);
      font-size: 12px;
      font-weight: 800;
      white-space: nowrap;
    }

    #raumgefuehl .route-list {
      display: grid;
      gap: 7px;
    }

    #raumgefuehl .route-item {
      display: grid;
      grid-template-columns: 42px minmax(0, 1fr) auto;
      gap: 8px;
      align-items: center;
      min-height: 52px;
      padding: 8px;
      border: 1px solid var(--line);
      border-radius: 7px;
      background: #fff;
      color: var(--ink-2);
      text-align: left;
    }

    #raumgefuehl .route-item:hover {
      border-color: #bfd0de;
      background: #f4f7fa;
    }

    #raumgefuehl .route-item.active {
      border-color: var(--green);
      background: var(--green-soft);
      box-shadow: inset 3px 0 0 var(--green);
    }

    #raumgefuehl .route-icon {
      display: grid;
      place-items: center;
      width: 42px;
      height: 36px;
      border-radius: 7px;
      background: var(--surface);
      color: var(--blue);
      font-size: 18px;
      font-weight: 900;
    }

    #raumgefuehl .route-name {
      display: block;
      overflow: hidden;
      color: #20242a;
      font-size: 13px;
      font-weight: 900;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    #raumgefuehl .route-copy {
      display: block;
      margin-top: 3px;
      color: #4f5a68;
      font-size: 11px;
      font-weight: 650;
      line-height: 1.25;
    }

    #raumgefuehl .route-badge {
      min-width: 46px;
      padding: 5px 7px;
      border-radius: 999px;
      background: var(--green);
      color: #fff;
      font-size: 11px;
      font-weight: 900;
      text-align: center;
    }

    #raumgefuehl .route-badge.warn {
      background: var(--yellow);
    }

    #raumgefuehl .route-badge.bad {
      background: var(--red);
    }

    #raumgefuehl .zone-panel {
      display: grid;
      gap: 10px;
      padding: 14px;
      border: 1px solid rgba(43, 95, 125, 0.16);
      border-radius: var(--radius);
      background: #f7fafc;
    }

    #raumgefuehl .zone-head {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 10px;
    }

    #raumgefuehl .zone-title {
      margin: 0;
      color: #20242a;
      font-size: 15px;
      font-weight: 850;
      letter-spacing: 0;
      text-transform: uppercase;
    }

    #raumgefuehl .zone-summary {
      color: var(--muted);
      font-size: 12px;
      font-weight: 800;
      white-space: nowrap;
    }

    #raumgefuehl .zone-list {
      display: grid;
      gap: 7px;
    }

    #raumgefuehl .zone-item {
      display: grid;
      grid-template-columns: 12px minmax(0, 1fr) 46px;
      gap: 9px;
      align-items: center;
      min-height: 56px;
      padding: 9px;
      border: 1px solid var(--line);
      border-radius: 7px;
      background: #fff;
      color: var(--ink-2);
      cursor: pointer;
      font: inherit;
      text-align: left;
    }

    #raumgefuehl div.zone-item {
      cursor: default;
    }

    #raumgefuehl button.zone-item:hover {
      border-color: #bfd0de;
      background: #f4f7fa;
    }

    #raumgefuehl .zone-swatch {
      display: block;
      width: 12px;
      height: 38px;
      border-radius: 999px;
      background: var(--zone-color, var(--blue));
      box-shadow: 0 0 0 4px var(--zone-soft, rgba(43, 95, 125, 0.1));
    }

    #raumgefuehl .zone-body {
      display: grid;
      min-width: 0;
      gap: 5px;
    }

    #raumgefuehl .zone-top {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 8px;
      min-width: 0;
    }

    #raumgefuehl .zone-name {
      overflow: hidden;
      color: #20242a;
      font-size: 13px;
      font-weight: 900;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    #raumgefuehl .zone-copy {
      color: #4f5a68;
      font-size: 11px;
      font-weight: 650;
      line-height: 1.25;
    }

    #raumgefuehl .zone-meter {
      height: 7px;
      overflow: hidden;
      border-radius: 999px;
      background: var(--surface);
    }

    #raumgefuehl .zone-fill {
      height: 100%;
      width: 0;
      border-radius: inherit;
      background: var(--zone-color, var(--blue));
    }

    #raumgefuehl .zone-percent {
      color: #20242a;
      font-size: 12px;
      font-weight: 900;
      text-align: right;
      white-space: nowrap;
    }

    #raumgefuehl .sight-panel {
      display: grid;
      gap: 10px;
      padding: 14px;
      border: 1px solid rgba(120, 92, 151, 0.18);
      border-radius: var(--radius);
      background: #fbf8fc;
    }

    #raumgefuehl .sight-head {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 10px;
    }

    #raumgefuehl .sight-title {
      margin: 0;
      color: #20242a;
      font-size: 15px;
      font-weight: 850;
      letter-spacing: 0;
      text-transform: uppercase;
    }

    #raumgefuehl .sight-summary {
      color: var(--muted);
      font-size: 12px;
      font-weight: 800;
      white-space: nowrap;
    }

    #raumgefuehl .sight-list {
      display: grid;
      gap: 7px;
    }

    #raumgefuehl .sight-item {
      display: grid;
      grid-template-columns: 42px minmax(0, 1fr) auto;
      gap: 8px;
      align-items: center;
      min-height: 54px;
      padding: 8px;
      border: 1px solid var(--line);
      border-radius: 7px;
      background: #fff;
      color: var(--ink-2);
      cursor: pointer;
      font: inherit;
      text-align: left;
    }

    #raumgefuehl .sight-item:hover {
      border-color: #cdb9dd;
      background: #faf6fd;
    }

    #raumgefuehl .sight-item.active {
      border-color: #785c97;
      background: #f5eef9;
      box-shadow: inset 3px 0 0 #785c97;
    }

    #raumgefuehl .sight-icon {
      display: grid;
      place-items: center;
      width: 42px;
      height: 36px;
      border-radius: 7px;
      background: #f0e7f6;
      color: #785c97;
      font-size: 18px;
      font-weight: 900;
    }

    #raumgefuehl .sight-name {
      display: block;
      overflow: hidden;
      color: #20242a;
      font-size: 13px;
      font-weight: 900;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    #raumgefuehl .sight-copy {
      display: block;
      margin-top: 3px;
      color: #4f5a68;
      font-size: 11px;
      font-weight: 650;
      line-height: 1.25;
    }

    #raumgefuehl .sight-badge {
      min-width: 48px;
      padding: 5px 7px;
      border-radius: 999px;
      background: #785c97;
      color: #fff;
      font-size: 11px;
      font-weight: 900;
      text-align: center;
      white-space: nowrap;
    }

    #raumgefuehl .sight-badge.warn {
      background: var(--yellow);
    }

    #raumgefuehl .sight-badge.bad {
      background: var(--red);
    }

    #raumgefuehl .scenario-panel {
      display: grid;
      gap: 10px;
      padding: 14px;
      border: 1px solid rgba(45, 125, 70, 0.16);
      border-radius: var(--radius);
      background: #f8fbf7;
    }

    #raumgefuehl .scenario-head {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 10px;
    }

    #raumgefuehl .scenario-title {
      margin: 0;
      color: #20242a;
      font-size: 15px;
      font-weight: 850;
      letter-spacing: 0;
      text-transform: uppercase;
    }

    #raumgefuehl .scenario-summary {
      color: var(--muted);
      font-size: 12px;
      font-weight: 800;
      white-space: nowrap;
    }

    #raumgefuehl .scenario-list {
      display: grid;
      gap: 7px;
    }

    #raumgefuehl .scenario-item {
      display: grid;
      grid-template-columns: 42px minmax(0, 1fr) auto;
      gap: 8px;
      align-items: center;
      min-height: 58px;
      padding: 8px;
      border: 1px solid var(--line);
      border-radius: 7px;
      background: #fff;
      color: var(--ink-2);
      cursor: pointer;
      font: inherit;
      text-align: left;
    }

    #raumgefuehl .scenario-item:hover {
      border-color: #b6d4bd;
      background: #f6fbf7;
    }

    #raumgefuehl .scenario-item.active {
      border-color: var(--green);
      background: var(--green-soft);
      box-shadow: inset 3px 0 0 var(--green);
    }

    #raumgefuehl .scenario-icon {
      display: grid;
      place-items: center;
      width: 42px;
      height: 38px;
      border-radius: 7px;
      background: #e9f5ed;
      color: var(--green);
      font-size: 18px;
      font-weight: 900;
    }

    #raumgefuehl .scenario-name {
      display: block;
      overflow: hidden;
      color: #20242a;
      font-size: 13px;
      font-weight: 900;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    #raumgefuehl .scenario-copy {
      display: block;
      margin-top: 3px;
      color: #4f5a68;
      font-size: 11px;
      font-weight: 650;
      line-height: 1.25;
    }

    #raumgefuehl .scenario-badge {
      min-width: 46px;
      padding: 5px 7px;
      border-radius: 999px;
      background: var(--green);
      color: #fff;
      font-size: 11px;
      font-weight: 900;
      text-align: center;
      white-space: nowrap;
    }

    #raumgefuehl .scenario-badge.warn {
      background: var(--yellow);
    }

    #raumgefuehl .scenario-badge.bad {
      background: var(--red);
    }

    #raumgefuehl .next-panel {
      display: grid;
      gap: 10px;
      padding: 14px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: var(--surface-2);
    }

    #raumgefuehl .next-head, #raumgefuehl .next-card-top {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 10px;
    }

    #raumgefuehl .next-title {
      margin: 0;
      font-size: 15px;
      font-weight: 850;
      letter-spacing: 0;
      text-transform: uppercase;
    }

    #raumgefuehl .next-summary, #raumgefuehl .next-meta {
      color: var(--muted);
      font-size: 12px;
      font-weight: 700;
    }

    #raumgefuehl .next-list {
      display: grid;
      gap: 8px;
    }

    #raumgefuehl .next-card {
      display: grid;
      gap: 8px;
      min-width: 0;
      padding: 9px;
      border: 1px solid var(--line);
      border-radius: 7px;
      background: #fff;
    }

    #raumgefuehl .next-card-title {
      overflow: hidden;
      color: #20242a;
      font-size: 13px;
      font-weight: 900;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    #raumgefuehl .next-copy {
      color: #44505e;
      font-size: 12px;
      font-weight: 600;
      line-height: 1.35;
    }

    #raumgefuehl .next-action {
      min-height: 34px;
      border-radius: 6px;
      background: var(--green);
      color: #fff;
      font-size: 12px;
      font-weight: 850;
    }

    #raumgefuehl .next-action:hover {
      filter: brightness(1.04);
    }

    #raumgefuehl .next-empty {
      padding: 10px;
      border: 1px dashed var(--line-strong);
      border-radius: 7px;
      color: var(--muted);
      font-size: 12px;
      line-height: 1.35;
    }

    #raumgefuehl .variant-panel {
      display: grid;
      gap: 10px;
      padding: 14px;
      border: 1px solid rgba(43, 95, 125, 0.16);
      border-radius: var(--radius);
      background: #f7fbfc;
    }

    #raumgefuehl .variant-head {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 10px;
    }

    #raumgefuehl .variant-title {
      margin: 0;
      color: #20242a;
      font-size: 15px;
      font-weight: 850;
      letter-spacing: 0;
      text-transform: uppercase;
    }

    #raumgefuehl .variant-summary {
      color: var(--muted);
      font-size: 12px;
      font-weight: 800;
      white-space: nowrap;
    }

    #raumgefuehl .variant-list {
      display: grid;
      gap: 8px;
    }

    #raumgefuehl .variant-card {
      display: grid;
      grid-template-columns: 72px minmax(0, 1fr);
      gap: 10px;
      min-width: 0;
      padding: 9px;
      border: 1px solid var(--line);
      border-radius: 7px;
      background: #fff;
    }

    #raumgefuehl .variant-card.active {
      border-color: var(--green);
      background: var(--green-soft);
      box-shadow: inset 3px 0 0 var(--green);
    }

    #raumgefuehl .variant-mini {
      width: 72px;
      height: 92px;
      overflow: hidden;
      border: 1px solid #d7e0e8;
      border-radius: 7px;
      background: var(--surface);
    }

    #raumgefuehl .variant-mini svg {
      display: block;
      width: 100%;
      height: 100%;
    }

    #raumgefuehl .variant-body {
      display: grid;
      min-width: 0;
      gap: 6px;
    }

    #raumgefuehl .variant-card-top, #raumgefuehl .variant-foot {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 8px;
      min-width: 0;
    }

    #raumgefuehl .variant-name {
      overflow: hidden;
      color: #20242a;
      font-size: 13px;
      font-weight: 900;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    #raumgefuehl .variant-meta {
      color: var(--muted);
      font-size: 11px;
      font-weight: 850;
      white-space: nowrap;
    }

    #raumgefuehl .variant-copy {
      color: #44505e;
      font-size: 11px;
      font-weight: 650;
      line-height: 1.25;
    }

    #raumgefuehl .variant-pill {
      overflow: hidden;
      max-width: 112px;
      padding: 4px 7px;
      border-radius: 999px;
      background: var(--surface);
      color: #44505e;
      font-size: 11px;
      font-weight: 850;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    #raumgefuehl .variant-action {
      min-height: 30px;
      padding: 0 10px;
      border-radius: 6px;
      background: var(--blue);
      color: #fff;
      font-size: 11px;
      font-weight: 900;
      white-space: nowrap;
    }

    #raumgefuehl .variant-action:hover {
      filter: brightness(1.05);
    }

    #raumgefuehl .library-head {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 12px;
      margin-bottom: 12px;
    }

    #raumgefuehl .library-head h2 {
      margin: 0;
      font-size: 15px;
      font-weight: 850;
      letter-spacing: 0;
      text-transform: uppercase;
    }

    #raumgefuehl .module-count {
      color: var(--muted);
      font-size: 13px;
      white-space: nowrap;
    }

    #raumgefuehl .type-card {
      margin-bottom: 10px;
      padding: 10px;
      border: 1px solid #e4e9ef;
      border-radius: var(--radius);
      background: var(--surface-2);
    }

    #raumgefuehl .type-top {
      display: grid;
      grid-template-columns: 40px minmax(0, 1fr);
      gap: 10px;
      align-items: center;
      margin-bottom: 9px;
    }

    #raumgefuehl .emoji {
      display: grid;
      place-items: center;
      width: 40px;
      height: 40px;
      border-radius: 7px;
      background: #fff;
      font-size: 22px;
      box-shadow: inset 0 0 0 1px var(--line);
    }

    #raumgefuehl .type-name {
      display: block;
      overflow: hidden;
      font-weight: 850;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    #raumgefuehl .type-desc {
      display: block;
      margin-top: 3px;
      color: var(--muted);
      font-size: 12px;
      line-height: 1.3;
    }

    #raumgefuehl .variant-row {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 6px;
    }

    #raumgefuehl .variant-btn {
      min-height: 38px;
      padding: 6px 7px;
      border: 1px solid var(--line);
      border-radius: 6px;
      background: #fff;
      color: #344050;
      font-size: 12px;
      line-height: 1.15;
      text-align: left;
    }

    #raumgefuehl .variant-btn:hover {
      border-color: #bfd0de;
      background: #f4f7fa;
    }

    #raumgefuehl .variant-btn.active {
      border-color: var(--green);
      background: var(--green-soft);
      color: #214f32;
      box-shadow: inset 3px 0 0 var(--green);
    }

    #raumgefuehl .variant-label {
      display: block;
      overflow: hidden;
      font-weight: 800;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    #raumgefuehl .variant-size {
      display: block;
      margin-top: 3px;
      color: var(--muted);
    }

    #raumgefuehl .insight-panel, #raumgefuehl .actions-panel, #raumgefuehl .selected-panel {
      padding: 14px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: var(--surface-2);
    }

    #raumgefuehl .insight-title {
      display: flex;
      align-items: center;
      gap: 8px;
      margin: 0 0 9px;
      font-size: 17px;
      font-weight: 850;
      line-height: 1.2;
    }

    #raumgefuehl .insight-dot {
      width: 13px;
      height: 13px;
      border-radius: 50%;
      background: var(--green);
      box-shadow: 0 0 0 4px rgba(45, 125, 70, 0.12);
    }

    #raumgefuehl .space-meter {
      height: 10px;
      overflow: hidden;
      border-radius: 999px;
      background: #e6ebf0;
    }

    #raumgefuehl .space-fill {
      width: 0;
      height: 100%;
      border-radius: inherit;
      background: var(--green);
      transition: width 160ms ease, background 160ms ease;
    }

    #raumgefuehl .insight-meta {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      margin: 9px 0 10px;
      color: var(--muted);
      font-size: 13px;
    }

    #raumgefuehl .insight-list {
      display: grid;
      gap: 6px;
      margin: 0;
      padding: 0;
      list-style: none;
      color: #3f4a58;
      font-size: 13px;
      line-height: 1.35;
    }

    #raumgefuehl .coach-block {
      display: grid;
      gap: 10px;
      margin-top: 12px;
      padding-top: 12px;
      border-top: 1px solid var(--line);
    }

    #raumgefuehl .coach-heading {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      color: #27313d;
      font-size: 13px;
      font-weight: 900;
      text-transform: uppercase;
    }

    #raumgefuehl .coach-scores {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 8px;
    }

    #raumgefuehl .coach-score {
      display: grid;
      gap: 6px;
      min-width: 0;
      padding: 9px;
      border: 1px solid var(--line);
      border-radius: 7px;
      background: #fff;
    }

    #raumgefuehl .coach-score-top {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      font-size: 12px;
      font-weight: 850;
    }

    #raumgefuehl .coach-score-name {
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    #raumgefuehl .coach-score-value {
      color: var(--muted);
      white-space: nowrap;
    }

    #raumgefuehl .coach-meter {
      height: 7px;
      overflow: hidden;
      border-radius: 999px;
      background: #e6ebf0;
    }

    #raumgefuehl .coach-meter-fill {
      height: 100%;
      border-radius: inherit;
      background: var(--green);
    }

    #raumgefuehl .coach-actions {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 7px;
    }

    #raumgefuehl .coach-action {
      min-height: 34px;
      padding: 5px 7px;
      border-radius: 6px;
      background: var(--surface);
      color: var(--ink-2);
      font-size: 12px;
      font-weight: 800;
    }

    #raumgefuehl .coach-action:hover {
      background: var(--green-soft);
      color: var(--green);
    }

    #raumgefuehl .coach-action:disabled {
      cursor: not-allowed;
      opacity: 0.48;
    }

    #raumgefuehl .selected-panel {
      display: none;
    }

    #raumgefuehl .selected-panel.show {
      display: block;
    }

    #raumgefuehl .selected-title {
      margin: 0 0 8px;
      font-size: 14px;
      font-weight: 850;
    }

    #raumgefuehl .selected-meta {
      margin: 0 0 10px;
      color: var(--muted);
      font-size: 12px;
      line-height: 1.35;
    }

    #raumgefuehl .selected-section-label {
      display: block;
      margin: 11px 0 6px;
      color: var(--muted);
      font-size: 12px;
      font-weight: 800;
      text-transform: uppercase;
    }

    #raumgefuehl .selected-check {
      display: none;
      gap: 8px;
      margin: 10px 0 2px;
      padding: 9px;
      border: 1px solid var(--line);
      border-radius: 7px;
      background: #fff;
    }

    #raumgefuehl .selected-panel.show .selected-check {
      display: grid;
    }

    #raumgefuehl .selected-check-top {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
    }

    #raumgefuehl .selected-check-title {
      overflow: hidden;
      color: #20242a;
      font-size: 13px;
      font-weight: 900;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    #raumgefuehl .selected-check-badge {
      flex: 0 0 auto;
      padding: 4px 7px;
      border-radius: 999px;
      background: var(--green-soft);
      color: var(--green);
      font-size: 11px;
      font-weight: 900;
    }

    #raumgefuehl .selected-check-badge.warn {
      background: #fbf1e4;
      color: var(--yellow);
    }

    #raumgefuehl .selected-check-badge.bad {
      background: #f7e7e5;
      color: var(--red);
    }

    #raumgefuehl .selected-check-copy {
      color: #44505e;
      font-size: 12px;
      font-weight: 600;
      line-height: 1.35;
    }

    #raumgefuehl .selected-focus-btn {
      min-height: 34px;
      border-radius: 6px;
      background: var(--blue);
      color: #fff;
      font-size: 12px;
      font-weight: 850;
    }

    #raumgefuehl .selected-focus-btn:hover {
      filter: brightness(1.05);
    }

    #raumgefuehl .selected-variant-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 6px;
    }

    #raumgefuehl .selected-actions {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 7px;
    }

    #raumgefuehl .selected-place-actions {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    #raumgefuehl .mini-btn {
      min-height: 36px;
      border-radius: 6px;
      background: var(--surface);
      color: var(--ink-2);
      font-weight: 750;
    }

    #raumgefuehl .mini-btn:hover {
      background: var(--green-soft);
      color: var(--green);
    }

    #raumgefuehl .mini-btn:disabled, #raumgefuehl .action-btn:disabled {
      cursor: not-allowed;
      opacity: 0.48;
      transform: none;
    }

    #raumgefuehl .mini-btn.danger:hover {
      background: #f6e7e5;
      color: var(--red);
    }

    #raumgefuehl .actions-panel {
      display: grid;
      gap: 9px;
    }

    #raumgefuehl .action-btn {
      min-height: 42px;
      border-radius: var(--radius);
      background: var(--green);
      color: #fff;
      font-weight: 850;
      transition: filter 140ms ease, transform 140ms ease;
    }

    #raumgefuehl .action-btn:hover {
      filter: brightness(1.05);
      transform: translateY(-1px);
    }

    #raumgefuehl .action-btn.blue {
      background: var(--blue);
    }

    #raumgefuehl .action-btn.red {
      background: var(--red);
    }

    #raumgefuehl .action-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 8px;
    }

    #raumgefuehl .export-segment {
      width: 100%;
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    #raumgefuehl .export-segment button {
      min-width: 0;
      padding: 0 8px;
      text-align: center;
    }

    #raumgefuehl .toast {
      position: fixed;
      right: 372px;
      bottom: 20px;
      max-width: 360px;
      padding: 12px 14px;
      border-radius: var(--radius);
      background: #1f2937;
      color: #fff;
      font-size: 14px;
      opacity: 0;
      transform: translateY(8px);
      transition: opacity 160ms ease, transform 160ms ease;
      pointer-events: none;
      z-index: 20;
    }

    #raumgefuehl .toast.show {
      opacity: 1;
      transform: translateY(0);
    }

    #raumgefuehl .sr-only {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      white-space: nowrap;
      border: 0;
    }

    @media (max-width: 1180px) {
      #raumgefuehl {
        overflow: auto;
      }

      #raumgefuehl .app {
        height: auto;
        min-height: 100vh;
      }

      #raumgefuehl .topbar {
        grid-template-columns: 1fr;
      }

      #raumgefuehl .workspace {
        grid-template-columns: 1fr;
      }

      #raumgefuehl .plan-panel, #raumgefuehl .preview-panel, #raumgefuehl .sidebar {
        border-right: 0;
        border-bottom: 1px solid var(--line);
      }

      #raumgefuehl .plan-shell {
        height: 68vh;
        min-height: 520px;
      }

      #raumgefuehl .preview-panel {
        min-height: 560px;
      }

      #raumgefuehl .sidebar {
        overflow: visible;
        box-shadow: 0 -12px 28px rgba(31, 41, 55, 0.08);
      }

      #raumgefuehl .module-library {
        overflow: visible;
      }

      #raumgefuehl .workflow-panel {
        position: static;
      }

      #raumgefuehl .toast {
        right: 16px;
      }
    }

    @media (max-width: 640px) {
      #raumgefuehl .topbar {
        padding: 14px;
      }

      #raumgefuehl .brand h1, #raumgefuehl .brand h2 {
        font-size: 21px;
      }

      #raumgefuehl .segmented {
        width: 100%;
      }

      #raumgefuehl .panel-head {
        align-items: flex-start;
        flex-direction: column;
      }

      #raumgefuehl .plan-shell {
        height: 58vh;
        min-height: 430px;
      }

      #raumgefuehl .preview-panel {
        min-height: 460px;
      }

      #raumgefuehl .variant-row {
        grid-template-columns: 1fr;
      }

      #raumgefuehl .workflow-actions, #raumgefuehl .workflow-tabs, #raumgefuehl .start-grid {
        grid-template-columns: 1fr;
      }

      #raumgefuehl .start-dialog {
        padding: 16px;
      }

      #raumgefuehl .start-head {
        grid-template-columns: 1fr auto;
      }

      #raumgefuehl .selected-variant-grid, #raumgefuehl .selected-place-actions, #raumgefuehl .style-options, #raumgefuehl .compare-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      #raumgefuehl .camera-tools {
        width: 100%;
        overflow-x: auto;
      }

      #raumgefuehl .choice-grid, #raumgefuehl .choice-grid.three {
        grid-template-columns: 1fr;
      }

      #raumgefuehl .coach-scores, #raumgefuehl .coach-actions {
        grid-template-columns: 1fr;
      }
    }
    
    #raumgefuehl button {
      transition: transform 0.09s ease, filter 0.14s ease, box-shadow 0.14s ease;
    }
    #raumgefuehl button:active:not(:disabled) {
      transform: scale(0.97);
    }
    #raumgefuehl .style-btn, #raumgefuehl .choice-btn, #raumgefuehl .scenario-item, #raumgefuehl .coach-action, #raumgefuehl .workflow-action, #raumgefuehl .module-card {
      transition: transform 0.14s ease, box-shadow 0.14s ease, border-color 0.14s ease;
    }
    #raumgefuehl .style-btn:hover:not(:disabled), #raumgefuehl .choice-btn:hover:not(:disabled), #raumgefuehl .workflow-action:hover:not(:disabled), #raumgefuehl .module-card:hover {
      transform: translateY(-1px);
    }
    #raumgefuehl .module-svg.dragging {
      filter: drop-shadow(0 14px 22px rgba(31, 41, 55, 0.42));
    }

    
    #raumgefuehl .scenario-item {
      display: flex;
      flex-direction: column;
      gap: 6px;
      padding: 10px 12px;
      border-radius: 12px;
      background: var(--surface-2);
      border: 1px solid var(--line);
    }
    #raumgefuehl .scenario-item.active {
      border-color: var(--blue);
      box-shadow: 0 0 0 1px var(--blue);
    }
    #raumgefuehl .scenario-head {
      display: flex;
      align-items: center;
      gap: 10px;
      width: 100%;
      padding: 0;
      background: none;
      border: none;
      cursor: pointer;
      text-align: left;
    }
    #raumgefuehl .scenario-head .scenario-name {
      flex: 1;
      font-weight: 700;
    }
    #raumgefuehl .scenario-problem, #raumgefuehl .scenario-solution {
      margin: 0;
      padding-left: 20px;
      position: relative;
      font-size: 13px;
      line-height: 1.4;
    }
    #raumgefuehl .scenario-problem {
      color: var(--muted);
    }
    #raumgefuehl .scenario-solution {
      color: var(--ink);
    }
    #raumgefuehl .scenario-problem::before {
      content: "•";
      position: absolute;
      left: 6px;
      color: var(--red);
      font-weight: 800;
    }
    #raumgefuehl .scenario-solution::before {
      content: "→";
      position: absolute;
      left: 4px;
      color: var(--green);
      font-weight: 800;
    }
    #raumgefuehl .scenario-action {
      align-self: flex-start;
      margin-top: 2px;
      padding: 5px 12px;
      border: none;
      border-radius: 999px;
      background: var(--blue);
      color: #fff;
      font-size: 12px;
      font-weight: 700;
      cursor: pointer;
    }
    #raumgefuehl .scenario-action:hover {
      filter: brightness(1.08);
    }

    
    #raumgefuehl .coach-voice {
      display: flex;
      flex-direction: column;
      gap: 8px;
      margin-bottom: 12px;
    }
    #raumgefuehl .coach-voice-line {
      margin: 0;
      padding: 10px 12px;
      border-radius: 10px;
      font-size: 14px;
      line-height: 1.42;
      background: var(--green-soft);
      color: var(--ink);
      border-left: 3px solid var(--green);
    }
    #raumgefuehl .coach-voice-line.warn {
      background: #fdf4e3;
      border-left-color: var(--yellow);
    }
    #raumgefuehl .coach-voice-line.bad {
      background: #fbecea;
      border-left-color: var(--red);
    }
    #raumgefuehl .coach-voice-fix {
      margin-left: 6px;
      padding: 3px 10px;
      border: none;
      border-radius: 999px;
      background: var(--blue);
      color: #fff;
      font-size: 12px;
      font-weight: 700;
      cursor: pointer;
    }
    #raumgefuehl .coach-voice-fix:hover {
      filter: brightness(1.08);
    }

    
    #raumgefuehl .day-tour-caption {
      position: absolute;
      left: 50%;
      bottom: 22px;
      transform: translate(-50%, 8px);
      max-width: 86%;
      padding: 12px 22px 14px;
      border-radius: 16px;
      background: rgba(20, 24, 28, 0.82);
      color: #fff;
      font-weight: 700;
      font-size: 19px;
      letter-spacing: 0.01em;
      text-align: center;
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.32s ease, transform 0.32s ease;
      z-index: 6;
    }
    #raumgefuehl .day-tour-caption.show {
      opacity: 1;
      transform: translate(-50%, 0);
    }
    #raumgefuehl .day-tour-text {
      display: block;
    }
    #raumgefuehl .day-tour-bar {
      display: block;
      height: 4px;
      width: 0;
      margin: 10px auto 0;
      max-width: 220px;
      border-radius: 999px;
      background: linear-gradient(90deg, #ffd38a, #ffb75e);
      transition: width 0.4s ease;
    }

    
    #raumgefuehl :focus-visible {
      outline: 2px solid var(--blue);
      outline-offset: 2px;
      border-radius: 6px;
    }

    #raumgefuehl .scene-loader {
      position: absolute;
      inset: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      background: rgba(246, 247, 249, 0.92);
      color: var(--muted);
      font-weight: 600;
      font-size: 14px;
      letter-spacing: 0.01em;
      pointer-events: none;
    }

    @media (max-width: 640px) {
      #raumgefuehl .mini-btn, #raumgefuehl .coach-action, #raumgefuehl .icon-toggle, #raumgefuehl .camera-tools button {
        min-height: 44px;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      #raumgefuehl *, #raumgefuehl *::before, #raumgefuehl *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
      }
    }


/* ── PMC-Embed-Overrides (Studio läuft in der Seite, nicht fullscreen) ── */
#raumgefuehl { overflow: visible; width: auto; height: auto; }
#raumgefuehl .app { width: 100%; height: calc(100vh - 96px); min-height: 640px; border: 1px solid var(--line); border-radius: 22px; overflow: hidden; box-shadow: 0 1px 2px rgba(15,23,42,.04), 0 16px 40px rgba(15,23,42,.10); }
/* Unter 1180px stapelt der Prototyp die Panels — dann braucht die App ihre natürliche Höhe */
@media (max-width: 1180px) {
  #raumgefuehl .app { height: auto; min-height: 0; overflow: visible; }
}

/* ── PMC Polish Pass: runder, weicher, Marken-Emerald ─────────────────────
   Nur Token + Komponenten-Feinschliff. Struktur/IDs des Prototyps unberührt. */

#raumgefuehl {
  --bg: #f8fafc;
  --surface: #f1f5f9;
  --surface-2: #fcfdfe;
  --surface-3: #eef2f7;
  --line: #e2e8f0;
  --line-strong: #cbd5e1;
  --green: #059669;              /* PMC emerald-600 */
  --green-soft: #ecfdf5;         /* emerald-50 */
  --blue: #0f766e;               /* teal-700 — Sekundär-Akzent statt Stahlblau */
  --radius: 14px;
  --shadow: 0 2px 6px rgba(15, 23, 42, 0.06), 0 18px 44px rgba(15, 23, 42, 0.12);
}

/* Marke & Topbar */
#raumgefuehl .brand h2 { letter-spacing: -0.02em; }
#raumgefuehl .topbar { border-bottom-color: var(--line); }

/* Segmented Controls → Pills mit Emerald→Teal-Verlauf */
#raumgefuehl .segmented { border-radius: 9999px; background: var(--surface); }
#raumgefuehl .segmented button { border-radius: 9999px; font-weight: 650; transition: background .16s ease, color .16s ease, box-shadow .16s ease, transform .16s ease; }
#raumgefuehl .segmented button.active {
  background: linear-gradient(135deg, #059669, #0d9488);
  box-shadow: 0 6px 16px rgba(5, 150, 105, 0.30);
}

/* Chips & Werkzeug-Buttons → Pills */
#raumgefuehl .icon-toggle,
#raumgefuehl .camera-tools button { border-radius: 9999px; transition: background .16s ease, color .16s ease, box-shadow .16s ease, transform .16s ease; }
#raumgefuehl .icon-toggle.active { box-shadow: 0 4px 12px rgba(15, 118, 110, 0.28); }

/* Primär-/Sekundär-Aktionen: sanfter Lift beim Hover */
#raumgefuehl .action-btn,
#raumgefuehl .workflow-action,
#raumgefuehl .coach-action,
#raumgefuehl .mini-btn,
#raumgefuehl .choice-btn,
#raumgefuehl .style-btn,
#raumgefuehl .variant-btn { border-radius: 12px; transition: background .16s ease, color .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
#raumgefuehl .action-btn { background: linear-gradient(135deg, #059669, #0d9488); box-shadow: 0 6px 16px rgba(5, 150, 105, 0.26); }
#raumgefuehl .action-btn:hover,
#raumgefuehl .workflow-action:hover,
#raumgefuehl .coach-action:hover,
#raumgefuehl .mini-btn:hover { transform: translateY(-1px); }
#raumgefuehl .action-btn:active,
#raumgefuehl .workflow-action:active { transform: translateY(0) scale(0.99); }
#raumgefuehl .workflow-action.primary { background: linear-gradient(135deg, #059669, #0d9488); }

/* Workflow-Tabs → Pills */
#raumgefuehl .workflow-tabs { border-radius: 9999px; }
#raumgefuehl .workflow-tab { border-radius: 9999px; transition: background .16s ease, color .16s ease, box-shadow .16s ease; }
#raumgefuehl .workflow-tab.active { box-shadow: 0 4px 12px rgba(15, 118, 110, 0.26); }

/* Auswahl-Karten (Start-Wizard, Ideenhelfer) */
#raumgefuehl .choice-btn { border-radius: 14px; }
#raumgefuehl .choice-btn:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08); }
#raumgefuehl .choice-btn.active { box-shadow: 0 0 0 2px rgba(5, 150, 105, 0.25), 0 6px 16px rgba(5, 150, 105, 0.14); }

/* Start-Overlay-Karte */
#raumgefuehl .start-overlay > div,
#raumgefuehl .start-overlay section { border-radius: 20px; }

/* Toasts */
#raumgefuehl .toast { border-radius: 12px; box-shadow: 0 10px 28px rgba(15, 23, 42, 0.18); }

/* Fokus sichtbar, markenfarben */
#raumgefuehl :focus-visible { outline: 2px solid #059669; outline-offset: 2px; border-radius: 6px; }

/* Schlanke, runde Scrollbars in den Panels */
#raumgefuehl .sidebar::-webkit-scrollbar,
#raumgefuehl .workflow-panel::-webkit-scrollbar { width: 8px; }
#raumgefuehl .sidebar::-webkit-scrollbar-thumb,
#raumgefuehl .workflow-panel::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 9999px; }
#raumgefuehl .sidebar::-webkit-scrollbar-thumb:hover,
#raumgefuehl .workflow-panel::-webkit-scrollbar-thumb:hover { background: #94a3b8; }
