.product-dialog { width:min(480px,calc(100vw - 32px)); max-height:calc(100vh - 32px); overflow:auto; padding:18px; border:1px solid #9ba8b8; border-radius:8px; background:#f1f3f6; color:#172b43; box-shadow:0 16px 60px #10223c55; font:14px system-ui,sans-serif; }
.product-dialog::backdrop { background:#15243b77; }
.product-dialog h2 { margin:0 0 16px; font-size:18px; }
.product-dialog label { display:block; margin:9px 0; }
.product-field { display:flex; gap:6px; margin-top:4px; }
.product-field input { flex:1; min-width:0; }
.product-dialog input:not([type=checkbox]):not([type=color]) { box-sizing:border-box; border:1px solid #b6c1cd; border-radius:3px; background:white; padding:6px 8px; color:inherit; font:inherit; }
.product-dialog button { padding:6px 14px; border:1px solid #b6c1cd; border-radius:4px; background:white; color:inherit; font:inherit; cursor:pointer; }
.product-dialog button:hover:not(:disabled) { background:#e0efff; border-color:#508bc2; }
.product-dialog button:disabled { opacity:.45; cursor:default; }
.product-dialog fieldset { margin:14px 0; border:1px solid #ccd3dc; border-radius:4px; }
.product-dialog .product-dimension { display:flex; align-items:center; justify-content:flex-end; gap:12px; }
.product-dimension input { width:130px; }
.product-frame { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.product-frame label { display:flex; align-items:center; gap:8px; }
.product-frame input[type=color] { width:90px; height:29px; }
.product-dialog footer { display:flex; justify-content:flex-end; gap:8px; margin-top:16px; }
.document-types { display:grid; gap:5px; }
.document-types button { display:flex; align-items:center; gap:12px; text-align:left; padding:12px; font-size:17px; }
.document-types button span { width:25px; font-size:24px; }
.document-types [data-document-type=model] span { color:#3478aa; }
.document-types [data-document-type=fragment] span { color:#24934a; }
.scene-model-tab { --document-tab-color:#3478aa; box-shadow:inset 0 -3px 0 var(--document-tab-color); }
.scene-model-tab[data-document-type=fragment] { --document-tab-color:#24934a; }
.scene-model-tab.is-active { box-shadow:inset 0 -3px 0 var(--document-tab-color); }

.fragment-product-dialog { box-sizing:border-box; width:min(430px,calc(100vw - 32px)); padding:12px 16px; font-size:13px; }
.fragment-product-dialog h2 { font-size:16px; margin-bottom:10px; }
.fragment-product-dialog label { margin:5px 0; }
.fragment-product-dialog fieldset { margin:8px 0; padding:5px 10px; }
.fragment-product-dialog input:not([type=checkbox]):not([type=color]) { padding:4px 7px; }
.fragment-product-dialog input[type=checkbox] { margin:0 6px 0 0; vertical-align:middle; }
.product-dialog select { display:block; width:100%; margin-top:4px; padding:4px 6px; border:1px solid #b6c1cd; border-radius:3px; background:white; color:inherit; font:inherit; }
.fragment-product-dialog .product-field button { padding:3px 10px; min-width:32px; }
.fragment-datum-modes { display:flex; gap:5px; }
.fragment-datum-modes button { padding:2px; width:45px; height:45px; border-radius:2px; }
.fragment-datum-modes svg { width:100%; height:100%; }
.fragment-datum-modes [aria-checked=true] { border-color:#3478aa; background:#dcebf7; box-shadow:inset 0 0 0 1px #3478aa; }
.fragment-mode-label { min-height:16px; margin:5px 0; font-size:12px; color:#42566a; }
.fragment-install-options { display:grid; grid-template-columns:1.2fr 1fr; gap:18px; }
.fragment-disabled { color:#75808c; }
.fragment-suboption { padding-left:17px; }
.fragment-product-dialog label[hidden] { display:none; }
.fragment-types-dialog { width:min(360px,calc(100vw - 32px)); }
.fragment-types-list { height:340px; overflow:auto; background:white; border:1px solid #b6c1cd; padding:3px; }
.fragment-types-list input { display:block; width:100%; border:0!important; border-radius:0!important; }
.fragment-types-list input:focus { outline:2px solid #508bc2; outline-offset:-2px; }
.fragment-types-dialog footer [data-add-type] { margin-right:auto; }
.fragment-type-combo { display:flex; flex:1; min-width:0; position:relative; }
.fragment-type-combo input { width:100%; padding-right:26px!important; }
.fragment-type-combo input::-webkit-calendar-picker-indicator { display:none!important; }
.fragment-type-combo [data-show-types] { position:absolute; right:1px; top:1px; bottom:1px; min-width:24px; padding:0 5px; border:0; background:transparent; }
.fragment-type-combo [data-type-options] { position:absolute; z-index:2; top:100%; left:0; right:0; max-height:180px; overflow:auto; padding:3px; background:white; border:1px solid #8d9dad; box-shadow:0 4px 12px #172b4333; }
.fragment-type-combo [data-type-options] button { display:block; width:100%; border:0; text-align:left; overflow-wrap:anywhere; }
.fragment-type-combo [data-type-options] span { display:block; padding:6px; color:#75808c; }
.fragment-product-dialog footer { position:sticky; bottom:-12px; margin:8px -1px -1px; padding:8px 0 1px; background:#f1f3f6; }

