:root {
  --bg-1: #efe4d0;
  --bg-2: #cfb681;
  --card: rgba(255, 248, 236, 0.97);
  --soft: #fff6e8;
  --ink: #24180f;
  --muted: #756654;
  --line: rgba(139, 95, 34, 0.28);
  --gold: #a8792e;
  --gold-dark: #6d4819;
  --blue: #356fa6;
  --purple: #8055a4;
  --red: #a33a32;
  --shadow: rgba(44, 27, 8, 0.16);
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  min-height: 100%;
  font-family: "Segoe UI", Arial, sans-serif;
  color: var(--ink);
  background:
    radial-gradient(circle at top left, rgba(255,255,255,0.58), transparent 36%),
    linear-gradient(135deg, var(--bg-1), var(--bg-2));
}

button, input, select { font-family: inherit; }
button { user-select: none; }

.mobile-block { display: none; }

.app-shell {
  height: 100vh;
  padding: 10px 14px 14px;
  max-width: 1980px;
  margin: 0 auto;
  overflow: hidden;
}

.topbar {
  min-height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}

.brand {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 8px 16px 8px 8px;
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255,250,242,0.96), rgba(239,226,202,0.94));
  border: 1px solid rgba(151, 116, 70, 0.22);
  box-shadow: 0 14px 28px rgba(44, 27, 8, 0.10), inset 0 1px 0 rgba(255,255,255,0.72);
}

