:root {
  --bg: #ececec;
  --card: #ffffff;
  --border: #d5d5d5;
  --text: #222;
  --accent: #176b5c;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: Arial, sans-serif;
  color: var(--text);
  background: var(--bg);
}
.page {
  max-width: 1100px;
  margin: 0 auto;
  padding: 16px;
}
header { padding: 8px 2px 10px; }
h1 { margin: 0 0 6px; font-size: 30px; }
.sub { color: #555; margin: 0; }
.card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 16px;
  margin: 14px 0;
}
.form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
}
.form-grid h2 {
  grid-column: 1 / -1;
  font-size: 18px;
  margin: 10px 0 0;
  padding-top: 8px;
  border-top: 1px solid var(--border);
}
label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 14px;
}
input, select, button, .btn {
  min-height: 42px;
  border-radius: 8px;
  border: 1px solid #bbb;
  padding: 8px 10px;
  font-size: 16px;
}
.checkbox {
  justify-content: flex-end;
  flex-direction: row;
  align-items: center;
  gap: 10px;
}
.actions {
  grid-column: 1 / -1;
}
button, .btn {
  background: var(--accent);
  color: white;
  border: none;
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.secondary { background: #4b5563; }
.actions-inline { display: flex; gap: 10px; flex-wrap: wrap; }
.table-wrap { overflow-x: auto; }
table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}
th, td {
  padding: 8px;
  border: 1px solid var(--border);
  vertical-align: top;
}
thead th { background: #f0f0f0; text-align: left; }
.summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 10px;
  margin-top: 10px;
}
.overview-svg svg, .part-svg svg { width: 100%; height: auto; }
.error-list { border-color: #c25555; }
@media (max-width: 700px) {
  .page { padding: 10px; }
  h1 { font-size: 24px; }
}

textarea{min-height:84px;border-radius:8px;border:1px solid #bbb;padding:8px 10px;font-size:15px;font-family:Arial,sans-serif;}
.toolbar,.import-form{display:flex;gap:10px;flex-wrap:wrap;align-items:end;}
.wide{grid-column:1 / -1;}
.note-block{margin-top:10px;padding:10px 12px;background:#f6f7f8;border:1px solid var(--border);border-radius:8px;}


.button {background: var(--accent); color: white; border: none; cursor: pointer; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; min-height:42px; border-radius:8px; padding:8px 12px; font-size:16px;}
.btn.disabled, .button.disabled {opacity:.55; pointer-events:none; filter:grayscale(.15);}
.quick-actions {display:flex; flex-direction:column; gap:12px;}
.toolbar-title-row {display:flex; justify-content:space-between; gap:12px; align-items:flex-start; flex-wrap:wrap;}
.toolbar-title-row h2 {margin:0; font-size:18px;}
.toolbar-note {margin:0; color:#666; font-size:13px;}
.import-form {padding-top:4px; border-top:1px solid var(--border);}
.file-field {min-width:260px; flex:1;}
.form-shell form {display:flex; flex-direction:column; gap:12px;}
.section-card, .collapsible-output {border:1px solid var(--border); border-radius:10px; background:#fafafa; overflow:hidden;}
.section-card summary, .collapsible-output summary {list-style:none; cursor:pointer; padding:12px 14px; font-weight:700; background:#f4f5f6; border-bottom:1px solid transparent;}
.section-card[open] summary, .collapsible-output[open] summary {border-bottom-color:var(--border);}
.section-card summary::-webkit-details-marker, .collapsible-output summary::-webkit-details-marker {display:none;}
.section-card .form-grid {padding:14px;}
.output-body {padding:14px;}
.sticky-actions {position:sticky; bottom:0; background:linear-gradient(180deg, rgba(255,255,255,0), #fff 22px); padding-top:12px;}
@media (max-width: 700px) {
  .toolbar-title-row {flex-direction:column;}
  .section-card summary, .collapsible-output summary {padding:11px 12px;}
}

/* v12.4 UI polish */
.section-tools {display:flex; gap:8px; justify-content:flex-end; margin-bottom:10px; flex-wrap:wrap;}
.btn.small {min-height:34px; padding:6px 10px; font-size:14px;}
.switch-subtitle {font-weight:700; color:#374151; padding-top:8px; border-top:1px dashed #d8dde3; margin-top:2px;}
.section-card summary, .collapsible-output summary {position:relative; padding-left:36px;}
.section-card summary::before, .collapsible-output summary::before {content:'▸'; position:absolute; left:14px; top:50%; transform:translateY(-50%); color:#555; font-size:15px; transition:transform .15s ease;}
.section-card[open] summary::before, .collapsible-output[open] summary::before {content:'▾';}
.checkbox {background:#fff; border:1px solid #e2e6ea; border-radius:8px; padding:9px 10px; min-height:42px; justify-content:flex-start;}
.checkbox input {min-height:auto; width:18px; height:18px;}
.overview-svg {min-height:360px; display:flex; align-items:stretch;}
.overview-svg svg {width:100%; min-height:360px;}

/* v12.6 presets + batch */
.preset-card h2 { margin-top: 0; }
.preset-select { min-width: 280px; flex: 1; }
.batch-note { color: #666; font-size: 13px; }

/* v13.3 export UX */
.export-grid {display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:12px; width:100%;}
.export-group {border:1px solid var(--border); border-radius:12px; background:#fafafa; padding:12px; display:flex; flex-direction:column; gap:8px; align-items:stretch;}
.export-group h3 {margin:0 0 4px; font-size:15px; color:#374151;}
.export-group-primary {background:#f2fbf6; border-color:#9bd3ae;}
.export-more {border:1px dashed #cbd5e1; border-radius:10px; padding:8px; background:#fff;}
.export-more summary {cursor:pointer; font-weight:700; color:#374151;}
.toolbar.compact {margin-top:8px; gap:8px;}
.toolbar.compact .btn {min-height:34px; font-size:14px; padding:6px 9px;}


/* v13.7 public beta */
.beta-banner {background:#fff7ed; border-color:#fdba74; color:#7c2d12;}
.flash-list {display:flex; flex-direction:column; gap:8px;}
.flash {padding:10px 12px; border-radius:10px; border:1px solid #cbd5e1; background:#f8fafc;}
.flash-success {background:#ecfdf5; border-color:#86efac; color:#14532d;}
.flash-warning {background:#fffbeb; border-color:#fcd34d; color:#78350f;}
.feedback-card {background:#f8fafc;}
.feedback-form {display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px; align-items:end;}
.feedback-form .wide {grid-column:1 / -1;}
.hp-field {position:absolute; left:-9999px; width:1px; height:1px; opacity:0;}

/* v13.9 beta UX refresh */
:root {
  --bg: #f3f5f7;
  --card: #ffffff;
  --border: #d9e0e7;
  --text: #17212b;
  --muted: #667085;
  --accent: #116149;
  --accent-strong: #0b4d3a;
  --accent-soft: #e9f7f1;
  --warn-soft: #fff7ed;
  --warn-border: #fed7aa;
  --shadow: 0 12px 30px rgba(16, 24, 40, 0.06);
}
body {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  line-height: 1.45;
}
.page { max-width: 1180px; padding: 22px; }
.hero {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(280px, .9fr);
  gap: 18px;
  align-items: stretch;
  margin: 8px 0 16px;
  padding: 24px;
  border: 1px solid #cddfd7;
  border-radius: 24px;
  background: radial-gradient(circle at top left, #f4fff9 0, #ffffff 48%, #eef5f3 100%);
  box-shadow: var(--shadow);
}
.compact-hero { grid-template-columns: 1fr; }
.hero h1 { font-size: clamp(30px, 5vw, 52px); line-height: 1.02; letter-spacing: -0.04em; margin: 10px 0 10px; }
.hero-sub { font-size: 17px; max-width: 760px; color: #475467; }
.brand-row { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.beta-pill, .version-pill {
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:999px; padding:5px 10px; font-size:12px; font-weight:800; letter-spacing:.04em;
}
.beta-pill { background:#0f172a; color:#fff; }
.version-pill { background:#e7f7ec; color:#0f6b2f; border:1px solid #9bd3ae; }
.hero-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:18px; }
.hero-steps { display:grid; gap:10px; align-content:center; }
.hero-steps div { display:grid; grid-template-columns:34px 1fr; gap:10px; align-items:center; padding:13px; border-radius:16px; background:rgba(255,255,255,.75); border:1px solid #dbe7e2; }
.hero-steps strong { width:34px; height:34px; border-radius:999px; background:var(--accent); color:#fff; display:flex; align-items:center; justify-content:center; }
.hero-steps span { color:#344054; font-size:14px; }
.card { border-radius: 18px; box-shadow: var(--shadow); border-color: var(--border); }
.beta-banner { background:var(--warn-soft); border-color:var(--warn-border); color:#7c2d12; }
.btn, button { border-radius: 12px; font-weight: 700; transition: transform .08s ease, filter .12s ease; }
.btn:hover, button:hover { filter: brightness(.96); }
.btn:active, button:active { transform: translateY(1px); }
.secondary { background:#f8fafc; color:#334155; border:1px solid #cbd5e1; }
.start-card { border-color:#b9dfc7; background:linear-gradient(180deg,#f8fffb 0,#fff 100%); }
.start-card h2, .feedback-card h2, .quick-actions h2, .form-shell h2 { margin-top:0; }
.section-intro { display:flex; justify-content:space-between; gap:14px; align-items:flex-start; flex-wrap:wrap; margin-bottom:12px; }
.section-intro h2 { margin:0 0 4px; }
.form-grid { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 14px; }
label { color:#344054; font-weight:650; }
input, select, textarea { background:#fff; border-color:#cfd6df; color:#111827; }
input:focus, select:focus, textarea:focus { outline: 3px solid rgba(17,97,73,.16); border-color:#6bb392; }
.helper, .hint, .toolbar-note, small.hint { color:var(--muted); font-weight:500; }
.section-card { background:#fff; border-radius:16px; border-color:#d9e0e7; }
.section-card summary, .collapsible-output summary, .feedback-card > summary {
  background:#f8fafc;
  display:flex;
  flex-direction:column;
  gap:2px;
  min-height:58px;
  justify-content:center;
}
.feedback-card > summary { list-style:none; cursor:pointer; font-weight:800; padding:14px 16px 14px 38px; position:relative; border-radius:16px; }
.feedback-card[open] > summary { border-bottom:1px solid var(--border); border-radius:16px 16px 0 0; }
.feedback-card > summary::before { content:'▸'; position:absolute; left:16px; top:50%; transform:translateY(-50%); color:#555; }
.feedback-card[open] > summary::before { content:'▾'; }
.section-card summary span, .collapsible-output summary span { font-size:16px; color:#1f2937; }
.section-card summary small { color:#667085; font-weight:600; font-size:12px; }
.section-core { border-color:#a8d8ba; }
.section-core summary { background:#f3fbf6; }
.advanced-section summary, .expert-section summary { background:#fbfcfd; }
.checkbox { border-color:#d7dee7; background:#fff; }
.export-group { border-radius:16px; background:#fff; }
.export-group-primary { background:#f2fbf6; }
.sticky-actions { z-index: 5; margin: 0 -16px -16px; padding: 14px 16px 16px; border-top:1px solid #edf0f2; background:rgba(255,255,255,.92); backdrop-filter: blur(8px); }
.sticky-actions .btn { width: 100%; max-width: 320px; font-size:17px; min-height:48px; }
.primary-action { box-shadow:0 10px 24px rgba(17,97,73,.18); }
.compact-import { align-items:flex-end; }
.compact-import .file-field { flex:1 1 260px; min-width:min(260px, 100%); }
.compact-import .btn { flex:0 0 auto; min-height:36px; padding:7px 12px; font-size:14px; }
.export-group .btn { width:100%; min-height:38px; padding:7px 11px; font-size:14px; }
.export-group-primary .btn:not(.secondary) { min-height:42px; font-size:15px; }
.summary-grid > div { background:#f8fafc; border:1px solid #e2e8f0; border-radius:12px; padding:10px; }
.table-wrap { border-radius:14px; border:1px solid #e2e8f0; }
.table-wrap table { margin:0; }
th { background:#f8fafc; color:#344054; }
@media (max-width: 820px) {
  .page { padding: 12px; }
  .hero { grid-template-columns: 1fr; padding:18px; border-radius:20px; }
  .hero h1 { font-size:34px; }
  .hero-steps { grid-template-columns:1fr; }
  .section-intro { flex-direction:column; }
  .sticky-actions .btn { max-width:none; }
  .compact-import .btn { flex-basis:100%; }
}

/* v13.10 start workflow + batch overview */
.start-choice-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:14px; margin-top:14px; }
.start-choice { border:1px solid #dbe7e2; border-radius:16px; background:#fff; padding:14px; display:flex; flex-direction:column; gap:10px; align-items:flex-start; }
.start-choice h3 { margin:0; font-size:16px; }
.start-choice p { margin:0; color:#667085; font-size:13px; line-height:1.45; }
.preset-row { display:flex; gap:8px; flex-wrap:wrap; width:100%; align-items:end; }
.preset-row select { flex:1; min-width:180px; }
.compact-import { border-top:0; padding-top:0; width:100%; }
.batch-overview-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:14px; margin-top:12px; }
.batch-overview-card { border:1px solid var(--border); border-radius:14px; background:#fff; padding:12px; }
.batch-overview-card h3 { margin:0 0 4px; font-size:15px; }
.batch-overview-card .overview-svg { min-height:230px; margin-top:8px; }
.batch-overview-card .overview-svg svg { min-height:230px; }
.batch-edit-form .table-wrap input[type="number"] { min-width:80px; max-width:120px; }

/* v13.11 onboarding presets */
.start-choice-grid-flow {
  grid-template-columns: minmax(0, 2fr) minmax(240px, .85fr) minmax(260px, .9fr);
}
.start-choice-primary { grid-column: span 1; }
.preset-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 10px;
  margin-top: 12px;
}
.preset-card {
  min-height: 118px;
  padding: 14px;
  border: 1px solid #cfded6;
  border-radius: 16px;
  background: #ffffff;
  color: #17212b;
  text-align: left;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 7px;
  box-shadow: 0 5px 14px rgba(16,24,40,.04);
}
.preset-card strong { font-size: 15px; line-height: 1.25; }
.preset-card span { color: var(--muted); font-size: 13px; font-weight: 600; line-height: 1.35; }
.preset-card:hover, .preset-card.selected {
  border-color: #58a47f;
  background: #f2fbf6;
}
.preset-disclaimer {
  margin: 12px 0 0;
  font-size: 12px;
  color: #667085;
  line-height: 1.45;
}
@media (max-width: 980px) {
  .start-choice-grid-flow { grid-template-columns: 1fr; }
  .start-choice-primary { grid-column: auto; }
}

/* v13.15 UI fixes */
.start-choice-grid-flow {
  grid-template-columns: minmax(0, 1.45fr) minmax(220px, .8fr) minmax(240px, .85fr);
  align-items: start;
}
.start-choice, .start-choice-primary { min-width: 0; overflow-wrap: anywhere; }
.preset-card-grid { grid-template-columns: repeat(auto-fit, minmax(165px, 1fr)); }
.preset-card { width: 100%; min-width: 0; white-space: normal; }
.preset-card strong, .preset-card span { overflow-wrap: anywhere; }
@media (max-width: 1100px) {
  .start-choice-grid-flow { grid-template-columns: 1fr; }
  .preset-card-grid { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
}

/* v13.16 MVP polish */
.value-card {background:linear-gradient(180deg,#ffffff 0,#f8fffb 100%); border-color:#b9dfc7;}
.value-grid {display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:14px;}
.value-grid h2 {font-size:17px; margin:0 0 8px;}
.check-list {list-style:none; padding:0; margin:8px 0 0; display:grid; gap:7px;}
.check-list li {position:relative; padding-left:25px; color:#344054;}
.check-list li::before {content:'✓'; position:absolute; left:0; top:0; color:var(--accent); font-weight:900;}
.demo-strip {display:flex; gap:8px; flex-wrap:wrap; align-items:center; padding:10px; margin:12px 0; border:1px dashed #b9dfc7; background:#f7fffa; border-radius:14px;}
.demo-strip strong {font-size:14px; color:#174b3e; margin-right:4px;}
.output-checklist {border-color:#b9dfc7; background:#fbfffd;}
.door-decor-custom {transition:opacity .12s ease;}
@media (max-width: 820px){
  .value-grid {grid-template-columns:1fr;}
  .demo-strip .btn {width:100%;}
}

/* v13.17 UX cleanup */
.hero-compact-v17 {
  grid-template-columns: 1fr;
  padding: 18px 20px;
  gap: 8px;
}
.hero-compact-v17 h1 { font-size: clamp(28px, 4vw, 42px); margin: 6px 0; }
.hero-compact-v17 .hero-sub { max-width: 900px; }
.value-card-collapsible summary,
.advanced-start summary,
.inline-details summary {
  cursor: pointer;
  font-weight: 800;
  color: #26323d;
}
.value-card-collapsible .value-grid { margin-top: 14px; }
.start-head h2 { margin: 0 0 6px; }
.roadmap-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 14px 0;
}
.roadmap-grid div {
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 9px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid #dbe7e2;
  border-radius: 14px;
  background: #ffffff;
}
.roadmap-grid strong {
  width: 32px; height: 32px; border-radius: 50%;
  background: var(--accent); color: white;
  display: inline-flex; align-items: center; justify-content: center;
}
.start-choice-grid-v17 { display: grid; grid-template-columns: 1fr; gap: 14px; }
.demo-card-grid, .preset-card-grid-v17 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
}
.demo-card, .preset-card-grid-v17 .preset-card {
  color: var(--text);
  background: #fff;
  border: 1px solid #d7e1e7;
  border-radius: 16px;
  padding: 12px;
  min-height: 118px;
  display: grid;
  grid-template-columns: 42px 1fr;
  grid-template-rows: auto auto;
  gap: 4px 10px;
  text-align: left;
  align-items: start;
}
.demo-card strong, .preset-card-grid-v17 strong { grid-column: 2; font-size: 14px; }
.demo-card small, .preset-card-grid-v17 span:not(.preset-picto) { grid-column: 2; color: var(--muted); font-size: 12px; line-height: 1.3; }
.demo-card:hover, .preset-card-grid-v17 .preset-card:hover { border-color: #8ac6a6; background: #f8fffb; }
.demo-icon, .preset-picto {
  grid-row: 1 / span 2;
  width: 42px; height: 54px;
  border-radius: 8px;
  border: 2px solid #6b7280;
  background: linear-gradient(180deg, #ffffff 0%, #eef2f6 100%);
  position: relative;
  display: inline-block;
}
.demo-icon::after, .preset-picto::after { content: ''; position: absolute; inset: 8px; border-top: 2px solid #9ca3af; border-bottom: 2px solid #9ca3af; }
.gap-icon { width: 24px; margin-left: 8px; }
.wall-icon { height: 38px; margin-top: 8px; }
.shoe-icon { height: 32px; margin-top: 14px; }
.preset-picto.wardrobe { height: 62px; }
.preset-picto.basecab { height: 34px; margin-top: 18px; }
.preset-picto.wallcab { height: 34px; margin-top: 2px; }
.preset-picto.shelf::before { content:''; position:absolute; top:50%; left:0; right:0; border-top:2px solid #9ca3af; }
.preset-picto.shelf::after { inset:0; border-left:2px solid #9ca3af; left:50%; top:0; bottom:0; border-top:0; border-bottom:0; }
.preset-picto.lowcab { height: 28px; margin-top: 24px; }
.preset-picto.bookcase { height: 62px; }
.start-choice-secondary { background: #f8fafc; }
.inline-details {
  border: 1px dashed #cbd5e1;
  border-radius: 12px;
  padding: 10px 12px;
  background: #fff;
}
.inline-details .form-grid { margin-top: 10px; }
.compact-grid { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
.safety-note {
  border: 1px solid #f6c26b;
  background: #fff8e6;
  border-radius: 12px;
  padding: 10px 12px;
  color: #5a3d05;
}
label small, .hint small { color: var(--muted); font-size: 12px; line-height: 1.3; }
@media (min-width: 980px) {
  .start-choice-grid-v17 { grid-template-columns: minmax(0, .9fr) minmax(0, 1.4fr); }
  .start-choice-secondary { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
  .demo-card, .preset-card-grid-v17 .preset-card { grid-template-columns: 34px 1fr; min-height: 94px; }
  .demo-icon, .preset-picto { width: 34px; height: 46px; }
}

/* v13.23 assembly planner */
.assembly-views details { margin-top: 14px; border: 1px solid #d9e0e7; border-radius: 14px; padding: 10px 12px; background: #fff; }
.assembly-views summary { cursor: pointer; font-weight: 700; color: #182230; }
.assembly-svg { overflow-x: auto; border-radius: 12px; background: #fff; }
.assembly-table input, .assembly-table select { width: min(100%, 130px); padding: 7px 8px; font-size: 13px; }
.assembly-table td:nth-child(1) input { min-width: 150px; }
.assembly-table td:nth-child(8) input { min-width: 180px; }
.inline-form { margin-top: 12px; }
.warn-text { color: #b42318; font-weight: 800; }
.btn.danger { background: #fff1f1; color: #9b1c1c; border-color: #f4b4b4; }
.checkbox.mini { display: inline-flex; gap: 5px; align-items: center; font-size: 12px; }

/* v13.24 Room Planner Lite */
.wall-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 12px 0 16px; }
.wall-tab { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; border: 1px solid #d6dde3; border-radius: 14px; text-decoration: none; color: #182230; background: #fff; font-weight: 800; }
.wall-tab span { font-size: 12px; font-weight: 500; color: #59636e; }
.wall-tab.active { background: #111827; color: #fff; border-color: #111827; }
.wall-tab.active span { color: #d8dee9; }
.room-views details { margin-top: 14px; border: 1px solid #d9e0e7; border-radius: 14px; padding: 10px 12px; background: #fff; }
.room-svg { overflow-x: auto; max-height: 78vh; }
.room-form-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.room-module-table { min-width: 1180px; }
.room-module-table input, .room-module-table select { min-width: 78px; max-width: 145px; padding: 6px 7px; font-size: 12px; }
.room-module-table td:nth-child(4) input { min-width: 150px; }
.room-module-table td:nth-child(11) input { min-width: 160px; }
.room-height-cell { min-width: 220px; }
.room-height-cell select { display: block; margin-bottom: 4px; min-width: 150px; }
.room-height-cell input { width: 96px; display: inline-block; margin-right: 4px; }
@media (max-width: 900px) {
  .wall-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .room-form-grid { grid-template-columns: 1fr; }
}

/* v13.25 room planner integration */
.room-next-step {
  margin-top: 12px;
  border: 1px solid #d7e0ea;
  border-radius: 12px;
  padding: 10px 12px;
  background: #f8fbff;
}
.room-next-step summary {
  cursor: pointer;
  font-weight: 700;
}
.mini-link {
  display: inline-block;
  padding: 6px 8px;
  border-radius: 8px;
  border: 1px solid #cfd8e3;
  background: #fff;
  color: #1f5f99;
  text-decoration: none;
  font-size: 0.84rem;
  line-height: 1.15;
  white-space: normal;
}
.mini-link:hover { background: #eef6ff; }
.room-module-table th,
.room-module-table td { vertical-align: top; }

/* v13.26 readability hardening */
.page,
.card,
.hero,
.hero-main,
.hero-actions,
.section-intro,
.summary-grid > div,
.start-choice,
.start-choice-primary,
.start-choice-secondary,
.value-grid > div,
.roadmap-grid div,
.demo-card,
.preset-card,
.export-group,
.table-wrap,
.assembly-views details,
.room-views details,
.part-layout > *,
.part-drawing,
.warning-box,
.svg-wrap,
.room-height-cell,
.wall-tab {
  min-width: 0;
}

button,
.btn,
.button,
.mini-link {
  max-width: 100%;
  white-space: normal;
  text-align: center;
  overflow-wrap: anywhere;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
select,
textarea {
  width: 100%;
  max-width: 100%;
}

label,
p,
li,
.toolbar-note,
.helper,
.hint,
.wall-tab span,
.mini-link,
.section-card summary,
.collapsible-output summary,
.feedback-card > summary,
.value-card-collapsible summary,
.advanced-start summary,
.inline-details summary,
.room-next-step summary {
  overflow-wrap: anywhere;
}

td,
th {
  overflow-wrap: normal;
}

td.num,
th.num,
td.dim-value,
th.dim-value {
  white-space: nowrap;
  word-break: normal;
  overflow-wrap: normal;
}

.hero-actions,
.actions-inline,
.toolbar,
.import-form,
.section-tools,
.export-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: stretch;
}

.hero-actions .btn,
.actions-inline .btn,
.toolbar .btn,
.import-form .btn,
.export-actions .btn {
  flex: 1 1 220px;
  max-width: 100%;
}

.compact-import .btn,
.toolbar.compact .btn,
.section-tools .btn.small {
  flex: 0 1 auto;
}

.table-wrap,
.svg-wrap {
  max-width: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.warning-box {
  margin-top: 12px;
  padding: 12px 14px;
  border: 1px solid #f4c389;
  border-radius: 12px;
  background: #fff7ed;
  color: #7c2d12;
}

.export-actions {
  margin-top: 14px;
}

.part-card {
  margin-top: 12px;
  border: 1px solid #d9e0e7;
  border-radius: 14px;
  background: #fff;
  overflow: hidden;
}

.part-card summary {
  padding: 12px 14px;
  cursor: pointer;
  background: #f8fafc;
}

.part-layout {
  display: grid;
  grid-template-columns: minmax(240px, 1.05fr) minmax(0, 1fr);
  gap: 14px;
  padding: 14px;
}

.checkbox.mini {
  flex-wrap: wrap;
  justify-content: flex-start;
  min-width: 0;
}

.wall-tab {
  overflow-wrap: anywhere;
}

.room-height-cell {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: flex-start;
}

.room-height-cell select {
  margin-bottom: 0;
  flex: 1 1 150px;
}

.room-height-cell input {
  flex: 1 1 96px;
  margin-right: 0;
}

/* v13.27 start mode screen */
.start-mode-page {
  min-height: 100vh;
  display: grid;
  align-content: center;
  gap: 18px;
}

.start-mode-hero {
  margin-bottom: 0;
}

.start-mode-panel {
  width: 100%;
}

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

.start-mode-option {
  min-height: 180px;
  border: 1px solid #d8e2ec;
  border-radius: 8px;
  background: #fff;
  color: var(--text);
  padding: 18px;
  text-align: left;
  cursor: pointer;
  display: grid;
  align-content: start;
  gap: 10px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

.start-mode-option strong {
  font-size: 19px;
  line-height: 1.25;
}

.start-mode-option span {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.45;
}

.start-mode-option:hover,
.start-mode-option:focus-visible {
  border-color: #8ac6a6;
  background: #f8fffb;
  outline: none;
}

.selected-start-mode {
  margin-top: 0;
}

@media (max-width: 760px) {
  .hero-actions .btn,
  .actions-inline .btn,
  .toolbar .btn,
  .import-form .btn,
  .export-actions .btn {
    flex-basis: 100%;
  }

  .compact-import .btn,
  .toolbar.compact .btn,
  .section-tools .btn.small {
    flex-basis: auto;
  }

  .batch-overview-grid {
    grid-template-columns: 1fr;
  }

  .assembly-table td:nth-child(1) input,
  .assembly-table td:nth-child(8) input,
  .room-module-table td:nth-child(4) input,
  .room-module-table td:nth-child(11) input {
    min-width: 0;
    width: 100%;
  }

  .part-layout {
    grid-template-columns: 1fr;
  }

  .start-mode-page {
    align-content: start;
  }

  .start-mode-grid {
    grid-template-columns: 1fr;
  }

  .start-mode-option {
    min-height: 0;
  }
}

@media (max-width: 560px) {
  .wall-tabs {
    grid-template-columns: 1fr;
  }
}


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

.start-segment-card {
  border: 1px solid #d8e2ec;
  border-radius: 8px;
  background: #fff;
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

.start-segment-card h2 {
  margin: 8px 0 6px;
  font-size: 22px;
}

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

.start-step {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: #e8f5ee;
  color: #17623a;
  font-weight: 800;
  font-size: 13px;
}

.project-type-grid {
  display: grid;
  gap: 10px;
}

.project-type-option {
  border: 1px solid #d8e2ec;
  border-radius: 8px;
  background: #f8fafc;
  color: var(--text);
  padding: 13px;
  text-align: left;
  cursor: pointer;
  display: grid;
  gap: 4px;
}

.project-type-option strong {
  font-size: 15px;
  line-height: 1.3;
}

.project-type-option span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.project-type-option:hover,
.project-type-option:focus-visible {
  border-color: #8ac6a6;
  background: #f8fffb;
  outline: none;
}

.demo-card {
  text-decoration: none;
  color: inherit;
}

@media (max-width: 860px) {
  .start-flow-grid {
    grid-template-columns: 1fr;
  }
}
