:root{--ink:#342e29;--muted:#766c63;--line:#ddd4cb;--paper:#f6f3ef;--accent:#6b4c35;--accent-dark:#503725;--danger:#a33c35}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper)}body.modal-open{overflow:hidden}a{color:var(--accent)}button,.button-link{border:1px solid #cfc5b9;border-radius:7px;background:#fff;padding:10px 12px;font:inherit;cursor:pointer;text-decoration:none;color:var(--ink)}button:hover,.button-link:hover{background:#f7f2ec}.primary,.primary-link{background:var(--accent);border-color:var(--accent);color:#fff}.primary:hover,.primary-link:hover{background:var(--accent-dark)}label{display:grid;gap:6px;font-size:13px;font-weight:700;color:#5d524a}input,select,textarea{width:100%;border:1px solid #cfc5b9;border-radius:7px;background:#fff;padding:10px;font:inherit}.site-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:24px 30px;background:#2f2a26;color:#fff}.site-header h1{margin:3px 0 6px;font-family:Georgia,serif;font-size:30px}.site-header p{margin:0;color:#d9d0c6}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.16em}.admin-link{color:#fff;font-size:13px}.visualizer-shell{display:grid;grid-template-columns:280px 1fr;gap:20px;max-width:1400px;margin:auto;padding:22px}.control-panel,.preview-area{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 28px rgba(51,40,29,.07)}.control-panel{display:grid;align-content:start;gap:13px;padding:18px}.control-panel h2{font-family:Georgia,serif;margin:0 0 3px}.file-button{display:block;text-align:center;border:1px solid #cfc5b9;border-radius:7px;background:#fff;padding:10px 12px;cursor:pointer}.file-button input{display:none}.small-note{font-size:12px;color:var(--muted);line-height:1.45}.preview-area{padding:18px}.preview-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.preview-heading h2{margin:4px 0;font-family:Georgia,serif}.proof-chip{border-radius:20px;background:#eee7df;padding:7px 10px;color:#6b5749;font-size:12px;font-weight:700}.scene{position:relative;min-height:610px;overflow:hidden;border-radius:12px;background:linear-gradient(#d6e4e8 0 48%,#d0c3aa 48% 100%)}.ground{position:absolute;inset:auto 0 0;height:38%;background:radial-gradient(ellipse at center,#b4a487 0,#a29073 62%,#89785f 100%)}.monument-wrap{--die-ratio:2.1;--base-ratio:9;position:absolute;width:min(84%,920px);height:76%;left:50%;bottom:10%;transform:translateX(-50%)}.die-stage{position:absolute;width:80%;aspect-ratio:var(--die-ratio);left:10%;top:7%}.die-shadow,.die-texture{position:absolute;inset:0;background-size:240px 240px;background-repeat:repeat;mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat}.die-shadow{transform:translate(10px,14px);background:#3c312a;filter:blur(10px);opacity:.42}.die-texture{box-shadow:inset 0 0 0 1px rgba(255,255,255,.3);filter:saturate(.9) contrast(1.07)}.base-shadow,.base-texture{position:absolute;width:100%;aspect-ratio:var(--base-ratio);left:0;bottom:3%;background-size:240px 240px;background-repeat:repeat;mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat}.base-shadow{transform:translate(9px,12px);background:#3c312a;filter:blur(8px);opacity:.44}.base-texture{filter:saturate(.9) contrast(1.07)}.design-overlay{position:absolute;height:auto;transform:translate(-50%,-50%);filter:grayscale(1) brightness(0) invert(1);mix-blend-mode:screen;pointer-events:none}.text-element{position:absolute;transform:translate(-50%,-50%);line-height:1.05;letter-spacing:.06em;text-shadow:0 1px 1px rgba(0,0,0,.45);pointer-events:none;white-space:normal;overflow-wrap:anywhere}.watermark{position:absolute;left:50%;top:49%;transform:translate(-50%,-50%) rotate(-17deg);white-space:nowrap;font-size:clamp(20px,4vw,58px);font-weight:800;color:rgba(255,255,255,.16);pointer-events:none}.summary{display:flex;flex-wrap:wrap;gap:10px 16px;padding:13px 4px 0;color:var(--muted);font-size:13px}.summary strong{color:var(--ink)}.modal-backdrop{position:fixed;inset:0;background:rgba(25,20,17,.64);display:grid;place-items:center;padding:20px;z-index:20}.modal-backdrop[hidden]{display:none}.modal-card{position:relative;width:min(860px,100%);max-height:92vh;overflow:auto;border-radius:14px;background:#fff;padding:22px;box-shadow:0 20px 60px rgba(0,0,0,.3)}.modal-close{position:absolute;right:14px;top:12px;width:36px;height:36px;font-size:24px;padding:0}.modal-card h2{font-family:Georgia,serif;margin-top:0}.modal-form{display:grid;grid-template-columns:1fr 1fr;gap:13px}.wide{grid-column:1/-1}.text-field-with-color{display:grid;grid-template-columns:1fr 112px;gap:8px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}.admin-body{background:#f4f0eb}.admin-header{display:flex;justify-content:space-between;gap:20px;padding:17px 25px;background:#2f2a26;color:#fff}.admin-header span{display:block;color:#d7cdc2;font-size:12px;margin-top:3px}.admin-header nav{display:flex;gap:16px;align-items:center}.admin-header a{color:#fff}.admin-main{max-width:1180px;margin:24px auto;padding:0 18px}.admin-main h1,.admin-section h2,.auth-card h1,.layout-heading h1,.layout-inspector h2{font-family:Georgia,serif}.admin-section{background:#fff;border:1px solid var(--line);border-radius:12px;margin:18px 0;padding:18px}.upload-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));align-items:end;gap:10px;margin:14px 0 18px}.check{display:flex;flex-direction:row;align-items:center;gap:8px;padding-bottom:9px}.check input{width:auto}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th,.admin-table td{text-align:left;vertical-align:top;border-top:1px solid #ece5dd;padding:10px 7px}.admin-table th{color:#6c6158}.admin-table small{display:block;color:#857a70;margin-top:4px}.row-actions{display:flex;gap:6px;flex-wrap:wrap}.row-actions form{margin:0}.danger{border-color:#d9aaa6;color:var(--danger)}.status{display:inline-block;border-radius:20px;padding:4px 8px;font-size:11px;font-weight:800}.published{background:#e1f0e4;color:#34643b}.hidden{background:#eee8e2;color:#756b63}.flash{border-radius:8px;padding:11px 13px;margin:12px 0;background:#e3f2e7;color:#315d37}.flash.error{background:#fae6e4;color:#8c2f2b}.auth-card{max-width:460px;margin:9vh auto;background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;box-shadow:0 12px 40px rgba(0,0,0,.08)}.form-stack{display:grid;gap:13px}.layout-editor-shell{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;max-width:1500px;margin:20px auto;padding:0 18px}.layout-preview-panel,.layout-inspector{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px}.layout-heading{display:flex;align-items:end;justify-content:space-between;gap:20px}.layout-heading h1{margin:4px 0 6px}.layout-heading p{margin:0 0 12px;max-width:760px;color:var(--muted);font-size:13px;line-height:1.45}.layout-heading label{min-width:190px}.layout-scene{min-height:640px}.layout-inspector{display:grid;align-content:start;gap:12px}.layout-inspector h2{margin:0}.inspector-grid{display:grid;gap:10px}.wide-button{width:100%;margin-top:6px}.layout-scene .design-overlay,.layout-scene .text-element{pointer-events:auto;cursor:move;touch-action:none}.selected-layout-element{outline:2px dashed #f2bd56;outline-offset:5px;background-color:rgba(255,234,177,.08)}.layout-scene .text-element{min-height:16px}.layout-scene .design-overlay{filter:grayscale(1) brightness(0) invert(1);mix-blend-mode:screen}.button-link{display:inline-block;font-size:13px;padding:8px 10px}
@media(max-width:920px){.layout-editor-shell{grid-template-columns:1fr}.layout-inspector{order:-1}.layout-scene{min-height:480px}.layout-heading{display:grid}.layout-heading label{min-width:0}}@media(max-width:820px){.visualizer-shell{grid-template-columns:1fr}.scene{min-height:470px}.monument-wrap{width:95%;height:70%}.site-header{padding:18px}.modal-form{grid-template-columns:1fr}.wide{grid-column:auto}.admin-table{display:block;overflow:auto}.text-field-with-color{grid-template-columns:1fr 105px}}@media(max-width:520px){.text-field-with-color{grid-template-columns:1fr}.modal-actions{display:grid}.admin-header{display:grid}.layout-scene{min-height:390px}}

/* V5: explicit monument layer order and admin placement tools */
.die-stage{isolation:isolate}
.die-shadow{z-index:0}
.die-texture{z-index:1}
.design-overlay{z-index:10;display:block;object-fit:contain;transform-origin:center center}
.text-element{z-index:20}
.watermark{z-index:30}
.layout-scene .design-overlay{z-index:10}
.layout-scene .text-element{z-index:20}
.layout-scene .selected-layout-element{outline:2px dashed #f2bd56;outline-offset:5px}
.layout-scene .text-element.selected-layout-element{z-index:25}
.layout-tool-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.nudge-pad{display:grid;grid-template-columns:42px 42px 42px;grid-template-rows:38px 38px 38px;gap:4px;justify-content:center;align-items:center;padding:6px 0}
.nudge-pad button{height:38px;padding:0;font-weight:800;font-size:18px}
.nudge-label{font-size:11px;color:var(--muted);text-align:center;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
#layoutFontSizeRange{padding:0;border:0}
.draggable-layout-element:focus{outline:2px dashed #f2bd56;outline-offset:5px}

/* V6: Use the SVG's real colors. Black outlines stay solid; gray interiors remain 50% transparent. */
.design-overlay,.layout-scene .design-overlay{filter:none!important;mix-blend-mode:normal!important}

/* V9: per-element font previews and per-design visibility */
.inspector-check{display:flex!important;align-items:center;gap:8px;padding:8px 0;font-weight:800}
.inspector-check input{width:auto}
.font-preview-sample{display:block;margin-top:7px;padding:9px 8px;border:1px solid #e2d8cf;border-radius:6px;background:#faf8f5;color:#322b25;font-size:18px;font-weight:400;line-height:1.05;letter-spacing:.02em;text-align:center}
.layout-hidden-element{opacity:.25!important;outline-style:dotted!important}
.layout-hidden-element::after{content:'Hidden';position:absolute;right:2px;top:2px;padding:2px 4px;border-radius:4px;background:#fff;color:#8c2f2b;font:700 10px Arial,sans-serif}

/* V11: customer accounts, cloud projects, and installer */
.header-links{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.wide-auth{max-width:620px}.account-card{padding:10px;border:1px solid var(--line);border-radius:8px;background:#faf8f5}.account-card a{color:var(--accent-dark)}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em;background:#f5f0ea;padding:2px 4px;border-radius:4px}

/* V13: size-specific SVG layer editing */
.svg-design-overlay{position:absolute;transform:translate(-50%,-50%);overflow:visible;height:100%;pointer-events:none}
.svg-design-overlay .inline-design-svg{display:block;width:100%;height:100%;overflow:visible}
.layout-scene .svg-design-overlay{pointer-events:auto}
.layout-scene .svg-layout-layer{pointer-events:all;cursor:move;touch-action:none}
.layout-scene .selected-svg-layer{filter:drop-shadow(0 0 7px rgba(242,189,86,.95))}
.layout-heading-controls{display:grid;gap:10px;min-width:270px}
#layerScaleButtons{display:grid;grid-template-columns:1fr 1fr;gap:8px}
[hidden]{display:none!important}

/* V14: focused serpentine-top companion release */
.hidden-control{display:none!important}.fixed-product-note{display:grid;gap:4px;padding:10px 11px;border:1px solid #ddd4cb;border-radius:8px;background:#faf8f5;color:#503725}.fixed-product-note span{font-size:12px;color:#766c63}

/* V15: fix die seating, strengthen artwork visibility, and add simple 3D depth */
.monument-wrap{height:78%}
.die-stage{z-index:22;width:78%;left:11%;top:auto;bottom:120px}
.base-shadow,.base-top-face,.base-side-face,.base-texture{z-index:8}
.die-shadow,.die-top-face,.die-side-face,.die-texture{z-index:18}
.design-overlay{z-index:24}
.text-element{z-index:26}
.die-top-face,.die-side-face,.base-top-face,.base-side-face{position:absolute;background-size:240px 240px;background-repeat:repeat;pointer-events:none;opacity:.98}
.die-top-face{left:0;right:14px;height:18px;top:-14px;clip-path:polygon(0 100%,14px 0,100% 0,calc(100% - 14px) 100%);filter:brightness(1.08) saturate(.92);opacity:.92}
.die-side-face{top:0;bottom:0;right:-14px;width:14px;clip-path:polygon(0 0,100% 12px,100% calc(100% - 10px),0 100%);filter:brightness(.76) saturate(.88)}
.base-top-face{left:0;right:18px;height:18px;bottom:calc(3% + var(--base-front-height, 0px) - 1px);clip-path:polygon(0 100%,18px 0,100% 0,calc(100% - 18px) 100%);filter:brightness(1.08) saturate(.92);opacity:.94}
.base-side-face{bottom:3%;top:auto;right:-18px;width:18px;height:var(--base-front-height, 0px);clip-path:polygon(0 0,100% 12px,100% calc(100% - 10px),0 100%);filter:brightness(.76) saturate(.88)}
.base-texture{z-index:9}
.base-shadow{z-index:7}
.svg-design-overlay{z-index:24;height:100%}
.svg-design-overlay .inline-design-svg{overflow:visible}
.inline-design-svg *{vector-effect:non-scaling-stroke}

/* V16: visible page badge and stronger 3D stone depth */
.version-badge{position:fixed;right:10px;bottom:10px;z-index:9999;padding:5px 9px;border-radius:999px;background:rgba(47,42,38,.92);color:#fff;font:800 11px/1 Arial,Helvetica,sans-serif;letter-spacing:.08em;box-shadow:0 3px 10px rgba(0,0,0,.18)}
.monument-wrap{--depth-x:22px;--depth-y:14px}
.die-stage{filter:drop-shadow(7px 10px 4px rgba(40,35,31,.27))}
.die-top-face{left:0;right:var(--depth-x);height:var(--depth-y);top:calc(-1 * var(--depth-y));clip-path:polygon(0 100%,var(--depth-x) 0,100% 0,calc(100% - var(--depth-x)) 100%);filter:brightness(1.18) contrast(1.03);border-top:1px solid rgba(255,255,255,.65);opacity:1}
.die-side-face{top:0;bottom:0;right:calc(-1 * var(--depth-x));width:var(--depth-x);clip-path:polygon(0 0,100% var(--depth-y),100% calc(100% - var(--depth-y)),0 100%);filter:brightness(.58) saturate(.9);opacity:1;border-right:1px solid rgba(47,42,38,.28)}
.base-top-face{left:0;right:var(--depth-x);height:var(--depth-y);bottom:calc(3% + var(--base-front-height,0px) - 1px);clip-path:polygon(0 100%,var(--depth-x) 0,100% 0,calc(100% - var(--depth-x)) 100%);filter:brightness(1.18) contrast(1.03);border-top:1px solid rgba(255,255,255,.58);opacity:1}
.base-side-face{bottom:3%;right:calc(-1 * var(--depth-x));width:var(--depth-x);height:var(--base-front-height,0px);clip-path:polygon(0 0,100% var(--depth-y),100% calc(100% - var(--depth-y)),0 100%);filter:brightness(.58) saturate(.9);opacity:1;border-right:1px solid rgba(47,42,38,.28)}
.base-texture{box-shadow:0 12px 7px rgba(45,37,31,.2),inset 0 1px 0 rgba(255,255,255,.34)}
.die-texture{box-shadow:inset 0 1px 0 rgba(255,255,255,.5),inset -1px 0 0 rgba(0,0,0,.08)}
.svg-design-overlay{z-index:25!important}
.text-element{z-index:30!important}

/* V17 simplified design-concept mode */
.base-shadow,.base-top-face,.base-side-face,.base-texture{display:none !important}
.die-stage{bottom:58px !important;width:78%;left:11%}
.control-panel select#styleSelect{font-weight:700}
.hidden-control{display:none !important}

/* V18: optional artwork element library and clickable personalization areas */
.element-slots-layer{position:absolute;inset:0;z-index:25;pointer-events:none}
.public-element-slot{position:absolute;transform:translate(-50%,-50%);border:0;background:transparent;padding:0;overflow:visible;pointer-events:auto;cursor:pointer;border-radius:8px}
.public-element-slot:hover{background:rgba(255,255,255,.08)}
.public-element-slot.show-slot-area{border:2px dashed rgba(242,189,86,.95);background:rgba(255,244,199,.12)}
.public-element-slot img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
.public-element-slot span{position:absolute;left:50%;bottom:-26px;transform:translateX(-50%);max-width:180px;padding:4px 7px;border-radius:14px;background:rgba(61,46,35,.9);color:#fff;font-size:11px;font-weight:700;white-space:nowrap;pointer-events:none}
.element-picker-card{width:min(940px,100%)}
.element-picker-actions{display:flex;justify-content:flex-end;gap:10px;margin:12px 0}
.element-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:12px;margin-top:14px}
.element-result-card{display:grid;gap:7px;align-content:start;text-align:left;padding:10px;background:#fff;border:1px solid #ded5cd;border-radius:9px;cursor:pointer}
.element-result-card:hover{background:#f7f1eb;border-color:#bda48f}
.element-result-card img{width:100%;height:110px;object-fit:contain;background:#faf8f5;border-radius:6px}
.element-result-card small{color:var(--muted);line-height:1.3}
.slot-editor-shell{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;margin:16px 0}
.slot-preview-panel,.slot-inspector{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px}
.slot-preview-stage{position:relative;min-height:540px;overflow:hidden;border-radius:10px;background-size:240px 240px;background-repeat:repeat}
.slot-design-art{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.admin-slot-box{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;border:2px dashed #d59634;background:rgba(255,234,177,.19);color:#5a4026;font-weight:800;font-size:12px;padding:5px;cursor:move;touch-action:none;overflow:hidden}
.admin-slot-box:hover,.selected-admin-slot{background:rgba(255,220,139,.34);outline:3px solid rgba(213,150,52,.24)}
.admin-slot-hidden{opacity:.35}
.slot-inspector{display:grid;align-content:start;gap:11px}.slot-inspector h2{font-family:Georgia,serif;margin-top:0}
@media(max-width:900px){.slot-editor-shell{grid-template-columns:1fr}.slot-preview-stage{min-height:390px}.element-results{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}

/* V19: photographic backgrounds, simple drop shadow, and combined optional-area editor */
.scene{background-size:cover!important;background-position:center center!important;background-repeat:no-repeat!important}
.scene .ground{display:none!important}
.die-top-face,.die-side-face,.base-top-face,.base-side-face,.base-shadow,.base-texture{display:none!important}
.monument-wrap{height:82%;bottom:7%}
.die-stage{top:auto!important;bottom:7%!important;width:82%;left:9%;filter:drop-shadow(15px 20px 12px rgba(20,24,19,.42))!important}
.die-shadow{display:block!important;transform:translate(13px,18px);background:rgba(24,28,23,.62);filter:blur(13px);opacity:.38}
.die-texture{box-shadow:inset 0 1px 0 rgba(255,255,255,.36),inset 0 0 0 1px rgba(50,45,41,.18)}
.admin-inline-slot-layer{position:absolute;inset:0;z-index:34;pointer-events:none}
.admin-inline-slot-box{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;border:2px dashed #9a55c3;background:rgba(255,255,255,.28);color:#623683;font-weight:800;font-size:12px;padding:5px;cursor:move;touch-action:none;pointer-events:auto;overflow:visible;border-radius:3px}
.admin-inline-slot-box:hover,.admin-inline-slot-box.selected-admin-slot{background:rgba(239,218,252,.48);outline:3px solid rgba(154,85,195,.22)}
.admin-inline-slot-box img{position:absolute;inset:5px;width:calc(100% - 10px);height:calc(100% - 10px);object-fit:contain;opacity:.7;pointer-events:none}
.admin-inline-slot-box span{position:relative;z-index:2;text-align:center;pointer-events:none;text-shadow:0 1px 0 rgba(255,255,255,.8)}
.slot-resize-handle{position:absolute;right:-7px;bottom:-7px;width:15px;height:15px;border:2px solid #fff;background:#7d3aa6;box-shadow:0 1px 4px rgba(0,0,0,.28);cursor:nwse-resize;pointer-events:auto}
.inline-slots-section{max-width:1500px;margin:0 auto 30px}.section-heading-row{display:flex;justify-content:space-between;gap:18px;align-items:start}.section-heading-row h2{margin:0 0 6px}.section-heading-row p{margin:0;color:var(--muted);line-height:1.45}.inline-slot-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;margin:14px 0}.inline-slot-inspector{display:grid;align-content:start;gap:10px;padding:14px;border:1px solid var(--line);border-radius:9px;background:#faf8f5}.inline-slot-inspector h3{font-family:Georgia,serif;margin:0}.slot-row-link{border:0;background:transparent;padding:0;color:var(--accent);font-weight:800;text-align:left}.slot-row-link:hover{background:transparent;text-decoration:underline}
@media(max-width:900px){.inline-slot-grid{grid-template-columns:1fr}.section-heading-row{display:grid}}

/* V22: AI artwork intake */
.intake-preview{width:150px;height:150px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}.intake-preview img,.intake-card-preview img{max-width:100%;max-height:100%;object-fit:contain}.intake-card{display:grid;grid-template-columns:180px minmax(0,1fr);gap:18px;border-top:1px solid #ece5dd;padding:18px 0}.intake-card-preview{height:180px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}.intake-card h3{margin:0 0 7px;font-family:Georgia,serif}.intake-card textarea{resize:vertical}@media(max-width:720px){.intake-card{grid-template-columns:1fr}.intake-card-preview{height:220px}}

/* V23: customer-side optional element movement and resizing */
.public-element-slot{touch-action:none}
.public-element-slot.has-selected-element{cursor:move}
.public-element-slot.editing-slot{outline:2px solid rgba(242,189,86,.95);outline-offset:4px;background:rgba(255,244,199,.10)}
.customer-slot-resize-handle{position:absolute;right:-8px;bottom:-8px;width:18px;height:18px;border:2px solid #fff;border-radius:50%;background:#6b4c35;box-shadow:0 1px 5px rgba(0,0,0,.38);cursor:nwse-resize;pointer-events:auto;display:none}
.public-element-slot.has-selected-element .customer-slot-resize-handle,.public-element-slot.show-slot-area .customer-slot-resize-handle{display:block}
.public-element-slot.has-selected-element.show-slot-area{border-color:rgba(78,160,90,.95)}
.public-element-slot img{user-select:none;-webkit-user-drag:none}

/* V24: click-to-edit customer controls, element flipping, text auto-fit, admin sidebar */
.selected-edit-panel{border:1px solid var(--line);border-radius:10px;background:#faf8f5;padding:12px;display:grid;gap:10px}
.selected-edit-panel[hidden]{display:none!important}.selected-edit-panel h3{margin:0;font-family:Georgia,serif;font-size:18px}.selected-edit-controls{display:grid;gap:9px}.edit-button-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.selected-edit-controls .check{padding:0;align-items:center}.selected-edit-controls input[type=range]{padding:0;border:0}.selected-customer-slot{outline:2px solid rgba(242,189,86,.98)!important;outline-offset:5px;background:rgba(255,244,199,.14)!important}.selected-customer-text{outline:2px dashed rgba(242,189,86,.98);outline-offset:5px;background:rgba(255,244,199,.14);border-radius:4px}.scene .text-element{pointer-events:auto;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:clip}.scene .text-element:hover{outline:1px dashed rgba(255,255,255,.78);outline-offset:4px}.public-element-slot img{transform-origin:center center}.admin-library-shell{display:grid;grid-template-columns:230px minmax(0,1fr);gap:18px;align-items:start}.admin-sidebar{position:sticky;top:14px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;display:grid;gap:8px}.admin-sidebar h2{font-family:Georgia,serif;margin:0 0 4px;font-size:18px}.admin-sidebar a{display:block;border:1px solid #ded5cd;border-radius:8px;padding:10px 11px;text-decoration:none;color:var(--ink);font-weight:800;background:#faf8f5}.admin-sidebar a:hover,.admin-sidebar a.active{background:var(--accent);border-color:var(--accent);color:#fff}.admin-panel-window{min-width:0}.admin-panel-window .admin-section{margin:0 0 18px}.admin-section.is-hidden{display:none!important}@media(max-width:900px){.admin-library-shell{grid-template-columns:1fr}.admin-sidebar{position:static;grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}.admin-sidebar h2{grid-column:1/-1}}

.below-preview-edit{margin-top:16px;box-shadow:0 8px 22px rgba(0,0,0,.08)}
.preview-area .below-preview-edit{width:100%;box-sizing:border-box}
.adjust-control{display:grid;gap:6px;border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px}
.plus-minus-row{display:grid;grid-template-columns:44px minmax(110px,1fr) 44px;gap:8px;align-items:center}
.plus-minus-row button{min-height:38px;font-size:20px;font-weight:900;padding:6px}
.adjust-value{text-align:center;font-weight:800;color:var(--ink);font-size:14px}
.person-group-controls{display:grid;gap:9px}

/* V29 compact customer edit panel */
.below-preview-edit{margin-top:8px!important;padding:8px 10px!important;gap:6px!important;border-radius:9px!important;box-shadow:0 4px 12px rgba(0,0,0,.06)!important}
.below-preview-edit h3{font-size:15px!important;margin:0!important;line-height:1.1!important}
.below-preview-edit #selectedEditHelp{margin:0!important;font-size:11px!important;line-height:1.2!important}
.below-preview-edit .selected-edit-controls{display:flex!important;flex-wrap:wrap!important;gap:6px!important;align-items:flex-end!important}
.below-preview-edit label{gap:3px!important;font-size:11px!important;min-width:96px!important;margin:0!important}
.below-preview-edit input,.below-preview-edit select{padding:6px 7px!important;border-radius:6px!important;min-height:30px!important;font-size:12px!important}
.below-preview-edit button{padding:5px 7px!important;border-radius:6px!important;min-height:30px!important;font-size:12px!important;line-height:1!important}
.below-preview-edit .adjust-control{display:inline-grid!important;grid-template-rows:auto auto!important;gap:3px!important;padding:5px!important;border-radius:7px!important;min-width:auto!important;background:#fff!important}
.below-preview-edit .adjust-control strong{font-size:11px!important;line-height:1.05!important;white-space:nowrap!important}
.below-preview-edit .plus-minus-row{display:inline-grid!important;grid-template-columns:30px 58px 30px!important;gap:2px!important;align-items:center!important;width:max-content!important}
.below-preview-edit .plus-minus-row button{width:30px!important;min-width:30px!important;height:30px!important;min-height:30px!important;padding:0!important;font-size:17px!important;font-weight:900!important;display:grid!important;place-items:center!important}
.below-preview-edit .adjust-value{min-width:58px!important;font-size:11px!important;text-align:center!important;line-height:1.1!important;white-space:normal!important}
.below-preview-edit .person-group-controls{display:flex!important;flex-wrap:wrap!important;gap:6px!important;align-items:flex-end!important;width:auto!important}
.below-preview-edit .check{display:flex!important;align-items:center!important;gap:5px!important;padding:0!important;min-width:auto!important;font-size:11px!important;line-height:1.1!important}
.below-preview-edit .check input{width:auto!important;min-height:0!important;padding:0!important}
.below-preview-edit #textEditValue{width:160px!important}
.below-preview-edit #textEditColor{width:88px!important}
.below-preview-edit #elementEditControls .small-note{display:none!important}
.below-preview-edit #elementEditControls{align-items:center!important}
.below-preview-edit .edit-button-row{display:flex!important;gap:4px!important}
@media(max-width:800px){.below-preview-edit .selected-edit-controls,.below-preview-edit .person-group-controls{display:grid!important;grid-template-columns:1fr 1fr!important}.below-preview-edit #textEditValue,.below-preview-edit #textEditColor{width:100%!important}.below-preview-edit .plus-minus-row{grid-template-columns:30px 1fr 30px!important;width:100%!important}.below-preview-edit .adjust-control{width:100%!important}}


/* V31 compact slot type import buttons */
.slot-type-button-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:10px 0 12px;padding:8px 10px;background:#f7f2eb;border:1px solid #e7d9c8;border-radius:12px}
.slot-type-button-row span{font-weight:700;font-size:.86rem;margin-right:4px;color:#5d4634}
.slot-type-button-row form{display:inline-flex;margin:0}
.slot-type-button-row button{padding:6px 9px;border-radius:999px;font-size:.82rem;line-height:1;border:1px solid #c9b499;background:#fffaf4;color:#4a3525;box-shadow:none}
.slot-type-button-row button:hover{background:#efe1d0}
@media(max-width:800px){.slot-type-button-row{gap:5px}.slot-type-button-row button{padding:6px 8px;font-size:.78rem}}
/* V31: element upload slot type picker */
.element-slot-picker{grid-column:1/-1}
.slot-type-choice{display:inline-flex!important;align-items:center;gap:6px;margin:0;padding:0;font-size:.82rem;font-weight:700;color:#4a3525;cursor:pointer}
.slot-type-choice input{width:auto;margin:0;accent-color:#6b4c35}
.slot-type-choice b{display:inline-block;border:1px solid #c9b499;border-radius:999px;background:#fffaf4;padding:6px 9px;line-height:1;white-space:nowrap}
.slot-type-choice input:checked + b{background:#6b4c35;border-color:#6b4c35;color:#fff}

/* V32: admin slot type position/rules editor */
.slot-type-position-admin{grid-column:1/-1;border:1px solid var(--line);border-radius:12px;background:#faf8f5;padding:14px;margin:0 0 16px}
.slot-type-position-admin h3{font-family:Georgia,serif;margin:0 0 6px;font-size:20px}
.slot-position-preview{position:relative;margin:12px 0 14px;width:min(760px,100%);aspect-ratio:1.9/1;border:2px solid #9b8a7b;border-radius:50% 50% 7px 7px/22% 22% 7px 7px;background:linear-gradient(180deg,#f2efe9,#e5dfd5);overflow:hidden;box-shadow:inset 0 0 0 8px rgba(255,255,255,.35)}
.slot-position-preview span{position:absolute;transform:translate(-50%,-50%);border:1px dashed #704c8a;background:rgba(245,237,255,.62);color:#56336f;font-size:10px;font-weight:800;display:grid;place-items:center;text-align:center;padding:2px;border-radius:4px;overflow:hidden}
.slot-type-table input{width:100%;min-width:0;padding:6px 7px;font-size:12px}.slot-type-table small{display:block;color:var(--muted);font-size:11px;line-height:1.25;margin-top:4px}.compact-label{display:grid;gap:4px;font-size:11px;font-weight:800}.position-inputs{display:grid;grid-template-columns:repeat(4,minmax(52px,1fr));gap:6px}.position-inputs label{display:grid;gap:3px;font-size:11px;font-weight:800}.slot-type-table code{font-size:10px}.slot-type-position-admin .wide{margin:10px 0}.slot-type-position-admin .primary{margin-top:4px}
@media(max-width:900px){.position-inputs{grid-template-columns:repeat(2,minmax(52px,1fr))}.slot-type-table{font-size:12px}.slot-position-preview{aspect-ratio:1.45/1}}

/* V33: optional slot editor simplified to one visible editable slot at a time */
.single-slot-edit-mode{border-style:solid;box-shadow:0 0 0 4px rgba(154,85,195,.18),0 5px 16px rgba(0,0,0,.22)}
.slot-row-selected{background:#f3e9d9}
.slot-row-selected .slot-row-link{color:#2f1d10}

.active-slot-editor-row{display:grid;grid-template-columns:minmax(260px,420px) minmax(240px,1fr) auto;gap:14px;align-items:end;margin:14px 0;padding:14px;border:1px solid var(--line);border-radius:9px;background:#fffdf9}.active-slot-editor-row label{margin:0}.active-slot-editor-row .small-note{margin:0;color:var(--muted);line-height:1.4}.active-slot-editor-row select{width:100%}.single-slot-edit-mode{border:3px solid #7d3aa6;background:rgba(255,255,255,.42);box-shadow:0 0 0 4px rgba(125,58,166,.18),0 6px 16px rgba(0,0,0,.18)}.single-slot-edit-mode span{background:rgba(255,255,255,.85);border-radius:4px;padding:3px 6px}.single-slot-edit-mode .slot-resize-handle{width:18px;height:18px;right:-9px;bottom:-9px}
@media(max-width:900px){.active-slot-editor-row{grid-template-columns:1fr}}

/* V38 single active slot-type editor: 36x20 serp-top preview */
.slot-type-active-row{display:grid;grid-template-columns:minmax(260px,420px) minmax(260px,1fr);gap:14px;align-items:end;margin:14px 0;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fffdf9}
.slot-type-active-row label{margin:0;font-weight:800;color:var(--text)}
.slot-type-active-row select{width:100%;margin-top:5px}
.single-slot-position-preview .slot-type-preview-box{position:absolute;transform:translate(-50%,-50%);border:3px solid #7d3aa6;background:rgba(255,255,255,.52);color:#3f2457;font-size:13px;font-weight:900;display:grid;place-items:center;text-align:center;padding:2px;border-radius:6px;overflow:visible;cursor:move;box-shadow:0 0 0 4px rgba(125,58,166,.18),0 8px 18px rgba(0,0,0,.18);touch-action:none}
.single-slot-position-preview .slot-type-preview-box span{position:relative;display:inline-block;max-width:100%;padding:4px 7px;border-radius:5px;background:rgba(255,255,255,.88);border:1px solid rgba(125,58,166,.32);line-height:1.15;color:#3f2457}
.single-slot-position-preview .slot-type-preview-box[hidden]{display:none!important}
.single-slot-position-preview .slot-type-preview-box .slot-resize-handle{display:block;width:19px;height:19px;right:-10px;bottom:-10px;border-radius:50%;background:#7d3aa6;cursor:nwse-resize}
.slot-type-table tr.slot-row-selected td{background:rgba(125,58,166,.08);box-shadow:inset 4px 0 0 #7d3aa6}
@media(max-width:900px){.slot-type-active-row{grid-template-columns:1fr}}


/* V38: 36x20 serp-top slot-type preview and unrestricted decimal inputs */
.slot-type-position-admin .slot-position-preview{
  width:min(900px,100%);
  aspect-ratio:36/20;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
  padding:0;
}
.slot-type-position-admin .slot-position-preview::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 360 200'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' x2='0' y1='0' y2='1'%3E%3Cstop stop-color='%23f4f0e9' offset='0'/%3E%3Cstop stop-color='%23e3dace' offset='1'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M20 190 L20 70 C20 33 103 16 180 16 C257 16 340 33 340 70 L340 190 Z' fill='url(%23g)' stroke='%239b8a7b' stroke-width='2.5'/%3E%3Cpath d='M25 184 L25 72 C25 40 106 22 180 22 C254 22 335 40 335 72 L335 184 Z' fill='none' stroke='rgba(255,255,255,.55)' stroke-width='4'/%3E%3Ctext x='180' y='37' fill='%23877568' font-size='10' font-family='Arial' text-anchor='middle'%3E36×20 Serp Top Preview%3C/text%3E%3C/svg%3E") center/100% 100% no-repeat;
}
.slot-type-position-admin .slot-position-preview > *{
  z-index:1;
}
.slot-type-table input[type=number]{
  -moz-appearance:textfield;
}
.slot-type-table input[type=number]::-webkit-outer-spin-button,
.slot-type-table input[type=number]::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}


/* V40: use the uploaded Companion 36x20 Serp Top SVG silhouette for slot type positions; positions are loaded from the Starting Positions SVG. */
.slot-type-position-admin .slot-position-preview{
  width:min(900px,100%);
  aspect-ratio:36/20;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
  padding:0;
}
.slot-type-position-admin .slot-position-preview::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%202592%201440%22%3E%0A%3Cdefs%3E%3ClinearGradient%20id%3D%22g%22%20x1%3D%220%22%20x2%3D%220%22%20y1%3D%220%22%20y2%3D%221%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%23f4f0e9%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23e3dace%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%0A%3Cpath%20d%3D%22M.3%2C1440.7V108.8C634%2C101.9%2C870.5-45.6%2C1618.6%2C13.1c333.8%2C26.4%2C533%2C91%2C973.2%2C95.5v1332c-41.4%2C0-2609.1%2C0-2591.4%2C0Z%22%20fill%3D%22url%28%23g%29%22%20stroke%3D%22%239b8a7b%22%20stroke-width%3D%2210%22%2F%3E%0A%3Cpath%20d%3D%22M.3%2C1440.7V108.8C634%2C101.9%2C870.5-45.6%2C1618.6%2C13.1c333.8%2C26.4%2C533%2C91%2C973.2%2C95.5v1332c-41.4%2C0-2609.1%2C0-2591.4%2C0Z%22%20fill%3D%22none%22%20stroke%3D%22%23ffffff%22%20stroke-opacity%3D%22.42%22%20stroke-width%3D%2226%22%2F%3E%0A%3C%2Fsvg%3E") center/100% 100% no-repeat;
}
.slot-type-position-admin .slot-position-preview > *{z-index:1;}

/* V41 auto-generated monument design foundation */
.customer-package-panel{margin:12px 0;padding:12px;border:1px solid rgba(120,96,70,.25);border-radius:14px;background:rgba(255,255,255,.7);font-size:.95rem}.customer-package-panel p{margin:.35rem 0}.customer-cutfile-note{display:block;margin-top:5px;color:#684b35;font-weight:700}.package-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin:12px 0}.package-grid span{display:block;padding:12px;border:1px solid rgba(120,96,70,.25);border-radius:12px;background:#fff;text-align:center}.shape-slot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:18px}.shape-slot-card,.generated-design-card{border:1px solid rgba(120,96,70,.25);border-radius:16px;padding:14px;background:#fff}.shape-slot-preview,.generated-preview{position:relative;margin:10px auto 14px;width:min(100%,520px);aspect-ratio:1.8/1;background:#f8f4ef;background-image:var(--shape-url);background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(120,96,70,.2);border-radius:12px;overflow:hidden}.shape-slot-dot,.generated-slot{position:absolute;transform:translate(-50%,-50%);border:1px dashed rgba(116,54,160,.8);background:rgba(150,86,220,.08);display:flex;align-items:center;justify-content:center;text-align:center;font-size:10px;font-weight:700;color:#5d3478;padding:2px;overflow:hidden}.generated-slot img{max-width:100%;max-height:100%;object-fit:contain;filter:contrast(1.2)}.generated-slot span{opacity:.75}.compact-shape-slots input{width:100%;min-width:52px}.compact-shape-slots td,.compact-shape-slots th{padding:5px}.auto-generator-form{align-items:end}.generated-design-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:16px}.generated-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}.generated-meta ul{margin:.4rem 0 .8rem 1.1rem;padding:0}.generated-meta li{margin:.18rem 0}.shape-slot-card h3,.generated-design-card h3{margin-top:0}

/* V42: monument-shape slot editor moved out of Artwork Elements */
.shape-slot-position-admin{margin-bottom:18px;}
.shape-slot-single-preview{margin-left:auto;margin-right:auto;}
.shape-slot-preview-box.shape-slot-disabled{opacity:.38;border-style:dotted;background:rgba(200,200,200,.35);}
.overlap-rules-card{margin-top:18px;}
.generated-design-card .row-actions .primary{font-weight:800;}


/* V44: click into individual monument shapes; use the actual SVG shape file for slot editing previews. */
.shape-editor-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:14px 0 18px;}
.shape-picker-button{display:grid;grid-template-columns:82px 1fr;grid-template-rows:auto auto;gap:8px 10px;align-items:center;text-align:left;border:1px solid rgba(120,96,70,.28);background:#fff;border-radius:14px;padding:10px;cursor:pointer;color:var(--text);}
.shape-picker-button img{grid-row:1/3;width:82px;height:58px;object-fit:contain;background:#eee6dc;border-radius:8px;padding:5px;}
.shape-picker-button strong,.shape-picker-button small,.shape-picker-button em{display:block;}
.shape-picker-button small{color:var(--muted);font-size:11px;line-height:1.25;margin-top:2px;}
.shape-picker-button em{font-style:normal;font-weight:800;color:#6b4c35;font-size:12px;}
.shape-picker-button.active{border-color:#7d3aa6;box-shadow:0 0 0 3px rgba(125,58,166,.16);background:#fffafc;}
.shape-slot-editor-form[hidden]{display:none!important;}
.shape-editor-heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px;}
.shape-details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;align-items:end;margin:10px 0 14px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fffdf9;}
.shape-details-grid label{margin:0;}
.shape-details-grid .shape-file-field{grid-column:1/-1;}
.shape-slot-position-admin .slot-position-preview{aspect-ratio:var(--shape-ratio,36/20);background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible;}
.shape-slot-position-admin .slot-position-preview::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:var(--shape-url) center/100% 100% no-repeat;filter:drop-shadow(0 10px 13px rgba(0,0,0,.16));}
.shape-slot-position-admin .slot-position-preview > *{z-index:1;}
.shape-slot-position-admin .slot-type-preview-box{border-color:#a267ff;background:rgba(255,255,255,.54);box-shadow:0 0 0 4px rgba(162,103,255,.19),0 8px 18px rgba(0,0,0,.25);}
.shape-slot-position-admin .slot-type-preview-box span{background:rgba(255,255,255,.92);}
@media(max-width:700px){.shape-picker-button{grid-template-columns:64px 1fr}.shape-picker-button img{width:64px;height:48px}.shape-details-grid{grid-template-columns:1fr}}

/* V44: reliable SVG preview and ghosted used slots for Monument Shapes + Slot Specifications. */
.shape-slot-position-admin .slot-position-preview::before{display:none!important;}
.shape-slot-position-admin .slot-position-preview{background:#fffaf4;border:1px solid rgba(120,96,70,.18);border-radius:12px;overflow:visible;}
.shape-slot-position-admin .shape-slot-preview-shape{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:0;pointer-events:none;filter:drop-shadow(0 10px 13px rgba(0,0,0,.16));}
.shape-slot-position-admin .slot-type-preview-box{z-index:2;}
.shape-slot-position-admin .slot-type-preview-box.is-ghost-slot{opacity:.28;border:2px dashed rgba(92,70,112,.72);background:rgba(255,255,255,.24);box-shadow:none;color:#564366;}
.shape-slot-position-admin .slot-type-preview-box.is-ghost-slot span{background:rgba(255,255,255,.55);border-color:rgba(92,70,112,.24);color:#564366;}
.shape-slot-position-admin .slot-type-preview-box.is-ghost-slot .slot-resize-handle{display:none;}
.shape-slot-position-admin .slot-type-preview-box.is-active-slot-type{opacity:1;border:4px solid #7d3aa6;background:rgba(255,255,255,.72);box-shadow:0 0 0 5px rgba(125,58,166,.22),0 10px 24px rgba(0,0,0,.28);}
.shape-slot-position-admin .slot-type-preview-box.is-active-slot-type span{background:rgba(255,255,255,.96);border-color:#7d3aa6;color:#3f2457;}
.shape-slot-position-admin tr.slot-row-unused td{opacity:.52;background:#f5f0eb;}
.shape-slot-position-admin tr.slot-row-unused td:first-child{box-shadow:inset 4px 0 0 #c7b9ac;}
.shape-slot-position-admin .no-used-slots::after{content:"No slots are checked as Use for this monument shape.";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;background:rgba(255,255,255,.9);border:1px solid var(--line);border-radius:10px;padding:10px 14px;color:var(--muted);font-weight:800;text-align:center;}
.generated-preview .generated-preview-shape{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:0;pointer-events:none;}
.generated-preview .generated-slot{z-index:1;}
/* V45: generated-design previews use real monument shape + granite texture */
.generated-preview{background:#f8f4ef;}
.generated-preview-die{position:absolute;inset:0;z-index:0;background-image:var(--granite-url);background-size:140px 140px;background-repeat:repeat;-webkit-mask-image:var(--shape-url);mask-image:var(--shape-url);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;filter:saturate(.9) contrast(1.07);}
.generated-preview .generated-preview-shape.generated-preview-cutlines{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:1;pointer-events:none;opacity:.35;mix-blend-mode:multiply;}
.generated-preview .generated-slot{z-index:2;}
.admin-inline-slot-box.ghost-admin-slot{opacity:.32;border-style:dashed;background:rgba(150,86,220,.05);}
.admin-inline-slot-box.ghost-admin-slot .slot-resize-handle{display:none;}
.admin-inline-slot-box.selected-admin-slot{opacity:1;}

/* V47: slot placement uses outline-only shape previews and generated cards show selected granite. */
.shape-slot-position-admin .slot-position-preview{background:#fffaf4!important;background-image:none!important;border:1px solid rgba(120,96,70,.22)!important;}
.shape-slot-position-admin .shape-slot-preview-shape{opacity:1!important;filter:drop-shadow(0 8px 11px rgba(0,0,0,.10))!important;}
.shape-editor-picker .shape-picker-button img{background:#fffaf4;border-radius:8px;object-fit:contain;}
.generated-preview{background:#f8f4ef!important;background-image:none!important;}
.generated-preview-die{z-index:0!important;background-color:#ddd;background-image:var(--granite-url)!important;background-size:140px 140px!important;background-repeat:repeat!important;-webkit-mask-image:var(--shape-url)!important;mask-image:var(--shape-url)!important;-webkit-mask-size:100% 100%!important;mask-size:100% 100%!important;-webkit-mask-repeat:no-repeat!important;mask-repeat:no-repeat!important;}
.generated-preview .generated-preview-shape.generated-preview-cutlines{z-index:1!important;opacity:.92!important;mix-blend-mode:normal!important;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35));}
.generated-preview .generated-slot{z-index:2!important;background:rgba(255,255,255,.10);}
.generated-preview .generated-slot img{filter:grayscale(1) contrast(1.28) brightness(.15)!important;mix-blend-mode:multiply;opacity:.82;}
.shape-slot-position-admin .slot-type-preview-box.is-ghost-slot{opacity:.26!important;}
.shape-slot-position-admin .slot-type-preview-box.is-active-slot-type{opacity:1!important;}

/* V47: generated-design thumbnails render granite as inline SVG, not a black SVG background/mask. */
.generated-preview{background:#f8f4ef!important;background-image:none!important;}
.generated-preview-die,.generated-preview .generated-preview-shape{display:none!important;}
.generated-preview-stone{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:0;}
.generated-preview-stone image{filter:saturate(.95) contrast(1.08);}
.generated-thumb-cutlines path,.generated-thumb-cutlines line,.generated-thumb-cutlines polyline,.generated-thumb-cutlines polygon,.generated-thumb-cutlines rect,.generated-thumb-cutlines circle,.generated-thumb-cutlines ellipse{fill:none!important;stroke:#fff!important;stroke-width:4!important;vector-effect:non-scaling-stroke;opacity:.92;}
.generated-preview .generated-slot{z-index:2!important;}


/* V49: artwork library thumbnails for each artwork element row. */
.admin-table-with-thumbs .admin-thumb-cell{width:96px;min-width:96px;}
.admin-asset-thumb-wrap{display:flex;align-items:center;justify-content:center;width:76px;height:76px;border:1px solid rgba(120,96,70,.22);border-radius:12px;background:#fff;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.45);}
.admin-asset-thumb{display:block;max-width:68px;max-height:68px;width:auto;height:auto;object-fit:contain;}
.admin-asset-thumb-empty{display:inline-flex;align-items:center;justify-content:center;width:76px;height:76px;padding:8px;text-align:center;font-size:11px;line-height:1.2;color:var(--muted);border:1px dashed rgba(120,96,70,.28);border-radius:12px;background:#faf7f3;}

/* V50: hard-limit artwork thumbnails so SVGs cannot expand the table. */
.admin-table-with-thumbs th:first-child,
.admin-table-with-thumbs td.admin-thumb-cell{
  width:72px!important;
  min-width:72px!important;
  max-width:72px!important;
  padding:6px!important;
}
.admin-asset-thumb-wrap{
  width:54px!important;
  height:54px!important;
  min-width:54px!important;
  max-width:54px!important;
  min-height:54px!important;
  max-height:54px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  border:1px solid rgba(120,96,70,.22)!important;
  border-radius:8px!important;
  background:#fff!important;
}
.admin-asset-thumb{
  width:auto!important;
  height:auto!important;
  max-width:48px!important;
  max-height:48px!important;
  object-fit:contain!important;
  display:block!important;
}
.admin-asset-thumb-empty{
  width:54px!important;
  height:54px!important;
  max-width:54px!important;
  max-height:54px!important;
  font-size:10px!important;
  overflow:hidden!important;
}

/* V51: Artwork Elements cleanup - editable descriptions, keywords, and separate slot tags. */
.element-edit-panels{margin-top:18px;}
.element-edit-panel{border:2px solid rgba(107,76,53,.28);border-radius:14px;background:#fffaf4;padding:16px;margin:16px 0;box-shadow:0 10px 26px rgba(51,40,29,.08);}
.element-edit-panel[hidden]{display:none!important;}
.element-edit-panel h3{margin:0 0 12px;font-family:Georgia,serif;}
.element-edit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;align-items:end;}
.element-edit-grid textarea{resize:vertical;min-height:72px;}
.element-slot-tag-editor{border:1px solid rgba(120,96,70,.22);border-radius:12px;padding:12px;background:#fff;}
.slot-tag-checkbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:4px 10px;margin-top:8px;}
.slot-tag-checkbox-grid .check{padding:3px 0;font-weight:600;}
.admin-table-with-thumbs td small strong{color:#4f4238;}

/* V53: AI artwork analysis foundation. */
.ai-artwork-note{border:1px solid rgba(107,76,53,.22);background:#fff9ef;border-radius:12px;padding:12px 14px;margin:12px 0;color:#5d524a;line-height:1.45;}
.ai-artwork-note em{font-style:normal;font-weight:800;color:#4d3323;}
.ai-analyze-form{display:inline;}
.ai-analyze-form button{white-space:nowrap;}
.admin-table-with-thumbs .row-actions{align-items:flex-start;}
.element-edit-grid input[readonly]{background:#f5f0ea;color:#6d6258;}

/* V54: customer artwork picker searches AI descriptions/categories/keywords and can show full-library results. */
.element-result-card.slot-mismatch-result{
  border-style:dashed;
  opacity:.9;
}
.element-result-card.slot-mismatch-result small{
  color:#7a5e2f;
}

/* V55: Experimental PLT Artwork Intake */
.plt-intake-card{
  border:2px solid rgba(88,67,47,.24);
  border-radius:16px;
  background:linear-gradient(180deg,#fffaf2,#f8f1e7);
  padding:16px;
  margin:16px 0 20px;
  box-shadow:0 10px 28px rgba(52,40,28,.08);
}
.plt-intake-card h3{margin:0 0 6px;font-family:Georgia,serif;color:#3f3026;}
.plt-intake-card p{margin:0 0 12px;color:#67584c;line-height:1.45;}
.plt-intake-card small{display:block;color:#806f60;margin-top:6px;}

/* V56: artwork element viewer modal */
.artwork-modal-backdrop{
  position:fixed; inset:0; z-index:9999; background:rgba(20,16,12,.72);
  display:flex; align-items:center; justify-content:center; padding:24px;
}
.artwork-modal-backdrop[hidden]{display:none!important;}
.artwork-modal{
  width:min(1100px,96vw); max-height:92vh; overflow:auto;
  background:#fffaf3; border-radius:18px; box-shadow:0 30px 90px rgba(0,0,0,.45);
  border:1px solid rgba(120,96,70,.3);
}
.artwork-modal-header{
  display:flex; align-items:flex-start; justify-content:space-between; gap:16px;
  padding:16px 18px; border-bottom:1px solid rgba(120,96,70,.18);
}
.artwork-modal-header h3{margin:0;font-family:Georgia,serif;font-size:24px;color:#392d24;}
.artwork-modal-header small{display:block;margin-top:3px;color:#786a5e;}
.artwork-modal-close{border-radius:999px;padding:9px 14px;}
.artwork-modal-body{display:grid;grid-template-columns:minmax(320px,1.1fr) minmax(280px,.9fr);gap:18px;padding:18px;}
.artwork-modal-preview-wrap{
  min-height:520px;background:#f4efe8;border:1px solid rgba(120,96,70,.22);border-radius:14px;
  display:flex;align-items:center;justify-content:center;padding:18px;
  background-image:linear-gradient(45deg,#eee 25%,transparent 25%),linear-gradient(-45deg,#eee 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#eee 75%),linear-gradient(-45deg,transparent 75%,#eee 75%);
  background-size:22px 22px;background-position:0 0,0 11px,11px -11px,-11px 0;
}
.artwork-modal-preview-wrap img{max-width:100%;max-height:720px;object-fit:contain;background:transparent;}
.artwork-modal-info p{margin:0 0 12px;line-height:1.45;color:#55483e;}
.artwork-modal-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;}
.artwork-modal-actions form{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;}
.artwork-modal-actions label{display:flex;align-items:center;gap:6px;margin:0;}
.artwork-modal-actions input[type="number"]{width:74px;}
.artwork-modal-note{display:block;margin-top:12px;color:#786a5e;}
@media(max-width:800px){.artwork-modal-body{grid-template-columns:1fr}.artwork-modal-preview-wrap{min-height:320px}}

/* V57: modal reliability + clean vector-intake working list */
body.artwork-modal-active{overflow:hidden;}
.artwork-modal-backdrop.is-open{display:flex!important;}
.artwork-modal-preview-wrap{background:#ffffff!important;background-image:none!important;}
.artwork-modal-preview-wrap img{background:#ffffff!important;outline:1px solid rgba(120,96,70,.18);}
.admin-table-with-thumbs .status.hidden{opacity:.75;}

/* V60: vector intake disabled while converter is rebuilt */
.disabled-intake-card{
  border-style:dashed;
  background:linear-gradient(180deg,#fff8ed,#f5eadb);
}
.disabled-intake-card h3{color:#7a321f;}
.disabled-intake-card strong{color:#3f3026;}

/* V61 extraction preview lab */
.extraction-lab-card{border-color:rgba(48,88,70,.28);background:linear-gradient(180deg,#f8f6f0,#f0ece3)}
.extractor-preview-report{
  margin:18px 0 22px;
  border:1px solid rgba(120,96,70,.22);
  border-radius:16px;
  background:#fffdf9;
  box-shadow:0 8px 28px rgba(50,40,28,.07);
  padding:16px;
}
.extractor-preview-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}
.extractor-preview-header h3{margin:0 0 4px;font-family:Georgia,serif;color:#3b2e25}
.extractor-preview-header p{margin:0 0 4px;color:#5a4b3f}
.small-note{color:#7a6b5f;font-size:13px}
.inline-form{margin:0}
.extractor-preview-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:16px;
}
.extractor-preview-grid figure{
  margin:0;
  border:1px solid rgba(120,96,70,.16);
  border-radius:12px;
  background:#faf6ef;
  padding:10px;
}
.extractor-preview-grid figcaption{
  font-weight:700;
  color:#4b3d32;
  margin-bottom:8px;
}
.extractor-preview-grid img{
  width:100%;
  height:auto;
  border:1px solid rgba(120,96,70,.15);
  background:#eee;
}
.extractor-preview-grid small{display:block;margin-top:7px;color:#7a6b5f}
.extractor-summary-table-wrap{margin-top:16px}
.extractor-summary-table .extractor-keep{color:#0b6a3d;font-weight:700}
.extractor-summary-table .extractor-delete{color:#b02a1b;font-weight:700}

/* V62 extraction classifier fixes */
.extractor-warning-note{
  color:#a33b16!important;
  font-weight:700;
  background:#fff1e6;
  border:1px solid rgba(163,59,22,.25);
  border-radius:8px;
  padding:8px 10px;
}

/* V63: extracted preview uses display PNG; actual transparent PNG is linked separately */
.extractor-preview-grid figure:nth-child(4) img{
  background:#faf7f2;
}

/* V64: extractor manual keep/delete selection */
.extractor-selection-form{
  margin-top:12px;
}
.extractor-selection-actions{
  align-items:center;
  gap:12px;
  margin:0 0 10px;
}
.extractor-selection-actions small{
  color:#6d5f52;
}
.extractor-keep-check{
  white-space:nowrap;
  font-weight:700;
}

/* V67 download analyzed files bundle */
.extractor-preview-top-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.button-like{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:10px;
  border:1px solid rgba(78,60,44,.18);
  background:#f7efe2;
  color:#3f3026;
  text-decoration:none;
  font-weight:700;
  box-shadow:0 2px 8px rgba(35,28,22,.06);
}
.button-like:hover{
  background:#efe4d1;
}


/* V69 AI extraction review */
.ai-review-summary{
  margin-top:10px;
  padding:10px 12px;
  border-radius:10px;
  border:1px solid rgba(87,74,59,.18);
  background:#fbf6ee;
}

/* V70 erase editor and large preview */
.extractor-preview-grid img.clickable-preview{
  cursor:zoom-in;
}
.extractor-erase-modal,
.extractor-large-image-modal{
  position:fixed;
  inset:0;
  z-index:10000;
  background:rgba(22,18,14,.78);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:22px;
}
.extractor-erase-modal[hidden],
.extractor-large-image-modal[hidden]{
  display:none!important;
}
.extractor-erase-dialog{
  width:min(1180px,96vw);
  max-height:94vh;
  overflow:auto;
  background:#fffaf3;
  border-radius:16px;
  box-shadow:0 30px 90px rgba(0,0,0,.45);
  border:1px solid rgba(120,96,70,.28);
  padding:16px;
}
.extractor-erase-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  border-bottom:1px solid rgba(120,96,70,.18);
  padding-bottom:12px;
  margin-bottom:12px;
}
.extractor-erase-header h3{
  margin:0;
  font-family:Georgia,serif;
  color:#3b2e25;
}
.extractor-erase-tools{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  margin:0 0 14px;
}
.extractor-erase-tools form{
  margin:0;
}
.extractor-erase-workspace{
  overflow:auto;
  border:1px solid rgba(120,96,70,.22);
  border-radius:12px;
  background:#f4efe8;
  padding:12px;
}
.extractor-canvas-wrap{
  position:relative;
  width:min(900px,88vw);
  margin:auto;
  background:#faf7f2;
}
.extractor-canvas-wrap img{
  display:block;
  width:100%;
  height:auto;
  border:1px solid rgba(120,96,70,.18);
  user-select:none;
  -webkit-user-drag:none;
}
.extractor-canvas-wrap canvas{
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:100%;
  touch-action:none;
}
.extractor-large-image-dialog{
  position:relative;
  max-width:96vw;
  max-height:94vh;
  background:#fffaf3;
  padding:14px;
  border-radius:14px;
  box-shadow:0 30px 90px rgba(0,0,0,.45);
  overflow:auto;
}
.extractor-large-image-dialog button{
  position:sticky;
  top:0;
  z-index:2;
  float:right;
  margin:0 0 8px 8px;
}
.extractor-large-image-dialog img{
  display:block;
  max-width:92vw;
  max-height:86vh;
  width:auto;
  height:auto;
  background:#faf7f2;
  border:1px solid rgba(120,96,70,.22);
}

/* V71 extraction controls */
.extractor-preview-top-actions form.inline-form{margin:0;}

/* V73 exact SVG preview */
.extractor-svg-preview-img{
  background:#faf7f2;
}


/* V75 converter candidate previews */
.extractor-candidate-block{margin-top:22px;padding-top:18px;border-top:1px solid rgba(87,74,59,.16)}
.extractor-candidate-head h4{margin:0 0 6px;color:#3b2e25;font-family:Georgia,serif}
.extractor-candidate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:12px}
.extractor-candidate-card{background:#fffaf3;border:1px solid rgba(87,74,59,.14);border-radius:12px;padding:12px;box-shadow:0 10px 26px rgba(50,40,30,.05)}
.extractor-candidate-card h5{margin:0 0 6px;color:#3b2e25;font-size:16px}
.extractor-candidate-card img{display:block;width:100%;height:auto;background:#faf7f2;border:1px solid rgba(87,74,59,.14);border-radius:8px;cursor:zoom-in}
.extractor-candidate-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.extractor-candidate-actions .button-like{margin:0}


/* V77 compact converter candidate previews */
.extractor-candidate-grid{
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  align-items:start;
}
.extractor-candidate-card{
  max-width:360px;
}
.extractor-candidate-card img{
  height:220px!important;
  max-height:220px!important;
  width:100%!important;
  object-fit:contain!important;
}
.extractor-preview-grid img{
  max-height:360px;
  object-fit:contain;
}
.extractor-preview-grid figure{
  overflow:hidden;
}
.extractor-large-image-dialog img{
  max-width:92vw!important;
  max-height:86vh!important;
  width:auto!important;
  height:auto!important;
}


/* V78: use fixed thumbnail box for converter candidates */
.extractor-candidate-grid{
  grid-template-columns:repeat(auto-fill,minmax(210px,240px))!important;
  justify-content:start!important;
}
.extractor-candidate-card{
  width:240px!important;
  max-width:240px!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.extractor-candidate-thumb{
  width:216px!important;
  height:170px!important;
  max-width:216px!important;
  max-height:170px!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#faf7f2!important;
  border:1px solid rgba(87,74,59,.14)!important;
  border-radius:8px!important;
}
.extractor-candidate-thumb img,
.extractor-candidate-card .extractor-candidate-thumb img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:210px!important;
  max-height:164px!important;
  object-fit:contain!important;
  border:0!important;
  background:transparent!important;
}
.extractor-candidate-card > img{
  width:auto!important;
  height:auto!important;
  max-width:210px!important;
  max-height:164px!important;
  object-fit:contain!important;
}


/* V79: converter candidates now match Latest Extraction Preview layout */
.extractor-candidate-block .extractor-preview-grid.extractor-candidate-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important;
  gap:16px!important;
  align-items:start!important;
}
.extractor-candidate-block .extractor-preview-grid.extractor-candidate-grid figure,
.extractor-candidate-figure{
  margin:0!important;
  padding:10px!important;
  background:#fffaf3!important;
  border:1px solid rgba(87,74,59,.14)!important;
  border-radius:12px!important;
  overflow:hidden!important;
  min-width:0!important;
}
.extractor-candidate-block .extractor-preview-grid.extractor-candidate-grid img,
.extractor-candidate-figure img{
  display:block!important;
  width:100%!important;
  height:260px!important;
  max-height:260px!important;
  object-fit:contain!important;
  background:#faf7f2!important;
  border:1px solid rgba(87,74,59,.14)!important;
  border-radius:8px!important;
}
.extractor-candidate-figure small{
  display:block!important;
  margin-top:6px!important;
}


/* V80 two-phase converter workflow */
.extractor-inline-action{margin-top:8px;display:flex;justify-content:flex-start}
.extractor-inline-action button{width:100%}
.extractor-fill-block{margin-top:24px}
.extractor-fill-grid{margin-top:12px}
.extractor-fill-figure small{display:block;margin-top:6px}


/* V81 artwork separation */
.elements-upload-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px;margin-bottom:18px}
.elements-batch-toolbar{margin:16px 0 14px;padding:14px;border:1px solid #d8dee8;border-radius:12px;background:#f8fafc}
.elements-batch-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}
.admin-select-cell{white-space:nowrap;vertical-align:top}
.check.compact{display:inline-flex;align-items:center;gap:6px}


/* V83: actual SVG previews in fixed-size frames, no huge SVG layout */
.svg-preview-frame{
  width:100%!important;
  height:260px!important;
  max-height:260px!important;
  overflow:hidden!important;
  background:
    linear-gradient(45deg, rgba(0,0,0,.04) 25%, transparent 25%),
    linear-gradient(-45deg, rgba(0,0,0,.04) 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, rgba(0,0,0,.04) 75%),
    linear-gradient(-45deg, transparent 75%, rgba(0,0,0,.04) 75%);
  background-size:20px 20px;
  background-position:0 0,0 10px,10px -10px,-10px 0;
  border:1px solid rgba(87,74,59,.14)!important;
  border-radius:8px!important;
}
.svg-preview-frame iframe{
  display:block!important;
  width:100%!important;
  height:100%!important;
  border:0!important;
  background:transparent!important;
}
.extractor-candidate-figure .svg-preview-frame,
.extractor-fill-figure .svg-preview-frame{
  margin:6px 0 8px!important;
}


/* V84: actual SVG image preview, scaled to fit fixed frame */
.svg-preview-frame{
  position:relative!important;
  width:100%!important;
  height:260px!important;
  max-height:260px!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
}
.svg-preview-frame iframe{
  display:none!important;
}
.svg-preview-frame img.converter-svg-preview-img,
.extractor-candidate-figure .svg-preview-frame img.converter-svg-preview-img,
.extractor-fill-figure .svg-preview-frame img.converter-svg-preview-img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  min-width:0!important;
  min-height:0!important;
  object-fit:contain!important;
  object-position:center center!important;
  border:0!important;
  background:transparent!important;
}
.extractor-candidate-block .extractor-preview-grid.extractor-candidate-grid img.converter-svg-preview-img,
.extractor-fill-grid img.converter-svg-preview-img{
  width:100%!important;
  height:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
}


/* V85: artwork converter tabbed workflow box */
.converter-workflow-box{
  margin-top:18px;
  border:1px solid rgba(87,74,59,.18);
  border-radius:16px;
  background:#fffaf3;
  overflow:hidden;
}
.converter-tab-bar{
  display:flex;
  flex-wrap:wrap;
  gap:0;
  border-bottom:1px solid rgba(87,74,59,.18);
  background:#f4ede4;
}
.converter-tab-button{
  appearance:none;
  border:0;
  border-right:1px solid rgba(87,74,59,.16);
  border-radius:0;
  background:transparent;
  padding:14px 18px;
  font-weight:700;
  color:#5b4a3a;
  cursor:pointer;
}
.converter-tab-button.active{
  background:#ffffff;
  color:#2f261d;
  box-shadow:inset 0 -3px 0 #8b6f52;
}
.converter-tab-panel{
  padding:18px;
}
.converter-tab-panel[hidden]{
  display:none!important;
}
.converter-workflow-next,
.converter-tab-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin:12px 0;
}
.converter-empty-state{
  padding:24px;
  border:1px dashed rgba(87,74,59,.22);
  border-radius:12px;
  background:#fff;
}
.converter-tab-panel .extractor-preview-report{
  margin-top:0;
}
.converter-tab-panel .plt-intake-card{
  margin:0;
}

/* V89 AI recreated panel */
.ai-recreated-grid{display:grid;grid-template-columns:minmax(320px,1fr) minmax(260px,360px);gap:18px;align-items:start}
.extractor-ai-meta-card{border:1px solid #d8cdc0;border-radius:16px;padding:18px;background:#faf7f2}
.extractor-ai-meta-card h5{margin:0 0 10px}
.extractor-ai-meta-card p{margin:0 0 10px}
.extractor-action-stack{display:flex;flex-direction:column;gap:10px}
@media (max-width: 900px){.ai-recreated-grid{grid-template-columns:1fr}}

/* V90 AI recreated variations */
.extractor-fill-grid .extractor-candidate-figure small{display:block;margin-top:6px;}

/* V92 flat outline tab */
.converter-tab-panel[data-converter-tab-panel="flat_outline"] .svg-preview-frame{height:320px!important;}
.extractor-inline-action select{width:100%;margin-top:6px;}