.brand-mark {
  position: relative;
  width: 58px;
  height: 58px;
  border-radius: 20px;
  display: grid;
  place-items: center;
  color: white;
  font-weight: 950;
  font-size: 28px;
  letter-spacing: 0.8px;
  background: linear-gradient(145deg, #2a1b10 0%, #7c5a2a 52%, #d4b570 100%);
  box-shadow: 0 14px 28px rgba(44, 27, 8, 0.18);
}

.brand-mark::after {
  content: "";
  position: absolute;
  inset: 4px;
  border-radius: 15px;
  border: 1px solid rgba(255,255,255,0.26);
}

.brand-title {
  font-size: 31px;
  font-weight: 980;
  line-height: 0.96;
  letter-spacing: -0.8px;
  color: #28180e;
}

.brand-subtitle {
  margin-top: 5px;
  font-size: 13px;
  letter-spacing: 0.02em;
  color: #6b5b47;
}

.top-actions {
  display: flex;
  align-items: center;
  gap: 9px;
  flex-wrap: wrap;
  justify-content: flex-end;
  margin-left: auto;
}

.language-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 8px 6px 11px;
  border: 1px solid var(--line);
  background: rgba(255,248,236,0.82);
  border-radius: 999px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.language-wrap select {
  border: 0;
  background: transparent;
  font-weight: 900;
  color: var(--ink);
  outline: none;
  cursor: pointer;
}

.primary-btn, .soft-btn {
  border: 0;
  cursor: pointer;
  border-radius: 999px;
  padding: 10px 15px;
  font-weight: 900;
  transition: 0.16s ease;
  font-size: 14px;
}

.primary-btn {
  background: linear-gradient(135deg, var(--gold), var(--gold-dark));
  color: white;
  box-shadow: 0 12px 25px rgba(117, 78, 25, 0.22);
}

.soft-btn {
  background: rgba(255,248,236,0.9);
  color: var(--ink);
  border: 1px solid var(--line);
}

.primary-btn:hover, .soft-btn:hover,
.ribbon-btn:hover, .kitchen-tool:hover {
  transform: translateY(-1px);
}

.tool-ribbon, .kitchen-ribbon {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 44px;
  padding: 6px;
  margin-top: 8px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(255,248,236,0.74);
  box-shadow: 0 10px 24px rgba(44, 27, 8, 0.08);
  overflow-x: auto;
}

.kitchen-ribbon {
  min-height: 42px;
  background: rgba(239, 226, 202, 0.72);
}

.ribbon-label {
  color: #2c1d12;
  font-weight: 950;
  padding: 0 10px;
  white-space: nowrap;
}

.ribbon-btn, .kitchen-tool {
  border: 1px solid rgba(75, 54, 28, 0.12);
  border-radius: 10px;
  padding: 9px 12px;
  color: white;
  background: linear-gradient(135deg, #3f78ad, #2f6394);
  font-weight: 900;
  font-size: 13px;
  cursor: pointer;
  white-space: nowrap;
  box-shadow: 0 6px 13px rgba(44, 27, 8, 0.10);
}

.ribbon-btn.active, .kitchen-tool.active {
  background: linear-gradient(135deg, #2a1b10, #684019);
  border-color: #c79d54;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.08), 0 8px 18px rgba(44, 27, 8, 0.18);
}

.kitchen-btn {
  background: linear-gradient(135deg, #8255a6, #6e428f);
}

.utility-btn {
  background: linear-gradient(135deg, #dfaa2e, #b77e14);
}

.danger-btn {
  background: linear-gradient(135deg, #bd5146, #90362f);
}

.export-ribbon-btn {
  background: linear-gradient(135deg, #a56ad9, #8454b2);
  border-color: rgba(76, 42, 112, 0.26);
  box-shadow: 0 8px 18px rgba(84, 48, 120, 0.20);
}

body.fullscreen-active .topbar {
  padding-right: 70px;
}

.kitchen-tool {
  color: #24180f;
  background: linear-gradient(135deg, #ead6af, #d1b98c);
  border-color: rgba(87,62,30,0.24);
}

.kitchen-tool.active {
  color: white;
}

.kitchen-help {
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
  margin-left: 6px;
}

.layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  height: calc(100vh - 170px);
  margin-top: 10px;
}

.workspace-card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 26px;
  box-shadow: 0 18px 46px var(--shadow);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.workspace-head {
  height: 58px;
  padding: 11px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--line);
}

.workspace-title {
  font-size: 20px;
  font-weight: 950;
}

.workspace-status {
  margin-top: 3px;
  color: var(--muted);
  font-size: 13px;
}

.scale-pill {
  padding: 8px 13px;
  border-radius: 999px;
  background: #fff8ec;
  color: var(--muted);
  border: 1px solid var(--line);
  font-size: 13px;
  white-space: nowrap;
}

.canvas-host {
  flex: 1;
  padding: 12px;
  min-height: 0;
}

#spaceCanvas {
  width: 100%;
  height: 100%;
  display: block;
  border-radius: 22px;
  border: 1px solid rgba(139, 95, 34, 0.28);
  background: #fffaf1;
  cursor: crosshair;
}

@media (max-width: 1100px) {
  .app-shell { display: none; }

  .mobile-block {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 24px;
  }

  .mobile-card {
    max-width: 520px;
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: 28px;
    padding: 28px;
    text-align: center;
    box-shadow: 0 22px 55px var(--shadow);
  }

  .mobile-logo {
    margin: 0 auto 14px;
    width: 64px;
    height: 64px;
    border-radius: 22px;
    display: grid;
    place-items: center;
    color: white;
    font-weight: 950;
    background: linear-gradient(135deg, #2d2118, #a8792e);
  }
}


/* Stage 05 refinements */
.kitchen-ribbon {
  flex-wrap: nowrap;
  scrollbar-width: thin;
}

.kitchen-tool {
  padding-left: 10px;
  padding-right: 10px;
}

.ribbon-btn[data-tool="inner-corner"] {
  background: linear-gradient(135deg, #4d7fb3, #365f8d);
}


/* Stage 06 — premium cabinet popup and kitchen colors */
:root {
  --base-green: #5bb764;
  --hang-blue: #6dbbd4;
  --cabinet-line: #1f2a18;
}

.modal-backdrop {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(37, 24, 12, 0.24);
  backdrop-filter: blur(2px);
  z-index: 1000;
}

.modal-backdrop.open {
  display: flex;
}

.modal-card {
  position: relative;
  width: min(520px, calc(100vw - 36px));
  background: #efe4d0;
  border: 1px solid rgba(113, 79, 36, 0.42);
  border-radius: 16px;
  padding: 22px;
  box-shadow: 0 26px 70px rgba(38, 24, 10, 0.28);
}

.modal-x {
  position: absolute;
  top: 12px;
  right: 14px;
  border: 0;
  background: transparent;
  color: #2e220f;
  font-size: 25px;
  line-height: 1;
  cursor: pointer;
  font-weight: 800;
}

.modal-title {
  color: #203014;
  font-size: 24px;
  font-weight: 950;
  margin-bottom: 15px;
}

.modal-field {
  display: block;
  margin: 13px 0;
}

.modal-field span {
  display: block;
  color: #26351f;
  font-size: 18px;
  font-weight: 950;
  margin-bottom: 8px;
}

.modal-field select {
  width: 100%;
  min-height: 46px;
  border-radius: 9px;
  border: 2px solid #d7c8aa;
  background: #f8f0e2;
  color: #203014;
  font-size: 18px;
  font-weight: 850;
  padding: 8px 11px;
  outline: none;
}

.modal-field select:focus {
  border-color: #9f8354;
}

.cutlist-preview {
  margin: 16px 0 4px;
  padding: 13px 14px;
  border-radius: 12px;
  background: rgba(255, 248, 236, 0.66);
  border: 1px solid rgba(151, 116, 70, 0.28);
  color: #57432b;
  line-height: 1.48;
  font-size: 13px;
  font-weight: 700;
}

.cutlist-preview strong {
  color: #25351a;
}

.modal-actions {
  display: grid;
  gap: 10px;
  margin-top: 16px;
}

.modal-primary,
.modal-secondary {
  min-height: 52px;
  border: 0;
  border-radius: 9px;
  font-size: 21px;
  font-weight: 950;
  cursor: pointer;
}

.modal-primary {
  background: #618767;
  color: #fff;
}

.modal-primary:hover {
  background: #54795a;
}

.modal-secondary {
  background: #d9cfb2;
  color: #26351f;
}

.modal-secondary:hover {
  background: #cabd99;
}

.kitchen-tool[data-kitchen-preset="baseCustom"] {
  background: linear-gradient(135deg, #5bb764, #3f8f49);
  color: white;
}

.kitchen-tool[data-kitchen-preset="cornerBase"] {
  background: linear-gradient(135deg, #5bb764, #3f8f49);
  color: white;
}


/* Stage 06B — safe DOM laser, not renderer-based */
.canvas-host {
  position: relative;
}

.laser-line {
  position: absolute;
  z-index: 8;
  display: none;
  pointer-events: none;
  background: rgba(75, 205, 79, 0.92);
  box-shadow: 0 0 7px rgba(75, 205, 79, 0.42);
}

.laser-horizontal {
  left: 12px;
  right: 12px;
  height: 1px;
}

.laser-vertical {
  top: 12px;
  bottom: 12px;
  width: 1px;
}

.small-utility {
  padding-left: 9px;
  padding-right: 9px;
}


/* Stage 06D — wall labels and kitchen entry mode */
.hidden {
  display: none !important;
}

.wall-choice-list {
  display: grid;
  gap: 9px;
  margin: 15px 0;
}

.wall-choice {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  border: 1px solid rgba(151, 116, 70, 0.28);
  background: rgba(255, 248, 236, 0.66);
  border-radius: 12px;
  padding: 10px 12px;
  color: #26351f;
  font-size: 16px;
  font-weight: 900;
}

.wall-choice input {
  width: 20px;
  height: 20px;
  accent-color: #618767;
}

.kitchen-entry-text {
  color: #594936;
  font-size: 14px;
  line-height: 1.45;
  font-weight: 750;
  margin-top: -5px;
}

.modal-error {
  margin: 10px 0 0;
  padding: 10px 12px;
  border-radius: 11px;
  color: #7a1f18;
  background: rgba(255, 225, 220, 0.72);
  border: 1px solid rgba(149, 50, 40, 0.28);
  font-size: 14px;
  font-weight: 850;
}

.kitchen-mode-pill {
  color: #fff;
  background: linear-gradient(135deg, #2a1b10, #684019);
}


/* Stage 06G — base-cabinet focus and draggable canvas labels */
[data-stage-hidden="base-only"] {
  display: none !important;
}

#spaceCanvas.dragging-label {
  cursor: grabbing;
}

#spaceCanvas.label-hover {
  cursor: grab;
}


/* Stage 06H — zoom, kitchen cut list and window setup */
.view-tools {
  display: flex;
  align-items: center;
  gap: 8px;
}

.mini-view-btn {
  min-height: 34px;
  border: 1px solid rgba(141, 102, 47, 0.32);
  border-radius: 999px;
  background: rgba(255, 250, 241, 0.84);
  color: #4d3518;
  font-weight: 900;
  padding: 0 13px;
  cursor: pointer;
}

.mini-view-btn:hover {
  background: #fff4df;
}

.modal-input {
  width: 100%;
  min-height: 46px;
  border-radius: 9px;
  border: 2px solid #d7c8aa;
  background: #f8f0e2;
  color: #203014;
  font-size: 18px;
  font-weight: 850;
  padding: 8px 11px;
  outline: none;
}

.modal-input:focus {
  border-color: #9f8354;
}

.cutlist-btn {
  background: linear-gradient(135deg, #c64135, #8f1f18) !important;
  color: white !important;
  border-color: rgba(112, 20, 15, 0.34) !important;
}

.cutlist-modal {
  width: min(760px, calc(100vw - 36px));
}

.cutlist-content {
  margin-top: 14px;
  max-height: min(62vh, 620px);
  overflow: auto;
  padding-right: 4px;
}

.cutlist-empty {
  padding: 18px;
  border-radius: 14px;
  background: rgba(255, 248, 236, 0.72);
  border: 1px solid rgba(151, 116, 70, 0.28);
  color: #57432b;
  font-weight: 850;
}

.cutlist-card {
  margin: 12px 0;
  padding: 14px;
  border-radius: 14px;
  background: rgba(255, 248, 236, 0.78);
  border: 1px solid rgba(151, 116, 70, 0.28);
}

.cutlist-card-title {
  color: #25351a;
  font-size: 16px;
  font-weight: 950;
  margin-bottom: 8px;
}

.cutlist-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  color: #46331e;
}

.cutlist-table th,
.cutlist-table td {
  padding: 7px 8px;
  border-bottom: 1px solid rgba(151, 116, 70, 0.18);
  text-align: left;
}

.cutlist-table th {
  color: #2d3e20;
  font-weight: 950;
  background: rgba(238, 224, 198, 0.56);
}

.cabinet-popup-note {
  font-size: 13px;
}

.window-modal .cutlist-preview {
  background: rgba(255, 248, 236, 0.72);
}


/* Stage 06I — live window arrows and hanging skeleton */
.window-move-controls {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 8px 0 12px;
}

.window-move-btn {
  min-height: 44px;
  border-radius: 12px;
  border: 1px solid rgba(141, 102, 47, 0.32);
  background: rgba(255, 250, 241, 0.88);
  color: #4d3518;
  font-weight: 950;
  cursor: pointer;
}

.window-move-btn:hover {
  background: #fff4df;
}


/* Stage 06J Clean — cutlist type badge */
.cutlist-card-title .badge {
  display: inline-block;
  margin-left: 8px;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(91, 183, 100, 0.18);
  color: #2d5f32;
  font-size: 11px;
  font-weight: 950;
}


/* Stage 06K — inward kitchen placement */

/* Stage 06L — cut-corner base geometry */


/* Stage 06M — one base popup flow */
[data-stage-hidden="base-popup-only"] {
  display: none !important;
}


.switch-wall-btn {
  background: linear-gradient(180deg, #d7b06c 0%, #bd8b35 100%);
  color: #fff9ef;
  border-color: rgba(124, 80, 18, 0.38);
  box-shadow: 0 10px 18px rgba(122, 86, 30, 0.20);
}

.switch-wall-btn:hover {
  filter: brightness(1.03);
}

.switch-wall-btn.active,
.switch-wall-btn:focus-visible {
  border-color: rgba(101, 67, 16, 0.55);
  box-shadow: 0 0 0 3px rgba(198, 151, 67, 0.20), 0 12px 22px rgba(122, 86, 30, 0.24);
}


.tall-tool-btn {
  background: linear-gradient(180deg, #8b4a2a 0%, #653017 100%);
  color: #fff8ee;
  border-color: rgba(79, 36, 15, 0.42);
  box-shadow: 0 10px 18px rgba(82, 40, 14, 0.20);
}

.tall-tool-btn:hover {
  filter: brightness(1.04);
}

.tall-tool-btn.active {
  background: linear-gradient(180deg, #6f371f 0%, #3f1e11 100%);
  color: #ffffff;
  border-color: rgba(233, 190, 124, 0.55);
}

.tall-preview-pill {
  display: inline-block;
  margin-top: 8px;
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(116, 60, 35, 0.10);
  color: #5d321d;
  font-weight: 900;
}


/* Stage 06O — side elevation preview */

.side-elevation-btn {
  background: linear-gradient(135deg, #7b5a38, #4f351f);
  color: #fff8e8;
  border-color: rgba(86, 52, 20, 0.38);
}

.side-elevation-btn:hover {
  filter: brightness(1.04);
}

.side-elevation-modal {
  width: min(1480px, calc(100vw - 32px));
  max-height: calc(100vh - 36px);
  overflow: hidden;
}

.side-elevation-shell {
  margin-top: 12px;
  border-radius: 16px;
  border: 1px solid rgba(126, 92, 48, 0.28);
  background: linear-gradient(180deg, #fffaf0 0%, #f6ead5 100%);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.58);
  overflow: auto;
  padding: 12px;
}

#sideElevationCanvas {
  display: block;
  width: auto;
  height: auto;
  min-width: 1280px;
  max-width: none;
  background: #fff8ec;
  border-radius: 12px;
}


/* Stage 06Z14 — door review popup stays clear: no dim, no blur, movable */
.modal-backdrop.door-floating-modal {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  align-items: flex-start;
  justify-content: flex-start;
  pointer-events: none;
}

.modal-backdrop.door-floating-modal.open {
  display: block;
}

.door-floating-modal .draggable-modal-card {
  position: fixed;
  margin: 0;
  transform: none;
  pointer-events: auto;
  max-width: min(380px, calc(100vw - 28px));
  box-shadow: 0 18px 42px rgba(48, 30, 13, 0.22);
}

.door-floating-modal .modal-drag-handle {
  cursor: move;
  user-select: none;
}

.tool-ribbon .ribbon-btn:not(.kitchen-btn):not(.danger-btn),
.tool-ribbon .ribbon-btn.active:not(.kitchen-btn):not(.danger-btn),
.tool-ribbon .utility-btn,
#btnClear {
  background: linear-gradient(135deg, #3f78ad, #2f6394);
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.14);
}

.tool-ribbon .ribbon-btn:not(.kitchen-btn):not(.danger-btn):hover,
.tool-ribbon .utility-btn:hover,
#btnClear:hover {
  background: linear-gradient(135deg, #477fb3, #356a9c);
}

.tool-ribbon .ribbon-btn.active:not(.kitchen-btn):not(.danger-btn) {
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.18), 0 8px 18px rgba(44, 27, 8, 0.16);
}

#btnKitchenEntry.kitchen-btn {
  background: linear-gradient(135deg, #8255a6, #6e428f);
}

#btnDeleteElement.danger-btn,
#btnCancelInnerWall.danger-btn {
  background: linear-gradient(135deg, #bd5146, #90362f);
}


/* Stage 06Z16 — top cut list button and space cutlist modal */
.top-blue-btn {
  border: 0;
  cursor: pointer;
  border-radius: 999px;
  padding: 10px 15px;
  font-weight: 900;
  transition: 0.16s ease;
  font-size: 14px;
  background: linear-gradient(135deg, #3f78ad, #2f6394);
  color: #ffffff;
  box-shadow: 0 12px 25px rgba(47, 99, 148, 0.18);
  white-space: nowrap;
}

.top-blue-btn:hover {
  transform: translateY(-1px);
  background: linear-gradient(135deg, #477fb3, #356a9c);
}



/* Stage 06Z33 — top action placeholders */
.top-lilac-btn {
  border: 0;
  cursor: pointer;
  border-radius: 999px;
  padding: 10px 15px;
  font-weight: 900;
  transition: 0.16s ease;
  font-size: 14px;
  background: linear-gradient(135deg, #9b6bd3, #7749b0);
  color: #ffffff;
  box-shadow: 0 12px 25px rgba(119, 73, 176, 0.20);
  white-space: nowrap;
}

.top-lilac-btn:hover {
  transform: translateY(-1px);
  background: linear-gradient(135deg, #a577dc, #8154ba);
}

@media (max-width: 1280px) {
  .topbar {
    align-items: flex-start;
  }
  .top-actions {
    gap: 6px;
  }
  .brand {
    padding-right: 14px;
  }
  .top-blue-btn,
  .top-lilac-btn,
  .primary-btn,
  .soft-btn {
    padding: 9px 11px;
    font-size: 13px;
  }
}

.space-cutlist-grid {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.space-cutlist-row {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255, 248, 236, 0.78);
  border: 1px solid rgba(126, 92, 48, 0.18);
  color: #3a291b;
  font-weight: 800;
}

.space-cutlist-row.strong {
  background: linear-gradient(135deg, rgba(63, 120, 173, 0.12), rgba(255, 248, 236, 0.86));
  border-color: rgba(63, 120, 173, 0.25);
}

.space-cutlist-row b {
  white-space: nowrap;
  color: #2a1b10;
  font-weight: 950;
}

.space-cutlist-note {
  margin-top: 12px;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(108, 72, 25, 0.08);
  color: #6d5a45;
  font-size: 13px;
  line-height: 1.45;
  font-weight: 750;
}

/* Stage 06Z37 — premium straight-kitchen segment selection */
.straight-segment-modal-card {
  width: min(620px, calc(100vw - 36px));
  border-radius: 22px;
  padding: 26px 28px 28px;
  background: linear-gradient(180deg, #f3ead8 0%, #eadcc2 100%);
  border: 1px solid rgba(115, 78, 31, 0.28);
  box-shadow: 0 34px 90px rgba(42, 27, 12, 0.30);
}

.straight-segment-help {
  font-size: 16px;
  line-height: 1.5;
  margin-bottom: 16px;
}

.straight-segment-list {
  display: grid;
  gap: 12px;
  margin: 18px 0 8px;
}

.straight-segment-option {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-areas:
    "title length"
    "range range";
  align-items: center;
  gap: 4px 14px;
  width: 100%;
  min-height: 76px;
  padding: 15px 18px;
  border-radius: 16px;
  border: 1px solid rgba(143, 105, 54, 0.30);
  background: rgba(255, 249, 238, 0.82);
  color: #24331a;
  cursor: pointer;
  text-align: left;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.55);
}

.straight-segment-option:hover {
  background: #fff4df;
  border-color: rgba(97, 135, 103, 0.72);
  transform: translateY(-1px);
}

.straight-segment-title {
  grid-area: title;
  font-size: 22px;
  font-weight: 950;
}

.straight-segment-length {
  grid-area: length;
  font-size: 22px;
  font-weight: 950;
  color: #fff;
  background: #618767;
  border-radius: 999px;
  padding: 7px 14px;
}

.straight-segment-range {
  grid-area: range;
  font-size: 14px;
  font-weight: 800;
  color: #6a5942;
}

.wall-choice-group-title {
  margin: 14px 4px 6px;
  font-weight: 900;
  color: #5f4b32;
  letter-spacing: 0.02em;
}


/* Stage 06Z47 — kitchen wall picker compact + draggable */
.door-floating-modal .kitchen-entry-modal {
  width: min(560px, calc(100vw - 36px));
  max-width: min(560px, calc(100vw - 36px));
  max-height: calc(100vh - 90px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.kitchen-entry-modal .modal-title {
  font-size: 22px;
  line-height: 1.22;
  padding-right: 34px;
}

.kitchen-entry-modal .kitchen-entry-text {
  flex: 0 0 auto;
}

.kitchen-entry-modal .wall-choice-list {
  max-height: min(48vh, 420px);
  overflow-y: auto;
  padding-right: 6px;
  scrollbar-gutter: stable;
}

.kitchen-entry-modal .wall-choice {
  min-height: 38px;
  padding: 8px 10px;
  font-size: 15px;
}

.kitchen-entry-modal .wall-choice input {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
}

.kitchen-entry-modal .wall-choice span {
  line-height: 1.22;
}

.kitchen-entry-modal .wall-choice-group-title {
  position: sticky;
  top: 0;
  z-index: 1;
  margin: 10px 0 6px;
  padding: 6px 8px;
  border-radius: 10px;
  background: rgba(239, 228, 208, 0.96);
}

.kitchen-entry-modal .modal-actions {
  flex: 0 0 auto;
  margin-top: 10px;
}

/* 06Z65 — Wardrobe first web flow: independent from kitchen */
.tool-ribbon #btnWardrobeEntry.wardrobe-btn,
.wardrobe-btn {
  background: linear-gradient(135deg, #8255a6, #6e428f);
  border-color: rgba(255, 255, 255, 0.18);
  box-shadow: 0 8px 18px rgba(77, 44, 112, 0.18);
}

.wardrobe-btn:hover {
  box-shadow: 0 8px 18px rgba(77, 44, 112, 0.22);
}

.wardrobe-modal-card {
  border: 1px solid rgba(128, 85, 164, 0.22);
  box-shadow: 0 22px 58px rgba(63, 40, 20, 0.22), 0 0 0 1px rgba(255,255,255,0.24) inset;
}

.wardrobe-column-modal {
  width: min(940px, calc(100vw - 42px));
  max-height: calc(100vh - 46px);
  overflow: auto;
  background: linear-gradient(145deg, rgba(255,248,236,0.98), rgba(246,232,207,0.98));
  border: 1px solid rgba(128, 85, 164, 0.24);
  border-radius: 24px;
  padding: 22px;
  box-shadow: 0 24px 64px rgba(44, 27, 8, 0.24), 0 0 0 1px rgba(255,255,255,0.24) inset;
}

.wardrobe-builder-grid {
  display: grid;
  grid-template-columns: minmax(260px, 0.85fr) minmax(320px, 1.15fr);
  gap: 14px;
  margin-top: 14px;
}

.wardrobe-builder-panel {
  border: 1px solid rgba(139, 95, 34, 0.22);
  border-radius: 18px;
  background: rgba(255, 250, 241, 0.74);
  padding: 14px;
}

.wardrobe-column-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 9px;
  margin-top: 12px;
}

.wardrobe-preview-title {
  font-weight: 950;
  color: #442414;
  margin: 2px 0 8px;
}

.wardrobe-current-preview,
.wardrobe-locked-preview {
  min-height: 58px;
  border: 1px dashed rgba(128, 85, 164, 0.28);
  border-radius: 14px;
  background: rgba(255,255,255,0.42);
  padding: 10px;
  margin-bottom: 12px;
  color: #432616;
  font-size: 13px;
  line-height: 1.45;
}

.wardrobe-section-pill,
.wardrobe-column-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 9px;
  margin: 4px 5px 4px 0;
  border-radius: 999px;
  background: rgba(128, 85, 164, 0.12);
  border: 1px solid rgba(128, 85, 164, 0.22);
  color: #392018;
  font-weight: 850;
}

@media (max-width: 920px) {
  .wardrobe-builder-grid {
    grid-template-columns: 1fr;
  }
}


/* 06Z69 — Wardrobe full designer: Python-style dedicated workspace */
#wardrobeColumnModal.modal-backdrop {
  background: rgba(44, 31, 14, 0.18) !important;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  align-items: stretch;
  justify-content: stretch;
  padding: 0;
}

#wardrobeColumnModal.modal-backdrop.open {
  display: flex;
}

#wardrobeColumnModal .wardrobe-column-modal {
  width: 100vw;
  height: 100vh;
  max-height: none;
  border-radius: 0;
  overflow: auto;
  padding: 18px 20px 22px;
  pointer-events: auto;
  background: linear-gradient(145deg, #fffaf0 0%, #f2dfbb 100%);
}

#wardrobeColumnModal .modal-title {
  cursor: default;
  text-align: center;
  font-size: 24px;
  padding: 12px 18px;
  border-radius: 14px;
  color: #2f1d0e;
  background: linear-gradient(180deg, rgba(218, 197, 154, 0.98), rgba(199, 171, 116, 0.98));
  border: 1px solid rgba(131, 92, 42, 0.32);
  box-shadow: 0 5px 14px rgba(71, 44, 17, 0.12), 0 1px 0 rgba(255,255,255,0.54) inset;
}

#wardrobeColumnModal .modal-x {
  position: fixed;
  top: 12px;
  right: 16px;
  z-index: 5;
}

#wardrobeColumnModal .cutlist-preview {
  margin: 12px 0 12px;
  border-radius: 14px;
  background: rgba(255, 251, 241, 0.76);
  border-color: rgba(139, 95, 34, 0.20);
  font-size: 15px;
}

#wardrobeColumnModal .wardrobe-builder-grid {
  grid-template-columns: minmax(320px, 0.42fr) minmax(560px, 1fr);
  align-items: stretch;
  gap: 16px;
}

#wardrobeColumnModal .wardrobe-builder-panel {
  background: rgba(255, 250, 239, 0.82);
  border: 1px solid rgba(139, 95, 34, 0.23);
  box-shadow: 0 10px 24px rgba(80, 51, 21, 0.09), 0 1px 0 rgba(255,255,255,0.50) inset;
}

#wardrobeColumnModal .wardrobe-preview-panel {
  min-height: calc(100vh - 290px);
}

#wardrobeColumnModal .wardrobe-column-actions {
  grid-template-columns: 1fr 1fr;
}

#wardrobeColumnModal .wardrobe-new-column-btn {
  grid-column: 1 / -1;
  background: linear-gradient(135deg, #5b986c, #3e7e54);
}

#wardrobeColumnModal .modal-actions {
  margin-top: 14px;
  justify-content: flex-end;
  gap: 14px;
}

.wardrobe-front-elevation {
  display: flex;
  align-items: stretch;
  gap: 0;
  height: min(560px, calc(100vh - 410px));
  min-height: 360px;
  width: 100%;
  overflow-x: auto;
  overflow-y: visible;
  padding-bottom: 30px;
  border: 2px solid rgba(126, 93, 47, 0.35);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255, 252, 245, 0.96), rgba(238, 226, 205, 0.88));
  box-shadow: 0 12px 26px rgba(62, 38, 14, 0.10) inset;
}

.wardrobe-visual-column {
  position: relative;
  display: flex;
  flex-direction: column-reverse;
  min-width: 48px;
  border-right: 2px solid rgba(94, 65, 29, 0.34);
  background: linear-gradient(90deg, rgba(234, 197, 130, 0.82), rgba(255, 231, 177, 0.82), rgba(221, 181, 113, 0.78));
}

.wardrobe-visual-column.current {
  outline: 3px solid rgba(87, 135, 96, 0.85);
  z-index: 1;
}

.wardrobe-visual-column.pending {
  background: rgba(129, 86, 166, 0.10);
  border: 2px dashed rgba(128, 85, 164, 0.55);
}

.wardrobe-visual-section {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 24px;
  border-top: 1px solid rgba(82, 58, 27, 0.35);
  color: #4b2b12;
  font-weight: 900;
  font-size: 12px;
  line-height: 1.15;
  text-align: center;
  padding: 4px 3px;
  overflow: hidden;
  text-shadow: 0 1px 0 rgba(255,255,255,0.50);
}

.wardrobe-visual-section.double {
  background: linear-gradient(90deg, rgba(230, 190, 118, 0.92) 0 49%, rgba(115, 77, 36, 0.42) 49% 51%, rgba(248, 219, 161, 0.92) 51% 100%);
}

.wardrobe-visual-section.single {
  background: linear-gradient(90deg, rgba(231, 191, 121, 0.92), rgba(255, 230, 174, 0.92));
}

.wardrobe-visual-section.drawer {
  background: repeating-linear-gradient(180deg, rgba(233, 194, 124, 0.95) 0 26%, rgba(116, 76, 35, 0.36) 26% 28%);
}

.wardrobe-visual-section.open {
  background: rgba(255, 249, 236, 0.92);
}

.wardrobe-visual-remaining-height {
  display: grid;
  place-items: center;
  min-height: 26px;
  border-top: 2px dashed rgba(128, 85, 164, 0.48);
  color: #76542a;
  font-size: 12px;
  font-weight: 900;
  background: rgba(255, 255, 255, 0.34);
  text-align: center;
  padding: 5px;
}

.wardrobe-visual-empty-width {
  display: grid;
  place-items: center;
  min-width: 120px;
  border: 2px dashed rgba(139, 95, 34, 0.40);
  border-top: 0;
  border-bottom: 0;
  color: #806038;
  font-weight: 950;
  text-align: center;
  background: rgba(255, 255, 255, 0.28);
  padding: 10px;
}

.wardrobe-visual-column-label {
  position: absolute;
  left: 50%;
  bottom: -28px;
  transform: translateX(-50%);
  color: #5b3817;
  font-size: 12px;
  font-weight: 950;
  white-space: nowrap;
}

.wardrobe-front-scale {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 30px;
  color: #5a3718;
  font-weight: 950;
  font-size: 13px;
}

.wardrobe-live-note {
  margin: 8px 0 0;
  color: #704418;
  font-size: 13px;
  font-weight: 800;
}

.wardrobe-current-card {
  border-radius: 14px;
  border: 1px solid rgba(128, 85, 164, 0.20);
  background: rgba(255,255,255,0.44);
  padding: 10px;
}

@media (max-width: 980px) {
  #wardrobeColumnModal .wardrobe-builder-grid {
    grid-template-columns: 1fr;
  }

  #wardrobeColumnModal .wardrobe-preview-panel {
    min-height: 420px;
  }
}


/* 06Z70 — Wardrobe designer locked as full workspace, not floating over Space */
#wardrobeColumnModal.modal-backdrop {
  background: #f4e5c8 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  z-index: 1600;
}

