@font-face{font-family:Assistant;src:url('/brand/Assistant-Variable.ttf')}*{box-sizing:border-box}body{margin:0;background:#f7f6f3;color:#20201e;font-family:Assistant,Arial,sans-serif;font-size:17px}button,input,textarea{font:inherit}button,a.button{border:1px solid #222;background:#222;color:white;border-radius:5px;padding:10px 19px;cursor:pointer;text-decoration:none;display:inline-block;min-height:44px}button.secondary,a.secondary{background:transparent;color:#222;border-color:#ccc}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #b08a53;outline-offset:3px}.brand{background:#171717;color:#fff;display:flex;align-items:center;gap:25px;padding:15px 5vw}.brand img{display:block;width:90px;height:76px;object-fit:contain}.brand h1{font-weight:300;font-size:25px;margin:3px 0}.eyebrow{font-size:10px;letter-spacing:3px}.demo{margin-inline-start:auto;font-size:13px;color:#d4c4ab}.card{background:#fff;border:1px solid #e5e1d9;border-radius:8px;padding:25px;margin-bottom:18px}.entry{max-width:480px;margin:55px auto;padding:28px}.entry h2,h2{font-size:27px;font-weight:400;margin:0 0 12px}.entry p,.muted{color:#726e65}.entry input{width:100%;margin:10px 0 20px}input,textarea{border:1px solid #c9c5bd;border-radius:5px;padding:11px;background:white;max-width:100%}label{display:block;margin:12px 0 5px}.code{direction:ltr;letter-spacing:7px;text-align:center;font-size:26px}.workspace{max-width:1440px;margin:28px auto;display:grid;grid-template-columns:230px minmax(0,1fr);gap:24px;padding:0 4vw}.sidebar{align-self:start;position:sticky;top:18px}.cabinet-buttons{display:grid;gap:9px}.cabinet-buttons button{background:white;color:#333;border-color:#e0dcd4;text-align:start;padding:14px}.cabinet-buttons button.active{border-color:#b08a53;background:#f8f3eb}.cabinet-buttons small{display:block;font-size:13px;color:#787264;margin-top:4px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.section-head h2{margin:0}.progress{font-size:14px;color:#746957}.toolbar{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}.toolbar button{font-size:15px;padding:8px 13px;background:#fff;color:#333;border-color:#d3cec5}.toolbar button.active{border-color:#b08a53;background:#f7efe2}.imos-plot{width:100%;height:clamp(430px,calc(100vh - 250px),650px);position:relative;overflow:hidden;background:#f1f1ef;border-radius:7px;direction:ltr}.imos-plot canvas{display:block;width:100%;height:100%}.viewer-hidden{display:none}.preview-caption{color:#827665;font-size:13px;margin-top:9px}.dimension-panel{border-top:1px solid #eee;margin-top:12px;padding-top:10px}.dimension-panel svg{display:block;width:100%;max-height:370px}.dimension-panel p{font-size:14px}.facts{width:100%;border-collapse:collapse;font-size:16px}.facts th,.facts td{text-align:start;border-bottom:1px solid #ece8e1;padding:11px 7px;vertical-align:top}.facts th{width:30%;font-weight:600;color:#665f54}.signature-box{border:1px solid #cfc8bc;background:#fff;border-radius:7px;overflow:hidden}.signature-box canvas{display:block;width:100%;height:160px;touch-action:none}.signature-box svg{width:100%;height:100px}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:15px}.signature-heading{display:flex;align-items:center;justify-content:space-between}.signature-heading button{font-size:14px;padding:5px 14px}.approval-note{font-size:14px;color:#776e60}.saved{padding:14px;background:#eef3ec;border:1px solid #cbd8c4;border-radius:6px}.correction{background:#faf0e8;border-color:#ead2bd;white-space:pre-wrap}.correction-form textarea{width:100%;min-height:120px}.staff{max-width:1050px;margin:30px auto;padding:0 20px}.staff details{margin-top:14px}.invitation{background:#f6f1e8;overflow-wrap:anywhere;padding:18px;border-radius:6px;margin-top:14px}.invitation code{direction:ltr;display:block;font-size:28px;letter-spacing:5px;margin:12px 0}.staff-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #eee}.staff-row div{min-width:0}a{color:#70532d}.staff-comment{white-space:pre-wrap}.report{margin-top:20px}.report a{margin:8px 0}.summary{max-width:900px;margin:35px auto;padding:0 20px}dialog{border:1px solid #cfc9bf;border-radius:10px;max-width:440px;width:calc(100% - 36px);padding:27px}dialog::backdrop{background:#0006}#message{position:fixed;bottom:20px;inset-inline:20px;margin:auto;background:#29251e;color:#fff;padding:13px 20px;max-width:700px;border-radius:7px;z-index:10;display:none}#message:not(:empty){display:block}footer{text-align:center;color:#8d877c;font-size:12px;padding:25px}.terms{font-size:14px;color:#665f54}.terms p{white-space:pre-wrap}.mobile-selector{display:none}.home-links{display:grid;gap:12px}.staff-status{font-size:14px;color:#6d6251}
@media(max-width:1000px){.workspace{grid-template-columns:180px minmax(0,1fr);gap:16px;padding:0 20px}.card{padding:18px}.imos-plot{height:400px}}
@media(max-width:820px){.workspace{display:block;margin:18px auto;padding:0 16px}.sidebar{position:static}.sidebar .cabinet-buttons{display:none}.sidebar h2{font-size:19px}.mobile-selector{display:block;width:100%;padding:12px;font:inherit;border:1px solid #d6cbbb;border-radius:5px;background:#fff;margin-bottom:16px}.sidebar.card{padding:15px}.brand{gap:16px;padding:12px 18px}.brand img{width:72px;height:60px}.brand h1{font-size:23px}.demo{max-width:95px;font-size:12px}.imos-plot{height:380px}}
@media(max-width:480px){body{font-size:16px}.entry{margin:28px 16px;padding:22px}.brand{gap:10px;padding:10px 14px}.brand img{width:57px;height:54px}.brand h1{font-size:21px}.eyebrow{font-size:8px;letter-spacing:1px}.demo{max-width:72px}.card{padding:15px}.workspace{padding:0 12px}.imos-plot{height:340px}.section-head{align-items:start}.section-head h2{font-size:23px}.facts{font-size:14px}.facts th{width:34%}.toolbar{gap:5px}.toolbar button{padding:8px 10px;font-size:14px}.actions button{flex:1}.signature-box canvas{height:145px}.staff-row{align-items:start;flex-wrap:wrap}.signature-heading h2{font-size:22px}}
[data-imos-role="notice"]{display:none}
.imos-real-data-viewer .toolbar button{border-radius:999px;border-color:#e5e5e5;box-shadow:0 2px 5px #00000008}
/* Source material and per-article specifications in the approval page. */
.material-swatch{width:64px;height:44px;object-fit:cover;border:1px solid #ded7ca;border-radius:4px;vertical-align:middle;margin-inline-end:12px}
[data-source-spec][hidden]{display:none!important}
[data-source-spec] h4{margin:22px 0 8px;font-weight:600}
.materials-spec{border:1px solid #e5e1d9;border-radius:6px;margin:14px 0}
.materials-spec summary{padding:15px;cursor:pointer;min-height:52px;font-weight:600}
.materials-spec summary .ui-icon{vertical-align:middle;margin-inline:6px}
.materials-spec .approval-note{margin:0;padding:0 12px 12px}
.material-table-scroll{max-height:min(55vh,560px);overflow:auto;overscroll-behavior:contain;padding:0 10px}
.customer-materials thead{position:sticky;top:0;background:white;z-index:1}
.customer-materials th:last-child{white-space:nowrap}
.materials-spec summary:focus-visible,.material-table-scroll:focus-visible{outline:3px solid #b08a53;outline-offset:3px}
.customer-materials td:nth-child(3),.customer-materials td:nth-child(4){white-space:nowrap;overflow-wrap:normal}
.customer-materials td:nth-child(2){overflow-wrap:normal}
.customer-materials td:first-child{padding:0;min-width:92px}
.material-type{background:transparent;color:#333;border:0;font:inherit;padding:6px;text-align:start;width:100%}
.material-type{display:flex;align-items:center;gap:6px}
.material-type .ui-icon{width:18px;height:18px;opacity:.8}
.material-type span{min-width:0;overflow-wrap:normal}
.selected-material{background:#f5efe5}
.material-type[aria-pressed="true"]{color:#76562b;font-weight:600}
.material-type:disabled{cursor:default}
.ui-icon{width:20px;height:20px;flex-shrink:0;color:#967747}
.toolbar button,.spec-heading{display:inline-flex;align-items:center;gap:7px}
.spec-heading{display:flex}
@media(max-width:480px){.customer-materials th,.customer-materials td{padding-inline:4px}.material-type{padding:4px}.toolbar .ui-icon{width:17px;height:17px}.materials-spec summary{padding:12px;font-size:16px}}
@media(max-width:480px){.material-table-scroll{padding-inline:4px}.customer-materials th:last-child{white-space:normal}.material-unit{display:block;white-space:nowrap}}
/* Customer explanation replaces inspection-parser notices after source loading. */
[data-customer-orbit="true"]:not([data-imos-source-appearance]) [data-imos-role="glb-warning"]{display:none}

.measure-selector{margin:0;font-size:14px}.measure-selector select{display:block;font:inherit;padding:6px;border:1px solid #d3cec5;border-radius:5px}.measure-selector[hidden]{display:none}.publication input,.publication textarea{width:100%}.publication textarea{min-height:140px}.facts{overflow-wrap:anywhere}.facts th{width:auto}.source-articles th:first-child{width:40%}
.dimension-context{margin:0 0 10px;font-size:14px;color:#665f54}.dimension-context[hidden]{display:none}
/* Keep long order navigation reachable inside the visible desktop sidebar. */
.sidebar.card{display:flex;flex-direction:column;max-height:var(--cabinet-menu-height,calc(100dvh - 36px))}
.sidebar>h2,.sidebar>.progress,.sidebar>.approval-note{flex-shrink:0}
.sidebar>.approval-note{margin-bottom:0}
.cabinet-buttons{min-height:0;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;grid-auto-rows:max-content;padding:4px;margin-inline:-4px;scroll-padding:4px}
.cabinet-buttons:focus-visible{outline:2px solid #b08a53;outline-offset:2px}
@media(min-width:821px) and (max-height:480px){.sidebar.card{padding:12px}.sidebar>h2{font-size:18px;margin-bottom:0}.sidebar>.progress{margin:8px 0}.sidebar>.approval-note{margin-top:8px;font-size:12px}.cabinet-buttons button{padding:9px;font-size:16px}.cabinet-buttons small{font-size:12px;margin-top:2px}}
@media(max-width:820px){.sidebar.card{display:block;max-height:none}}

.entry-order{color:#8a704d;font-size:1.1rem;margin:12px 0 20px}.material-type{flex-wrap:wrap;gap:8px}.material-role{display:inline-flex;align-items:center;gap:6px}.brand h1{overflow-wrap:anywhere}
#wall-mode{font:inherit;font-size:14px;color:#66563e;background:#fff;border:1px solid #e7e2d9;border-radius:22px;padding:10px 12px;max-width:100%}
#wall-mode[hidden]{display:none}
.signature-unavailable{border:0;padding:0;margin:0;min-width:0}
.signature-readiness{background:#f6f1e8;border-right:3px solid #b08a53;padding:14px 16px;line-height:1.7;margin:0 0 22px}
.signature-readiness b,.signature-readiness span{display:block}
.signature-unavailable .signature-box{position:relative;background:#faf9f6}
.signature-unavailable canvas{pointer-events:none;touch-action:auto}
.signature-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#786f61;pointer-events:none;padding:12px;text-align:center}
.workflow-banner{margin-bottom:24px}.workflow-banner h2{margin:0;font-size:22px}.workflow-banner .approval-note{margin-bottom:0;max-width:720px}.workflow-banner .section-head{flex-wrap:wrap;gap:16px}.workflow-banner button{display:inline-flex;align-items:center;gap:8px}
.party-progress{display:flex;flex-wrap:wrap;gap:12px 28px;padding-top:16px;margin-top:16px;border-top:1px solid #e7e2d9;font-size:15px}.party-progress b{display:block;color:#76562b;font-weight:600}
.customer-share-form,.customer-access{border-top:1px solid #e7e2d9;margin-top:20px;padding-top:16px}.customer-share-form[hidden]{display:none}.share-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.share-fields label{display:block}.share-fields input{width:100%;margin-top:6px}.customer-access textarea{width:100%;min-height:160px;font:inherit;overflow-wrap:anywhere}.customer-access .actions{flex-wrap:wrap}
.peer-status{border:1px solid #e7e2d9;border-radius:12px;padding:16px 24px;background:#faf8f4;margin-bottom:24px;line-height:1.6}.peer-status b{color:#76562b;margin-inline-end:16px}.peer-status p{margin-bottom:0}.peer-comment,.staff-comment{white-space:pre-wrap;overflow-wrap:anywhere}.office-parties{padding:12px 0}.office-parties details{padding:10px 0;border-top:1px solid #eee}
@media(max-width:600px){.share-fields{grid-template-columns:1fr;gap:10px}.workflow-banner .section-head{display:block}.workflow-banner #share-customer{margin-top:14px;width:100%;justify-content:center}.party-progress{gap:12px;justify-content:space-between}.peer-status{padding:14px 16px}}

.staff .section-head .party-progress{padding:0;margin:0;border:0}

/* Customer sharing: one bounded native dialog, reversible close, readable access. */
.share-dialog{max-width:600px;width:calc(100% - 32px);max-height:calc(100dvh - 32px);overflow:auto;padding:28px;overscroll-behavior:contain}
.share-heading{display:flex;align-items:start;justify-content:space-between;gap:16px}.share-heading h2{margin:6px 0 0;font-size:28px}.share-order{font-size:14px;color:#776e60}.share-close{font-size:25px;padding:0;width:44px;min-width:44px;line-height:1}
.share-dialog .customer-share-form,.share-dialog .customer-access{border:0;margin-top:20px;padding-top:0}.share-dialog .share-fields{grid-template-columns:1fr;gap:6px}.share-dialog .share-fields label{margin:6px 0}.share-dialog .share-primary{width:100%;margin-top:16px;justify-content:center}
.access-code{text-align:center;background:#f7f3ec;border:1px solid #e7dece;border-radius:8px;padding:16px;margin:20px 0}.access-code span{display:block;font-size:14px;color:#776e60}.access-code bdi{display:block;font-size:34px;letter-spacing:8px;font-weight:600;color:#222}.customer-link{width:100%;font-size:14px}.share-success{color:#52644a}.share-test-link{display:block;text-align:center;padding:12px;min-height:44px}.share-local-note{background:#f7f3ec;border-inline-start:3px solid #b08a53;padding:12px 14px;font-size:14px;line-height:1.5;color:#645642}.share-mail-status{border-top:1px solid #e7e2d9;margin-top:22px;padding-top:16px}.share-mail-status span{font-weight:600}.share-mail-status p{font-size:14px;color:#776e60;margin:6px 0 0}.share-done{width:100%;margin-top:20px}.entry-error{color:#963d2d!important}
@media(max-width:480px){.share-dialog{padding:20px;width:calc(100% - 24px);max-height:calc(100dvh - 24px)}.share-heading h2{font-size:25px}.access-code bdi{font-size:32px}}

body:has(.share-dialog[open]){overflow:hidden}.share-dialog .share-heading{position:sticky;top:0;background:#fff;z-index:2;padding-bottom:12px}.share-dialog .share-done{position:sticky;bottom:0;background:#fff}

.partner-brand .partner-name{display:block;font-size:27px;font-weight:600;overflow-wrap:anywhere}.partner-brand>div{min-width:0}.partner-brand h1{font-size:20px}.partner-brand .demo{flex-shrink:0}@media(max-width:480px){.partner-brand .partner-name{font-size:24px}.partner-brand h1{font-size:18px}}

/* Figma 52:61/97/156 — one touch action row; display controls live in a sheet. */
#cabinet-view{position:relative}
.viewer-navigation{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:#20201e}
.viewer-navigation-title{flex:1;min-width:0;text-align:center;font-size:16px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.viewer-navigation button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:48px;min-width:44px;padding:10px;border:1px solid #e5e1d9;border-radius:8px;background:#fff;color:#20201e;flex-shrink:0}
.viewer-navigation button[hidden]{display:none}
#cabinet-view .toolbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:12px 0 0}
#cabinet-view .toolbar>button{min-width:0;min-height:56px;padding:8px 4px;font-size:15px;display:flex;align-items:center;justify-content:center;gap:6px;border-radius:8px;white-space:nowrap}
#cabinet-view .toolbar>button[aria-pressed="true"]{background:#f2ebdf;border-color:#967747;color:#76562b}
#cabinet-view .measure-selector{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 0 0;padding:10px 12px;background:#f6f5f2;border-radius:8px}
#cabinet-view .measure-selector[hidden]{display:none}
#cabinet-view .measure-selector select{font:inherit;min-height:44px;max-width:75%;background:white}
#cabinet-view .dimension-context{margin:8px 0 0;line-height:1.4}
#cabinet-view .viewer-gesture-hint{font-size:13px;color:#64645f;text-align:center;margin:10px 0}
.viewer-options{border:1px solid #e5e1d9;border-radius:16px;width:min(440px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:0;background:#f6f5f2;color:#20201e;overflow:auto;overscroll-behavior:contain;z-index:10001}
.viewer-options::backdrop{background:rgba(25,27,30,.35)}
.viewer-options-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;background:#f6f5f2;z-index:2;padding:16px;border-bottom:1px solid #e5e1d9}
.viewer-options-heading h2{font-size:20px;font-weight:600;margin:0}
.viewer-options-heading button{min-height:48px;background:#fff;border-radius:8px}
.viewer-options-content{padding:16px}
.viewer-option-group{margin:0 0 20px}.viewer-option-group:last-child{margin:0}
.viewer-option-group h3{font-size:16px;font-weight:600;margin:0 0 10px}
.viewer-option-row{display:flex;gap:8px;flex-wrap:wrap}
.viewer-option-row button,.viewer-option-row select{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;min-height:48px;min-width:0;padding:10px 8px;background:white;color:#20201e;border:1px solid #e5e1d9;border-radius:8px;font:inherit;font-size:15px}
.viewer-option-row button[aria-pressed="true"]{background:#f2ebdf;border-color:#967747}
.viewer-option-row [hidden]{display:none!important}
body:has(.viewer-options[open]),body.viewer-fullscreen-open{overflow:hidden}
#cabinet-view.viewer-fullscreen{position:fixed!important;inset:0!important;z-index:10000!important;width:100%!important;height:100dvh!important;max-height:none!important;border-radius:0!important;background:#f3f4f5;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);display:flex;flex-direction:column;isolation:isolate}
#cabinet-view.viewer-fullscreen[data-review-theme="dark"]{background:#20262d;color:#f5f5f5}
.viewer-fullscreen .viewer-navigation{margin:0;padding:8px 12px;background:white;flex-shrink:0}
.viewer-fullscreen .imos-plot{flex:1;min-height:0!important;height:auto!important;max-height:none!important;border-radius:0}
.viewer-fullscreen .imos-plot canvas{display:block;width:100%!important;height:100%!important}
#cabinet-view.viewer-fullscreen .toolbar{flex-shrink:0;margin:0;padding:10px 12px;background:white}
#cabinet-view.viewer-fullscreen .measure-selector{flex-shrink:0;margin:0;border-radius:0}
#cabinet-view.viewer-fullscreen .dimension-context:not([hidden]){display:block;flex-shrink:0;margin:0;padding:6px 12px;background:white;color:#64645f;font-size:13px;max-height:60px;overflow:auto}
.viewer-fullscreen>p:not(.dimension-context),.viewer-fullscreen>[data-imos-role="notice"],.viewer-fullscreen>[data-imos-role="glb-warning"]{display:none}
@media(max-width:600px){
 #cabinet-view .toolbar>button{flex-direction:column;gap:4px;font-size:14px}
 #cabinet-view .toolbar .ui-icon{width:20px;height:20px}
 .viewer-navigation{gap:6px}.viewer-navigation-title{font-size:15px}.viewer-navigation button{padding:8px;min-height:48px}
 .viewer-options{position:fixed;inset:auto 0 0;width:100%;margin:0;border-radius:18px 18px 0 0;max-height:85dvh;padding-bottom:env(safe-area-inset-bottom)}
 .viewer-option-row:has(#reference-person){flex-direction:column}
 .viewer-option-row:has(#wall-mode){flex-direction:column}
}

/* Measurement style is independent from door state; no additional primary action. */
#cabinet-view .measure-selector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px}
#cabinet-view .measure-selector label{margin:0;min-width:0;font-size:14px}
#cabinet-view .measure-selector select{width:100%;max-width:100%;margin-top:4px}
@media(max-width:380px){#cabinet-view .measure-selector{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:8px;padding:8px}#cabinet-view .measure-selector select{font-size:14px;padding:6px}}

/* One merged material disclosure for the complete cabinetry approval unit. */
.source-articles{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 16px}
.source-articles>div{min-width:0;max-width:100%}.source-articles button{min-height:44px;max-width:100%;white-space:normal;overflow-wrap:anywhere;padding:8px 10px;font-size:14px;background:white;color:#64645f;border-color:#e5e1d9;border-radius:8px}
.source-articles button[aria-pressed="true"]{background:#f2ebdf;color:#76562b;border-color:#967747}
.customer-features th{width:38%;font-weight:600}.customer-features td{overflow-wrap:anywhere}

.customer-materials tr.related-material{background:#faf7f1}

.material-summary{font-size:1rem;margin-bottom:18px}.material-summary th{width:105px;white-space:nowrap}.material-summary td{overflow-wrap:anywhere}.material-summary .ui-icon{width:18px;height:18px;vertical-align:middle;margin-inline-end:7px;color:var(--bronze)}

#cabinet-view:not([data-controls-ready="true"]) .toolbar>button:not([data-imos-action="open-doors"]):not([data-imos-action="open-drawers"]):not(#dimensions):not(.viewer-options-placeholder){display:none!important}
#cabinet-view .viewer-navigation-pending{min-height:48px}.interactive-hint{font-size:14px;color:#76562b;padding:8px 12px;background:#f2ebdf;border-radius:8px;margin:8px 0}.interactive-hint[hidden]{display:none}
.viewer-fullscreen #interactive-hint:not([hidden]){display:block;flex-shrink:0;margin:0;border-radius:0}

#cabinet-view .measure-selector{flex-wrap:wrap}#cabinet-view .measure-selector label{min-width:0;flex:1 1 150px}#cabinet-view .measure-selector label:has(#dimension-article){flex-basis:100%;display:flex;align-items:center;gap:12px}#dimension-article{width:100%;max-width:100%!important;min-width:0}

#cabinet-view .measure-selector label:has(#dimension-article){grid-column:1/-1}

.viewer-loading{height:100%;min-height:240px;display:flex;align-items:center;justify-content:center;gap:12px;color:#706857;font-size:18px}
.viewer-loading-spinner{width:24px;height:24px;border:2px solid #e5ded1;border-top-color:#a38d65;border-radius:50%;animation:viewer-loading-spin .9s linear infinite;flex-shrink:0}
.viewer-load-failed{flex-direction:column;padding:24px;text-align:center}.viewer-load-failed p{margin:0}
@keyframes viewer-loading-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.viewer-loading-spinner{animation:none}}

.viewer-splash{flex-direction:column;gap:0;padding:32px 20px;background:#f3f3f2;color:#272521;text-align:center}
.viewer-splash-logo{width:156px;max-width:48%;height:164px;object-fit:contain;margin-bottom:24px}
.viewer-splash .splash-logo-dark{display:none}
.viewer-splash-partner{font-size:26px;font-weight:600;max-width:100%;overflow-wrap:anywhere;margin-bottom:30px}
.viewer-splash-title{font-size:18px;font-weight:600}
.viewer-splash-note{font-size:14px;color:#777269;margin-top:14px}
.viewer-splash-track{width:112px;height:2px;background:#ddd6c9;overflow:hidden;border-radius:2px;margin-top:22px}
.viewer-splash-track>span{display:block;width:40%;height:100%;background:#a38d65;animation:viewer-splash-progress 1.6s ease-in-out infinite}
[data-review-theme="dark"] .viewer-splash{background:#242827;color:#f0ede7}
[data-review-theme="dark"] .viewer-splash-note{color:#bcb6aa}
[data-review-theme="dark"] .viewer-splash .splash-logo-light{display:none}
[data-review-theme="dark"] .viewer-splash .splash-logo-dark{display:block}
@keyframes viewer-splash-progress{0%{transform:translateX(-110%)}100%{transform:translateX(360%)}}
@media(prefers-reduced-motion:reduce){.viewer-splash-track>span{animation:none;transform:translateX(75%)}}

.viewer-stage{position:relative;min-width:0}
.viewer-stage-loading{position:absolute;inset:0;z-index:2;overflow:hidden;border-radius:7px;direction:rtl}
.viewer-stage[aria-busy="true"] .imos-plot{visibility:hidden}
.viewer-stage-loading .viewer-splash{height:100%;min-height:0}
.viewer-fullscreen .viewer-stage{display:flex;flex:1;min-height:0}

#cabinet-view.viewer-fullscreen #dimension-layout-note:not([hidden]){display:block;flex-shrink:0;margin:0;padding:6px 12px;background:#f6f5f2;font-size:13px;line-height:1.35;max-height:70px;overflow:auto}

.viewer-option-row #viewer-presentation-control{flex:1;min-width:0}.viewer-option-row #dimension-presentation{width:100%;min-height:52px;justify-content:flex-start;padding:12px;gap:10px;text-align:start}.viewer-option-row #dimension-presentation>span{flex:1}.viewer-option-row #dimension-presentation>.ui-icon:last-child{width:18px;height:18px;opacity:.7}.viewer-presentation-hint{font-size:13px;color:#64645f;line-height:1.4;margin:6px 0 0}
#cabinet-view:not([data-controls-ready="true"]) #viewer-presentation-control{display:none}

.viewer-option-row #viewer-dimension-color{width:100%;min-width:0}
#dimension-color-toggle{width:100%;justify-content:flex-start;gap:10px;text-align:start;min-height:52px;padding:12px}
#dimension-color-toggle .dimension-color-name{flex:1}
#dimension-color-toggle>.ui-icon{width:18px;height:18px}
.dimension-color-dot{display:inline-block;flex-shrink:0;width:20px;height:20px;border-radius:50%;border:1px solid #b7b2a8;background:#70532d}
#dimension-color-panel{border:0;padding:0;margin:10px 0 0;min-width:0}
.dimension-color-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.viewer-option-row .dimension-color-choice{font-size:14px;gap:5px;padding:8px 6px}
.dimension-color-choice[data-color="auto"]{grid-column:1/-1}
.dimension-color-choice>.ui-icon{width:16px;height:16px;opacity:0}
.dimension-color-choice[aria-pressed="true"]>.ui-icon{opacity:1}
.dimension-custom-color{display:flex;align-items:center;gap:8px;min-height:48px;margin:10px 0 0;padding:8px 12px;background:white;border:1px solid #e5e1d9;border-radius:8px;font-size:15px;cursor:pointer}
.dimension-custom-color span{flex:1}
.dimension-custom-color input[type="color"]{width:44px;height:44px;min-width:44px;padding:3px;border:1px solid #c9c5bd;border-radius:6px;cursor:pointer}
#cabinet-view:not([data-controls-ready="true"]) #viewer-dimension-color{display:none}

#viewer-article-selection{width:100%}
#article-selection{width:100%;min-height:52px;justify-content:flex-start}
.article-selection-picker{display:grid;gap:8px;margin-top:12px;font-size:14px}
.article-selection-picker[hidden],.article-selection-bar[hidden]{display:none}
.article-selection-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;font-size:14px}
.article-selection-bar>span{min-width:0}
.article-selection-bar button{min-height:44px;white-space:nowrap;flex-shrink:0}
@media(max-width:420px){.article-selection-bar{align-items:stretch;flex-direction:column;gap:8px}.article-selection-bar button{justify-content:center}}


/* Figma 82:323 / 82:360: one visible measurement choice, two compact mobile rows. */
#cabinet-view .dimension-type-control{grid-column:1/-1;min-width:0;border:0;padding:0;margin:0;--measurement-button-radius:8px}
#cabinet-view .dimension-type-control legend{padding:0;margin-bottom:8px;font-size:14px;color:#20201e}
#cabinet-view .dimension-type-buttons{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
#cabinet-view .dimension-type-buttons button{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:48px;padding:8px;font:inherit;font-size:14px;line-height:1.2;white-space:nowrap;background:#fff;color:#20201e;border:1px solid #e5e2db;border-radius:var(--measurement-button-radius);box-shadow:none}
#cabinet-view .dimension-type-buttons button[aria-pressed="true"]{background:#f2ebdf;border-color:#967747;color:#70532d}
#cabinet-view .dimension-type-buttons button:focus-visible{outline:2px solid #70532d;outline-offset:3px}
#cabinet-view .dimension-type-buttons button:disabled{opacity:.45;cursor:default}
#cabinet-view .dimension-type-buttons .measurement-icon{display:block;width:18px;height:18px;flex-shrink:0}
@media(max-width:600px){
 #cabinet-view .dimension-type-buttons{grid-template-columns:repeat(6,minmax(0,1fr))}
 #cabinet-view .dimension-type-buttons button{grid-column:span 2;flex-direction:column;min-height:60px}
 #cabinet-view .dimension-type-buttons button[data-dimension-axis="outer"],#cabinet-view .dimension-type-buttons button[data-dimension-axis="all"]{grid-column:span 3;flex-direction:row;min-height:48px}
}

/* Keep the production-review phase together and the order number easy to scan. */
.brand>div{min-width:0;flex:1}.brand>a,.brand .demo{flex-shrink:0}.brand h1{line-height:1.25;text-wrap:balance}.brand-order{display:block;font-size:15px;font-weight:400;margin-top:6px}

/* Short landscape viewports keep the native measurement choices beside the view picker. */
@media(orientation:landscape) and (max-height:600px){
 #cabinet-view.viewer-fullscreen .measure-selector{grid-template-columns:minmax(150px,1fr) minmax(0,3fr);gap:8px;padding:6px 12px;max-height:32dvh;overflow:auto}
 #cabinet-view.viewer-fullscreen .measure-selector label:has(#dimension-article){grid-column:auto;display:block}
 #cabinet-view.viewer-fullscreen .dimension-type-control{grid-column:auto}
 #cabinet-view.viewer-fullscreen .dimension-type-buttons{grid-template-columns:repeat(5,minmax(0,1fr))}
 #cabinet-view.viewer-fullscreen .dimension-type-buttons button{grid-column:auto;min-height:44px;padding:6px 4px;font-size:13px;gap:4px;flex-direction:column}
 #cabinet-view.viewer-fullscreen .dimension-type-control legend{margin-bottom:4px}
}

/* Views belongs to the navigation row; the closed trigger never covers the model. */
.viewer-navigation{position:relative}.viewer-view-menu{position:static;margin:0;flex-shrink:0;z-index:25;direction:rtl}
.viewer-view-menu summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:6px;min-height:48px;padding:8px;border:1px solid #deded9;border-radius:8px;background:white;color:#795824;font-size:14px}
.viewer-view-menu summary::-webkit-details-marker{display:none}.viewer-view-menu summary:focus-visible{outline:2px solid #2563eb;outline-offset:2px}
.viewer-viewpoints{position:absolute;inset-inline-end:0;top:calc(100% + 6px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:270px;max-width:calc(100vw - 48px);padding:10px;border:1px solid #deded9;border-radius:12px;background:white;box-shadow:0 8px 24px #00000016;direction:rtl}
.viewer-viewpoints button{min-width:0;min-height:48px;padding:6px 4px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:13px;transition:background-color 140ms ease,transform 140ms cubic-bezier(.23,1,.32,1)}
.viewer-viewpoints button.active,.viewer-viewpoints button[aria-pressed=true]{background:#f2ebdf;color:#795824;border-color:#8d7750}.viewer-viewpoints button:active{transform:scale(.97)}.viewer-viewpoints button:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.viewer-viewpoints .ui-icon,.viewer-view-menu summary .ui-icon{width:20px;height:20px;flex-shrink:0}
@media(max-width:600px){.viewer-navigation{gap:6px}.viewer-navigation-title{font-size:14px}.viewer-view-menu summary>.ui-icon:last-child{display:none}.viewer-navigation button{padding:8px}.viewer-view-menu summary .ui-icon{width:18px;height:18px}}.viewer-view-menu:not([open]) .viewer-viewpoints{display:none}
@media(prefers-reduced-motion:reduce){.viewer-viewpoints button{transition:none;transform:none}}

/* Approved Figma measurement sheet: no editor content participates in canvas layout. */
#cabinet-view .measurement-summary{height:56px;min-height:56px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 12px;border-top:1px solid #e5e2db;background:#fff;color:#20201e;font-size:16px}
.measurement-summary-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.measurement-summary[data-active="false"] .measurement-summary-label{font-size:13px;font-weight:400;color:#64645f}
.measurement-summary button{min-height:44px;min-width:68px;padding:8px 12px;border-radius:8px;background:#fff}
.measurement-summary button[hidden]{display:none}
.measurement-sheet{position:fixed;inset:auto 0 0;margin:0 auto;width:min(100%,480px);max-width:100%;max-height:85dvh;padding:12px 16px calc(16px + env(safe-area-inset-bottom));border:1px solid #e5e2db;border-radius:20px 20px 0 0;background:#fff;color:#20201e;box-shadow:0 -6px 24px #0000001f;overflow:auto;animation:measurement-sheet-enter 180ms cubic-bezier(.23,1,.32,1)}
.measurement-sheet::backdrop{background:transparent}
.measurement-sheet-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.measurement-sheet-heading h2{margin:0;font-size:22px;font-weight:600}
.measurement-sheet button{min-height:48px;border-radius:8px}
.measurement-sheet-close{background:#fff;padding:8px 12px}
#cabinet-view .measurement-sheet .measure-selector{margin:0;padding:0;background:#fff;max-height:none;overflow:visible;grid-template-columns:1fr;gap:12px}
#cabinet-view .measurement-sheet .measure-selector label:has(#dimension-article){grid-column:1;display:block}
#cabinet-view .measurement-sheet .measure-selector select{min-height:48px;font-size:16px}
#cabinet-view .measurement-sheet .dimension-type-control{grid-column:1}
#cabinet-view .measurement-sheet .dimension-type-control legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
#cabinet-view .measurement-sheet .dimension-type-buttons{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
#cabinet-view .measurement-sheet .dimension-type-buttons button{grid-column:span 2;flex-direction:row;min-height:48px;padding:8px 4px;font-size:14px;gap:6px}
#cabinet-view .measurement-sheet .dimension-type-buttons button[data-dimension-axis="outer"],#cabinet-view .measurement-sheet .dimension-type-buttons button[data-dimension-axis="all"]{grid-column:span 3}
#cabinet-view .measurement-sheet .dimension-context:not([hidden]){display:block;margin:12px 0;padding:0;font-size:14px;line-height:1.4;color:#64645f;max-height:none}
.measurement-sheet-done{width:100%;margin-top:12px;background:#f2ebdf;color:#70532d;border:1px solid #967747}
body:has(.measurement-sheet[open]){overflow:hidden}
@keyframes measurement-sheet-enter{from{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}
@media(prefers-reduced-motion:reduce){.measurement-sheet{animation:none}}

/* Native range in the temporary measurement editor; never changes canvas layout. */
#cabinet-view .measurement-summary button{flex-shrink:0;white-space:nowrap}
.dimension-text-size{margin-top:16px;padding-top:12px;border-top:1px solid #e5e2db}
.dimension-text-size-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:16px}
.dimension-text-size-heading label{margin:0}
.dimension-text-size-heading output{font-size:14px;color:#70532d;font-weight:600;font-variant-numeric:tabular-nums;min-width:3.5em;text-align:left}
.dimension-text-size-range{display:flex;align-items:center;gap:12px;direction:ltr}
#dimension-text-size{min-width:0;flex:1;width:100%;height:44px;min-height:44px;margin:0;padding:0;accent-color:#967747;cursor:pointer;touch-action:pan-y}
#dimension-text-size:focus-visible{outline:2px solid #967747;outline-offset:2px}
.dimension-text-small{font-size:14px}.dimension-text-large{font-size:22px}
#dimension-text-size-hint{margin:0;font-size:13px;color:#64645f;line-height:1.4}

.cell-measurement-control{border-top:1px solid #e5e2db;padding-top:12px;margin-top:12px}
.cell-measurement-control>button{width:100%;display:flex;align-items:center;justify-content:center;gap:8px}
.cell-measurement-control>button.active{background:#f2ebdf;color:#70532d;border-color:#967747}
.cell-measurement-control p{font-size:14px;color:#64645f;line-height:1.5;margin:8px 0}
.cell-measurement-control label{display:grid;gap:8px;font-size:14px}
.cell-measurement-control label[hidden]{display:none}
.cell-measurement-control select{width:100%;min-height:48px}
#cabinet-view[data-cell-measurement="true"] .measurement-summary-label{white-space:normal;overflow:visible;text-overflow:clip;font-size:14px;line-height:1.1;overflow-wrap:anywhere}
