.dckasm-app{--da-forest:#b91c1c;--da-ink:#292929;--da-line:#ead6d6;--da-muted:#6b6262;font:inherit;color:var(--da-ink);background:#fff;border:1px solid var(--da-line);border-radius:16px;overflow:hidden;max-width:1530px;margin:0 auto;box-shadow:0 8px 24px #32101010}
.dckasm-app *{box-sizing:border-box}.dckasm-app h2,.dckasm-app h3,.dckasm-app p{margin-top:0}.dckasm-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:21px 24px;border-bottom:1px solid var(--da-line)}.dckasm-eyebrow{font-size:11px;letter-spacing:.11em;color:#9f2020;font-weight:800}.dckasm-header h2{font-size:24px;line-height:1.25;margin:5px 0 8px}.dckasm-header p{font-size:13px;line-height:1.45;color:var(--da-muted);margin:0}.dckasm-chip{border:1px solid #e9b7b7;border-radius:999px;white-space:nowrap;padding:5px 11px;font-size:11px;color:#a51c1c}
.dckasm-layout{display:grid;grid-template-columns:minmax(210px,270px) minmax(320px,1fr) minmax(245px,290px);min-height:660px}.dckasm-layout>aside{padding:17px 16px}.dckasm-library{border-right:1px solid var(--da-line)}.dckasm-project{border-left:1px solid var(--da-line)}.dckasm-app h3{font-size:15px;margin:0 0 13px}.dckasm-label{display:block;font-size:11px;font-weight:700;color:var(--da-muted);margin-bottom:6px}.dckasm-search{width:100%;height:38px;border:1px solid #e1cece!important;border-radius:8px!important;padding:7px 10px!important;font:inherit;font-size:13px!important;background:#fff!important}.dckasm-cats{display:flex;flex-wrap:wrap;gap:5px;margin:13px 0}.dckasm-app button,.dckasm-load{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;line-height:1.25;font-family:inherit;background:#fff;border:1px solid #e1c9c9;border-radius:8px;color:#982424;padding:8px 9px;font-size:12px;font-weight:600;text-align:center}.dckasm-app button:hover,.dckasm-load:hover{border-color:#c44242}.dckasm-app button:focus-visible,.dckasm-load:focus-within,.dckasm-app input:focus-visible{outline:2px solid #b91c1c;outline-offset:1px}.dckasm-app button.active,.dckasm-app button.dckasm-primary{color:#fff;background:var(--da-forest);border-color:var(--da-forest)}.dckasm-cat{font-size:11px!important;padding:6px 8px!important}.dckasm-items{display:grid;gap:8px;max-height:508px;overflow-y:auto;overscroll-behavior:contain}.dckasm-card{border:1px solid #eddfdf;border-radius:10px;background:#fffafa;padding:10px}.dckasm-card b{display:block;overflow-wrap:anywhere;font-size:12px;margin-bottom:5px}.dckasm-card small{display:block;color:var(--da-muted);font-size:11px;margin-bottom:8px}.dckasm-card button{width:100%;background:#fff0f0!important;border-color:#e8b9b9!important}.dckasm-empty{font-size:12px;color:var(--da-muted)}
.dckasm-workspace{min-width:0;background:linear-gradient(165deg,#ffffff,#ffffff);display:flex;flex-direction:column}.dckasm-toolbar{display:flex;flex-wrap:wrap;gap:5px;padding:10px;border-bottom:1px solid var(--da-line)}.dckasm-toolbar button{padding:6px 9px}.dckasm-toolsep{width:10px}.dckasm-canvas{display:block;width:100%;min-height:450px;height:470px;touch-action:none;cursor:grab}.dckasm-canvas:active{cursor:grabbing}.dckasm-legend{display:flex;gap:13px;flex-wrap:wrap;padding:0 14px 10px;color:#706666;font-size:11px}.dckasm-disclaimer{margin:auto 0 0;background:#fffaf0;border-top:1px solid #efe5d0;color:#746951;font-size:12px;line-height:1.5;padding:12px 14px}
.dckasm-summary{font-weight:700;font-size:12px;padding:9px;border-radius:8px;background:#fff2f2;margin-bottom:12px}.dckasm-selected-title{font-weight:700;font-size:12px;overflow-wrap:anywhere;margin:10px 0}.dckasm-placement{border:1px solid #eabcbc;border-radius:10px;padding:10px;background:#fffafa;margin:10px 0}.dckasm-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.dckasm-fields label{font-size:10px;color:var(--da-muted)}.dckasm-fields input{display:block;min-width:0;width:100%;border:1px solid #e1c3c3;border-radius:6px;background:white;padding:7px 4px;margin-top:4px;font-size:12px}.dckasm-small-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin:9px 0}.dckasm-small-actions button{font-size:11px;padding:6px 4px}.dckasm-remove{color:#a01919!important;font-size:11px!important;width:100%}.dckasm-project-items{display:grid;gap:5px;max-height:270px;overflow:auto}.dckasm-proj-row{padding:8px;border-radius:8px;border:1px solid #e9dddd;background:#fffafa;text-align:left!important;justify-content:space-between!important;gap:8px;width:100%;font-weight:500!important}.dckasm-proj-row.is-selected{border-color:#b91c1c;background:#fff0f0}.dckasm-proj-row span{min-width:0;overflow-wrap:anywhere}.dckasm-proj-row small{color:#7b6666;font-size:10px;white-space:nowrap}.dckasm-alert{font-size:12px;color:#9e3a22;min-height:22px;margin:12px 0}.dckasm-save{border-top:1px solid #e9d5d5;padding-top:12px;display:grid;gap:8px}.dckasm-save>*{width:100%}.dckasm-load{position:relative}.dckasm-load input{position:absolute;opacity:0;width:1px;height:1px;overflow:hidden}.dckasm-smallprint{margin:14px 0 0;font-size:11px;line-height:1.5;color:#746868}
@media(max-width:1140px){.dckasm-layout{grid-template-columns:minmax(200px,260px) 1fr}.dckasm-project{grid-column:1 / -1;border-left:0;border-top:1px solid var(--da-line)}.dckasm-project-items{max-height:220px}.dckasm-canvas{height:420px;min-height:400px}}
@media(max-width:700px){.dckasm-header{align-items:start;flex-direction:column;padding:18px}.dckasm-layout{display:flex;flex-direction:column}.dckasm-library{border-right:0;border-bottom:1px solid var(--da-line)}.dckasm-items{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));max-height:300px}.dckasm-canvas{height:350px;min-height:350px}.dckasm-project{border-left:0}.dckasm-header h2{font-size:21px}}

/* v0.4.2 — two fixed side-by-side workspaces: model preview and project assembly */
.dckasm-app{max-width:1650px}
.dckasm-layout.dckasm-dual{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.13fr);min-height:0;align-items:stretch}
.dckasm-browser,.dckasm-builder{min-width:0;display:flex;flex-direction:column}
.dckasm-browser{border-right:1px solid var(--da-line);background:#fff}
.dckasm-builder{background:#ffffff}
.dckasm-panehead{padding:16px 18px 10px}
.dckasm-panehead h3{font-size:17px;margin:4px 0 5px}
.dckasm-panehead p{margin:0;color:var(--da-muted);font-size:12px;line-height:1.45}
.dckasm-step{font-size:10px;font-weight:800;letter-spacing:.13em;color:#a92626}
.dckasm-preview-description{display:flex;justify-content:space-between;align-items:start;gap:12px;padding:7px 18px 10px}
.dckasm-preview-name{font-size:13px;overflow-wrap:anywhere}
.dckasm-preview-dimensions{white-space:nowrap;font-size:11px;color:var(--da-muted)}
.dckasm-preview-stage{margin:0 14px;background:linear-gradient(155deg,#ffffff,#ffffff);border:1px solid #f0dede;border-radius:12px;overflow:hidden}
.dckasm-preview-toolbar{display:flex;align-items:center;gap:5px;padding:6px 9px;border-bottom:1px solid #ecdada}
.dckasm-preview-toolbar button{min-width:32px;padding:5px 7px}
.dckasm-preview-tip{margin-left:auto;font-size:10px;color:#736767}
.dckasm-preview-canvas{display:block;width:100%;height:305px;touch-action:none;cursor:grab}
.dckasm-preview-canvas:active{cursor:grabbing}
.dckasm-preview-action{display:flex;gap:9px;align-items:center;flex-wrap:wrap;padding:12px 15px 14px;border-bottom:1px solid var(--da-line)}
.dckasm-preview-action .dckasm-primary{padding:10px 14px;font-size:12px}
.dckasm-preview-hint{font-size:10px;color:#746969}
.dckasm-library{border-right:0;padding:14px 16px 17px;min-width:0;flex:1}
.dckasm-lib-head,.dckasm-project-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.dckasm-lib-head h3,.dckasm-project-top h3{margin:0 0 10px;font-size:14px}
.dckasm-library-count{font-size:11px;color:var(--da-muted)}
.dckasm-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:250px;overflow:auto}
.dckasm-card{padding:8px;min-width:0}
.dckasm-card.is-previewing{border-color:#c52121;background:#fff2f2;box-shadow:inset 0 0 0 1px #c5212144}
.dckasm-card b{font-size:11px;margin-bottom:3px;line-height:1.3}
.dckasm-card small{margin-bottom:5px;font-size:10px}
.dckasm-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.dckasm-card-actions button{width:100%;font-size:11px!important;padding:6px 3px!important;white-space:normal}
.dckasm-card-actions .dckasm-card-view{background:#fff!important}
.dckasm-card-actions .dckasm-card-add{background:#ffe7e7!important}
.dckasm-workspace{min-width:0}
.dckasm-panehead-project{background:#ffffff}
.dckasm-toolbar{padding:8px 12px}
.dckasm-canvas{height:430px;min-height:430px}
.dckasm-project{border-left:0;border-top:1px solid var(--da-line);padding:13px 15px 16px}
.dckasm-summary{margin-bottom:10px;white-space:nowrap}
.dckasm-project-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:12px}
.dckasm-placement{margin:0 0 10px}
.dckasm-project-items{max-height:145px}
.dckasm-alert{min-height:17px;margin:7px 0}
.dckasm-save{display:flex;flex-wrap:wrap;gap:7px;padding-top:10px}
.dckasm-save>*{width:auto;flex:1 1 150px}
.dckasm-smallprint{margin-top:9px}
@media(max-width:1140px){.dckasm-layout.dckasm-dual{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.dckasm-project{grid-column:auto;border-top:1px solid var(--da-line)}.dckasm-preview-canvas{height:275px}.dckasm-canvas{height:390px;min-height:390px}.dckasm-project-columns{grid-template-columns:1fr}.dckasm-items{max-height:210px}}
@media(max-width:790px){.dckasm-layout.dckasm-dual{display:flex;flex-direction:column}.dckasm-browser{border-right:0;border-bottom:2px solid var(--da-line)}.dckasm-preview-canvas{height:300px}.dckasm-canvas{height:380px;min-height:380px}.dckasm-items{grid-template-columns:repeat(2,minmax(0,1fr));max-height:225px}.dckasm-project-columns{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.dckasm-header{padding:14px}.dckasm-preview-dimensions{white-space:normal;text-align:right}.dckasm-preview-canvas{height:270px}.dckasm-canvas{height:330px;min-height:330px}.dckasm-project-columns{grid-template-columns:1fr}.dckasm-card-actions{grid-template-columns:1fr}.dckasm-preview-hint{display:none}.dckasm-save>*{flex-basis:100%}}

/* v0.4.2: white + Deni red theme, including all active control states. */
.dckasm-app{--da-forest:#b91c1c;--da-ink:#282323;--da-line:#ead6d6;--da-muted:#716565;background:#fff}
.dckasm-browser,.dckasm-builder,.dckasm-workspace,.dckasm-panehead-project{background:#fff}
.dckasm-preview-stage{background:#fff}
.dckasm-app button.active,.dckasm-app button.dckasm-primary{background:#b91c1c!important;color:#fff!important;border-color:#b91c1c!important}
.dckasm-app button.active:hover,.dckasm-app button.dckasm-primary:hover{background:#991b1b!important;border-color:#991b1b!important}
.dckasm-app button:focus-visible,.dckasm-app input:focus-visible{outline:2px solid #b91c1c;outline-offset:2px}
.dckasm-app .dckasm-card.is-previewing,.dckasm-app .dckasm-proj-row.is-selected{border-color:#b91c1c;background:#fff1f1}
.dckasm-app .dckasm-card-add{background:#ffe7e7!important;color:#961d1d!important;border-color:#e6aaaa!important}
.dckasm-app .dckasm-card-view:hover{color:#961d1d!important;border-color:#d25555!important}
.dckasm-preview-action .dckasm-preview-hint{color:#726767}
/* 0.4.3: auto cabinet snap, countertop/backsplash/plinth/trim controls. */
.dckasm-auto{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-bottom:1px solid #eddfdf;padding:7px 13px;font-size:11px;color:#635b5b}
.dckasm-auto label{display:inline-flex;align-items:center;gap:5px;font-weight:700;color:#a32121;cursor:pointer}
.dckasm-app input[type=checkbox]{accent-color:#b91c1c;vertical-align:middle}
.dckasm-finish-options{border-top:1px solid #ead6d6;padding:14px 15px 15px;background:#fff}
.dckasm-finish-options h3{margin:0!important}
.dckasm-finish-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.dckasm-finish-head button{font-size:11px!important;padding:5px 9px!important}
.dckasm-finish-options p{font-size:11px;line-height:1.5;color:#716666;margin:8px 0 10px}
.dckasm-finish-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px}
.dckasm-finish-controls label{border:1px solid #ead5d5;background:#fffafa;border-radius:8px;padding:9px 8px;display:flex;align-items:center;gap:7px;font-size:12px;cursor:pointer}
.dckasm-finish-controls label:has(input:checked){border-color:#b91c1c;background:#fff0f0;color:#8d1717;font-weight:700}
.dckasm-back-height{display:flex;gap:7px;align-items:center;margin:11px 0;font-size:11px;color:#5b5555}
.dckasm-back-height input{max-width:90px;width:90px;border:1px solid #dec8c8;border-radius:6px;padding:6px;font-size:12px}
.dckasm-finish-results{border:1px solid #eedada;border-radius:9px;overflow:hidden}
.dckasm-finish-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px;padding:9px 11px;font-size:11px;border-bottom:1px solid #f2e7e7}
.dckasm-finish-row strong{font-size:12px;font-variant-numeric:tabular-nums}
.dckasm-finish-total{font-weight:800;color:#9f1c1c;background:#fff5f5;padding:10px 11px;font-size:12px}
.dckasm-finish-options .dckasm-finish-warning{margin:8px 0 0;font-size:10px;color:#796d6d}
@media(max-width:680px){.dckasm-finish-controls{grid-template-columns:1fr 1fr}}
@media(max-width:370px){.dckasm-finish-controls{grid-template-columns:1fr}}

/* v0.4.5 – cabinet pricing status, kept separate from optional finishes */
.dckasm-cabinet-pricing{border-top:1px solid #edd6d6;padding:14px 15px;background:#fff}
.dckasm-cabinet-pricing h3{margin:0 0 8px;font-size:14px;color:#8f1919}
.dckasm-cabinet-pricing-status{font-size:13px;font-weight:600;color:#393030;line-height:1.55;margin:0 0 8px}
.dckasm-combined-total{font-weight:700;font-size:13px;color:#a11a1a;line-height:1.5;margin:0 0 8px}
.dckasm-price-small{font-size:11px;line-height:1.5;color:#736868;margin:0}

/* v0.4.8 – per-cabinet, safe removable shelves */
.dckasm-shelf-option{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:12px 0 4px;padding:9px 10px;border:1px solid #ebcaca;background:#fff8f8;border-radius:8px;color:#982424;font-size:12px;font-weight:700;cursor:pointer}
.dckasm-shelf-option[hidden]{display:none!important}
.dckasm-shelf-option small{display:block;width:100%;font-size:10px;font-weight:400;color:#786565;line-height:1.45}
.dckasm-shelf-unsupported{opacity:.65;cursor:not-allowed}

/* v0.4.9 – Corpus dekor selector, material previews and PNG export */
.dckasm-decor{border-top:1px solid #ead6d6;padding:17px 15px;background:#fff}
.dckasm-decor-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}
.dckasm-decor-heading h3{font-size:15px!important;margin:0!important;color:#8f1919}
.dckasm-decor-count{font-size:11px;color:#746262}
.dckasm-decor>p{font-size:11px;color:#766565;line-height:1.55;margin:8px 0 12px}
.dckasm-decor-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.dckasm-decor-controls label{font-size:11px;font-weight:650;color:#5b5252;display:grid;gap:5px}
.dckasm-decor-controls input,.dckasm-decor-controls select{width:100%;min-width:0;border:1px solid #e5caca;border-radius:7px;padding:8px 9px;background:#fff;font-size:12px;color:#242121}
.dckasm-decor-searchlabel{grid-column:1/-1}
.dckasm-decor-current{font-size:12px;font-weight:700;color:#9b2525;margin:13px 0 9px}
.dckasm-decor-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;max-height:250px;overflow-y:auto}
.dckasm-app .dckasm-decor-tile{display:grid;gap:4px;min-width:0;border:1px solid #ecdbdb;padding:4px;background:white!important;color:#4a4444!important;border-radius:7px;text-align:left;cursor:pointer}
.dckasm-decor-tile img{display:block;width:100%;height:56px;object-fit:cover;border-radius:4px;background:#f4f4f4}
.dckasm-decor-tile span{font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dckasm-app .dckasm-decor-tile.is-selected{border:2px solid #b91c1c;background:#fff4f4!important;padding:3px;color:#9d1919!important}
.dckasm-decor-footer{display:flex;justify-content:space-between;gap:8px;margin-top:8px}
.dckasm-decor-footer button{font-size:11px!important;padding:7px 10px!important}
.dckasm-decor-footer button[hidden]{display:none}
.dckasm-app .dckasm-decor-note{font-size:10px;line-height:1.55;color:#8a6767;margin:10px 0 0}
@media(max-width:440px){.dckasm-decor-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

.dckasm-blum-toggle{font:600 12px system-ui;color:#583333;display:inline-flex;gap:5px;align-items:center;margin:0 5px}.dckasm-blum-toggle input{accent-color:#b91c1c}

/* v0.5.8: clean bright studio scene, legible hardware status and prices */
.dckasm-preview-stage{background:#eef3f6;border:1px solid #dce5ea;box-shadow:0 8px 20px #26344310, inset 0 1px #fff}
.dckasm-preview-toolbar{background:#fafcfd;border-color:#e0e9ef}
.dckasm-workspace{background:#f5f8fa}
.dckasm-canvas,.dckasm-preview-canvas{background:#eaf0f3}
.dckasm-panehead-project{background:#fff}
.dckasm-hardware-summary{font-size:11px;color:#536679;line-height:1.45;margin:0 0 10px;padding:8px 10px;background:#f0f5f8;border:1px solid #dbe5ee;border-radius:7px}
.dckasm-preview-hardware{display:block;width:100%;font-size:11px;color:#4d6473;margin-left:auto;text-align:right}
.dckasm-preview-description{flex-wrap:wrap}
.dckasm-proj-row small{white-space:normal;text-align:right}
.dckasm-cabinet-pricing{border-left:3px solid #b91c1c;padding-left:12px}