#wardrobeColumnModal.modal-backdrop.door-floating-modal {
  display: none;
}

#wardrobeColumnModal.modal-backdrop.door-floating-modal.open {
  display: flex;
}

#wardrobeColumnModal .wardrobe-column-modal,
#wardrobeColumnModal .wardrobe-column-modal.draggable-modal-card {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  transform: none !important;
  margin: 0 !important;
  width: 100vw !important;
  max-width: none !important;
  height: 100vh !important;
  max-height: none !important;
  border-radius: 0 !important;
  overflow: auto !important;
}

#wardrobeColumnModal .wardrobe-builder-grid {
  grid-template-columns: minmax(360px, 420px) minmax(620px, 1fr);
}

#wardrobeColumnModal .wardrobe-preview-panel {
  min-height: calc(100vh - 260px);
}

#wardrobeColumnModal .wardrobe-front-elevation {
  height: min(620px, calc(100vh - 360px));
  min-height: 430px;
}

#wardrobeColumnModal .modal-field select {
  min-height: 52px;
  font-size: 17px;
}

#wardrobeColumnModal .wardrobe-column-actions .modal-primary,
#wardrobeColumnModal .wardrobe-column-actions .modal-secondary,
#wardrobeColumnModal .modal-actions .modal-primary,
#wardrobeColumnModal .modal-actions .modal-secondary {
  min-height: 54px;
  font-size: 17px;
}


/* 06Z71 — Wardrobe designer toolbar, delete selection, side view, doors toggle */
#wardrobeColumnModal .wardrobe-designer-toolbar {
  display: grid;
  grid-template-columns: repeat(5, minmax(150px, 1fr));
  gap: 10px;
  margin: 10px 0 14px;
  padding: 12px;
  border-radius: 16px;
  border: 1px solid rgba(139, 95, 34, 0.22);
  background: rgba(255, 250, 239, 0.78);
  box-shadow: 0 8px 20px rgba(80, 51, 21, 0.08), 0 1px 0 rgba(255,255,255,0.55) inset;
}

#wardrobeColumnModal .wardrobe-tool-btn {
  min-height: 50px;
  border: 0;
  border-radius: 13px;
  padding: 10px 13px;
  color: #fffaf0;
  font-weight: 950;
  font-size: 15px;
  cursor: pointer;
  box-shadow: 0 7px 16px rgba(50, 31, 13, 0.14), 0 1px 0 rgba(255,255,255,0.24) inset;
}

#wardrobeColumnModal .wardrobe-tool-btn.primary { background: linear-gradient(135deg, #4f86bd, #2f6ea6); }
#wardrobeColumnModal .wardrobe-tool-btn.green { background: linear-gradient(135deg, #5d986c, #3e7d54); }
#wardrobeColumnModal .wardrobe-tool-btn.blue { background: linear-gradient(135deg, #4c7db8, #315f9a); }
#wardrobeColumnModal .wardrobe-tool-btn.danger { background: linear-gradient(135deg, #ba4d42, #96352d); }
#wardrobeColumnModal .wardrobe-tool-btn.danger-soft { background: linear-gradient(135deg, #a96b4a, #805037); }

#wardrobeColumnModal .wardrobe-tool-btn:hover {
  transform: translateY(-1px);
  filter: brightness(1.03);
}

.wardrobe-visual-section {
  cursor: pointer;
}

.wardrobe-visual-section.selected {
  outline: 3px solid rgba(183, 51, 42, 0.95);
  outline-offset: -4px;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.58) inset, 0 0 18px rgba(183, 51, 42, 0.22) inset;
}

.wardrobe-front-elevation.doors-hidden .wardrobe-visual-column {
  background: linear-gradient(90deg, rgba(245, 238, 222, 0.94), rgba(255, 252, 244, 0.94));
}

.wardrobe-front-elevation.doors-hidden .wardrobe-visual-section.single,
.wardrobe-front-elevation.doors-hidden .wardrobe-visual-section.double,
.wardrobe-front-elevation.doors-hidden .wardrobe-visual-section.drawer {
  background: repeating-linear-gradient(180deg, rgba(255, 250, 238, 0.95) 0 31%, rgba(110, 78, 39, 0.24) 31% 33%);
  color: #62411f;
}

#wardrobeSideViewModal.modal-backdrop.open {
  align-items: flex-start;
  padding-top: 18px;
}

.wardrobe-side-view-modal {
  width: min(1060px, calc(100vw - 42px));
  max-height: calc(100vh - 72px);
  overflow-y: auto;
  overflow-x: hidden;
  border-radius: 4px;
  padding: 18px 20px 16px;
}

.wardrobe-side-view-content {
  padding: 6px 0 0;
}
#wardrobeSideViewModal .modal-title {
  font-size: 22px;
  margin-bottom: 8px;
}

#wardrobeSideViewModal .kitchen-entry-text {
  margin-bottom: 8px;
}

#wardrobeSideViewModal .modal-actions {
  margin-top: 10px;
}

#wardrobeSideViewModal .modal-secondary {
  border-radius: 4px;
}


.wardrobe-side-sheet {
  border: 1px solid rgba(112, 80, 45, 0.18);
  border-radius: 3px;
  background: linear-gradient(180deg, rgba(246, 236, 214, 0.96), rgba(234, 220, 193, 0.9));
  padding: 12px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5);
}

.wardrobe-side-intro {
  color: #5d4831;
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 10px;
}

.wardrobe-side-columns {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: flex-start;
  justify-content: center;
}

.wardrobe-side-card {
  flex: 0 0 190px;
  border: 1px solid rgba(112, 80, 45, 0.22);
  border-radius: 3px;
  background: rgba(255, 249, 239, 0.78);
  padding: 6px 4px 3px;
  box-shadow: 0 5px 14px rgba(112, 80, 45, 0.07);
}

.wardrobe-side-card.current {
  box-shadow: 0 0 0 2px rgba(48, 120, 79, 0.28), 0 10px 24px rgba(48, 120, 79, 0.12);
}

.wardrobe-side-card.pending {
  box-shadow: 0 0 0 2px rgba(175, 119, 37, 0.22), 0 10px 24px rgba(175, 119, 37, 0.1);
}

.wardrobe-side-svg {
  display: block;
  height: 420px;
  width: auto;
  max-width: 100%;
  margin: 0 auto;
}

.wardrobe-side-svg-top {
  fill: #3d2e1b;
  font-size: 13px;
  font-weight: 800;
}

.wardrobe-side-svg-bottom {
  fill: #4d3821;
  font-size: 12px;
  font-weight: 800;
}

.wardrobe-side-svg-text {
  fill: #3c2a15;
  font-size: 11px;
  font-weight: 800;
}

.wardrobe-side-svg-text.compact {
  font-size: 10px;
}

.wardrobe-side-svg-measure {
  fill: #8b6c38;
  font-size: 12px;
  font-weight: 800;
}

.wardrobe-side-svg-measure.small {
  font-size: 12px;
}

.wardrobe-side-dim-line {
  stroke: #b28a45;
  stroke-width: 2;
}

.wardrobe-side-dim-line.light {
  stroke: #bca47c;
  stroke-width: 1.6;
}

.wardrobe-side-dim-cap {
  stroke: #b28a45;
  stroke-width: 2;
}

.wardrobe-side-dim-cap.light {
  stroke: #bca47c;
  stroke-width: 1.5;
}

.wardrobe-side-ground {
  stroke: #8f7a5a;
  stroke-width: 2.2;
}

.wardrobe-side-sheet-footer {
  margin-top: 10px;
  padding-top: 9px;
  border-top: 1px dashed rgba(112, 80, 45, 0.22);
  color: #5d4831;
  font-size: 14px;
  font-weight: 800;
}


.wardrobe-side-section.double {
  background: linear-gradient(90deg, #e4bd7b, #ffe1ab 48%, #c99655);
}

.wardrobe-side-section.single {
  background: linear-gradient(90deg, #e8c68e, #ffe8bd 48%, #cf9d5b);
}

.wardrobe-side-section.drawer {
  background: repeating-linear-gradient(180deg, #efcf94 0 21%, #8b5c2b 21% 23%, #ffe3ad 23% 44%);
}

.wardrobe-side-section.open {
  background: repeating-linear-gradient(180deg, #fff8e8 0 31%, #b7894a 31% 33%);
}

.wardrobe-side-remaining {
  background: rgba(255, 255, 255, 0.44);
  color: #85603a;
  border: 2px dashed rgba(116, 85, 43, 0.42);
}

.wardrobe-side-empty {
  height: 100%;
  background: rgba(255, 255, 255, 0.42);
}

.wardrobe-side-feet {
  position: relative;
  z-index: 1;
  width: min(360px, 46vw);
  margin: 0 auto;
  padding: 8px 10px;
  border-radius: 0 0 10px 10px;
  background: #7a5a35;
  color: #fff6e4;
  text-align: center;
  font-weight: 800;
}

.wardrobe-side-depth-label,
.wardrobe-side-height-label {
  position: absolute;
  z-index: 2;
  font-weight: 900;
  color: #6c4726;
  background: rgba(255, 248, 232, 0.92);
  border: 1px solid rgba(117, 81, 40, 0.24);
  border-radius: 999px;
  padding: 6px 12px;
}

.wardrobe-side-depth-label {
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
}

.wardrobe-side-height-label {
  top: 50%;
  right: 18px;
  transform: translateY(-50%) rotate(90deg);
  transform-origin: center;
}

@media (max-width: 900px) {
  .wardrobe-side-elevation-wrap {
    grid-template-columns: 1fr;
  }

  .wardrobe-side-elevation-stage {
    padding-left: 36px;
    padding-right: 52px;
  }
}

/* 06Z78 — κοινός live drag οδηγός για ντουλάπα και ίσια κουζίνα */
.canvas-host {
  position: relative;
}

.wall-mounted-live-drag-guides.hidden {
  display: none;
}

.wall-mounted-live-drag-guides {
  position: absolute;
  inset: 0;
  z-index: 18;
  pointer-events: none;
}

.wall-mounted-live-drag-pill {
  position: absolute;
  transform: translate(-50%, -50%);
  padding: 6px 10px;
  border-radius: 10px;
  border: 1px solid rgba(82, 51, 24, 0.28);
  background: rgba(255, 248, 232, 0.94);
  color: #3d2816;
  font-size: 13px;
  font-weight: 900;
  box-shadow: 0 8px 18px rgba(54, 31, 10, 0.16);
  white-space: nowrap;
}

.wall-mounted-live-drag-pill.left {
  background: rgba(235, 247, 238, 0.96);
  border-color: rgba(54, 118, 75, 0.26);
}

.wall-mounted-live-drag-pill.right {
  background: rgba(238, 245, 255, 0.96);
  border-color: rgba(51, 101, 164, 0.24);
}

#spaceCanvas.wall-mounted-live-dragging {
  cursor: ew-resize;
}

/* 06Z79 — final non-3D toolbar polish + kitchen move panel */
#btnWorkPackage {
  background: linear-gradient(135deg, #d99a12, #b97805) !important;
  color: #10245a !important;
  box-shadow: 0 12px 25px rgba(185, 120, 5, 0.22) !important;
}

#btnWorkPackage:hover {
  background: linear-gradient(135deg, #e2a82b, #c1840d) !important;
}

#btnTechSupport {
  background: linear-gradient(135deg, #2f77b1, #1f6094) !important;
  color: #ffffff !important;
  box-shadow: 0 12px 25px rgba(31, 96, 148, 0.22) !important;
}

.kitchen-tool[data-kitchen-preset="hang60"] {
  background: linear-gradient(135deg, #62bfd0, #3197aa) !important;
  color: #ffffff !important;
  border-color: rgba(20, 104, 125, 0.34) !important;
  box-shadow: 0 10px 18px rgba(49, 151, 170, 0.20) !important;
}

.kitchen-tool[data-kitchen-preset="hang60"].active {
  background: linear-gradient(135deg, #4cb0c5, #247f93) !important;
  color: #ffffff !important;
}

.kitchen-move-btn {
  background: linear-gradient(135deg, #d7a241, #a86f14) !important;
  color: #fff9e8 !important;
  border-color: rgba(116, 74, 13, 0.36) !important;
  box-shadow: 0 10px 18px rgba(122, 86, 30, 0.20) !important;
}

.kitchen-move-modal {
  width: min(620px, calc(100vw - 40px));
}

.kitchen-move-info {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 16px 0;
}

.kitchen-move-metric {
  border: 1px solid rgba(126, 92, 48, 0.24);
  border-radius: 14px;
  background: rgba(255, 248, 232, 0.9);
  padding: 14px 16px;
  color: #3a2816;
  font-weight: 900;
}

.kitchen-move-metric span {
  display: block;
  color: #78624a;
  font-size: 13px;
  margin-bottom: 6px;
}

.kitchen-move-metric strong {
  font-size: 22px;
  color: #2e2114;
}

.kitchen-move-empty {
  grid-column: 1 / -1;
  border-radius: 14px;
  background: rgba(255, 231, 210, 0.92);
  border: 1px solid rgba(169, 83, 48, 0.25);
  padding: 14px 16px;
  color: #74351f;
  font-weight: 900;
}

.kitchen-move-controls {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.kitchen-move-control {
  border: 0;
  border-radius: 14px;
  padding: 14px 10px;
  background: linear-gradient(135deg, #5b8f63, #3f7447);
  color: #ffffff;
  font-size: 17px;
  font-weight: 950;
  cursor: pointer;
  box-shadow: 0 10px 18px rgba(63, 116, 71, 0.18);
}

.kitchen-move-control:hover {
  filter: brightness(1.05);
  transform: translateY(-1px);
}


/* 06Z81 — Kitchen move panel: based on 06Z79, non-modal corner panel */
#kitchenMoveModal.modal-backdrop {
  background: transparent !important;
  backdrop-filter: none !important;
  align-items: flex-end !important;
  justify-content: flex-end !important;
  padding: 0 24px 24px 0 !important;
  pointer-events: none !important;
  z-index: 1700 !important;
}

#kitchenMoveModal.modal-backdrop.open {
  display: flex !important;
}

#kitchenMoveModal .kitchen-move-modal {
  pointer-events: auto !important;
  width: min(430px, calc(100vw - 34px)) !important;
  max-height: min(520px, calc(100vh - 44px)) !important;
  overflow: auto !important;
  border-radius: 16px !important;
  padding: 18px !important;
  box-shadow: 0 18px 42px rgba(30, 19, 8, 0.24) !important;
}

#kitchenMoveModal .modal-title {
  font-size: 22px !important;
  line-height: 1.15 !important;
  margin-right: 28px !important;
}

#kitchenMoveModal .kitchen-entry-text {
  font-size: 13px !important;
  line-height: 1.35 !important;
  margin: 8px 0 10px !important;
}

#kitchenMoveModal .kitchen-move-info {
  gap: 8px !important;
  margin: 10px 0 !important;
}

#kitchenMoveModal .kitchen-move-metric {
  border-radius: 10px !important;
  padding: 10px 12px !important;
}

#kitchenMoveModal .kitchen-move-metric strong {
  font-size: 18px !important;
}

