html:has(body.quicksketch-fullscreen-page),
body.quicksketch-fullscreen-page {
  margin: 0 !important;
  padding: 0 !important;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: #eef1f3;
}
.quicksketch-fullscreen-page #wpadminbar {
  display: none !important;
}
.quicksketch-fullscreen-page {
  font-family:
    Inter,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
}
.quicksketch-app {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: grid;
  grid-template-rows: auto 1fr auto;
  width: 100vw;
  height: 100dvh;
  min-height: 100vh;
  background: #eef1f3;
  color: #202428;
  overflow: hidden;
}
.quicksketch-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(180px, 340px) 220px;
  grid-template-areas: "tools status logo";
  gap: 18px;
  align-items: center;
  padding: 8px 16px;
  background: #fff;
  border-bottom: 1px solid #dfe3e7;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.035);
  z-index: 5;
}
.quicksketch-logo {
  grid-area: logo;
  position: relative;
  width: 240px;
  height: 48px;
  overflow: hidden;
  justify-self: end;
}
.quicksketch-logo > .quicksketch-logo-image {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  object-fit: contain;
  object-position: right center;
}
.quicksketch-tools {
  grid-area: tools;
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}
.qs-btn {
  appearance: none;
  border: 1px solid #c9ced4;
  background: #f4f5f6;
  color: #202428;
  border-radius: 8px;
  padding: 9px 13px;
  font-weight: 650;
  cursor: pointer;
}
.qs-btn:hover {
  background: #e9ecef;
}
.qs-btn.is-active {
  background: #202428;
  color: #fff;
  border-color: #202428;
}
.qs-btn-clean {
  border-color: #202428;
  background: #202428;
  color: #fff;
  font-weight: 800;
  letter-spacing: 0.06em;
}
.qs-btn-clean:hover,
.qs-btn-clean.is-active {
  border-color: #1670b8;
  background: #1670b8;
  color: #fff;
}
.qs-furniture-dimensions.is-clean .qs-clean-dim-line,
.qs-furniture-dimensions.is-clean .qs-clean-dim-ext {
  shape-rendering: geometricPrecision;
}