#kitchenMoveModal .kitchen-move-controls {
  gap: 8px !important;
}

#kitchenMoveModal .kitchen-move-control {
  border-radius: 10px !important;
  padding: 11px 6px !important;
  font-size: 15px !important;
}

/* 06Z82 — Manual, learning video and knowledge base toolbar buttons */
.top-manual-btn,
.top-learning-btn,
.top-knowledge-btn {
  border: 0;
  cursor: pointer;
  border-radius: 999px;
  padding: 10px 15px;
  font-weight: 900;
  transition: 0.16s ease;
  font-size: 14px;
  color: #ffffff;
  white-space: nowrap;
}

.top-manual-btn {
  background: linear-gradient(135deg, #d01919, #a30f12);
  box-shadow: 0 12px 25px rgba(163, 15, 18, 0.24);
}

.top-manual-btn:hover {
  transform: translateY(-1px);
  background: linear-gradient(135deg, #e02b2b, #b7191d);
}

.top-learning-btn {
  background: linear-gradient(135deg, #2097a7, #116b82);
  box-shadow: 0 12px 25px rgba(17, 107, 130, 0.22);
}

.top-learning-btn:hover {
  transform: translateY(-1px);
  background: linear-gradient(135deg, #2aa9ba, #177994);
}

.top-knowledge-btn {
  background: linear-gradient(135deg, #6445b0, #432f85);
  box-shadow: 0 12px 25px rgba(67, 47, 133, 0.24);
}

.top-knowledge-btn:hover {
  transform: translateY(-1px);
  background: linear-gradient(135deg, #7555c2, #503a99);
}

.manual-modal-card {
  width: min(1180px, calc(100vw - 42px));
  max-height: calc(100vh - 52px);
  overflow: hidden;
  border-radius: 18px;
  background: linear-gradient(145deg, #fffaf0 0%, #f1dfbd 100%);
  border: 1px solid rgba(119, 73, 176, 0.20);
  box-shadow: 0 24px 66px rgba(44, 27, 8, 0.25), 0 0 0 1px rgba(255,255,255,0.24) inset;
}

.manual-modal-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding-right: 32px;
}

.manual-premium-badge {
  padding: 8px 14px;
  border-radius: 999px;
  background: linear-gradient(135deg, #d99a12, #b97805);
  color: #14234f;
  font-weight: 950;
  box-shadow: 0 10px 24px rgba(185, 120, 5, 0.22);
}

.manual-layout {
  display: grid;
  grid-template-columns: minmax(230px, 310px) 1fr;
  gap: 16px;
  margin-top: 16px;
  min-height: 440px;
  max-height: calc(100vh - 260px);
}

.manual-section-list {
  overflow: auto;
  border: 1px solid rgba(119, 73, 176, 0.18);
  border-radius: 14px;
  background: rgba(255, 250, 239, 0.82);
  padding: 10px;
}

.manual-section-btn {
  width: 100%;
  display: block;
  text-align: left;
  border: 0;
  cursor: pointer;
  border-radius: 10px;
  padding: 10px 11px;
  margin-bottom: 8px;
  background: rgba(255, 255, 255, 0.64);
  color: #4b2f16;
  font-weight: 850;
  line-height: 1.25;
}

.manual-section-btn.active,
.manual-section-btn:hover {
  background: linear-gradient(135deg, rgba(130,85,166,0.18), rgba(216,154,18,0.14));
  color: #2f1f54;
}

.manual-content {
  overflow: auto;
  border: 1px solid rgba(139, 95, 34, 0.22);
  border-radius: 14px;
  background: rgba(255, 250, 239, 0.86);
  padding: 18px;
  color: #3d2b18;
}

.manual-content-title {
  font-size: 24px;
  font-weight: 950;
  color: #2f1f54;
  margin-bottom: 12px;
}

.manual-content-body {
  white-space: pre-line;
  line-height: 1.55;
  font-size: 15px;
  font-weight: 650;
}

.manual-missing-box {
  border: 1px dashed rgba(185, 120, 5, 0.42);
  background: rgba(255, 245, 222, 0.8);
  border-radius: 12px;
  padding: 14px;
  font-weight: 800;
  color: #6a4310;
}

.manual-cta-box {
  margin-top: 18px;
  padding: 14px;
  border-radius: 13px;
  border: 1px solid rgba(39, 125, 70, 0.22);
  background: linear-gradient(135deg, rgba(231, 249, 237, 0.95), rgba(206, 236, 217, 0.88));
  color: #174b2b;
  font-weight: 850;
}

.manual-cta-btn {
  margin-top: 10px;
  border: 0;
  cursor: pointer;
  border-radius: 999px;
  padding: 10px 14px;
  background: linear-gradient(135deg, #2f9a5f, #247944);
  color: #ffffff;
  font-weight: 950;
}

@media (max-width: 900px) {
  .manual-layout {
    grid-template-columns: 1fr;
  }
}

/* 06Z83 — Real manual data rendering */
.manual-content-category {
  display: inline-block;
  margin-bottom: 8px;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(119, 73, 176, 0.12);
  color: #4b2f7a;
  font-size: 13px;
  font-weight: 900;
}


/* 06Z84 — Manual language chooser */
.manual-language-gate {
  margin-bottom: 16px;
  padding: 14px;
  border-radius: 14px;
  border: 1px solid rgba(119, 73, 176, 0.22);
  background: linear-gradient(135deg, rgba(255,255,255,0.82), rgba(245,231,204,0.78));
}

.manual-language-title {
  font-size: 17px;
  font-weight: 950;
  color: #2f1f54;
  margin-bottom: 10px;
}

.manual-language-options {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.manual-language-btn {
  border: 1px solid rgba(119, 73, 176, 0.24);
  border-radius: 999px;
  padding: 8px 12px;
  cursor: pointer;
  background: rgba(255, 255, 255, 0.78);
  color: #4b2f16;
  font-weight: 900;
}

.manual-language-btn.active,
.manual-language-btn:hover {
  background: linear-gradient(135deg, #8255a6, #5f3f91);
  color: #ffffff;
}

.manual-language-note {
  margin-top: 9px;
  color: #6d5538;
  font-size: 13px;
  font-weight: 750;
}

/* 06Z85 — Manual readable text scroll fix */
#manualModal.open .manual-modal-card {
  display: flex;
  flex-direction: column;
  height: min(820px, calc(100vh - 52px));
  max-height: calc(100vh - 52px);
  overflow: hidden;
}

#manualModal .manual-layout {
  flex: 1 1 auto;
  height: min(620px, calc(100vh - 230px));
  min-height: 0;
  max-height: none;
  overflow: hidden;
}

#manualModal .manual-section-list,
#manualModal .manual-content {
  min-height: 0;
  height: 100%;
  max-height: none;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable;
}

#manualModal .manual-content {
  padding-right: 22px;
}

#manualModal .manual-content-body {
  padding-bottom: 42px;
}

#manualModal .modal-actions {
  flex: 0 0 auto;
  margin-top: 12px;
}

@media (max-width: 900px) {
  #manualModal.open .manual-modal-card {
    height: calc(100vh - 34px);
    max-height: calc(100vh - 34px);
  }

  #manualModal .manual-layout {
    height: calc(100vh - 255px);
    grid-template-rows: minmax(105px, 28%) minmax(0, 1fr);
  }

  #manualModal .manual-section-list {
    max-height: none;
  }
}


/* 06Z86 — Premium Knowledge Base button and reader */
.top-knowledge-btn {
  background: linear-gradient(135deg, #0f0d0a 0%, #20170b 48%, #050403 100%) !important;
  color: #f7d98a !important;
  border: 1px solid rgba(247, 217, 138, 0.78) !important;
  box-shadow: 0 12px 25px rgba(0, 0, 0, 0.28), inset 0 0 0 1px rgba(255, 242, 190, 0.16) !important;
}

.top-knowledge-btn:hover {
  background: linear-gradient(135deg, #1b1409 0%, #3a270b 48%, #0a0703 100%) !important;
  color: #ffe9a8 !important;
  transform: translateY(-1px);
}

.knowledge-modal-card {
  width: min(1280px, calc(100vw - 38px));
  height: min(850px, calc(100vh - 42px));
  max-height: calc(100vh - 42px);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  border-radius: 16px;
  background: radial-gradient(circle at 20% 0%, rgba(255, 226, 151, 0.12), transparent 32%), linear-gradient(145deg, #15110c 0%, #2c2113 42%, #f2e0bd 100%);
  border: 1px solid rgba(247, 217, 138, 0.44);
  box-shadow: 0 30px 82px rgba(0, 0, 0, 0.34), 0 0 0 1px rgba(255, 242, 190, 0.12) inset;
}

.knowledge-modal-header {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding-right: 34px;
  color: #fff4d2;
}

.knowledge-modal-header .modal-title {
  color: #fff4d2;
}

.knowledge-modal-header .kitchen-entry-text {
  color: rgba(255, 244, 210, 0.82);
}

.knowledge-premium-badge {
  align-self: flex-start;
  padding: 8px 14px;
  border-radius: 999px;
  color: #1d1306;
  background: linear-gradient(135deg, #ffdf89, #b98424);
  font-weight: 950;
  box-shadow: 0 10px 26px rgba(185, 132, 36, 0.22), inset 0 0 0 1px rgba(255,255,255,0.28);
}

.knowledge-base-content {
  flex: 1 1 auto;
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 0;
  margin-top: 14px;
  border-radius: 16px;
  background: radial-gradient(circle at top right, rgba(255, 220, 137, 0.20), transparent 36%), linear-gradient(180deg, rgba(253, 248, 236, 0.98), rgba(237, 224, 194, 0.97));
  border: 1px solid rgba(201, 154, 74, 0.48);
  overflow: hidden;
  color: #2f2417;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.72), 0 18px 36px rgba(51, 34, 11, 0.16);
}

.knowledge-toolbar {
  padding: 16px;
  border-bottom: 1px solid rgba(247, 217, 138, 0.34);
  background: linear-gradient(135deg, rgba(33, 22, 9, 0.98), rgba(85, 58, 20, 0.96) 58%, rgba(38, 26, 11, 0.98));
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.08), inset 0 -1px 0 rgba(0,0,0,0.12);
}

.knowledge-search-wrap {
  padding: 14px;
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255, 248, 232, 0.16), rgba(255, 231, 179, 0.08));
  border: 1px solid rgba(247, 217, 138, 0.20);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.10);
}

.knowledge-search-wrap label,
.knowledge-filters label {
  display: block;
  color: #ffe8ae;
  font-size: 13px;
  font-weight: 900;
  margin-bottom: 6px;
  text-shadow: 0 1px 0 rgba(0,0,0,0.25);
}

.knowledge-search {
  width: 100%;
  border: 1px solid rgba(247, 217, 138, 0.44);
  border-radius: 12px;
  padding: 12px 13px;
  background: linear-gradient(180deg, #fffdf8, #f4e8d2);
  color: #2f2417;
  font-weight: 780;
  box-shadow: inset 0 1px 2px rgba(0,0,0,0.08), 0 1px 0 rgba(255,255,255,0.35);
}

.knowledge-search::placeholder {
  color: rgba(82, 56, 20, 0.58);
}

.knowledge-filters {
  margin-top: 12px;
  padding: 14px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255, 248, 232, 0.14), rgba(255, 231, 179, 0.07));
  border: 1px solid rgba(247, 217, 138, 0.18);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.08);
}

.knowledge-filters select {
  width: 100%;
  border: 1px solid rgba(247, 217, 138, 0.38);
  border-radius: 12px;
  padding: 10px;
  background: linear-gradient(180deg, #fffdf8, #f2e4ca);
  color: #2f2417;
  font-weight: 820;
  box-shadow: inset 0 1px 2px rgba(0,0,0,0.06), 0 1px 0 rgba(255,255,255,0.30);
}

.knowledge-lang-note {
  margin-top: 12px;
  padding: 12px 14px;
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(255, 240, 202, 0.16), rgba(255, 223, 149, 0.08));
  border: 1px solid rgba(247, 217, 138, 0.18);
  font-size: 13px;
  color: #fff1c5;
  font-weight: 820;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.08);
}

.knowledge-main-grid {
  flex: 1 1 auto;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(260px, 360px) 1fr;
  gap: 0;
  position: relative;
}

.knowledge-results-panel {
  display: flex;
  flex-direction: column;
  min-height: 0;
  background: linear-gradient(180deg, rgba(255, 249, 236, 0.96), rgba(244, 231, 200, 0.88));
  border-right: 1px solid rgba(123, 86, 30, 0.16);
}

.knowledge-results-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 14px;
  border-bottom: 1px solid rgba(123, 86, 30, 0.14);
  color: #3f2c17;
  font-weight: 950;
}

.knowledge-results-title strong {
  background: #1b1409;
  color: #f7d98a;
  min-width: 34px;
  text-align: center;
  border-radius: 999px;
  padding: 4px 8px;
}

.knowledge-results {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding: 10px;
}

.knowledge-result {
  display: block;
  width: 100%;
  text-align: left;
  border: 1px solid rgba(123, 86, 30, 0.14);
  border-radius: 12px;
  margin-bottom: 9px;
  padding: 10px;
  cursor: pointer;
  background: rgba(255, 255, 255, 0.76);
  color: #2f2417;
}

.knowledge-result span,
.knowledge-result em {
  display: block;
  font-size: 12px;
  color: #7a5522;
  font-style: normal;
  font-weight: 800;
}

.knowledge-result strong {
  display: block;
  margin: 4px 0;
  font-size: 14px;
  line-height: 1.25;
  font-weight: 950;
}

.knowledge-result.active,
.knowledge-result:hover {
  border-color: rgba(247, 217, 138, 0.82);
  background: linear-gradient(135deg, #1b1409, #3a270b);
  color: #ffe9a8;
}

.knowledge-result.active span,
.knowledge-result.active em,
.knowledge-result:hover span,
.knowledge-result:hover em {
  color: rgba(255, 233, 168, 0.82);
}

.knowledge-reader {
  position: relative;
  z-index: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 22px 26px 58px;
  line-height: 1.58;
  background: linear-gradient(180deg, rgba(255, 252, 247, 0.96), rgba(250, 242, 224, 0.90));
}

.knowledge-reader h3 {
  margin: 0 0 14px;
  color: #2a1b0d;
  font-size: 24px;
}

.knowledge-reader > *:not(.knowledge-watermark) {
  position: relative;
  z-index: 1;
}

.knowledge-reader-meta {
  display: inline-block;
  margin-bottom: 10px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(123, 86, 30, 0.11);
  color: #6b481b;
  font-size: 13px;
  font-weight: 950;
}

.knowledge-block {
  margin: 14px 0;
  padding: 15px 16px;
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.84), rgba(249, 240, 221, 0.78));
  border: 1px solid rgba(123, 86, 30, 0.16);
  box-shadow: 0 8px 18px rgba(71, 47, 17, 0.06);
}

.knowledge-block strong,
.knowledge-keywords strong {
  display: block;
  margin-bottom: 8px;
  color: #4b3214;
  font-weight: 950;
}

.knowledge-block p {
  margin: 0;
  white-space: pre-line;
  font-weight: 650;
}

.knowledge-block.short {
  background: rgba(255, 242, 208, 0.68);
}

.knowledge-keywords {
  margin-top: 14px;
}

.knowledge-keywords span {
  display: inline-block;
  margin: 0 6px 6px 0;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(27, 20, 9, 0.08);
  color: #4b3214;
  font-size: 12px;
  font-weight: 850;
}

.knowledge-related {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}

.knowledge-related span {
  padding: 8px 10px;
  border-radius: 10px;
  background: rgba(27, 20, 9, 0.07);
  color: #5d4425;
  font-size: 13px;
  font-weight: 850;
}

.knowledge-watermark {
  position: absolute;
  inset: 18px 22px 24px 22px;
  z-index: 0;
  pointer-events: none;
  user-select: none;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: rgba(83, 56, 18, 0.22);
  font-size: 36px;
  font-weight: 1000;
  letter-spacing: 1px;
  line-height: 2.8;
  text-shadow: 0 1px 0 rgba(255, 249, 230, 0.26);
  transform: rotate(-18deg);
}

.knowledge-empty {
  position: relative;
  z-index: 1;
  padding: 18px;
  color: #744f1f;
  font-weight: 900;
}


.knowledge-terms-screen {
  height: 100%;
  overflow-y: auto;
  padding: 14px 18px 22px;
}

.knowledge-terms-card {
  max-width: 820px;
  margin: 8px auto 0;
  padding: 22px 24px;
  border-radius: 14px;
  border: 1px solid rgba(247, 217, 138, 0.42);
  background: linear-gradient(145deg, rgba(27, 20, 9, 0.96), rgba(55, 38, 14, 0.94));
  color: #fff4d2;
  box-shadow: 0 18px 44px rgba(0,0,0,0.22);
}

.knowledge-terms-card h3 {
  margin-top: 0;
  color: #ffe9a8;
  font-size: 24px;
}

.knowledge-terms-card li {
  margin: 8px 0;
  font-weight: 750;
}

.knowledge-terms-watermark {
  margin-top: 16px;
  padding: 13px;
  border-radius: 10px;
  border: 1px dashed rgba(247, 217, 138, 0.42);
  color: rgba(255, 233, 168, 0.82);
  font-weight: 950;
}

.knowledge-terms-warning {
  margin-top: 16px;
  padding: 14px 15px;
  border-radius: 12px;
  border: 1px solid rgba(255, 167, 73, 0.62);
  background: linear-gradient(180deg, rgba(124, 28, 8, 0.50), rgba(79, 16, 5, 0.42));
  color: #ffe5ba;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.06);
}

.knowledge-terms-warning strong {
  display: block;
  margin-bottom: 6px;
  color: #ffdf89;
  font-size: 14px;
}

.knowledge-terms-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
  padding-bottom: 4px;
}