.qs-menu {
  position: relative;
  display: inline-flex;
}
.qs-btn-opti {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border-color: #adb5bd;
  background: #fff;
  font-weight: 800;
  letter-spacing: .035em;
}
.qs-btn-opti[aria-expanded="true"] {
  background: #202428;
  color: #fff;
  border-color: #202428;
}
.qs-menu-panel {
  position: absolute;
  z-index: 80;
  top: calc(100% + 8px);
  left: 0;
  width: 260px;
  padding: 7px;
  border: 1px solid #d8dde2;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 14px 38px rgba(32,36,40,.16);
}
.qs-menu-panel[hidden] { display: none !important; }
.qs-menu-item {
  appearance: none;
  display: grid;
  width: 100%;
  gap: 2px;
  padding: 10px 11px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #202428;
  text-align: left;
  cursor: pointer;
}
.qs-menu-item:hover { background: #f1f3f5; }
.qs-menu-item strong { font-size: 13px; letter-spacing: .03em; }
.qs-menu-item span { font-size: 11px; color: #737b84; }
.qs-menu-item.is-active strong { color: #1670b8; }
.qs-btn-group:not(:disabled) {
  border-color: #8c99a5;
  background: #fff;
}
.qs-btn-group.is-active {
  background: #202428;
  border-color: #202428;
  color: #fff;
}
.qs-group-summary {
  display: grid;
  gap: 5px;
  padding: 11px 12px;
  border: 1px solid #dde2e6;
  border-radius: 10px;
  background: #f7f8f9;
}
.qs-group-summary strong { font-size: 13px; }
.qs-group-summary span { font-size: 12px; line-height: 1.4; color: #69727b; }
.qs-btn-close {
  background: #fff4f4;
  border-color: #d73333;
  color: #b51f1f;
}
.qs-btn-danger {
  color: #b42318;
  border-color: #efc7c3;
  background: #fff7f6;
}
.qs-btn[hidden],
.qs-modal-backdrop[hidden] {
  display: none !important;
}
.qs-status {
  grid-area: status;
  justify-self: end;
  font-size: 13px;
  color: #68707a;
  text-align: right;
}
.quicksketch-workspace {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  min-height: 0;
  overflow: hidden;
}
.quicksketch-stage-wrap {
  position: relative;
  grid-column: 2;
  grid-row: 1;
  min-height: 0;
  background: #eceff1;
  overflow: hidden;
}
.quicksketch-stage {
  display: block;
  width: 100%;
  height: 100%;
  background: #fff;
  touch-action: none;
  user-select: none;
  cursor: crosshair;
}
.qs-canvas-tip {
  position: absolute;
  right: 14px;
  bottom: 10px;
  z-index: 18;
  display: flex;
  align-items: center;
  gap: 8px;
  max-width: min(520px, calc(100% - 28px));
  min-height: 34px;
  padding: 6px 10px;
  border: 1px solid #e1e4e8;
  border-radius: 9px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 4px 14px rgba(32,36,40,.10);
  color: #545d66;
  font-size: 11px;
  line-height: 1.25;
  pointer-events: none;
}
.qs-canvas-tip[hidden] { display: none !important; }
.qs-canvas-tip-icon {
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
}
.qs-canvas-tip-icon svg {
  width: 20px;
  height: 20px;
  fill: #ffd54a;
  stroke: #202428;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.qs-canvas-tip-copy { white-space: normal; }
.qs-canvas-tip-copy strong { color: #202428; }
.quicksketch-help {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-template-areas:
    "online version"
    "copyright copyright";
  align-items: center;
  column-gap: 18px;
  row-gap: 2px;
  min-height: 46px;
  padding: 5px 14px 6px;
  background: #fff;
  border-top: 1px solid #e1e4e8;
  font-size: 12px;
  color: #6d747c;
}
.qs-footer-online { grid-area:online; justify-self:start; white-space:nowrap; color:#6d747c; font-weight:400; }
.qs-footer-copyright { grid-area:copyright; justify-self:center; white-space:nowrap; color:#6d747c; font-weight:400; }
.quicksketch-help .qs-version { grid-area:version; justify-self:end; white-space:nowrap; color:#6d747c; font-weight:400; }
.qs-grid-minor {
  stroke: #f1f2f3;
}
.qs-grid-major {
  stroke: #e0e4e7;
}
.qs-wall-fill {
  fill: #d8dde1;
  stroke: #30353a;
  stroke-width: 1.4;
  vector-effect: non-scaling-stroke;
}
.qs-wall-fill.is-selected {
  fill: #ffd4d8;
  stroke: #e32636;
  stroke-width: 2.4;
}
.quicksketch-stage[data-wall-style="hatched"]
  .qs-wall-fill:not(.is-selected) {
  fill: url(#qs-wall-hatched);
}
.quicksketch-stage[data-wall-style="masonry"]
  .qs-wall-fill:not(.is-selected) {
  fill: url(#qs-wall-masonry);
}
.quicksketch-stage[data-wall-style="herringbone"]
  .qs-wall-fill:not(.is-selected) {
  fill: url(#qs-wall-herringbone);
}
.quicksketch-stage .qs-wall-fill.has-custom-color:not(.is-selected) {
  fill: var(--qs-wall-color);
}
.qs-wall-fill.qs-wall-segment-finished:not(.is-selected) {
  stroke: none;
}
.qs-wall-outline {
  fill: none;
  stroke: #30353a;
  stroke-width: 1.4;
  stroke-linejoin: miter;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-wall-selection-outline {
  fill: none;
  stroke: #e32636;
  stroke-width: 2.4;
  stroke-linejoin: miter;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-interior-wall-fill {
  fill: url(#qs-interior-hatch);
  stroke: #30353a;
  stroke-width: 1.4;
  stroke-linejoin: miter;
  vector-effect: non-scaling-stroke;
}
.qs-interior-wall-fill.is-selected {
  fill: #b9dcff;
  stroke: #1673c9;
  stroke-width: 2.4;
}
.qs-interior-wall-preview {
  opacity: 0.72;
  pointer-events: none;
}
.qs-inner-line {
  fill: none;
  stroke: #24292e;
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
}
.qs-handle {
  fill: #fff;
  stroke: #202428;
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
  cursor: move;
}
.qs-dim,
.qs-dim-ext,
.qs-dim-tick {
  stroke: #1d2328;
  stroke-width: 1.1;
  vector-effect: non-scaling-stroke;
}

.qs-dimension-group .qs-dim,
.qs-dimension-group .qs-dim-ext,
.qs-dimension-group .qs-dim-tick,
.qs-dimension-group .qs-dim-text,
.qs-dimension-group .qs-opening-dim,
.qs-dimension-group .qs-opening-dim-line,
.qs-dimension-group .qs-opening-dim-ext,
.qs-dimension-group .qs-window-info,
.qs-dimension-group circle {
  pointer-events: none;
}
.qs-dimension-hit {
  stroke: transparent;
  stroke-width: 16;
  fill: none;
  pointer-events: stroke;
  cursor: pointer;
  vector-effect: non-scaling-stroke;
}
.qs-dimension-group.is-selected .qs-dim,
.qs-dimension-group.is-selected .qs-dim-ext,
.qs-dimension-group.is-selected .qs-dim-tick,
.qs-dimension-group.is-selected .qs-opening-dim-line,
.qs-dimension-group.is-selected .qs-opening-dim-ext {
  stroke: #159447 !important;
  stroke-width: 2 !important;
}
.qs-dimension-group.is-selected .qs-dim-text,
.qs-dimension-group.is-selected .qs-opening-dim,
.qs-dimension-group.is-selected .qs-window-info {
  fill: #159447 !important;
}
.qs-dimension-group.is-selected circle:not(.qs-dimension-hit) {
  fill: #159447;
}
.qs-dim-text {
  font-size: 14px;
  font-weight: 650;
  fill: #16191c;
  text-anchor: middle;
  dominant-baseline: middle;
  paint-order: stroke;
  stroke: #fff;
  stroke-width: 5;
}
.qs-preview {
  fill: none;
  stroke: #747d85;
  stroke-width: 2;
  stroke-dasharray: 7 6;
  vector-effect: non-scaling-stroke;
}
.qs-guide {
  fill: none;
  stroke: #e32636;
  stroke-width: 1.25;
  stroke-dasharray: 6 5;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-live-dim,
.qs-live-angle {
  font-size: 15px;
  font-weight: 750;
  fill: #b61624;
  text-anchor: middle;
  dominant-baseline: middle;
  paint-order: stroke;
  stroke: #fff;
  stroke-width: 6;
  pointer-events: none;
}
.qs-live-angle {
  fill: #30353a;
  font-size: 13px;
}
.qs-start-arrow {
  fill: #16a34a;
  stroke: #0e7a35;
  stroke-width: 1.5;
  vector-effect: non-scaling-stroke;
}
.qs-start-anchor {
  fill: #fff;
  stroke: #16a34a;
  stroke-width: 3;
  vector-effect: non-scaling-stroke;
}
.qs-hit {
  fill: none;
  stroke: transparent;
  stroke-width: 18;
  vector-effect: non-scaling-stroke;
  cursor: grab;
}
.qs-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 2147483600;
  background: rgba(20, 25, 30, 0.38);
  display: grid;
  place-items: center start;
  padding: 20px;
}
.qs-modal {
  width: min(560px, 96vw);
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.24);
  overflow: hidden;
}
.qs-length-modal {
  width: min(420px, 96vw);
}
.qs-modal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 18px;
  border-bottom: 1px solid #e5e7eb;
}
.qs-icon-btn {
  border: 0;
  background: transparent;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}
.qs-tabs {
  padding: 10px 18px 0;
}
.qs-tab {
  border: 0;
  border-bottom: 2px solid #202428;
  background: transparent;
  padding: 8px 4px;
  font-weight: 700;
}
.qs-modal-body {
  padding: 18px;
}
.qs-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.qs-form-grid label,
.qs-length-modal label {
  display: grid;
  gap: 6px;
  font-size: 13px;
  font-weight: 650;
}
.qs-form-grid label span {
  font-weight: 400;
  color: #7a8188;
}
.qs-form-grid input[type="number"],
.qs-length-modal input,
.qs-form-grid select {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #cfd4da;
  border-radius: 8px;
  padding: 10px 11px;
  font: inherit;
}
.qs-wall-style-options {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  border: 0;
}
.qs-wall-style-options legend {
  grid-column: 1 / -1;
  margin-bottom: 4px;
  font-size: 13px;
  font-weight: 750;
}
.qs-wall-style-options label {
  display: grid;
  grid-template-columns: auto 58px 1fr !important;
  align-items: center;
  gap: 10px;
  padding: 9px 10px;
  border: 1px solid #d7dce0;
  border-radius: 10px;
  cursor: pointer;
}
.qs-wall-style-options label:has(input:checked) {
  border-color: #1670b8;
  box-shadow: 0 0 0 2px rgba(22, 112, 184, 0.12);
}
.qs-wall-style-swatch {
  width: 58px;
  height: 30px;
  border: 1px solid #30353a;
  background-color: #d8dde1;
}
.qs-wall-style-hatched {
  background-image: repeating-linear-gradient(
    45deg,
    transparent 0 6px,
    #7d8790 6px 7px
  );
}
.qs-wall-style-masonry {
  background-image:
    linear-gradient(#768089 1px, transparent 1px),
    linear-gradient(90deg, #768089 1px, transparent 1px);
  background-size: 22px 11px;
}
.qs-wall-style-herringbone {
  background-image:
    linear-gradient(45deg, transparent 46%, #737d86 47% 53%, transparent 54%),
    linear-gradient(-45deg, transparent 46%, #737d86 47% 53%, transparent 54%);
  background-size: 16px 16px;
}
.qs-check {
  grid-column: 1/-1;
  display: flex !important;
  grid-template-columns: auto 1fr !important;
  align-items: center;
}
.qs-modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 14px 18px;
  border-top: 1px solid #e5e7eb;
}
.qs-updates-modal {
  width: min(660px, 96vw);
  max-height: min(760px, calc(100vh - 40px));
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
}
.qs-updates-scroll {
  min-height: 0;
  max-height: 620px;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 4px 22px 18px;
  scrollbar-gutter: stable;
}
.qs-update-entry {
  padding: 16px 2px 10px;
}
.qs-update-meta {
  margin: 0 0 10px;
  color: #202428;
  font-size: 14px;
  font-weight: 800;
}
.qs-update-entry ul {
  margin: 0;
  padding-left: 20px;
  color: #4f5861;
}
.qs-update-entry li + li {
  margin-top: 7px;
}
.qs-updates-scroll hr {
  margin: 0;
  border: 0;
  border-top: 1px solid #dfe3e6;
}
.qs-dialog-hint {
  margin-top: 10px;
  font-size: 12px;
  color: #68707a;
}
.qs-toolgroup {
  display: flex;
  align-items: center;
  gap: 6px;
  padding-right: 8px;
  border-right: 1px solid #e3e6e9;
}
.qs-toolgroup-label {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #8a929a;
  margin-right: 2px;
}
.qs-rect-preview {
  fill: rgba(80, 90, 100, 0.08);
  stroke: #59636c;
  stroke-width: 2;
  stroke-dasharray: 7 6;
  vector-effect: non-scaling-stroke;
}
.qs-save-state {
  font-size: 12px;
  color: #68707a;
  grid-column: 1/-1;
}
.qs-guide {
  stroke: #e32636;
  stroke-width: 1.15;
  stroke-dasharray: 7 6;
  opacity: 0.8;
}
.qs-wall-label {
  font-size: 11px;
  font-weight: 700;
  fill: #6f7780;
  paint-order: stroke;
  stroke: #fff;
  stroke-width: 4;
}

.qs-wall-preview-fill {
  fill: rgba(216, 221, 225, 0.82);
  stroke: #4b5560;
  stroke-width: 1.5;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-wall-preview-inner {
  stroke: #202428;
  stroke-width: 2.4;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-preview-end {
  fill: #fff;
  stroke: #c72020;
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-live-end {
  font-size: 14px;
  font-weight: 800;
  fill: #b61624;
  paint-order: stroke;
  stroke: #fff;
  stroke-width: 6;
  pointer-events: none;
}

.qs-wall-preview-fill {
  fill: rgba(216, 221, 225, 0.92);
  stroke: #30353a;
  stroke-width: 1.8;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-wall-preview-inner {
  stroke: #202428;
  stroke-width: 2.5;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-preview-start {
  fill: #fff;
  stroke: #30353a;
  stroke-width: 1.8;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-preview-end {
  fill: #fff;
  stroke: #c72020;
  stroke-width: 2.4;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-live-measure,
.qs-live-measure-ext {
  stroke: #b61624;
  stroke-width: 1.25;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-live-measure-ext {
  stroke-dasharray: 4 3;
  opacity: 0.8;
}
.qs-live-dim {
  font-size: 15px;
  font-weight: 800;
  fill: #b61624;
  text-anchor: middle;
  dominant-baseline: middle;
  paint-order: stroke;
  stroke: #fff;
  stroke-width: 6;
  pointer-events: none;
}
.qs-tab {
  border-bottom-color: transparent;
  color: #6b7280;
  cursor: pointer;
  margin-right: 14px;
}
.qs-tab.is-active {
  border-bottom-color: #202428;
  color: #202428;
}
.qs-snap-target {
  fill: #fff;
  stroke: #e32636;
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}

.qs-options-save-note {
  margin-right: auto;
  font-size: 12px;
  color: #687078;
  line-height: 1.35;
  max-width: 360px;
}
.qs-floor {
  stroke: none;
  pointer-events: none;
}
.qs-floor-grid {
  fill: none;
  stroke: rgba(55, 105, 135, 0.24);
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}
.qs-wall-angle {
  font-size: 12px;
  font-weight: 750;
  fill: #38434c;
  text-anchor: middle;
  dominant-baseline: middle;
  paint-order: stroke;
  stroke: #fff;
  stroke-width: 5;
  pointer-events: none;
}
.qs-window-info {
  font-size: 11px;
  font-weight: 750;
  fill: #1670b8;
  text-anchor: middle;
  dominant-baseline: middle;
  paint-order: stroke;
  stroke: #fff;
  stroke-width: 5;
  pointer-events: none;
}
.qs-form-grid input[type="color"] {
  width: 100%;
  height: 44px;
  box-sizing: border-box;
  border: 1px solid #cfd4da;
  border-radius: 8px;
  padding: 4px;
  background: #fff;
  cursor: pointer;
}
.qs-color-note {
  grid-column: 1/-1;
  padding: 12px;
  border-radius: 8px;
  background: #f2f7fa;
  color: #56636d;
  font-size: 12px;
}
.qs-inspector {
  grid-column: 1;
  grid-row: 1;
  width: 290px;
  background: #fff;
  border-right: 1px solid #dfe3e7;
  box-shadow: 6px 0 20px rgba(30, 40, 50, 0.06);
  overflow: auto;
  z-index: 3;
}
.qs-inspector-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 18px;
  border-bottom: 1px solid #e7e9ec;
}
.qs-inspector-body {
  display: grid;
  gap: 15px;
  padding: 18px;
}
.qs-inspector-body label {
  display: grid;
  gap: 6px;
  font-size: 13px;
  font-weight: 700;
}
.qs-inspector-body label span {
  font-weight: 400;
  color: #747b83;
}
.qs-inspector-body input,
.qs-inspector-body select {
  width: 100%;
  box-sizing: border-box;
  padding: 10px;
  border: 1px solid #cfd4da;
  border-radius: 8px;
  background: #fff;
  font: inherit;
}
.qs-inspector-actions {
  display: grid;
  gap: 8px;
  margin-top: 8px;
}
.qs-opening-cut {
  fill: #fff;
  stroke: none;
  pointer-events: none;
}
.qs-opening-hit {
  fill: none;
  stroke: transparent;
  stroke-width: 22;
  vector-effect: non-scaling-stroke;
  cursor: grab;
}
.qs-door-leaf {
  stroke: #1f2933;
  stroke-width: 2.4;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-door-arc {
  fill: none;
  stroke: #66717c;
  stroke-width: 1.4;
  stroke-dasharray: 5 3;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-door-leaf.is-selected,
.qs-door-arc.is-selected {
  stroke: #d0202f;
}
.qs-door-hinge {
  fill: #fff;
  stroke: #222b33;
  stroke-width: 1.5;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-door-slide {
  stroke: #66717c;
  stroke-width: 1.4;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-window-line,
.qs-window-mullion {
  stroke: #1670b8;
  stroke-width: 2.2;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-window-line.is-selected {
  stroke: #d0202f;
  stroke-width: 3;
}
.qs-opening-dim-line,
.qs-opening-dim-ext {
  stroke: #1670b8;
  stroke-width: 1.1;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-opening-dim {
  font-size: 12px;
  font-weight: 750;
  fill: #1670b8;
  text-anchor: middle;
  dominant-baseline: middle;
  paint-order: stroke;
  stroke: #fff;
  stroke-width: 5;
  pointer-events: none;
}
.qs-opening-target {
  fill: rgba(22, 112, 184, 0.12);
  stroke: #1670b8;
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-inspector [hidden] {
  display: none !important;
}
.qs-modal [hidden] {
  display: none !important;
}
.qs-options-modal {
  width: min(760px, 96vw);
  max-height: min(680px, 92vh);
}
.qs-options-layout {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr);
  min-height: 390px;
}
.qs-options-layout .qs-tabs {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 16px 10px;
  background: #f5f6f7;
  border-right: 1px solid #e1e4e7;
}
.qs-tabs-label {
  padding: 0 10px 8px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8a929a;
}
.qs-options-layout .qs-tab {
  width: 100%;
  margin: 0;
  padding: 11px 12px;
  border: 0;
  border-radius: 8px;
  text-align: left;
  color: #58616a;
}
.qs-options-layout .qs-tab:hover {
  background: #e9ecef;
  color: #202428;
}
.qs-options-layout .qs-tab.is-active {
  background: #202428;
  color: #fff;
}
.qs-object-layout .qs-tab {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.qs-object-panel-title {
  grid-column: 1 / -1;
  margin: 0 0 4px;
  font-size: 18px;
  color: #202428;
}
.qs-options-content {
  min-width: 0;
  max-height: 480px;
  overflow: auto;
  background: #fff;
}
.qs-options-content .qs-modal-body {
  min-height: 100%;
  box-sizing: border-box;
}
@media (max-width: 650px) {
  .qs-options-modal {
    max-height: 92vh;
  }
  .qs-options-layout {
    grid-template-columns: 1fr;
    grid-template-rows: auto minmax(0, 1fr);
    min-height: 0;
  }
  .qs-options-layout .qs-tabs {
    flex-direction: row;
    overflow-x: auto;
    border-right: 0;
    border-bottom: 1px solid #e1e4e7;
    padding: 10px;
  }
  .qs-tabs-label {
    display: none;
  }
  .qs-options-layout .qs-tab {
    width: auto;
    white-space: nowrap;
    text-align: center;
  }
  .qs-options-content {
    max-height: 55vh;
  }
}
@media (max-width: 800px) {
  .qs-canvas-tip {
    display: none !important;
  }
  .quicksketch-toolbar {
    grid-template-columns: 1fr;
    grid-template-areas: "logo" "tools" "status";
    gap: 8px;
    max-height: 42vh;
    overflow: auto;
  }
  .qs-status {
    justify-self: start;
    text-align: left;
  }
  .quicksketch-logo {
    width: 190px;
    height: 38px;
  }
  .qs-form-grid {
    grid-template-columns: 1fr;
  }
  .qs-check {
    grid-column: auto;
  }
  .quicksketch-workspace {
    grid-template-columns: minmax(0, 1fr);
  }
  .quicksketch-stage-wrap,
  .qs-inspector {
    grid-column: 1;
  }
  .qs-inspector {
    position: absolute;
    left: 8px;
    right: auto;
    top: 8px;
    bottom: 8px;
    width: min(290px, calc(100vw - 16px));
    border: 1px solid #dfe3e7;
    border-radius: 12px;
  }
  .quicksketch-help {
    justify-content: flex-start;
    overflow-x: auto;
    white-space: nowrap;
  }
}
.qs-btn:disabled {
  opacity: 0.42;
  cursor: not-allowed;
}
.qs-btn:disabled:hover {
  background: #f4f5f6;
}
.quicksketch-stage.is-pan-ready {
  cursor: grab;
}
.quicksketch-stage.is-panning {
  cursor: grabbing;
}
.qs-print-hint.is-warning {
  background: #fff2f0;
  color: #a52a21;
}
.qs-print-select {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 11px 0;
  border-bottom: 1px solid #eceef0;
}
.qs-print-select span {
  color: #6c747c;
  font-size: 13px;
}
.qs-print-select select {
  min-width: 110px;
  padding: 8px 10px;
  border: 1px solid #cfd4da;
  border-radius: 8px;
  background: #fff;
  font: inherit;
  font-weight: 700;
}
.qs-customer-modal {
  width: min(460px, 96vw);
}
.qs-customer-fields {
  display: grid;
  gap: 14px;
}
.qs-customer-fields label {
  display: grid;
  gap: 6px;
  font-size: 13px;
  font-weight: 700;
}
.qs-customer-fields input {
  width: 100%;
  box-sizing: border-box;
  padding: 11px;
  border: 1px solid #cfd4da;
  border-radius: 8px;
  font: inherit;
}
.qs-customer-fields p {
  margin: 2px 0 0;
  color: #68717a;
  font-size: 12px;
  line-height: 1.4;
}
.qs-object-layout {
  min-height: 220px;
}
.qs-radiator-modal {
  width: min(500px, 96vw);
}
.qs-radiator {
  fill: #f1f4f6;
  stroke: #30373d;
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
}
.qs-radiator.is-selected {
  fill: #dceeff;
  stroke: #1670b8;
  stroke-width: 3;
}
.qs-radiator-rib {
  stroke: #65717b;
  stroke-width: 1.4;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-radiator-pipe {
  fill: none;
  stroke: #30373d;
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-radiator-thermostat-neck {
  stroke: #30373d;
  stroke-width: 2.2;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-radiator-thermostat {
  fill: #fff;
  stroke: #30373d;
  stroke-width: 1.8;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-radiator-thermostat-mark {
  stroke: #68737c;
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-object-hit {
  fill: transparent;
  stroke: transparent;
  stroke-width: 1;
  cursor: move;
}
.qs-radiator-preview {
  fill: rgba(22, 112, 184, 0.1);
  stroke: #1670b8;
  stroke-width: 2;
  stroke-dasharray: 7 5;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-furniture {
  fill: #e7eaed;
  stroke: #30373d;
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
}
.qs-furniture.is-selected {
  fill: #dceeff;
  stroke: #1670b8;
  stroke-width: 3;
}
.qs-furniture-preview {
  fill: rgba(22, 112, 184, 0.1);
  stroke: #1670b8;
  stroke-width: 2;
  stroke-dasharray: 7 5;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-furniture-resize {
  fill: #fff;
  stroke: #1670b8;
  stroke-width: 2.4;
  vector-effect: non-scaling-stroke;
  cursor: ew-resize;
}
.qs-furniture-resize[data-axis="depth"] {
  cursor: ns-resize;
}
.qs-furniture-cross {
  stroke: #30373d;
  stroke-width: 1.5;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-furniture-label,
.qs-furniture-code {
  fill: #202428;
  text-anchor: middle;
  dominant-baseline: middle;
  paint-order: stroke;
  stroke: rgba(255, 255, 255, 0.8);
  stroke-width: 3;
  pointer-events: none;
}
.qs-furniture-label {
  font-size: 13px;
  font-weight: 650;
}
.qs-furniture-code {
  font-weight: 800;
  letter-spacing: 0.02em;
}
.qs-furniture-wide,
.qs-furniture-colors,
.qs-dialog-hint {
  grid-column: 1/-1;
}
.qs-form-grid input[type="text"] {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #cfd4da;
  border-radius: 8px;
  padding: 10px 11px;
  font: inherit;
}
.qs-form-grid textarea,
.qs-form-grid select {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #cfd4da;
  border-radius: 8px;
  padding: 10px 11px;
  background: #fff;
  font: inherit;
}
.qs-form-grid textarea {
  min-height: 92px;
  resize: vertical;
}
.qs-annotation-wide {
  grid-column: 1/-1;
}
.qs-annotation-styles {
  display: flex;
  gap: 8px;
  margin: 0;
  padding: 0;
  border: 0;
}
.qs-annotation-styles legend {
  width: 100%;
  margin-bottom: 8px;
  font-size: 13px;
  font-weight: 650;
}
.qs-annotation-styles label {
  cursor: pointer;
}
.qs-annotation-styles input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.qs-annotation-styles span {
  display: grid;
  min-width: 54px;
  height: 38px;
  padding: 0 10px;
  place-items: center;
  box-sizing: border-box;
  border: 1px solid #cfd4da;
  border-radius: 8px;
  background: #fff;
  color: #202428;
  font-size: 16px;
}
.qs-annotation-styles input:checked + span {
  border-color: #1670b8;
  background: #eaf5ff;
  box-shadow: 0 0 0 1px #1670b8;
}
.qs-style-bold {
  font-weight: 800;
}
.qs-style-italic {
  font-style: italic;
}
.qs-annotation-frame {
  fill: rgba(255, 255, 255, 0.9);
  stroke: #202428;
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-annotation-text {
  fill: #202428;
  font-size: 16px;
  font-weight: 400;
  text-anchor: middle;
  dominant-baseline: middle;
  paint-order: stroke;
  stroke: rgba(255, 255, 255, 0.92);
  stroke-width: 3px;
  pointer-events: none;
}
.qs-annotation-bold {
  font-weight: 800;
}
.qs-annotation-italic {
  font-style: italic;
}
.qs-annotation-leader {
  stroke: #30373d;
  stroke-width: 1.4;
  stroke-dasharray: 5 3;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-annotation-anchor {
  fill: #30373d;
  pointer-events: none;
}
.qs-annotation.is-selected .qs-annotation-frame,
.qs-annotation.is-selected .qs-annotation-text {
  stroke: #1670b8;
}
.qs-annotation-hit {
  cursor: move;
}

.qs-room-label-bg {
  pointer-events: none;
}

.qs-roomlabel-controls {
  display: grid;
  gap: 14px;
  margin: 2px 0 0;
  padding: 14px;
  border: 1px solid #dfe3e7;
  border-radius: 12px;
  background: #f8f9fa;
}
.qs-roomlabel-controls[hidden] { display: none !important; }
.qs-roomlabel-controls legend {
  padding: 0 6px;
  font-size: 13px;
  font-weight: 800;
  color: #202428;
}
.qs-roomlabel-frame {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.qs-roomlabel-setting {
  display: grid;
  gap: 8px;
}
.qs-roomlabel-setting > strong {
  font-size: 12px;
  color: #4c5660;
}
.qs-roomlabel-colors,
.qs-roomlabel-sizes {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.qs-roomlabel-colors label,
.qs-roomlabel-sizes label {
  margin: 0 !important;
  cursor: pointer;
}
.qs-roomlabel-colors input,
.qs-roomlabel-sizes input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.qs-roomlabel-colors span {
  display: block;
  width: 30px;
  height: 30px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: var(--qs-roomlabel-color);
  box-shadow: 0 0 0 1px #c8cfd5;
}
.qs-roomlabel-colors input:checked + span {
  box-shadow: 0 0 0 3px #1670b8;
}
.qs-roomlabel-sizes span {
  display: grid;
  min-width: 44px;
  height: 34px;
  place-items: center;
  box-sizing: border-box;
  border: 1px solid #cfd5da;
  border-radius: 8px;
  background: #fff;
  color: #202428;
  font-size: 13px;
  font-weight: 800;
}
.qs-roomlabel-sizes input:checked + span {
  border-color: #1670b8;
  background: #eaf5ff;
  box-shadow: 0 0 0 1px #1670b8;
}
.qs-room-label-text {
  font-size: 21px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
  paint-order: normal;
  stroke: none;
}
.qs-annotation.is-selected .qs-room-label-text {
  /* Auswahl darf die gewählte Textfarbe der Raumbeschriftung nicht überschreiben. */
  stroke: none;
}
.qs-room-label-alt-badge-bg {
  fill: #d83232;
  stroke: none;
  pointer-events: none;
}
.qs-room-label-alt-badge-text {
  fill: #fff;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 800;
  text-anchor: middle;
  dominant-baseline: middle;
  letter-spacing: .01em;
  text-transform: none;
  pointer-events: none;
}

.qs-person-body {
  fill: #657681;
  stroke: #202a30;
  stroke-width: 1.8;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-person-female .qs-person-body {
  fill: #8b7185;
}
.qs-person-head,
.qs-person-hand {
  fill: #e5bd9a;
  stroke: #49392f;
  stroke-width: 1.5;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-person-hair {
  fill: #59463a;
  stroke: #2f2722;
  stroke-width: 1.3;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-person-arm {
  fill: none;
  stroke: #657681;
  stroke-width: 9;
  stroke-linecap: round;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-person-female .qs-person-arm {
  stroke: #8b7185;
}
.qs-person-prep {
  fill: #f3f5f6;
  stroke: #47545c;
  stroke-width: 1.4;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-person-prep-mark {
  fill: none;
  stroke: #9aa6ad;
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-person.is-selected .qs-person-body,
.qs-person.is-selected .qs-person-head {
  stroke: #1670b8;
  stroke-width: 2.7;
}
.qs-furniture-colors {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 10px 0 2px;
  border: 0;
}
.qs-furniture-colors legend {
  margin-bottom: 8px;
  font-size: 13px;
  font-weight: 650;
}
.qs-furniture-colors label {
  display: block;
  cursor: pointer;
}
.qs-furniture-colors input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.qs-furniture-colors span {
  display: block;
  width: 30px;
  height: 30px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: color-mix(in srgb, var(--qs-color) 50%, transparent);
  box-shadow: 0 0 0 1px #aeb5bc;
}
.qs-furniture-colors input:checked + span {
  box-shadow: 0 0 0 3px #202428;
}
.qs-selection-marquee {
  fill: rgba(22, 112, 184, 0.08);
  stroke: #1670b8;
  stroke-width: 1.5;
  stroke-dasharray: 7 5;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-table-top,
.qs-chair-seat {
  fill: #f5f0e7;
  stroke: #30373d;
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
}
.qs-table-leg {
  fill: #8b755c;
  stroke: #30373d;
  stroke-width: 1.2;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-chair-seat {
  fill: #e8edf0;
}
.qs-chair-back {
  fill: none;
  stroke: #30373d;
  stroke-width: 3;
  stroke-linecap: round;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-furnishing.is-selected .qs-table-top,
.qs-furnishing.is-selected .qs-chair-seat {
  stroke: #1670b8;
  stroke-width: 3;
}
.qs-furnishing-resize {
  fill: #fff;
  stroke: #1670b8;
  stroke-width: 2.3;
  vector-effect: non-scaling-stroke;
  cursor: ew-resize;
}
.qs-furnishing-resize[data-axis="depth"] {
  cursor: ns-resize;
}
.qs-furnishing-preview {
  fill: rgba(22, 112, 184, 0.1);
  stroke: #1670b8;
  stroke-width: 2;
  stroke-dasharray: 7 5;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-plant-pot {
  fill: #b98a63;
  stroke: #30373d;
  stroke-width: 1.5;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-plant-soil {
  fill: #665143;
  stroke: #30373d;
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-plant-leaf {
  fill: #73a875;
  fill-opacity: 0.9;
  stroke: #315f3d;
  stroke-width: 1.25;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-plant-stem {
  stroke: #315f3d;
  stroke-width: 1.2;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-plant-hit,
.qs-coffee-hit,
.qs-place-setting-hit {
  fill: transparent;
  stroke: transparent;
  cursor: move;
}
.qs-plant.is-selected .qs-plant-pot,
.qs-plant.is-selected .qs-plant-leaf,
.qs-coffee-machine.is-selected .qs-coffee-body,
.qs-place-setting.is-selected .qs-place-mat {
  stroke: #1670b8;
  stroke-width: 2.7;
}
.qs-place-mat {
  fill: #e7ded0;
  fill-opacity: 0.78;
  stroke: #827768;
  stroke-width: 1.4;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-place-plate,
.qs-place-plate-inner,
.qs-place-glass {
  fill: #fff;
  fill-opacity: 0.88;
  stroke: #3b444b;
  stroke-width: 1.3;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-place-plate-inner {
  fill: none;
  stroke: #aab2b8;
}
.qs-place-glass {
  fill: #d9f1f7;
  fill-opacity: 0.6;
}
.qs-place-cutlery {
  fill: none;
  stroke: #555f66;
  stroke-width: 2;
  stroke-linecap: round;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-place-knife {
  stroke-width: 2.8;
}
.qs-coffee-body {
  fill: #d9dde0;
  stroke: #30373d;
  stroke-width: 1.7;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-coffee-tank {
  fill: #a9c8d2;
  fill-opacity: 0.65;
  stroke: #59656d;
  stroke-width: 1.2;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-coffee-control {
  fill: #30373d;
  stroke: none;
  pointer-events: none;
}
.qs-coffee-tray {
  fill: #6c747a;
  stroke: #30373d;
  stroke-width: 1.2;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-coffee-cup,
.qs-coffee-cup-handle {
  fill: #fff;
  stroke: #30373d;
  stroke-width: 1.4;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-coffee-cup-handle {
  fill: none;
}
.qs-herb-tray {
  fill: #ded8d0;
  stroke: #7a817f;
  stroke-width: 1.2;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-herb-pot {
  fill: #b98a63;
  stroke: #30373d;
  stroke-width: 1.5;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-herb-soil {
  fill: #665143;
  stroke: #30373d;
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-herb-stem {
  stroke: #37693d;
  stroke-width: 1.1;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-herb-pots-hit {
  fill: transparent;
  stroke: transparent;
  cursor: move;
}
.qs-herb-pots.is-selected .qs-herb-tray,
.qs-herb-pots.is-selected .qs-herb-pot {
  stroke: #1670b8;
  stroke-width: 2.4;
}
[data-furniture-modal],
[data-furnishing-modal],
[data-radiator-modal],
[data-annotation-modal],
[data-appliance-modal],
[data-group-modal] {
  background: transparent;
  place-items: start;
  align-items: center;
  justify-items: start;
  padding: 82px 18px 20px;
  pointer-events: none;
}
[data-furniture-modal] .qs-modal,
[data-furnishing-modal] .qs-modal,
[data-radiator-modal] .qs-modal,
[data-annotation-modal] .qs-modal,
[data-appliance-modal] .qs-modal,
[data-group-modal] .qs-modal {
  width: min(380px, calc(100vw - 36px));
  max-height: calc(100vh - 102px);
  overflow: auto;
  pointer-events: auto;
}
.qs-appliance-modal select {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #cfd4da;
  border-radius: 8px;
  padding: 10px 11px;
  background: #fff;
  font: inherit;
}
.qs-appliance-outline,
.qs-appliance-detail {
  fill: #f8fafb;
  stroke: #202428;
  stroke-width: 1.6;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-appliance-detail {
  fill: none;
  stroke-width: 1.25;
}
.qs-appliance-burner {
  fill: none;
  stroke: #202428;
  stroke-width: 1.4;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-appliance-vent {
  fill: #dfe4e8;
  stroke: #202428;
  stroke-width: 1.3;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-appliance-faucet {
  fill: none;
  stroke: #202428;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-appliance-hit {
  fill: transparent;
  stroke: transparent;
  cursor: move;
}
.qs-appliance.is-selected .qs-appliance-outline {
  stroke: #1670b8;
  stroke-width: 2.6;
}
.qs-appliance-handle {
  fill: #fff;
  stroke: #1670b8;
  stroke-width: 2.2;
  vector-effect: non-scaling-stroke;
  cursor: move;
}
.qs-faucet-base {
  fill: #dce3e7;
  stroke: #202428;
  stroke-width: 1.5;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-faucet-cap {
  fill: #f8fafb;
  stroke: #202428;
  stroke-width: 1.25;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-faucet-spout {
  fill: #c8d1d7;
  stroke: #202428;
  stroke-width: 1.4;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-faucet-aerator {
  fill: #8e9ba3;
  stroke: #202428;
  stroke-width: 1.25;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-faucet-lever {
  fill: none;
  stroke: #202428;
  stroke-width: 2;
  stroke-linecap: round;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-faucet-handle {
  fill: #fff;
  stroke: #1670b8;
  stroke-width: 2.2;
  vector-effect: non-scaling-stroke;
  cursor: move;
}
.qs-hood-outline {
  fill: #e7ecef;
  stroke: #202428;
  stroke-width: 1.7;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-hood-perspective {
  fill: #dfe6ea;
}
.qs-hood-top-plane {
  fill: #f4f7f8;
  stroke: #69757d;
  stroke-width: 1.15;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-hood-filter {
  fill: #aeb9bf;
  stroke: #202428;
  stroke-width: 1.15;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-hood-filter-slat {
  stroke: #66737b;
  stroke-width: 0.8;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-hood-shaft {
  fill: #c7d0d5;
  stroke: #202428;
  stroke-width: 1.45;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-hood-control {
  fill: #30383d;
  stroke: #fff;
  stroke-width: 0.65;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-hood-island {
  fill: #edf1f3;
}
.qs-hood-island-inset {
  fill: #dce3e7;
  stroke: #68747b;
  stroke-width: 1.15;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-hood-island-motor {
  fill: #8f9ba2;
  stroke: #202428;
  stroke-width: 1.1;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-hood-suspension {
  fill: #f8fafb;
  stroke: #202428;
  stroke-width: 1.1;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-appliance.is-selected .qs-hood-outline {
  stroke: #1670b8;
  stroke-width: 2.7;
}

.qs-hood-wall60-dark {
  fill: #4d4d4d;
  pointer-events: none;
}
.qs-hood-wall60-light {
  fill: #808080;
  pointer-events: none;
}
.qs-hood-wall60-outline {
  fill: none;
  stroke: #202428;
  stroke-width: 1.5;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-appliance.is-selected .qs-hood-wall60-outline {
  stroke: #1670b8;
  stroke-width: 2.6;
}
.qs-hanging-lamp {
  fill: rgba(255, 217, 102, 0.28);
  stroke: #30373d;
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-light-spot {
  fill: #f8fbfd;
  stroke: #30373d;
  stroke-width: 1.8;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-light-core {
  fill: #ffd166;
  stroke: #30373d;
  stroke-width: 1.15;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-light-ray {
  stroke: #6f5a16;
  stroke-width: 1.25;
  stroke-linecap: round;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-light-object.is-selected .qs-hanging-lamp,
.qs-light-object.is-selected .qs-light-spot {
  stroke: #1670b8;
  stroke-width: 2.8;
}
.qs-light-object .qs-object-hit {
  cursor: move;
}
@media (max-width: 800px) {
  [data-furniture-modal],
  [data-furnishing-modal],
  [data-radiator-modal],
  [data-annotation-modal],
  [data-appliance-modal] {
    align-items: end;
    padding: 12px;
  }
  [data-furniture-modal] .qs-modal,
  [data-furnishing-modal] .qs-modal,
  [data-radiator-modal] .qs-modal,
  [data-annotation-modal] .qs-modal,
  [data-appliance-modal] .qs-modal {
    width: min(360px, calc(100vw - 24px));
  }
}
.quicksketch-help {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  justify-content: stretch;
  gap: 18px;
}
.qs-help-items {
  display: flex;
  justify-content: center;
  gap: 24px;
  min-width: 0;
}
.qs-version {
  justify-self: end;
  white-space: nowrap;
  font-weight: 700;
  color: #8a929a;
}
.qs-tool-modal {
  width: min(520px, 96vw);
}
.qs-tool-choices {
  display: grid;
  gap: 10px;
}
.qs-tool-choice {
  display: grid;
  gap: 5px;
  width: 100%;
  padding: 15px 16px;
  border: 1px solid #d9dde1;
  border-radius: 10px;
  background: #f8f9fa;
  color: #202428;
  text-align: left;
  cursor: pointer;
}
.qs-tool-choice:hover {
  border-color: #9da5ad;
  background: #f1f3f5;
}
.qs-tool-choice.is-active {
  border-color: #202428;
  background: #202428;
  color: #fff;
}
.qs-tool-choice strong {
  font-size: 14px;
}
.qs-tool-choice span {
  font-size: 12px;
  line-height: 1.35;
  color: #68717a;
}
.qs-tool-choice.is-active span {
  color: #d9dde1;
}
.qs-print-modal {
  width: min(440px, 96vw);
}
.qs-print-scale {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 11px 0;
  border-bottom: 1px solid #eceef0;
}
.qs-print-scale span {
  color: #6c747c;
  font-size: 13px;
}
.qs-orientation {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 18px 0 0;
  padding: 0;
  border: 0;
}
.qs-orientation legend {
  grid-column: 1/-1;
  margin-bottom: 8px;
  font-size: 13px;
  font-weight: 750;
}
.qs-orientation label {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 13px;
  border: 1px solid #d9dde1;
  border-radius: 10px;
  cursor: pointer;
}
.qs-orientation label:has(input:checked) {
  border-color: #202428;
  background: #f1f3f4;
}
.qs-orientation span {
  display: grid;
  gap: 3px;
}
.qs-orientation small {
  color: #707880;
}
.qs-print-hint {
  margin: 15px 0 0;
  padding: 11px 12px;
  border-radius: 8px;
  background: #f2f7fa;
  color: #56636d;
  font-size: 12px;
  line-height: 1.4;
}

/* Entwickler-Feedback */
.qs-developer-modal {
  width: min(620px, 96vw);
}
.qs-developer-body {
  display: grid;
  gap: 16px;
  padding: 20px 22px;
}
.qs-developer-intro {
  margin: 0;
  color: #4f5861;
  line-height: 1.5;
}
.qs-developer-body label {
  display: grid;
  gap: 7px;
  color: #202428;
  font-size: 13px;
  font-weight: 800;
}
.qs-developer-body textarea,
.qs-developer-body input {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #cfd5da;
  border-radius: 8px;
  background: #fff;
  color: #202428;
  font: inherit;
  font-weight: 500;
  padding: 11px 12px;
  outline: none;
}
.qs-developer-body textarea {
  resize: vertical;
  min-height: 150px;
  line-height: 1.45;
}
.qs-developer-body textarea:focus,
.qs-developer-body input:focus {
  border-color: #6d7882;
  box-shadow: 0 0 0 2px rgba(74, 84, 94, 0.1);
}
.qs-developer-status {
  min-height: 20px;
  font-size: 13px;
  font-weight: 700;
}
.qs-developer-status.is-success { color: #287a42; }
.qs-developer-status.is-error { color: #b42318; }

.qs-wallbreak-jamb { stroke:#30353a; stroke-width:2; vector-effect:non-scaling-stroke; }
.qs-wallbreak-jamb.is-selected { stroke:#1673c9; stroke-width:3; }

/* 0.6.67 – Optionen und Updates bewusst mittig */
.qs-modal-backdrop[data-options-modal],
.qs-modal-backdrop[data-updates-modal] {
  place-items: center;
}

/* 0.7.25 – Haupt-Popups mittig */
.qs-modal-backdrop[data-tool-modal="floor"],
.qs-modal-backdrop[data-tool-modal="openings"],
.qs-modal-backdrop[data-tool-modal="objects"],
.qs-modal-backdrop[data-customer-modal] {
  place-items: center;
}

/* 0.6.69 – kräftige History-Pfeile und Planungsinfo */
.quicksketch-tools [data-action="undo"],
.quicksketch-tools [data-action="redo"] {
  font-weight: 700 !important;
  font-size: 19px;
  line-height: 1;
  min-width: 38px;
}
.qs-planning-info-box {
  margin: 10px 16px 12px;
  padding: 12px 16px;
  display: grid;
  grid-template-columns: 42px minmax(0,1fr);
  gap: 12px;
  align-items: start;
  border: 1px solid #dfe4e8;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 4px 14px rgba(25,34,42,.06);
  color: #202428;
}
.qs-planning-info-box[hidden] { display:none !important; }
.qs-planning-info-icon {
  width: 38px;
  height: 38px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#f6f7f8;
}
.qs-planning-info-icon svg { width:25px;height:25px;fill:#ffd54a;stroke:#202428;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }
.qs-planning-info-content { min-width:0; display:grid; gap:4px; font-size:13px; line-height:1.45; }
.qs-planning-info-title { font-weight:700; font-size:13.5px; }
.qs-planning-info-values { color:#46515a; white-space:normal; overflow-wrap:anywhere; }
.qs-planning-info-notes { color:#46515a; white-space:pre-wrap; overflow-wrap:anywhere; }
.qs-planning-info-notes strong { color:#202428; }
@media (max-width:650px){
  .qs-planning-info-box{margin:8px 10px 10px;grid-template-columns:34px minmax(0,1fr);padding:10px 12px;}
  .qs-planning-info-icon{width:32px;height:32px;}
  .qs-planning-info-icon svg{width:22px;height:22px;}
}

/* Planungsinfo nur für Druckdaten; auf dem Arbeits-Canvas nicht anzeigen. */
.qs-planning-info-box{display:none!important;}

/* 0.6.74 – Entwickler-Changelog nach Tagen gruppiert */
.qs-update-day-heading {
  position: sticky;
  top: 0;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 0 0 10px;
  padding: 9px 12px;
  border: 1px solid #dfe4e8;
  border-radius: 10px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 5px 14px rgba(24,31,37,.06);
  backdrop-filter: blur(8px);
}
.qs-update-day-heading:not(:first-child) {
  margin-top: 18px;
}
.qs-update-day-heading strong {
  font-size: 13px;
  color: #202428;
}
.qs-update-day-heading span {
  font-size: 11px;
  color: #7a848d;
}
.qs-update-entry.is-latest {
  border: 1px solid #dfe4e8;
  border-left: 4px solid #d63232;
  border-radius: 10px;
  padding: 12px 14px;
  background: #fff;
  box-shadow: 0 7px 18px rgba(24,31,37,.07);
}
.qs-update-current-badge {
  display: inline-flex;
  align-items: center;
  margin-right: 7px;
  padding: 2px 7px;
  border-radius: 999px;
  background: #d63232;
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .04em;
}

.qs-wall-colors {
  flex-wrap: wrap;
}

/* 0.7.29 – professionelle Gruppenbibliothek */
[data-group-modal] {
  place-items: center;
  padding: 24px;
}
.qs-group-library-modal {
  width: min(1240px, calc(100vw - 32px));
  height: min(820px, calc(100vh - 32px));
  max-height: calc(100vh - 32px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.qs-group-workspace {
  display: grid;
  grid-template-columns: minmax(340px, .78fr) minmax(540px, 1.22fr);
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  overflow: hidden;
  border-top: 1px solid #e3e6e8;
  border-bottom: 1px solid #e3e6e8;
}
.qs-group-pane {
  min-width: 0;
  padding: 18px;
  overflow: auto;
}
.qs-group-library-pane {
  border-right: 1px solid #e3e6e8;
  background: #f8f9fa;
}
.qs-group-pane-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
.qs-group-pane-head > div { display: grid; gap: 3px; }
.qs-group-pane-head strong { font-size: 15px; }
.qs-group-pane-head span { color: #707981; font-size: 11px; }
.qs-btn-small { padding: 7px 9px; font-size: 11px; white-space: nowrap; }
.qs-group-search { display: grid; gap: 6px; margin-bottom: 12px; }
.qs-group-search span { font-size: 11px; font-weight: 700; color: #59636c; }
.qs-group-search input,
.qs-group-form-grid input {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #cfd5da;
  border-radius: 9px;
  padding: 10px 11px;
  background: #fff;
  color: #202428;
}
.qs-group-library-status {
  min-height: 17px;
  margin-bottom: 4px;
  color: #69727b;
  font-size: 11px;
}
.qs-group-library-list { display: grid; gap: 7px; }
.qs-group-library-item {
  appearance: none;
  display: grid;
  gap: 3px;
  width: 100%;
  padding: 11px 12px;
  border: 1px solid #dbe0e4;
  border-radius: 10px;
  background: #fff;
  color: #202428;
  text-align: left;
  cursor: pointer;
}
.qs-group-library-item:hover { border-color: #aab4bd; }
.qs-group-library-item.is-active {
  border-color: #202428;
  box-shadow: inset 0 0 0 1px #202428;
}
.qs-group-library-item strong { font-size: 13px; }
.qs-group-library-item span { color: #7a838b; font-size: 10px; }
.qs-group-library-empty {
  padding: 20px 12px;
  border: 1px dashed #cfd5da;
  border-radius: 10px;
  color: #7a838b;
  text-align: center;
  font-size: 12px;
}
.qs-group-detail-pane { background: #fff; }
.qs-group-empty {
  display: grid;
  place-content: center;
  min-height: 360px;
  gap: 8px;
  padding: 30px;
  text-align: center;
  color: #707981;
}
.qs-group-empty strong { color: #202428; font-size: 17px; }
.qs-group-empty span { max-width: 480px; font-size: 12px; line-height: 1.55; }
.qs-group-detail-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 18px;
}
.qs-group-detail-title strong { font-size: 18px; }
.qs-group-detail-title span {
  padding: 4px 8px;
  border-radius: 999px;
  background: #eef1f3;
  color: #68727b;
  font-size: 10px;
  font-weight: 700;
}
.qs-group-form-grid { grid-template-columns: minmax(0,1fr) 130px; }
.qs-group-hint {
  margin-top: 14px;
  padding: 11px 12px;
  border-radius: 10px;
  background: #f4f6f7;
  color: #66717a;
  font-size: 11px;
  line-height: 1.45;
}
.qs-group-detail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 18px;
}
.qs-group-plan-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 22px;
  padding-top: 16px;
  border-top: 1px solid #e3e6e8;
}
.qs-group-plan-actions span { color: #68727b; font-size: 11px; }
.qs-group-footer { justify-content: flex-end; }
.qs-group-footer > span {
  margin-right: auto;
  max-width: 480px;
  color: #69727b;
  font-size: 11px;
}
@media (max-width: 900px) {
  .qs-group-library-modal { width: min(96vw, 780px); max-height: 92vh; overflow: auto; }
  .qs-group-workspace { grid-template-columns: 1fr; }
  .qs-group-library-pane { border-right: 0; border-bottom: 1px solid #e3e6e8; }
  .qs-group-form-grid { grid-template-columns: 1fr; }
  .qs-group-plan-actions { align-items: flex-start; flex-direction: column; }
}


/* 0.7.32 – Gruppenbibliothek nutzt die verfügbare Breite wirklich aus */
[data-group-modal]{
  place-items:center!important;
  align-items:center!important;
  justify-items:center!important;
  padding:24px!important;
  background:rgba(20,25,30,.34);
  pointer-events:auto;
}
[data-group-modal] .qs-group-library-modal{
  width:min(1320px,calc(100vw - 48px))!important;
  max-width:none!important;
  height:min(860px,calc(100vh - 48px))!important;
  max-height:calc(100vh - 48px)!important;
  margin:auto!important;
  overflow:hidden!important;
  pointer-events:auto!important;
}
[data-group-modal] .qs-group-workspace{
  grid-template-columns:minmax(360px,.72fr) minmax(620px,1.28fr);
  min-width:0;
}
[data-group-modal] .qs-group-detail-actions,
[data-group-modal] .qs-group-plan-actions{
  min-width:0;
}
[data-group-modal] .qs-group-detail-actions .qs-btn,
[data-group-modal] .qs-group-plan-actions .qs-btn{
  flex:0 0 auto;
  white-space:nowrap;
}
@media (max-width:1050px){
  [data-group-modal] .qs-group-library-modal{
    width:calc(100vw - 28px)!important;
    height:calc(100vh - 28px)!important;
    max-height:calc(100vh - 28px)!important;
  }
  [data-group-modal] .qs-group-workspace{grid-template-columns:1fr;overflow:auto}
  [data-group-modal] .qs-group-library-pane{border-right:0;border-bottom:1px solid #e3e6e8}
}


/* 0.7.33 – Gruppen: kompakter linker Workflow wie Möbel bearbeiten */
[data-group-modal]{
  background:transparent!important;
  place-items:start!important;
  align-items:center!important;
  justify-items:start!important;
  padding:82px 18px 20px!important;
  pointer-events:none!important;
}
[data-group-modal] .qs-group-compact-modal{
  width:min(430px,calc(100vw - 36px))!important;
  max-width:430px!important;
  max-height:calc(100vh - 102px)!important;
  margin:0!important;
  overflow:hidden!important;
  pointer-events:auto!important;
  display:flex;
  flex-direction:column;
}
.qs-group-compact-body{padding:14px;overflow:auto;display:grid;gap:13px;min-height:0}
.qs-group-create-card,.qs-group-current-card,.qs-group-library-compact{border:1px solid #e1e5e8;border-radius:12px;background:#fff;padding:12px;box-shadow:0 1px 2px rgba(0,0,0,.025)}
.qs-group-create-card{background:#f7faf8;border-color:#d8e6dc}
.qs-group-create-card>strong,.qs-group-current-card strong,.qs-group-library-compact-head strong{display:block;color:#202428;font-size:14px}
.qs-group-create-card>span,.qs-group-current-card span,.qs-group-library-compact-head span{display:block;margin-top:3px;color:#707980;font-size:11px;line-height:1.42}
.qs-group-create-row,.qs-group-current-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin-top:10px}
.qs-group-create-row input,.qs-group-current-row input{box-sizing:border-box;width:100%;min-width:0;border:1px solid #cfd4d8;border-radius:8px;background:#fff;padding:9px 10px;font:inherit;color:#202428;outline:none}
.qs-group-create-row input:focus,.qs-group-current-row input:focus{border-color:#8e979e;box-shadow:0 0 0 3px rgba(77,88,96,.10)}
.qs-group-current-card>div:first-child{display:grid;gap:2px}
.qs-group-library-compact{padding-bottom:9px}
.qs-group-library-compact-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}
.qs-group-library-compact .qs-group-search{margin-bottom:9px}
.qs-group-library-list{display:grid;gap:6px;max-height:330px;overflow:auto;padding-right:2px}
.qs-group-library-row{display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:6px;align-items:stretch}
.qs-group-library-row .qs-group-library-item{min-width:0;text-align:left;border-radius:9px;padding:9px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.qs-group-library-row .qs-group-library-item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qs-group-library-row .qs-group-library-item span{font-size:10px;color:#788087;flex:0 0 auto}
.qs-group-library-trash{width:38px;min-width:38px;border:1px solid #e1e4e7;border-radius:9px;background:#fff;color:#8f3030;display:grid;place-items:center;cursor:pointer;transition:background .12s,border-color .12s,color .12s}
.qs-group-library-trash:hover{background:#fff1f0;border-color:#e4b5b1;color:#b42318}
.qs-group-library-trash svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.qs-group-compact-footer{justify-content:flex-end;gap:10px}
.qs-group-compact-footer>span{margin-right:auto;max-width:255px;color:#69727b;font-size:10px;line-height:1.35}
.qs-object-group-transform .qs-object-hit,
.qs-object-group-transform .qs-appliance-hit,
.qs-object-group-transform .qs-furniture-resize,
.qs-object-group-transform .qs-furnishing-resize{cursor:crosshair!important}
@media(max-width:560px){
  [data-group-modal]{padding:70px 10px 12px!important}
  [data-group-modal] .qs-group-compact-modal{width:calc(100vw - 20px)!important;max-width:none!important;max-height:calc(100vh - 82px)!important}
  .qs-group-create-row,.qs-group-current-row{grid-template-columns:1fr}
}


/* 0.7.35 – OPTI / Shortcodes */
[data-shortcuts-modal] {
  place-items: center;
  padding: 24px;
}
[data-shortcuts-modal] .qs-shortcuts-modal {
  width: min(720px, calc(100vw - 40px));
  max-height: min(760px, calc(100vh - 48px));
  overflow: hidden;
}
.qs-shortcuts-body {
  padding: 20px;
  overflow: auto;
}
.qs-shortcuts-intro {
  display: grid;
  gap: 5px;
  margin-bottom: 16px;
  padding: 14px 16px;
  border: 1px solid #dde2e6;
  border-radius: 12px;
  background: #f7f8f9;
}
.qs-shortcuts-intro strong { font-size: 14px; color: #202428; }
.qs-shortcuts-intro span { font-size: 12px; line-height: 1.45; color: #68717a; }
.qs-shortcuts-grid { display: grid; gap: 8px; }
.qs-shortcut-row {
  display: grid;
  grid-template-columns: max-content 16px max-content minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  min-height: 54px;
  padding: 8px 10px;
  border: 1px solid #e0e4e7;
  border-radius: 10px;
  background: #fff;
}
.qs-shortcut-row kbd {
  min-width: 32px;
  padding: 7px 9px;
  border: 1px solid #bfc6cc;
  border-bottom-width: 3px;
  border-radius: 7px;
  background: #f6f7f8;
  color: #202428;
  font: 800 11px/1 Arial, sans-serif;
  text-align: center;
  box-shadow: 0 1px 0 rgba(0,0,0,.04);
}
.qs-shortcut-row > b { color: #8a929a; text-align: center; }
.qs-shortcut-row > span { display: grid; gap: 2px; min-width: 0; font-size: 12px; color: #6c747c; }
.qs-shortcut-row > span strong { font-size: 13px; color: #202428; }
.qs-shortcut-arrows {
  grid-template-columns: repeat(4, max-content) minmax(0, 1fr);
}
.qs-shortcuts-note { margin-right: auto; font-size: 11px; color: #747d85; }
.quicksketch-stage.is-marquee-armed { cursor: crosshair !important; }
@media (max-width: 680px) {
  [data-shortcuts-modal] { padding: 12px; }
  [data-shortcuts-modal] .qs-shortcuts-modal { width: calc(100vw - 24px); max-height: calc(100vh - 24px); }
  .qs-shortcut-row { grid-template-columns: max-content 12px max-content minmax(0, 1fr); }
  .qs-shortcut-arrows { grid-template-columns: repeat(4, max-content); }
  .qs-shortcut-arrows > span { grid-column: 1 / -1; padding-top: 4px; }
}


/* 0.7.36 – Objekte-Dialog: kompakte, gleich hohe Objektzeilen */
.qs-modal-backdrop[data-tool-modal="objects"] .qs-options-content {
  height: min(620px, calc(92vh - 92px));
  max-height: min(620px, calc(92vh - 92px));
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-gutter: stable;
}
.qs-modal-backdrop[data-tool-modal="objects"] .qs-options-content .qs-modal-body {
  min-height: 0;
  align-content: start;
  grid-auto-rows: auto;
  padding: 18px 30px 18px 18px;
}
.qs-modal-backdrop[data-tool-modal="objects"] .qs-object-panel-title {
  margin: 0 0 2px;
  line-height: 1.15;
}
.qs-modal-backdrop[data-tool-modal="objects"] .qs-tool-choice {
  height: 82px;
  min-height: 82px;
  max-height: 82px;
  align-content: center;
  gap: 5px;
  padding: 12px 16px;
  box-sizing: border-box;
}
.qs-modal-backdrop[data-tool-modal="objects"] .qs-tool-choice strong,
.qs-modal-backdrop[data-tool-modal="objects"] .qs-tool-choice span {
  overflow: hidden;
  text-overflow: ellipsis;
}
.qs-modal-backdrop[data-tool-modal="objects"] .qs-tool-choice span {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}
@media (max-width: 650px) {
  .qs-modal-backdrop[data-tool-modal="objects"] .qs-options-content {
    height: 55vh;
    max-height: 55vh;
  }
  .qs-modal-backdrop[data-tool-modal="objects"] .qs-options-content .qs-modal-body {
    padding-right: 28px;
  }
}


/* 0.7.39 – moderner Updates-Log: ein Tageskopf, kompakte Versionsblöcke */
.qs-updates-modal {
  width: min(720px, 96vw);
}
.qs-updates-scroll {
  padding: 8px 24px 24px;
}
.qs-update-day-heading {
  position: sticky;
  top: 0;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  margin: 0 0 4px;
  padding: 13px 2px 11px;
  border: 0;
  border-bottom: 1px solid #dfe3e6;
  border-radius: 0;
  background: rgba(255,255,255,.97);
  box-shadow: none;
  backdrop-filter: blur(9px);
}
.qs-update-day-heading:not(:first-child) {
  margin-top: 22px;
}
.qs-update-day-heading strong {
  color: #202428;
  font-size: 16px;
  font-weight: 900;
  letter-spacing: -.01em;
}
.qs-update-day-heading span,
.qs-update-day-heading .qs-update-day-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 3px 9px;
  border-radius: 999px;
  background: #d63232;
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
}
.qs-update-entry,
.qs-update-entry.is-latest {
  margin: 0;
  padding: 0 2px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.qs-update-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 16px 0 8px;
  color: #202428;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.25;
}
.qs-update-current-badge {
  order: 2;
  margin: 0;
  padding: 3px 8px;
  font-size: 9px;
}
.qs-update-entry ul,
.qs-updates-scroll > ul,
.qs-update-meta + ul {
  margin: 0;
  padding: 0 0 17px 20px;
  color: #545d65;
  border-bottom: 1px solid #e2e6e9;
}
.qs-update-entry li,
.qs-update-meta + ul li {
  line-height: 1.45;
}
.qs-update-entry li + li,
.qs-update-meta + ul li + li {
  margin-top: 5px;
}
.qs-updates-scroll hr {
  display: none;
}
.qs-implemented-updates {
  margin: 0;
  padding: 0;
  border: 0;
}
.qs-implemented-updates-head {
  display: none !important;
}
.qs-implemented-update-card.qs-update-requirement-entry {
  margin: 0;
  padding: 15px 0 17px;
  border: 0;
  border-bottom: 1px solid #e2e6e9;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.qs-implemented-update-card .qs-implemented-update-top {
  justify-content: flex-start;
  gap: 9px;
  margin-bottom: 7px;
}
.qs-implemented-update-card .qs-implemented-update-top time {
  display: none;
}
.qs-implemented-update-title {
  display: block;
  margin-bottom: 8px;
  color: #202428;
  font-size: 15px;
  font-weight: 900;
}


/* 0.7.40 – Updates: fester Hauptkopf, Tageskopf direkt darunter */
.qs-updates-modal {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.qs-updates-main-head {
  flex: 0 0 auto;
  position: relative;
  z-index: 5;
  margin: 0;
  border-bottom: 0;
  background: #fff;
}
.qs-updates-head-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-left: auto;
}
.qs-updates-today-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 3px 10px;
  border-radius: 999px;
  background: #d93030;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}
.qs-updates-scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding-top: 0 !important;
}
.qs-updates-scroll > .qs-update-day-heading:first-child {
  margin-top: 0 !important;
}
.qs-update-day-heading {
  position: static !important;
  top: auto !important;
  margin-left: 0;
  margin-right: 0;
  border-radius: 0;
}
.qs-update-day-heading strong {
  font-weight: 800;
}
.qs-update-day-heading .qs-update-day-count {
  display: none !important;
}

.qs-wall-name { pointer-events: none; }
.qs-wall-name-bg { fill: rgba(255,255,255,.92); stroke: rgba(32,36,40,.22); stroke-width: 1; vector-effect: non-scaling-stroke; }
.qs-wall-name-text { fill: #202428; font-size: 12px; font-weight: 800; text-anchor: middle; dominant-baseline: central; pointer-events: none; }

.qs-roomlabel-text-colors {
  display: flex;
  gap: 8px;
  align-items: center;
}
.qs-roomlabel-text-colors label {
  display: inline-flex;
  cursor: pointer;
}
.qs-roomlabel-text-colors input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.qs-roomlabel-text-colors span {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 2px solid #cfd4da;
  box-shadow: inset 0 0 0 2px #fff;
}
.qs-roomlabel-text-colors span.is-black { background: #202428; }
.qs-roomlabel-text-colors span.is-white { background: #fff; }
.qs-roomlabel-text-colors input:checked + span {
  border-color: #1670b8;
  box-shadow: 0 0 0 2px rgba(22,112,184,.14), inset 0 0 0 2px #fff;
}
.qs-door-label {
  fill: #202428;
  font-size: 14px;
  font-weight: 800;
  text-anchor: middle;
  dominant-baseline: central;
  paint-order: stroke;
  stroke: #fff;
  stroke-width: 3px;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.qs-door-label.is-selected {
  fill: #1670b8;
}

@media (max-width: 800px) {
  .quicksketch-help.qs-smart-footer {
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    grid-template-areas:
      "online version"
      "copyright copyright";
    column-gap: 6px;
    row-gap: 2px;
    padding: 5px 8px 6px;
    font-size: 10px;
  }
  .qs-footer-online { overflow:hidden; text-overflow:ellipsis; }
  .qs-footer-copyright { justify-self:center; }
  .quicksketch-help .qs-version { justify-self:end; }
}


/* 0.7.62 – Admin LOG PRO im Frontend */
.qs-pro-mini,.qs-pro-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#202428;color:#fff;font-weight:800;letter-spacing:.08em}.qs-pro-mini{font-size:8px;padding:2px 5px;margin-left:5px;vertical-align:1px}.qs-pro-badge{font-size:10px;padding:4px 8px;margin-left:8px}.qs-admin-log-backdrop{z-index:2147483646!important;background:rgba(18,22,25,.52)!important;display:grid;place-items:center;padding:24px}.qs-admin-log-backdrop[hidden]{display:none!important}.qs-admin-log-modal{width:min(1380px,calc(100vw - 48px))!important;height:min(860px,calc(100vh - 48px));max-width:none!important;max-height:none!important;display:grid;grid-template-rows:auto 1fr;overflow:hidden;border-radius:18px!important;box-shadow:0 28px 80px rgba(0,0,0,.24)}.qs-admin-log-head>div{display:flex;align-items:center}.qs-admin-log-head>div>strong{font-size:22px;letter-spacing:.04em}.qs-admin-log-body{overflow:auto;padding:18px;background:#f4f6f7}.qs-admin-log-loading,.qs-admin-log-error,.qs-admin-log-empty{padding:28px;text-align:center;color:#65717a}.qs-admin-log-error{color:#a32a2a}.qs-admin-log-filter{display:flex;align-items:end;justify-content:space-between;gap:18px;background:#fff;border:1px solid #dce2e6;border-radius:14px;padding:14px 16px;margin-bottom:14px}.qs-admin-log-filter label{display:grid;gap:6px;min-width:min(520px,65vw)}.qs-admin-log-filter label>span{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#68747d}.qs-admin-log-filter select{width:100%;height:42px;border:1px solid #ccd4da;border-radius:9px;background:#fff;padding:0 11px}.qs-admin-log-owner{display:grid;text-align:right}.qs-admin-log-owner strong{font-size:14px}.qs-admin-log-owner span{font-size:11px;color:#6c7780;text-transform:uppercase;font-weight:700}.qs-admin-log-stats{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:10px;margin-bottom:14px}.qs-admin-log-stats article{background:#fff;border:1px solid #dce2e6;border-radius:13px;padding:14px}.qs-admin-log-stats span{display:block;color:#74808a;font-size:10px;text-transform:uppercase;font-weight:800;letter-spacing:.06em}.qs-admin-log-stats strong{display:block;margin-top:6px;font-size:22px}.qs-admin-log-stats strong.is-small{font-size:13px;line-height:1.35}.qs-admin-log-grid{display:grid;grid-template-columns:minmax(480px,1.05fr) minmax(430px,.95fr);gap:14px;margin-bottom:14px}.qs-admin-log-panel{background:#fff;border:1px solid #dce2e6;border-radius:14px;overflow:hidden}.qs-admin-log-panel-head{padding:13px 15px;border-bottom:1px solid #e4e8eb;display:flex;align-items:baseline;justify-content:space-between;gap:12px}.qs-admin-log-panel-head strong{font-size:15px}.qs-admin-log-panel-head span{font-size:11px;color:#75808a}.qs-admin-log-list{max-height:350px;overflow:auto}.qs-admin-log-plan{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 13px;border-bottom:1px solid #edf0f2}.qs-admin-log-plan:last-child{border-bottom:0}.qs-admin-log-plan-icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:#202428;color:#fff;font-size:11px;font-weight:800}.qs-admin-log-plan-copy{display:grid;min-width:0;gap:2px}.qs-admin-log-plan-copy strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qs-admin-log-plan-copy span{font-size:10px;color:#7a858d}.qs-admin-log-plan-copy small{font-size:10px;color:#59656d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qs-admin-log-plan .qs-btn{white-space:nowrap;padding:8px 10px;font-size:11px}.qs-admin-log-table-wrap{max-height:350px;overflow:auto}.qs-admin-log-events .qs-admin-log-table-wrap{max-height:310px}.qs-admin-log-table{width:100%;border-collapse:collapse;font-size:11px}.qs-admin-log-table th{position:sticky;top:0;background:#f7f8f9;z-index:1;text-align:left;padding:9px 10px;border-bottom:1px solid #dde3e7;color:#66727b;font-size:9px;text-transform:uppercase;letter-spacing:.05em}.qs-admin-log-table td{padding:9px 10px;border-bottom:1px solid #edf0f2;vertical-align:top}.qs-admin-log-table tr:last-child td{border-bottom:0}@media(max-width:1050px){.qs-admin-log-stats{grid-template-columns:repeat(2,1fr)}.qs-admin-log-grid{grid-template-columns:1fr}.qs-admin-log-modal{width:calc(100vw - 24px)!important;height:calc(100vh - 24px)}.qs-admin-log-backdrop{padding:12px}.qs-admin-log-filter{align-items:stretch;flex-direction:column}.qs-admin-log-owner{text-align:left}}

/* 0.7.64 – LOG PRO muss über Canvas, Slider und allen normalen QuickSketch-Modals liegen. */
.qs-admin-log-backdrop {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483646 !important;
  pointer-events: auto !important;
  isolation: isolate;
}
.qs-admin-log-backdrop .qs-admin-log-modal {
  position: relative;
  z-index: 1;
  pointer-events: auto;
}

/* 0.7.65 – LOG PRO nutzt dieselbe Typografie wie QuickSketch. */
.qs-admin-log-backdrop,
.qs-admin-log-modal,
.qs-admin-log-modal button,
.qs-admin-log-modal input,
.qs-admin-log-modal select,
.qs-admin-log-modal textarea {
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

/* 0.7.81 – Wandgebundene Installationssymbole */
.qs-wall-installation { pointer-events:auto; }
.qs-wall-installation-hit { fill:transparent; stroke:transparent; cursor:pointer; }
.qs-water-hot { fill:#fff; stroke:#d93636; stroke-width:2.2; vector-effect:non-scaling-stroke; }
.qs-water-cold { fill:#fff; stroke:#2378c8; stroke-width:2.2; vector-effect:non-scaling-stroke; }
.qs-water-drain { fill:#fff; stroke:#202428; stroke-width:2.2; vector-effect:non-scaling-stroke; }
.qs-install-symbol-line { stroke:#202428; stroke-width:2; vector-effect:non-scaling-stroke; fill:none; }
.qs-install-symbol-arc { stroke:#202428; stroke-width:2; vector-effect:non-scaling-stroke; fill:none; }
.qs-stove-box { fill:#fff; stroke:#202428; stroke-width:2; vector-effect:non-scaling-stroke; }
.qs-install-label-bg { fill:rgba(255,255,255,.92); stroke:rgba(255,255,255,.92); stroke-width:1; vector-effect:non-scaling-stroke; }
.qs-install-label-text { fill:#202428; font-size:12px; font-weight:700; text-anchor:middle; dominant-baseline:middle; pointer-events:none; }
.qs-wall-installation.is-selected .qs-install-symbol-line, .qs-wall-installation.is-selected .qs-install-symbol-arc, .qs-wall-installation.is-selected .qs-water-drain, .qs-wall-installation.is-selected .qs-stove-box { stroke:#1670b8; }
.qs-wall-installation.is-selected .qs-install-label-text { fill:#1670b8; }
.qs-install-dim-line, .qs-install-dim-extension, .qs-install-dim-tick { stroke:#d52f2f; stroke-width:1.1; vector-effect:non-scaling-stroke; fill:none; pointer-events:none; }
.qs-install-dim-text { fill:#d52f2f; font-size:13px; font-weight:800; text-anchor:middle; dominant-baseline:middle; paint-order:stroke; stroke:#fff; stroke-width:4px; stroke-linejoin:round; pointer-events:none; }


.qs-install-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(220px, 1fr));
  gap: 14px;
  align-content: start;
}
.qs-install-choice {
  min-height: 110px;
  justify-content: flex-start;
}
.qs-install-choice strong {
  margin-bottom: 8px;
}


.qs-install-label-leader { stroke:#6f767c; stroke-width:1.2; vector-effect:non-scaling-stroke; fill:none; pointer-events:none; }
.qs-install-label-anchor { fill:#fff; stroke:#6f767c; stroke-width:1.2; vector-effect:non-scaling-stroke; pointer-events:none; }
.qs-install-label-hit { cursor:move; pointer-events:auto; }
.qs-install-label.is-selected .qs-install-label-leader,
.qs-install-label.is-selected .qs-install-label-anchor { stroke:#1670b8; }


/* 0.7.84 – LOG PRO Badge im OPTI-Menü */
.qs-menu-item .qs-pro-mini { color:#fff !important; }

/* 0.7.86 – Quicki-Badge direkt hinter Werkzeugname */
.qs-modal-backdrop[data-tool-modal="objects"] .qs-tool-choice strong .qs-quicki-badge {
  display:inline-flex !important;
  width:auto !important;
  max-width:none !important;
  overflow:visible !important;
  text-overflow:clip !important;
  -webkit-box-orient:initial !important;
  -webkit-line-clamp:unset !important;
  line-clamp:unset !important;
  vertical-align:middle;
}

/* 0.7.85 – Quickis + Bauelemente */
.qs-quicki-badge {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-left:6px;
  padding:2px 7px;
  border-radius:999px;
  background:#1670b8;
  color:#fff !important;
  font-size:10px;
  font-weight:800;
  line-height:1.35;
  letter-spacing:.02em;
  vertical-align:middle;
}
.qs-building-element-backdrop {
  align-items:flex-start !important;
  justify-content:flex-start !important;
  padding:92px 18px 24px !important;
  background:rgba(255,255,255,.04) !important;
  pointer-events:none;
}
.qs-building-element-backdrop:not([hidden]) { display:flex !important; }
.qs-building-element-modal {
  width:min(360px,calc(100vw - 36px));
  max-height:calc(100vh - 130px);
  overflow:auto;
  margin:0 !important;
  pointer-events:auto;
  box-shadow:0 20px 55px rgba(15,23,42,.20);
}
.qs-building-element { pointer-events:auto; }
.qs-building-shape { stroke:#263238; stroke-width:1.4; vector-effect:non-scaling-stroke; }
.qs-building-hit { fill:transparent; stroke:transparent; cursor:move; }
.qs-building-line { stroke-linecap:round; vector-effect:non-scaling-stroke; }
.qs-building-line-hit { stroke:transparent; stroke-width:16; fill:none; cursor:move; }
.qs-building-element.is-selected .qs-building-shape { stroke:#1670b8; stroke-width:2.2; }
.qs-building-resize,
.qs-building-line-handle {
  fill:#fff;
  stroke:#1670b8;
  stroke-width:2;
  vector-effect:non-scaling-stroke;
  cursor:nwse-resize;
}
.qs-building-line-handle { cursor:crosshair; }


/* 0.7.88 – OPTI Knasti */
.qs-knasti-modal { width:min(720px,92vw); max-height:min(78vh,760px); display:flex; flex-direction:column; }
.qs-knasti-intro { padding:10px 16px; font-size:13px; color:#5c6670; border-bottom:1px solid #e5e8eb; }
.qs-knasti-list { padding:8px 12px 12px; overflow:auto; min-height:120px; }
.qs-knasti-list section + section { margin-top:9px; }
.qs-knasti-list h4 { margin:5px 4px 4px; font-size:11px; text-transform:uppercase; letter-spacing:.07em; color:#7a838c; }
.qs-knasti-row { min-height:34px; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:3px 5px 3px 9px; border-top:1px solid #edf0f2; }
.qs-knasti-row:first-of-type { border-top:0; }
.qs-knasti-row.is-locked { background:rgba(255,205,67,.12); }
.qs-knasti-name { min-width:0; display:flex; align-items:baseline; gap:8px; }
.qs-knasti-name strong { font-size:13px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.qs-knasti-name span { font-size:11px; color:#8a929a; white-space:nowrap; }
.qs-knasti-lock { border:0; background:transparent; min-width:88px; height:28px; border-radius:7px; cursor:pointer; display:flex; align-items:center; justify-content:flex-end; gap:6px; padding:0 7px; color:#59636d; }
.qs-knasti-lock:hover { background:#f0f3f5; }
.qs-knasti-row.is-locked .qs-knasti-lock { color:#202428; font-weight:800; }
.qs-knasti-lock b { font-size:11px; }
.qs-knasti-empty { padding:22px 10px; text-align:center; color:#7a838c; font-size:13px; }


/* 0.7.89 – Arbeitsnummern Außenwände */
.qs-wall-index-marker { pointer-events:none; }
.qs-wall-index-circle { fill:rgba(255,255,255,.94); stroke:#202428; stroke-width:1.5; vector-effect:non-scaling-stroke; }
.qs-wall-index-text { fill:#202428; font-size:12px; font-weight:800; text-anchor:middle; dominant-baseline:middle; pointer-events:none; }


/* 0.7.91 – KNASTI, Innenwand-Kennungen und Quicki-Hilfe */
.qs-quicki-explainer {
  padding: 9px 16px 10px;
  border-bottom: 1px solid #e5e8eb;
  color: #5e6872;
  font-size: 12px;
  line-height: 1.45;
  background: #fafbfc;
}
.qs-quicki-explainer .qs-quicki-badge { margin-right: 5px; vertical-align: baseline; }
.qs-knasti-bulk {
  display: flex;
  gap: 8px;
  padding: 8px 12px;
  border-bottom: 1px solid #e5e8eb;
  background: #fafbfc;
}
.qs-knasti-bulk .qs-btn { min-height: 30px; padding: 5px 10px; font-size: 12px; }
.qs-interior-wall-index-circle { fill: rgba(255,255,255,.94); }

/* 0.7.100 – Insellinien für wandferne Herdanschlüsse */
.qs-island-dim-line,
.qs-island-dim-extension,
.qs-island-dim-tick {
  stroke:#e83e8c;
  stroke-width:1.1;
  vector-effect:non-scaling-stroke;
  fill:none;
  pointer-events:none;
}
.qs-island-dim-text {
  fill:#e83e8c;
  font-size:13px;
  font-weight:800;
  text-anchor:middle;
  dominant-baseline:middle;
  paint-order:stroke;
  stroke:#fff;
  stroke-width:4px;
  stroke-linejoin:round;
  pointer-events:none;
}
.qs-island-dimension.is-selected .qs-island-dim-line,
.qs-island-dimension.is-selected .qs-island-dim-extension,
.qs-island-dimension.is-selected .qs-island-dim-tick {
  stroke-width:2;
}

/* 0.7.104 – Buchreihe auf Bord */
.qs-book-row-bg{fill:rgba(255,255,255,.82);stroke:#3b4248;stroke-width:1.2;vector-effect:non-scaling-stroke}.qs-book-spine{stroke:#343a40;stroke-width:.8;vector-effect:non-scaling-stroke}.qs-book-spine-1{fill:#c76a55}.qs-book-spine-2{fill:#6c88b5}.qs-book-spine-3{fill:#c2a85e}.qs-book-spine-4{fill:#6f9a72}.qs-book-row.is-selected .qs-book-row-bg{stroke:#1670b8;stroke-width:2}

/* 0.7.125 – Möbel-bearbeiten-Popup temporär verschiebbar */
[data-furniture-modal] .qs-furniture-drag-handle {
  cursor: grab;
  user-select: none;
  touch-action: none;
}
[data-furniture-modal] .qs-furniture-drag-handle.is-dragging { cursor: grabbing; }
[data-furniture-modal] .qs-modal.is-free-position {
  position: fixed;
  margin: 0;
  z-index: 2147483650;
}


/* 0.7.128 – Shortcode-Liste kompakt vertikal scrollen */
[data-shortcuts-modal] .qs-shortcuts-modal {
  display: flex;
  flex-direction: column;
  height: min(720px, calc(100vh - 48px));
}
[data-shortcuts-modal] .qs-shortcuts-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
}
[data-shortcuts-modal] .qs-modal-head,
[data-shortcuts-modal] .qs-modal-actions {
  flex: 0 0 auto;
}