.knowledge-gold-action {
  border: 0;
  cursor: pointer;
  border-radius: 999px;
  padding: 10px 16px;
  color: #211507;
  background: linear-gradient(135deg, #ffdf89, #b98424);
  font-weight: 950;
}

.knowledge-modal-actions {
  flex: 0 0 auto;
  margin-top: 12px;
}

@media (max-width: 950px) {
  .knowledge-main-grid {
    grid-template-columns: 1fr;
  }

  .knowledge-results-panel {
    min-height: 170px;
    border-right: 0;
    border-bottom: 1px solid rgba(123, 86, 30, 0.16);
  }

  .knowledge-results {
    min-height: 110px;
  }


  .knowledge-filters {
    grid-template-columns: 1fr;
  }

  .knowledge-watermark {
    inset: 12px 14px 16px 14px;
    font-size: 24px;
    line-height: 2.4;
  }
}

@media (max-width: 900px) {
  .knowledge-terms-card {
    padding: 18px;
  }

  .knowledge-terms-actions {
    flex-direction: column;
  }
}

/* 06Z90 — Project Workspace Foundation */
.top-project-workspace-btn {
  border: 1px solid rgba(214, 226, 238, 0.78);
  border-radius: 999px;
  padding: 13px 18px;
  cursor: pointer;
  color: #eef6ff;
  font-weight: 950;
  font-size: 14px;
  white-space: nowrap;
  background: linear-gradient(135deg, #061b35 0%, #0f3760 54%, #d7e2ed 140%);
  box-shadow: 0 14px 28px rgba(6, 27, 53, 0.28), inset 0 1px 0 rgba(255,255,255,0.22);
}

.top-project-workspace-btn:hover {
  transform: translateY(-1px);
  background: linear-gradient(135deg, #082543 0%, #174a7d 54%, #eff5fb 145%);
}

.project-workspace-backdrop.open {
  align-items: flex-start;
  padding-top: 22px;
}

.project-workspace-modal-card {
  width: min(1320px, calc(100vw - 38px));
  height: min(860px, calc(100vh - 48px));
  max-height: calc(100vh - 48px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 18px;
  background:
    radial-gradient(circle at 18% 0%, rgba(214, 226, 238, 0.20), transparent 31%),
    linear-gradient(145deg, #061120 0%, #102a44 45%, #d7e2ed 130%);
  border: 1px solid rgba(214, 226, 238, 0.48);
  box-shadow: 0 32px 90px rgba(3, 14, 28, 0.42), inset 0 0 0 1px rgba(255,255,255,0.10);
}

.project-workspace-x {
  color: #eef6ff;
}

.project-workspace-header {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding-right: 36px;
  color: #eef6ff;
}

.project-workspace-header .modal-title {
  color: #eef6ff;
  letter-spacing: 0.2px;
}

.project-workspace-subtitle {
  margin-top: 4px;
  color: rgba(238, 246, 255, 0.82);
  font-weight: 800;
}

.project-workspace-badge {
  align-self: flex-start;
  padding: 9px 14px;
  border-radius: 999px;
  color: #07182a;
  background: linear-gradient(135deg, #f4f8fc, #aebfce);
  font-weight: 950;
  box-shadow: 0 12px 28px rgba(214, 226, 238, 0.16), inset 0 0 0 1px rgba(255,255,255,0.42);
}

.project-workspace-content {
  flex: 1 1 auto;
  min-height: 0;
  margin-top: 14px;
  border-radius: 18px;
  background:
    radial-gradient(circle at top right, rgba(219, 232, 244, 0.26), transparent 34%),
    linear-gradient(180deg, rgba(248, 252, 255, 0.98), rgba(223, 232, 241, 0.94));
  border: 1px solid rgba(214, 226, 238, 0.54);
  overflow: hidden;
  color: #0d243a;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.78), 0 18px 42px rgba(3, 14, 28, 0.16);
}

.project-workspace-shell {
  height: 100%;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.project-workspace-control-panel {
  flex: 0 0 auto;
  padding: 16px;
  background:
    linear-gradient(135deg, rgba(7, 24, 42, 0.98), rgba(21, 62, 101, 0.96) 62%, rgba(9, 28, 48, 0.98));
  border-bottom: 1px solid rgba(214, 226, 238, 0.35);
}

.project-workspace-search-row {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(180px, 240px);
  gap: 12px;
  margin-bottom: 12px;
}

.project-workspace-search,
.project-workspace-select {
  width: 100%;
  border: 1px solid rgba(214, 226, 238, 0.52);
  border-radius: 13px;
  padding: 12px 13px;
  background: linear-gradient(180deg, #ffffff, #e7eef5);
  color: #0d243a;
  font-weight: 850;
  box-shadow: inset 0 1px 2px rgba(0,0,0,0.08), 0 1px 0 rgba(255,255,255,0.35);
}

.project-workspace-command-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.project-workspace-command {
  border: 1px solid rgba(214, 226, 238, 0.44);
  border-radius: 13px;
  padding: 11px 14px;
  color: #eef6ff;
  font-weight: 950;
  cursor: pointer;
  background: linear-gradient(135deg, #153e65, #0b2541);
  box-shadow: 0 10px 20px rgba(3, 14, 28, 0.18), inset 0 1px 0 rgba(255,255,255,0.16);
}

.project-workspace-command.primary {
  background: linear-gradient(135deg, #1c6fa9, #0c3f70);
}

.project-workspace-command.silver {
  color: #07182a;
  background: linear-gradient(135deg, #ffffff, #b9c7d4);
}

.project-workspace-command.danger-soft {
  background: linear-gradient(135deg, #7e5230, #412915);
}

.project-workspace-command:hover {
  transform: translateY(-1px);
  filter: brightness(1.04);
}

.project-workspace-message {
  margin-top: 12px;
  padding: 11px 13px;
  border-radius: 13px;
  border: 1px solid rgba(214, 226, 238, 0.24);
  background: rgba(255,255,255,0.08);
  color: #e4eef8;
  font-weight: 820;
}

.project-workspace-main {
  flex: 1 1 auto;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(280px, 390px) 1fr;
}

.project-workspace-list {
  min-height: 0;
  display: flex;
  flex-direction: column;
  background: linear-gradient(180deg, rgba(244, 249, 253, 0.98), rgba(224, 234, 243, 0.94));
  border-right: 1px solid rgba(17, 50, 82, 0.18);
}

.project-workspace-list-title {
  flex: 0 0 auto;
  padding: 13px 15px;
  border-bottom: 1px solid rgba(17, 50, 82, 0.14);
  color: #0d243a;
  font-weight: 950;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.project-workspace-list-title strong {
  min-width: 34px;
  text-align: center;
  padding: 4px 8px;
  border-radius: 999px;
  color: #eef6ff;
  background: linear-gradient(135deg, #061b35, #174a7d);
}

.project-workspace-cards {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding: 12px;
}

.project-workspace-card {
  display: grid;
  grid-template-columns: 92px 1fr;
  gap: 11px;
  width: 100%;
  text-align: left;
  border: 1px solid rgba(17, 50, 82, 0.14);
  border-radius: 16px;
  margin-bottom: 10px;
  padding: 10px;
  cursor: pointer;
  color: #0d243a;
  background: rgba(255,255,255,0.76);
  box-shadow: 0 8px 18px rgba(13, 36, 58, 0.06);
}

.project-workspace-card:hover,
.project-workspace-card.selected {
  border-color: rgba(174, 191, 206, 0.98);
  background: linear-gradient(135deg, #061b35, #174a7d);
  color: #eef6ff;
}

.project-card-thumb {
  position: relative;
  height: 74px;
  border-radius: 12px;
  overflow: hidden;
  background: linear-gradient(135deg, #0e3153, #d7e2ed);
  border: 1px solid rgba(255,255,255,0.38);
}

.project-card-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,0.20) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.20) 1px, transparent 1px);
  background-size: 18px 18px;
  opacity: 0.55;
}

.project-card-mark {
  position: absolute;
  left: 7px;
  top: 7px;
  width: 30px;
  height: 30px;
  border-radius: 9px;
  display: grid;
  place-items: center;
  color: #eef6ff;
  background: rgba(6, 17, 32, 0.86);
  font-weight: 950;
}

.project-card-type {
  position: absolute;
  left: 7px;
  right: 7px;
  bottom: 7px;
  padding: 4px 6px;
  border-radius: 999px;
  color: #07182a;
  background: rgba(244, 248, 252, 0.88);
  font-size: 10px;
  font-weight: 900;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.project-card-body strong,
.project-card-body em,
.project-card-body small {
  display: block;
}

.project-card-body strong {
  font-size: 15px;
  font-weight: 950;
  line-height: 1.2;
}

.project-card-body em {
  margin-top: 5px;
  font-style: normal;
  font-size: 12px;
  font-weight: 850;
  opacity: 0.82;
}

.project-card-body small {
  margin-top: 5px;
  font-size: 11px;
  font-weight: 760;
  opacity: 0.74;
}

.project-card-tags {
  margin-top: 7px;
}

.project-card-tags span {
  display: inline-block;
  margin: 0 5px 5px 0;
  padding: 4px 7px;
  border-radius: 999px;
  color: #0d243a;
  background: rgba(214, 226, 238, 0.76);
  font-size: 11px;
  font-weight: 850;
}

.project-workspace-card.selected .project-card-tags span,
.project-workspace-card:hover .project-card-tags span {
  color: #07182a;
  background: rgba(244, 248, 252, 0.88);
}

.project-workspace-details {
  min-height: 0;
  overflow-y: auto;
  padding: 20px;
  background:
    radial-gradient(circle at top right, rgba(23, 74, 125, 0.10), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,0.96), rgba(235,243,250,0.92));
}

.project-workspace-detail-card {
  max-width: 900px;
}

.project-workspace-detail-title {
  font-size: 30px;
  line-height: 1.15;
  font-weight: 1000;
  color: #061b35;
  margin-bottom: 16px;
}

.project-workspace-meta-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(120px, 1fr));
  gap: 10px;
  margin-bottom: 16px;
}

.project-workspace-meta-grid div {
  padding: 12px;
  border-radius: 14px;
  border: 1px solid rgba(17, 50, 82, 0.12);
  background: rgba(255,255,255,0.72);
  box-shadow: 0 8px 18px rgba(13, 36, 58, 0.05);
}

.project-workspace-meta-grid span {
  display: block;
  color: #51677a;
  font-size: 12px;
  font-weight: 850;
  margin-bottom: 5px;
}

.project-workspace-meta-grid strong {
  color: #0d243a;
  font-weight: 950;
}

.project-workspace-model,
.project-workspace-folder-box {
  margin-top: 16px;
  padding: 16px;
  border-radius: 16px;
  border: 1px solid rgba(17, 50, 82, 0.13);
  background: rgba(255,255,255,0.74);
  box-shadow: 0 10px 22px rgba(13, 36, 58, 0.06);
}

.project-workspace-model h3,
.project-workspace-folder-box h3 {
  margin: 0 0 12px;
  color: #0d243a;
  font-size: 18px;
}

.project-workspace-model code,
.project-workspace-folder-box span,
.project-workspace-flags span {
  display: inline-block;
  margin: 0 7px 7px 0;
  padding: 7px 10px;
  border-radius: 999px;
  font-family: inherit;
  font-weight: 900;
  font-size: 12px;
}

.project-workspace-model code {
  color: #eef6ff;
  background: linear-gradient(135deg, #061b35, #174a7d);
}

.project-workspace-folder-box span {
  color: #0d243a;
  background: linear-gradient(135deg, #f9fcff, #d7e2ed);
  border: 1px solid rgba(17, 50, 82, 0.12);
}

.project-workspace-flags {
  margin-top: 16px;
}

.project-workspace-flags span {
  color: #07182a;
  background: linear-gradient(135deg, #f4f8fc, #aebfce);
  box-shadow: 0 8px 18px rgba(13, 36, 58, 0.06);
}

.project-workspace-empty {
  padding: 18px;
  color: #51677a;
  font-weight: 900;
}

.project-workspace-actions {
  flex: 0 0 auto;
  margin-top: 12px;
}

.project-workspace-close-btn {
  border-radius: 12px;
}

@media (max-width: 1050px) {
  .project-workspace-main {
    grid-template-columns: 1fr;
  }

  .project-workspace-list {
    max-height: 280px;
    border-right: 0;
    border-bottom: 1px solid rgba(17, 50, 82, 0.18);
  }

  .project-workspace-meta-grid {
    grid-template-columns: repeat(2, minmax(120px, 1fr));
  }
}

@media (max-width: 760px) {
  .project-workspace-search-row {
    grid-template-columns: 1fr;
  }

  .project-workspace-card {
    grid-template-columns: 1fr;
  }

  .project-workspace-meta-grid {
    grid-template-columns: 1fr;
  }
}



/* 06Z91 — Work Package premium foundation */
.top-actions #btnWorkPackage {
  background: linear-gradient(135deg, #16365c 0%, #264b74 45%, #d8dde6 100%) !important;
  color: #ffffff !important;
  border: 1px solid rgba(216, 221, 230, 0.78) !important;
  box-shadow: 0 12px 26px rgba(21, 49, 84, 0.24), inset 0 0 0 1px rgba(255,255,255,0.16) !important;
}

.top-actions #btnWorkPackage:hover {
  background: linear-gradient(135deg, #1e4775 0%, #2d5a88 45%, #eef2f7 100%) !important;
  transform: translateY(-1px);
}

.work-package-modal-card {
  width: min(1320px, calc(100vw - 34px));
  height: min(860px, calc(100vh - 34px));
  max-height: calc(100vh - 34px);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  border-radius: 18px;
  background: linear-gradient(145deg, #f8f4eb 0%, #e5edf6 58%, #d2dae5 100%);
  border: 1px solid rgba(168, 181, 199, 0.72);
  box-shadow: 0 30px 80px rgba(12, 32, 58, 0.28), inset 0 0 0 1px rgba(255,255,255,0.46);
}

.work-package-hero {
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: 1fr minmax(310px, 390px);
  gap: 22px;
  padding: 22px 24px;
  border-radius: 16px;
  background: radial-gradient(circle at 10% 0%, rgba(231, 238, 248, 0.24), transparent 40%), linear-gradient(135deg, #17375f 0%, #244f7e 58%, #d8dde6 100%);
  color: #ffffff;
  border: 1px solid rgba(216, 221, 230, 0.52);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.18), 0 16px 34px rgba(18, 47, 82, 0.18);
}

.work-package-title {
  font-size: 34px;
  line-height: 1.05;
  font-weight: 1000;
  letter-spacing: 0.2px;
  margin-bottom: 10px;
}

.work-package-subtitle {
  max-width: 760px;
  color: rgba(255,255,255,0.92);
  font-weight: 780;
  line-height: 1.45;
}

.work-package-fields {
  display: grid;
  gap: 10px;
  align-content: center;
}

.work-package-fields label {
  display: grid;
  grid-template-columns: 112px 1fr;
  gap: 10px;
  align-items: center;
  color: #eef4fb;
  font-weight: 900;
  font-size: 13px;
}

.work-package-fields input {
  min-height: 38px;
  border-radius: 12px;
  border: 1px solid rgba(216,221,230,0.68);
  background: rgba(255, 252, 247, 0.96);
  padding: 8px 12px;
  color: #253346;
  font-weight: 820;
  box-shadow: inset 0 1px 2px rgba(0,0,0,0.08);
}

.work-package-content {
  flex: 1 1 auto;
  min-height: 0;
  padding-top: 14px;
}

.work-package-layout {
  height: 100%;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(310px, 420px) 1fr;
  gap: 14px;
}

.work-package-section-list {
  min-height: 0;
  overflow-y: auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: start;
  gap: 12px;
  padding: 8px 8px 10px;
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.72), rgba(228,236,247,0.64));
  border: 1px solid rgba(154, 173, 197, 0.45);
}

.work-package-section-card {
  min-height: 152px;
  text-align: left;
  cursor: pointer;
  border-radius: 16px;
  border: 1px solid rgba(143, 164, 190, 0.55);
  background: rgba(255,255,255,0.82);
  padding: 10px;
  color: #1d2e42;
  box-shadow: 0 10px 24px rgba(21, 49, 84, 0.08);
}

.work-package-section-card.active,
.work-package-section-card:hover {
  border-color: #234f7e;
  box-shadow: 0 0 0 2px rgba(35,79,126,0.22), 0 14px 30px rgba(21,49,84,0.14);
  background: linear-gradient(180deg, #ffffff, #eaf1f8);
}

.work-package-section-card.muted {
  opacity: 0.82;
}

.work-package-thumb {
  height: 90px;
  border-radius: 12px;
  overflow: hidden;
  background: #eef3f8;
  border: 1px solid rgba(154,173,197,0.42);
  margin-bottom: 9px;
}

.work-package-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.work-package-section-card strong {
  display: block;
  font-size: 15px;
  line-height: 1.22;
  font-weight: 1000;
  margin-bottom: 0;
}


.work-package-preview {
  min-height: 0;
  overflow-y: auto;
  padding: 20px 22px;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255,255,255,0.92), rgba(238,245,252,0.78));
  border: 1px solid rgba(154,173,197,0.50);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.72);
}

.work-package-preview-kicker {
  display: inline-block;
  padding: 6px 11px;
  border-radius: 999px;
  background: rgba(35,79,126,0.10);
  color: #234f7e;
  font-size: 12px;
  font-weight: 1000;
  margin-bottom: 10px;
}

.work-package-preview h2 {
  margin: 0 0 6px;
  color: #17293d;
  font-size: 26px;
}

.work-package-preview p {
  margin: 0 0 14px;
  color: #4d5e72;
  font-weight: 780;
}

.work-package-preview-image {
  border-radius: 18px;
  padding: 12px;
  background: linear-gradient(180deg, #eaf3fb, #dce9f5);
  border: 1px solid rgba(128, 157, 190, 0.42);
}

.work-package-preview-image img {
  display: block;
  width: 100%;
  max-height: 460px;
  object-fit: contain;
  border-radius: 10px;
  background: #fffaf0;
}

.work-package-preview-details {
  white-space: pre-line;
  margin-top: 14px;
  border-radius: 14px;
  border: 1px solid rgba(128, 157, 190, 0.34);
  background: rgba(255,255,255,0.70);
  padding: 14px;
  color: #31465f;
  font-weight: 760;
  line-height: 1.5;
}

.work-package-bottom {
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: 1fr 190px 128px;
  gap: 12px;
  padding-top: 14px;
}

.work-package-bottom textarea {
  min-height: 68px;
  resize: vertical;
  border-radius: 14px;
  border: 1px solid rgba(154,173,197,0.56);
  background: rgba(255,252,247,0.92);
  padding: 14px;
  color: #24364b;
  font-weight: 760;
}

.work-package-pdf-btn {
  border: 0;
  border-radius: 16px;
  cursor: pointer;
  background: linear-gradient(135deg, #4f8b64, #356d4a);
  color: #ffffff;
  font-size: 17px;
  font-weight: 1000;
  box-shadow: 0 12px 26px rgba(53,109,74,0.20), inset 0 1px 0 rgba(255,255,255,0.18);
}

.work-package-close-btn {
  border-radius: 16px;
  font-weight: 950;
}

@media (max-width: 1050px) {
  .work-package-hero,
  .work-package-layout,
  .work-package-bottom {
    grid-template-columns: 1fr;
  }

  .work-package-section-list {
    grid-template-columns: 1fr;
    max-height: 230px;
  }
}


/* 06Z93 — Measure mini button + Kitchen Technical Support */
.measure-mini-btn {
  background: linear-gradient(135deg, #f7f1e5, #d8dde6) !important;
  color: #17375f !important;
  border-color: rgba(35, 79, 126, 0.28) !important;
  font-weight: 950 !important;
}

.measure-mini-btn:hover {
  background: linear-gradient(135deg, #ffffff, #e5ebf3) !important;
}

.kitchen-tool.kitchen-support-btn {
  background: linear-gradient(135deg, #183a63 0%, #2a527e 54%, #d8dde6 100%) !important;
  color: #ffffff !important;
  border: 1px solid rgba(216, 221, 230, 0.62) !important;
  box-shadow: 0 8px 18px rgba(24, 58, 99, 0.22), inset 0 1px 0 rgba(255,255,255,0.18) !important;
}

.kitchen-tool.kitchen-support-btn:hover {
  transform: translateY(-1px);
  background: linear-gradient(135deg, #204d7d 0%, #32618f 54%, #eef2f7 100%) !important;
}



/* 06Z94 — Real isolated Measure mode */
.measure-mini-btn.active,
.measure-mini-btn[aria-pressed="true"] {
  background: linear-gradient(135deg, #17375f, #2a527e 58%, #d8dde6) !important;
  color: #ffffff !important;
  border-color: rgba(216, 221, 230, 0.72) !important;
  box-shadow: 0 0 0 2px rgba(35, 79, 126, 0.18), 0 8px 18px rgba(24, 58, 99, 0.20) !important;
}


/* 06Z96 — Knowledge Base language gate, reader-first fullscreen, and local add-entry door */
#knowledgeBaseModal.open .knowledge-base-card,
.knowledge-base-card {
  width: calc(100vw - 18px) !important;
  height: calc(100vh - 18px) !important;
  max-width: none !important;
  max-height: none !important;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.knowledge-base-content {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.knowledge-toolbar.knowledge-toolbar-compact {
  flex: 0 0 auto;
  padding: 12px 14px;
}

.knowledge-top-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 14px;
  align-items: end;
}

.knowledge-side-actions {
  display: flex;
  gap: 10px;
  align-items: end;
  justify-content: flex-end;
  flex-wrap: wrap;
}

.knowledge-language-select {
  min-width: 170px;
  color: #ffe8ae;
  font-weight: 950;
  font-size: 13px;
}

.knowledge-language-select select {
  width: 100%;
  margin-top: 6px;
  border: 1px solid rgba(247, 217, 138, 0.38);
  border-radius: 12px;
  padding: 10px;
  background: linear-gradient(180deg, #fffdf8, #f2e4ca);
  color: #2f2417;
  font-weight: 900;
}

.knowledge-add-btn {
  min-height: 42px;
  border: 1px solid rgba(247, 217, 138, 0.58);
  border-radius: 14px;
  padding: 10px 16px;
  cursor: pointer;
  background: linear-gradient(135deg, #ffdf89, #b98424);
  color: #221406;
  font-weight: 1000;
  box-shadow: 0 10px 22px rgba(0,0,0,0.18), inset 0 1px 0 rgba(255,255,255,0.25);
}

.knowledge-filters.compact {
  margin-top: 10px;
  padding: 10px;
  gap: 10px;
}

.knowledge-main-grid.reader-priority {
  flex: 1 1 auto;
  min-height: 0;
  height: auto;
  grid-template-columns: minmax(250px, 330px) minmax(0, 1fr);
}

.knowledge-results-panel {
  min-height: 0;
}

.knowledge-results {
  min-height: 0;
  overflow-y: auto;
}

.knowledge-reader {
  min-height: 0;
  overflow-y: auto;
  padding: 30px 42px 72px;
  font-size: 17px;
}

.knowledge-reader h3 {
  font-size: 34px;
  line-height: 1.16;
  max-width: 1040px;
}

.knowledge-block {
  max-width: 1120px;
  font-size: 17px;
  line-height: 1.7;
}

.knowledge-block p {
  white-space: pre-line;
}

.knowledge-language-gate {
  height: 100%;
  overflow-y: auto;
  display: grid;
  place-items: center;
  padding: 24px;
  background: radial-gradient(circle at top right, rgba(255, 223, 142, 0.18), transparent 38%), linear-gradient(145deg, #1a1308, #3c2a0f 58%, #171009);
}

.knowledge-language-card {
  width: min(760px, calc(100vw - 60px));
  border-radius: 22px;
  padding: 34px;
  border: 1px solid rgba(247, 217, 138, 0.46);
  background: linear-gradient(145deg, rgba(255, 248, 232, 0.10), rgba(255, 221, 142, 0.06));
  color: #fff4d2;
  box-shadow: 0 24px 62px rgba(0,0,0,0.30), inset 0 1px 0 rgba(255,255,255,0.10);
}

.knowledge-language-card h3 {
  margin: 0 0 10px;
  color: #ffdf89;
  font-size: 30px;
}

.knowledge-language-card p {
  margin: 0 0 22px;
  color: rgba(255,244,210,0.88);
  font-weight: 780;
}

.knowledge-language-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 22px;
}

.knowledge-language-option {
  border-radius: 16px;
  border: 1px solid rgba(247, 217, 138, 0.32);
  background: rgba(255,255,255,0.08);
  color: #fff4d2;
  padding: 16px;
  font-weight: 1000;
  cursor: pointer;
}

.knowledge-language-option.suggested,
.knowledge-language-option:hover {
  background: linear-gradient(135deg, #ffdf89, #b98424);
  color: #1f1306;
}

.knowledge-editor {
  position: absolute;
  inset: 88px 30px 92px auto;
  width: min(620px, calc(100vw - 80px));
  z-index: 20;
  overflow-y: auto;
}

.knowledge-editor.hidden {
  display: none;
}

.knowledge-editor-card {
  border-radius: 18px;
  border: 1px solid rgba(247, 217, 138, 0.54);
  background: linear-gradient(145deg, rgba(31, 21, 8, 0.98), rgba(65, 44, 15, 0.98));
  color: #fff4d2;
  box-shadow: 0 28px 72px rgba(0,0,0,0.34);
  padding: 20px;
}

.knowledge-editor-header {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: start;
  margin-bottom: 16px;
}

.knowledge-editor-header strong {
  display: block;
  color: #ffdf89;
  font-size: 22px;
  margin-bottom: 5px;
}

.knowledge-editor-header p {
  margin: 0;
  color: rgba(255,244,210,0.82);
  font-weight: 760;
  line-height: 1.35;
}

.knowledge-editor-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.knowledge-editor-grid label {
  display: grid;
  gap: 6px;
  color: #ffe8ae;
  font-weight: 900;
}

.knowledge-editor-grid label.wide {
  grid-column: 1 / -1;
}

.knowledge-editor-grid input,
.knowledge-editor-grid textarea {
  width: 100%;
  border-radius: 12px;
  border: 1px solid rgba(247, 217, 138, 0.34);
  background: #fffaf0;
  color: #2f2417;
  padding: 10px;
  font-weight: 760;
}

.knowledge-editor-grid textarea {
  min-height: 82px;
  resize: vertical;
}

.knowledge-editor-grid label.wide textarea {
  min-height: 180px;
}

.knowledge-editor-actions {
  margin-top: 14px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.knowledge-custom-notice {
  margin-top: 12px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px dashed rgba(247,217,138,0.34);
  color: rgba(255,244,210,0.82);
  font-weight: 780;
}

@media (max-width: 1000px) {
  .knowledge-top-row,
  .knowledge-main-grid.reader-priority,
  .knowledge-filters.compact,
  .knowledge-editor-grid {
    grid-template-columns: 1fr;
  }

  .knowledge-results-panel {
    min-height: 180px;
  }

  .knowledge-editor {
    inset: 78px 18px 80px 18px;
    width: auto;
  }

  .knowledge-language-grid {
    grid-template-columns: 1fr;
  }
}


/* 06Z97 — Fullscreen + unified interior wall chooser */
.fullscreen-mini-btn {
  background: linear-gradient(135deg, #f7f1e5, #d8dde6) !important;
  color: #17375f !important;
  border-color: rgba(35, 79, 126, 0.28) !important;
  font-weight: 950 !important;
}

.fullscreen-mini-btn.active,
.fullscreen-mini-btn[aria-pressed="true"] {
  background: linear-gradient(135deg, #17375f, #2a527e 58%, #d8dde6) !important;
  color: #ffffff !important;
  border-color: rgba(216, 221, 230, 0.72) !important;
  box-shadow: 0 0 0 2px rgba(35, 79, 126, 0.18), 0 8px 18px rgba(24, 58, 99, 0.20) !important;
}

.fullscreen-exit-btn {
  position: fixed;
  right: 18px;
  top: 14px;
  z-index: 99999;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(216, 221, 230, 0.65);
  border-radius: 14px;
  background: linear-gradient(135deg, #17375f, #2a527e 58%, #d8dde6);
  color: #ffffff;
  font-size: 28px;
  font-weight: 1000;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 12px 28px rgba(12, 32, 58, 0.30);
}

.fullscreen-exit-btn.hidden {
  display: none;
}

.interior-tool-card {
  width: min(760px, calc(100vw - 40px));
  border-radius: 22px;
  background: linear-gradient(145deg, #fff8ea, #e9edf4);
  border: 1px solid rgba(35, 79, 126, 0.25);
  box-shadow: 0 24px 72px rgba(12, 32, 58, 0.24), inset 0 1px 0 rgba(255,255,255,0.78);
  color: #26374a;
}

.interior-tool-card h2 {
  margin: 0 42px 10px 0;
  color: #17375f;
  font-size: 28px;
  font-weight: 1000;
}

.interior-tool-help {
  margin: 0 0 18px;
  color: #5a6572;
  font-weight: 760;
  line-height: 1.45;
}

.interior-tool-options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.interior-tool-option {
  min-height: 150px;
  text-align: left;
  cursor: pointer;
  border-radius: 18px;
  border: 1px solid rgba(35, 79, 126, 0.22);
  background: linear-gradient(180deg, rgba(255,255,255,0.88), rgba(229,237,247,0.76));
  padding: 18px;
  box-shadow: 0 12px 28px rgba(24, 58, 99, 0.10);
}

.interior-tool-option:hover {
  transform: translateY(-1px);
  border-color: rgba(35, 79, 126, 0.62);
  box-shadow: 0 16px 34px rgba(24, 58, 99, 0.18);
}

.interior-tool-option strong {
  display: block;
  margin-bottom: 9px;
  color: #17375f;
  font-size: 19px;
  font-weight: 1000;
}

.interior-tool-option span {
  color: #4e6074;
  font-size: 14px;
  line-height: 1.45;
  font-weight: 780;
}

.interior-tool-cancel {
  margin-top: 16px;
  width: 100%;
  min-height: 46px;
  border-radius: 14px;
  font-weight: 950;
}

@media (max-width: 820px) {
  .interior-tool-options {
    grid-template-columns: 1fr;
  }
}


/* 06Z103 — Embedded 3D Lab: premium fullscreen camera/AA foundation */
.top-3d-btn {
  background: linear-gradient(135deg, #17375f 0%, #2a527e 58%, #d8dde6 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 12px 24px rgba(18, 48, 88, 0.22), inset 0 1px 0 rgba(255,255,255,0.22);
}

.designpro-3d-lab-backdrop {
  position: fixed;
  inset: 0;
  z-index: 120000;
  display: none;
  padding: 18px;
  background:
    radial-gradient(circle at 15% 10%, rgba(216, 221, 230, 0.16), transparent 34%),
    linear-gradient(145deg, rgba(11, 22, 37, 0.96), rgba(28, 50, 82, 0.94));
}

.designpro-3d-lab-backdrop.open {
  display: grid;
  place-items: stretch;
}

.designpro-3d-lab-shell {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  min-height: 0;
  overflow: hidden;
  border-radius: 24px;
  border: 1px solid rgba(216, 221, 230, 0.34);
  background: linear-gradient(180deg, rgba(250, 247, 239, 0.98), rgba(226, 231, 238, 0.96));
  box-shadow: 0 34px 96px rgba(0,0,0,0.42), inset 0 1px 0 rgba(255,255,255,0.70);
}

.designpro-3d-lab-header {
  display: flex;
  align-items: center;
  gap: 18px;
  justify-content: space-between;
  padding: 18px 22px;
  background: linear-gradient(135deg, #111c2d 0%, #17375f 55%, #d8dde6 140%);
  color: #ffffff;
}

.designpro-3d-lab-title {
  font-size: 28px;
  font-weight: 1000;
  letter-spacing: -0.4px;
}

.designpro-3d-lab-subtitle {
  margin-top: 4px;
  color: rgba(255,255,255,0.78);
  font-weight: 760;
}

.designpro-3d-lab-badge {
  margin-left: auto;
  border-radius: 999px;
  padding: 10px 16px;
  background: linear-gradient(135deg, rgba(216,221,230,0.94), rgba(255,255,255,0.72));
  color: #17375f;
  font-weight: 1000;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.65), 0 8px 18px rgba(0,0,0,0.18);
}

.designpro-3d-lab-close {
  width: 46px;
  height: 46px;
  border: 1px solid rgba(255,255,255,0.26);
  border-radius: 15px;
  background: rgba(255,255,255,0.12);
  color: #ffffff;
  font-size: 31px;
  font-weight: 1000;
  cursor: pointer;
}

.designpro-3d-lab-stage {
  position: relative;
  min-height: 0;
  background: radial-gradient(circle at 50% 15%, rgba(255,255,255,0.95), rgba(228,232,238,0.48) 38%, rgba(168,178,193,0.46) 100%);
}

#designPro3dLabCanvas {
  width: 100%;
  height: 100%;
  display: block;
  outline: none;
  cursor: grab;
}

#designPro3dLabCanvas:active {
  cursor: grabbing;
}

.designpro-3d-lab-hint {
  position: absolute;
  left: 18px;
  bottom: 16px;
  max-width: calc(100% - 36px);
  padding: 10px 14px;
  border-radius: 14px;
  background: rgba(17, 28, 45, 0.76);
  color: rgba(255,255,255,0.92);
  font-weight: 850;
  box-shadow: 0 12px 28px rgba(0,0,0,0.20);
  pointer-events: none;
}

.designpro-3d-lab-quality {
  position: absolute;
  right: 18px;
  bottom: 16px;
  padding: 10px 14px;
  border-radius: 14px;
  background: rgba(255,255,255,0.78);
  color: #17375f;
  font-weight: 1000;
  box-shadow: 0 12px 28px rgba(0,0,0,0.16);
  pointer-events: none;
}

.designpro-3d-lab-footer {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  padding: 14px 18px;
  background: linear-gradient(180deg, rgba(255,255,255,0.86), rgba(224,229,236,0.92));
  border-top: 1px solid rgba(23,55,95,0.14);
}

.designpro-3d-control-btn {
  min-height: 42px;
  border-radius: 14px;
  border: 1px solid rgba(23,55,95,0.20);
  padding: 10px 16px;
  background: linear-gradient(135deg, #17375f, #2a527e);
  color: #ffffff;
  font-weight: 950;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(23,55,95,0.18);
}

.designpro-3d-control-btn:hover {
  transform: translateY(-1px);
}

.designpro-3d-lab-note {
  margin-left: auto;
  color: #5b6470;
  font-weight: 780;
}

@media (max-width: 900px) {
  .designpro-3d-lab-backdrop { padding: 8px; }
  .designpro-3d-lab-title { font-size: 22px; }
  .designpro-3d-lab-badge,
  .designpro-3d-lab-note,
  .designpro-3d-lab-quality { display: none; }
}

/* DP254 Rights / Upgrade / Guided Intro layer */
.dp-rights-backdrop{position:fixed;inset:0;z-index:99990;background:rgba(15,18,22,.62);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:28px;box-sizing:border-box;font-family:inherit;color:#132843}.dp-rights-backdrop *{box-sizing:border-box}.dp-rights-x{position:absolute;right:24px;top:22px;width:54px;height:54px;border:0;border-radius:999px;background:#f4efe3;color:#6d5434;font-size:32px;font-weight:900;cursor:pointer;box-shadow:0 10px 24px rgba(0,0,0,.16)}.dp-rights-x.goldbox{background:#d5ad42;color:#2b1a08;border:1px solid #b98f21}.dp-rights-x.dark{background:rgba(9,11,9,.72);color:#f5c947;border:2px solid #d3a522}.dp-rights-primary,.dp-rights-secondary,.dp-rights-link{border:0;border-radius:18px;font-weight:900;letter-spacing:.2px;cursor:pointer;font-family:inherit}.dp-rights-primary{padding:18px 34px;background:#1f6f2a;color:#fff;box-shadow:0 10px 22px rgba(0,0,0,.16)}.dp-rights-primary.gold{background:#e8b42a;color:#12345a}.dp-rights-primary.green{background:#5f8b55;color:#fff}.dp-rights-primary.purple{background:#7554ad;color:#fff}.dp-rights-primary.full,.dp-rights-secondary.full{width:100%}.dp-rights-secondary{padding:17px 30px;background:#f4efe4;border:1px solid #c9a96d;color:#6b4e22}.dp-rights-secondary.dark{background:rgba(0,0,0,.50);border:1px solid #c59c21;color:#fff}.dp-rights-link{padding:14px 0;background:transparent;color:#143a64;text-decoration:underline;font-weight:700}.dp-rights-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.dp-rights-actions.center{justify-content:center}.dp-rights-pill{display:inline-block;background:#7952a8;color:#fff;font-weight:900;border-radius:14px;padding:10px 22px;margin-bottom:20px}.dp-rights-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%) translateY(30px);z-index:100000;background:#183d2a;color:#fff;padding:16px 24px;border-radius:18px;box-shadow:0 18px 40px rgba(0,0,0,.28);font-weight:900;opacity:0;transition:all .25s}.dp-rights-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

.dp-rights-welcome-card{position:relative;width:min(1320px,96vw);min-height:620px;background:#f9f3e8;border-radius:28px;padding:48px;box-shadow:0 28px 80px rgba(42,30,13,.28);display:grid;grid-template-columns:1.05fr .95fr;gap:36px;border:1px solid rgba(188,148,78,.45)}.dp-rights-welcome-copy h2{font-size:42px;line-height:1.1;margin:0 0 20px;color:#5b3e20}.dp-rights-welcome-copy p{font-size:19px;line-height:1.45;color:#625647;max-width:650px}.dp-rights-welcome-copy .lead{font-size:23px;font-weight:900}.dp-rights-guidance-box{margin-top:55px}.dp-rights-guidance-box h3{font-size:26px;color:#694d91;margin:0 0 12px}.dp-rights-welcome-visual{display:flex;flex-direction:column;gap:16px;align-self:center}.dp-rights-welcome-visual img{width:100%;height:420px;object-fit:cover;border-radius:0;box-shadow:0 10px 24px rgba(0,0,0,.10)}.dp-rights-welcome-slogan{background:#f0e6d3;border-radius:20px;padding:24px;text-align:center;color:#633a12;display:flex;flex-direction:column;gap:8px}.dp-rights-welcome-slogan strong{font-size:24px}.dp-rights-welcome-slogan span{font-size:17px}

.dp-rights-upgrade-card{position:relative;width:min(1420px,96vw);min-height:650px;background:#fff;border-radius:30px;padding:58px;box-shadow:0 28px 90px rgba(0,0,0,.38);display:grid;grid-template-columns:1.1fr .9fr;gap:44px}.dp-rights-upgrade-image{display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.72);border-radius:24px;overflow:hidden}.dp-rights-upgrade-image img{width:100%;height:auto;object-fit:contain}.dp-rights-upgrade-copy{background:#f3ead8;padding:44px 46px;border-radius:0}.dp-rights-upgrade-copy h2{font-size:42px;line-height:1.25;margin:0 0 20px;color:#143b64}.dp-rights-upgrade-copy p{font-size:21px;line-height:1.45;color:#183047}.dp-rights-upgrade-copy ul{margin:24px 0 34px;padding-left:0;list-style:none}.dp-rights-upgrade-copy li{font-size:21px;font-weight:800;margin:14px 0}.dp-rights-upgrade-copy li:before{content:'✓';color:#143b64;margin-right:12px;font-weight:900}

.dp-rights-plans-card{position:relative;width:min(1650px,98vw);max-height:92vh;overflow:auto;background:rgba(255,255,255,.96);border-radius:30px;padding:56px;box-shadow:0 28px 90px rgba(0,0,0,.30)}.dp-rights-plans-card h2{text-align:center;font-size:38px;margin:0 0 12px;color:#173b66}.dp-rights-plans-subtitle{text-align:center;font-size:19px;max-width:1160px;margin:0 auto 26px;color:#33465e}.dp-rights-plan-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1.05fr;gap:18px}.dp-rights-plan-card{background:#fff;border:1px solid #d8e0e9;border-radius:26px;padding:28px 24px;display:flex;flex-direction:column;min-height:650px}.dp-rights-plan-card.featured{border:2px solid #dca81e;background:#fff8e8}.dp-rights-plan-card h3{font-size:27px;text-align:center;margin:0 0 20px;color:#12345a}.dp-rights-price{text-align:center;font-size:38px;font-weight:1000;color:#c99118;margin-bottom:18px}.dp-rights-note{text-align:center;font-size:16px;color:#57687c;margin:0 0 18px}.dp-rights-feature-list{background:#f1eadb;margin:0 0 18px;padding:18px 18px 18px 24px;list-style:'• ';flex:1}.dp-rights-feature-list li{font-weight:800;margin:8px 0;line-height:1.25;color:#17293d}.dp-rights-pro-card{background:#50555c;color:#fff;border-radius:26px;padding:28px 24px;min-height:650px;text-align:center}.dp-rights-pro-badge{display:inline-block;background:#dca51f;color:#fff;border-radius:14px;padding:12px 24px;font-weight:900;margin-bottom:18px}.dp-rights-pro-card h3{font-size:28px;margin:6px 0 8px}.dp-rights-pro-card p{color:#efe5cd}.dp-rights-pro-card h4{font-size:20px;color:#f4e0ac;margin:28px 0 14px}.dp-rights-pro-bundle{position:relative;display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;align-items:center;background:#666b72;border:1px solid rgba(255,255,255,.14);border-radius:20px;padding:20px;margin:14px 0;font-weight:900}.dp-rights-pro-bundle.best{background:#dfa923;color:#11375b}.dp-rights-pro-bundle .best{position:absolute;top:-18px;left:50%;transform:translateX(-50%);background:#12365b;color:#f6d466;border-radius:999px;padding:4px 12px;font-size:12px}.dp-rights-pro-bundle em{font-style:normal;color:#f5d36b}.dp-rights-pro-foot{font-size:13px;text-align:left;margin-top:20px!important}

.dp-rights-inspiration-card-shell{position:relative;width:min(1560px,98vw);background:#f3eddf;border:4px solid #2b1a09;border-radius:4px;padding:32px 34px;box-shadow:0 28px 90px rgba(0,0,0,.36)}.dp-rights-inspiration-card-shell h2{font-size:38px;line-height:1.25;margin:0 0 28px;color:#33200e}.dp-rights-inspiration-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.dp-rights-inspiration-card{position:relative;border:2px solid #caa64a;background:#f7f1e5;border-radius:20px;padding:18px;cursor:pointer;height:220px;overflow:hidden}.dp-rights-inspiration-card .num{position:absolute;left:16px;top:16px;background:#d9b24a;color:#2a1b09;border-radius:14px;padding:8px 18px;font-weight:1000;z-index:2}.dp-rights-inspiration-card img{width:100%;height:150px;object-fit:cover;border-radius:14px;margin-top:36px}.dp-rights-inspiration-card strong{position:absolute;left:30px;right:30px;bottom:24px;background:rgba(244,238,224,.92);padding:6px 10px;border-radius:8px;font-size:20px;color:#33200e}.dp-rights-inspiration-note{border:2px solid #d6bb72;background:#eee6d5;border-radius:14px;padding:12px 16px;font-size:18px;font-weight:800;color:#6b4e22}

.dp-rights-simple-card{position:relative;width:min(840px,94vw);background:#f6efdf;border-radius:28px;padding:52px;box-shadow:0 25px 80px rgba(0,0,0,.32);border:1px solid #d1ad50}.dp-rights-simple-card h2{font-size:34px;color:#173b65;margin:0 0 24px}.dp-rights-simple-card p{font-size:22px;line-height:1.45;color:#26394f}.dp-rights-support-card{position:relative;width:min(980px,92vw);max-height:88vh;min-height:auto;background-size:cover;background-position:center;border:2px solid #c99e22;border-radius:18px;color:#fff;padding:32px 36px;box-shadow:0 28px 90px rgba(0,0,0,.42);overflow:auto}.dp-rights-premium-logo{position:absolute;left:58px;top:42px;width:122px;height:122px;border-radius:999px;border:2px solid #d8ac24;display:flex;align-items:center;justify-content:center;font-size:70px;font-weight:1000;color:#f5c949;background:rgba(0,0,0,.35)}.dp-rights-support-card h2{text-align:center;margin:0;color:#f5c949;font-size:32px;letter-spacing:.6px}.dp-rights-support-card h3{text-align:center;margin:12px 0;color:#fff;font-size:21px}.dp-rights-support-card ul{max-width:720px;margin:22px auto 18px;list-style:none;background:rgba(0,0,0,.32);border:1px solid rgba(212,166,32,.55);border-radius:18px;padding:18px 28px}.dp-rights-support-card li{font-size:16px;font-weight:800;margin:8px 0}.dp-rights-support-card li:before{content:'✓';display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:999px;background:#2e8a2f;color:#ffe169;margin-right:14px}.dp-rights-support-price{text-align:center;border:1px solid rgba(212,166,32,.75);border-radius:14px;background:rgba(0,0,0,.36);padding:16px;margin:0 auto 12px;max-width:720px}.dp-rights-support-price strong{font-size:25px;color:#f6ca4d}.dp-rights-support-price span{display:block;font-size:16px;font-weight:900;margin-top:6px}.dp-rights-support-warning{text-align:center;border:1px solid rgba(212,166,32,.75);border-radius:14px;background:rgba(0,0,0,.42);padding:14px;margin:0 auto 12px;max-width:720px;font-size:18px;font-weight:1000;color:#fff}

@media (max-width:1100px){.dp-rights-welcome-card,.dp-rights-upgrade-card{grid-template-columns:1fr}.dp-rights-plan-grid{grid-template-columns:1fr 1fr}.dp-rights-inspiration-grid{grid-template-columns:1fr 1fr}.dp-rights-welcome-card{padding:30px}.dp-rights-upgrade-card{padding:30px}}@media (max-width:720px){.dp-rights-plan-grid,.dp-rights-inspiration-grid{grid-template-columns:1fr}.dp-rights-welcome-card,.dp-rights-upgrade-card,.dp-rights-plans-card,.dp-rights-simple-card,.dp-rights-support-card{padding:24px}.dp-rights-welcome-visual img{height:260px}.dp-rights-support-card h2{font-size:30px}.dp-rights-premium-logo{display:none}}

/* DP255 retail rights polish */
.dp-rights-pro-support-seller{position:relative;margin:26px 0 14px;padding:24px 18px 18px;border:2px solid #e3b231;border-radius:22px;background:linear-gradient(135deg,rgba(227,178,49,.22),rgba(12,22,30,.42));box-shadow:0 10px 24px rgba(0,0,0,.22);cursor:pointer;text-align:center}
.dp-rights-pro-support-seller:hover{filter:brightness(1.06)}
.dp-rights-pro-support-best{position:absolute;top:-17px;left:50%;transform:translateX(-50%);background:#0e3760;color:#ffd96b;border-radius:999px;padding:5px 18px;font-size:13px;font-weight:1000;letter-spacing:.05em;white-space:nowrap}
.dp-rights-pro-support-seller strong{display:block;color:#fff6c7;font-size:22px;font-weight:1000;letter-spacing:.04em;text-transform:uppercase;margin-bottom:8px}
.dp-rights-pro-support-seller small{display:block;color:#f6ecd6;font-size:13px;font-weight:800;line-height:1.35}

/* DP256 — Retail rights polish: live support belongs to Premium, Project Workspace belongs to 30-project professional bundle */
.dp-rights-premium-support-seller{position:relative;margin:24px 0 18px;padding:24px 18px 18px;border:2px solid #e3b231;border-radius:22px;background:linear-gradient(135deg,rgba(227,178,49,.28),rgba(18,54,91,.12));box-shadow:0 12px 26px rgba(120,80,0,.18);cursor:pointer;text-align:center}
.dp-rights-premium-support-seller:hover{filter:brightness(1.04);transform:translateY(-1px)}
.dp-rights-premium-support-best{position:absolute;top:-17px;left:50%;transform:translateX(-50%);background:#12365b;color:#ffd96b;border-radius:999px;padding:5px 18px;font-size:13px;font-weight:1000;letter-spacing:.05em;white-space:nowrap}
.dp-rights-premium-support-seller strong{display:block;color:#173b66;font-size:20px;font-weight:1000;letter-spacing:.04em;text-transform:uppercase;margin-bottom:8px}
.dp-rights-premium-support-seller small{display:block;color:#4b3720;font-size:13px;font-weight:900;line-height:1.35}
.dp-rights-pro-bundle.with-workspace{grid-template-columns:1fr 1fr 1fr;overflow:visible;background:#6a7179;border:1px solid rgba(255,255,255,.24)}
.dp-rights-pro-bundle.with-workspace .dp-rights-pro-workspace-included{grid-column:1 / -1;margin-top:12px;padding:12px 10px;border-radius:15px;background:linear-gradient(135deg,#0f3863,#c7d3de);border:1px solid rgba(255,255,255,.28);box-shadow:inset 0 1px 0 rgba(255,255,255,.18)}
.dp-rights-pro-workspace-included b{display:block;color:#fff;font-size:15px;font-weight:1000;letter-spacing:.05em;text-transform:uppercase}
.dp-rights-pro-workspace-included small{display:block;color:#f4ead0;font-weight:900;margin-top:4px}


/* DP281 — Manual image rendering only */
.manual-content-figure {
  margin: 0 0 18px 0;
  padding: 10px;
  border-radius: 16px;
  border: 1px solid rgba(139, 95, 34, 0.20);
  background: rgba(255, 255, 255, 0.66);
}

.manual-content-image {
  display: block;
  width: 100%;
  max-height: 430px;
  object-fit: contain;
  border-radius: 12px;
  background: rgba(245, 239, 226, 0.78);
}

.manual-content-image-caption {
  margin-top: 8px;
  color: #6d5538;
  font-size: 13px;
  font-weight: 850;
}

/* DP291: μικρότερο πάνελ ντουλάπας μόνο για καλύτερη πρόσβαση στα κάτω κουμπιά. */
#wardrobeColumnModal .wardrobe-column-modal,
#wardrobeColumnModal .wardrobe-column-modal.draggable-modal-card {
  width: min(1240px, calc(100vw - 72px)) !important;
  height: calc(100vh - 92px) !important;
  max-height: calc(100vh - 92px) !important;
  border-radius: 22px !important;
  margin: 32px auto 24px !important;
}

#wardrobeColumnModal .wardrobe-preview-panel {
  min-height: calc(100vh - 360px) !important;
}


/* DP292 — χειρουργικό μάζεμα εξωτερικού πάνελ ντουλάπας */
#wardrobeColumnModal .wardrobe-column-modal,
#wardrobeColumnModal .wardrobe-column-modal.draggable-modal-card {
  width: min(1120px, calc(100vw - 220px)) !important;
  height: calc(100vh - 150px) !important;
  max-height: calc(100vh - 150px) !important;
  margin: 52px auto 42px !important;
  padding: 16px 18px 18px !important;
  border-radius: 22px !important;
}

#wardrobeColumnModal .modal-title {
  padding: 9px 14px !important;
  font-size: 22px !important;
}

#wardrobeColumnModal .wardrobe-designer-toolbar {
  grid-template-columns: repeat(5, minmax(130px, 1fr)) !important;
  gap: 8px !important;
  margin: 8px 0 10px !important;
  padding: 9px !important;
}

#wardrobeColumnModal .wardrobe-tool-btn {
  min-height: 44px !important;
  padding: 8px 11px !important;
  font-size: 14px !important;
}

#wardrobeColumnModal .wardrobe-builder-grid {
  grid-template-columns: minmax(310px, 390px) minmax(540px, 1fr) !important;
  gap: 12px !important;
  margin-top: 10px !important;
}

#wardrobeColumnModal .wardrobe-builder-panel {
  padding: 12px !important;
}

#wardrobeColumnModal .modal-field select {
  min-height: 46px !important;
  font-size: 15px !important;
}

#wardrobeColumnModal .wardrobe-column-actions .modal-primary,
#wardrobeColumnModal .wardrobe-column-actions .modal-secondary,
#wardrobeColumnModal .modal-actions .modal-primary,
#wardrobeColumnModal .modal-actions .modal-secondary {
  min-height: 46px !important;
  font-size: 15px !important;
}

#wardrobeColumnModal .wardrobe-preview-panel {
  min-height: calc(100vh - 390px) !important;
}

#wardrobeColumnModal .wardrobe-front-elevation {
  height: min(480px, calc(100vh - 430px)) !important;
  min-height: 310px !important;
}

/* DP292 — premium popup για όρια/αναβάθμιση ντουλάπας */
.dp-wardrobe-premium-notice-backdrop {
  position: fixed;
  inset: 0;
  z-index: 5200;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(17, 24, 34, 0.38);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}

.dp-wardrobe-premium-notice {
  position: relative;
  width: min(560px, calc(100vw - 40px));
  border-radius: 24px;
  padding: 30px 32px 28px;
  color: #f8f4ea;
  background:
    radial-gradient(circle at 15% 8%, rgba(240, 213, 122, 0.18), transparent 34%),
    linear-gradient(145deg, #152f4f 0%, #213f64 52%, #1b2b3e 100%);
  border: 1px solid rgba(240, 213, 122, 0.52);
  box-shadow: 0 34px 90px rgba(0,0,0,0.36), inset 0 1px 0 rgba(255,255,255,0.16);
}

.dp-wardrobe-premium-badge {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 5px 13px;
  border-radius: 999px;
  background: rgba(240, 213, 122, 0.18);
  border: 1px solid rgba(240, 213, 122, 0.48);
  color: #f6d96e;
  font-size: 13px;
  font-weight: 950;
  letter-spacing: 0.3px;
  margin-bottom: 14px;
}

.dp-wardrobe-premium-notice h2 {
  margin: 0 0 12px;
  font-size: 28px;
  line-height: 1.1;
  font-weight: 1000;
}

.dp-wardrobe-premium-notice p {
  margin: 0;
  color: rgba(255,255,255,0.88);
  font-size: 16px;
  line-height: 1.55;
  font-weight: 760;
}

.dp-wardrobe-premium-ok {
  margin-top: 24px;
  width: 100%;
  min-height: 48px;
  border: 0;
  border-radius: 15px;
  background: linear-gradient(135deg, #f1d979, #caa44c);
  color: #1f2d3d;
  font-size: 16px;
  font-weight: 1000;
  cursor: pointer;
  box-shadow: 0 12px 26px rgba(0,0,0,0.20), inset 0 1px 0 rgba(255,255,255,0.42);
}

.dp-wardrobe-premium-x {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 50%;
  background: rgba(255,255,255,0.12);
  color: #ffffff;
  font-size: 22px;
  font-weight: 900;
  cursor: pointer;
}

@media (max-width: 1180px) {
  #wardrobeColumnModal .wardrobe-column-modal,
  #wardrobeColumnModal .wardrobe-column-modal.draggable-modal-card {
    width: calc(100vw - 52px) !important;
    height: calc(100vh - 92px) !important;
    max-height: calc(100vh - 92px) !important;
    margin: 32px auto 28px !important;
  }

  #wardrobeColumnModal .wardrobe-builder-grid {
    grid-template-columns: 1fr !important;
  }
}


/* DP298 — τελικό μάζεμα σχεδιαστικού ντουλάπας χωρίς αλλαγή μηχανισμού */
#wardrobeColumnModal .wardrobe-column-modal,
#wardrobeColumnModal .wardrobe-column-modal.draggable-modal-card {
  width: min(1380px, calc(100vw - 54px)) !important;
  height: calc(100vh - 58px) !important;
  max-height: calc(100vh - 58px) !important;
  margin: 18px auto 18px !important;
  padding: 12px 14px 14px !important;
  overflow: auto !important;
}

#wardrobeColumnModal .modal-x {
  top: 8px !important;
  right: 10px !important;
}

#wardrobeColumnModal .modal-title {
  padding: 7px 12px !important;
  margin: 0 34px 7px 0 !important;
  font-size: 21px !important;
  line-height: 1.12 !important;
}

#wardrobeColumnModal #wardrobeColumnSummary {
  margin: 0 0 7px !important;
  padding: 7px 10px !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
}

#wardrobeColumnModal .wardrobe-designer-toolbar {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(118px, 1fr)) !important;
  gap: 7px !important;
  margin: 6px 0 8px !important;
  padding: 7px !important;
}

#wardrobeColumnModal .wardrobe-tool-btn {
  min-height: 38px !important;
  padding: 6px 9px !important;
  font-size: 13px !important;
  line-height: 1.15 !important;
  border-radius: 11px !important;
}

#wardrobeColumnModal .wardrobe-builder-grid {
  grid-template-columns: minmax(245px, 315px) minmax(600px, 1fr) !important;
  gap: 10px !important;
  margin-top: 7px !important;
}

#wardrobeColumnModal .wardrobe-builder-panel {
  padding: 9px !important;
  border-radius: 14px !important;
}

#wardrobeColumnModal .modal-field {
  margin-bottom: 8px !important;
}

#wardrobeColumnModal .modal-field span {
  font-size: 13px !important;
  margin-bottom: 4px !important;
}

#wardrobeColumnModal .modal-field select {
  min-height: 38px !important;
  padding: 6px 10px !important;
  font-size: 14px !important;
  border-radius: 10px !important;
}

#wardrobeColumnModal .wardrobe-column-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 7px !important;
  margin-top: 8px !important;
}

#wardrobeColumnModal .wardrobe-column-actions .modal-primary,
#wardrobeColumnModal .wardrobe-column-actions .modal-secondary {
  min-height: 39px !important;
  padding: 7px 9px !important;
  font-size: 13px !important;
  line-height: 1.15 !important;
  border-radius: 11px !important;
}

#wardrobeColumnModal .wardrobe-finish-inline {
  grid-column: 1 / 2 !important;
}

#wardrobeColumnModal .wardrobe-close-inline {
  grid-column: 2 / 3 !important;
}

#wardrobeColumnModal .wardrobe-preview-title {
  margin: 0 0 5px !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
}

#wardrobeColumnModal .wardrobe-current-preview {
  min-height: 42px !important;
  max-height: 74px !important;
  overflow: auto !important;
  padding: 7px !important;
  margin-bottom: 7px !important;
}

#wardrobeColumnModal .wardrobe-locked-preview {
  min-height: calc(100vh - 355px) !important;
  max-height: calc(100vh - 290px) !important;
  overflow: auto !important;
  padding: 7px !important;
  margin-bottom: 6px !important;
}

#wardrobeColumnModal .wardrobe-section-pill,
#wardrobeColumnModal .wardrobe-column-pill {
  padding: 5px 7px !important;
  margin: 3px 4px 3px 0 !important;
  font-size: 12px !important;
}

#wardrobeColumnModal #wardrobeColumnError {
  margin-top: 6px !important;
  padding: 7px 10px !important;
  font-size: 13px !important;
}

@media (max-width: 980px) {
  #wardrobeColumnModal .wardrobe-column-modal,
  #wardrobeColumnModal .wardrobe-column-modal.draggable-modal-card {
    width: calc(100vw - 28px) !important;
    height: calc(100vh - 34px) !important;
    max-height: calc(100vh - 34px) !important;
    margin: 12px auto !important;
  }

  #wardrobeColumnModal .wardrobe-builder-grid {
    grid-template-columns: 1fr !important;
  }

  #wardrobeColumnModal .wardrobe-designer-toolbar {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
