:root{font-family:Inter,Arial,sans-serif;color:#1f2d3a;background:#eaf0f4}*{box-sizing:border-box}body{margin:0;background:#eaf0f4}button,input,select{font:inherit}button{border:1px solid #9db1c0;background:#f8fbfd;color:#23415a;border-radius:8px;padding:8px 12px;cursor:pointer}button:hover{background:#eef4f8}button:disabled{opacity:.55;cursor:not-allowed}.primary-action{background:#2d5f81;border-color:#244d68;color:#fff}.primary-action:hover{background:#244d68}.danger-action,.delete-button,.danger-button{background:#fff7f5;border-color:#d38b80;color:#982f25}.danger-action:hover,.delete-button:hover,.danger-button:hover{background:#ffe8e3}input,select{width:100%;border:1px solid #b2c2cf;border-radius:8px;padding:7px 9px;background:#fff}label{display:block;font-size:12px;color:#54697b;margin-bottom:4px}.app-shell{max-width:1640px;margin:0 auto;padding:10px}.panel{min-width:0;background:#dfe8ee;border:1px solid #c6d3dd;border-radius:14px;padding:12px;box-shadow:inset 0 1px #ffffff8c}.header-grid{display:grid;grid-template-columns:minmax(190px,220px) minmax(130px,.72fr) minmax(130px,.72fr) 104px minmax(148px,auto) minmax(154px,auto) minmax(300px,auto);gap:8px;margin-bottom:10px;align-items:center}.top-header{--header-control-height: 40px;padding:10px 12px}.app-brand{height:var(--header-control-height);min-height:var(--header-control-height);padding:6px 12px;display:flex;align-items:center;border:1px solid #c6d3dd;border-radius:10px;background:#ffffff73;color:#071421;font-size:clamp(18px,1.35vw,22px);font-weight:800;letter-spacing:0;text-shadow:0 2px 3px rgba(0,0,0,.14);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-field{position:relative}.header-field label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.header-field input{height:var(--header-control-height)}.language-field{position:relative}.language-field label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.language-field select{height:var(--header-control-height);padding:5px 8px}.header-clear{height:var(--header-control-height);min-width:0;white-space:normal;line-height:1.1;padding:4px 9px;overflow:hidden;text-align:center}.status-bar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:10px}.status-bar>div{height:44px;background:#ffffff73;border-radius:10px;padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px;overflow:hidden}.status-bar>div span,.status-bar>div strong{display:flex;align-items:center;min-height:100%;line-height:1.15}.status-bar>div strong{justify-content:flex-end;text-align:right}.meta-list>div{background:#ffffff73;border-radius:10px;padding:8px 10px;display:flex;justify-content:space-between;gap:10px}.main-layout{display:grid;grid-template-columns:420px minmax(0,1fr);gap:12px}.main-layout>*,.sidebar,.workspace{min-width:0}.sidebar,.workspace{display:flex;flex-direction:column;gap:12px}.stack{display:flex;flex-direction:column;gap:8px}.file-field{position:relative;overflow:hidden;padding:8px 12px;border:1px dashed #91a8b8;border-radius:8px;background:#ffffff80;display:inline-flex;align-items:center}.file-field.button-like{border-style:solid;justify-content:center;background:#f7fbfd;color:#23415a;font-size:inherit;font-weight:400}.file-field.short{width:auto}.file-field input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.canvas-panel{min-width:0;min-height:0;overflow:visible}.slab-scroll-shell{width:100%;height:calc(100vh - 245px);min-height:360px;overflow:auto;border-radius:10px 10px 6px 6px;background:#f7fbfe;border:1px solid rgba(127,152,173,.35)}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.toolbar.compact{margin-bottom:8px}.segmented,.chips-row,.preset-row{display:inline-flex;gap:6px;flex-wrap:wrap}.segmented .active,.chip.active{background:#bfd2df}.slab-svg,.texture-svg{width:100%;background:#f7fbfe;border-radius:10px;border:1px solid rgba(127,152,173,.35)}.slab-scroll-shell .slab-svg{border:0;border-radius:0;display:block}.slab-svg{min-height:760px}.texture-svg{min-height:320px;display:block;max-width:none}.lists-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.lists-panel{display:flex;flex-direction:column;gap:14px}.lists-panel h3{margin:0 0 8px}.list-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.list-title-row h3{margin:0}.list-title-row button{padding:6px 10px}.list-box{display:flex;flex-direction:column;gap:8px;max-height:240px;overflow:auto}.lists-panel .list-box{max-height:none;overflow:visible}.list-item{padding:8px 10px;background:#ffffff80;border-radius:10px;display:flex;flex-direction:column;gap:4px}.list-row{flex-direction:row;justify-content:space-between;align-items:center;gap:10px}.list-row>div{min-width:0;display:flex;flex-direction:column;gap:4px}.list-row span,.list-row strong{overflow:hidden;text-overflow:ellipsis}.list-actions{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;flex:0 0 auto}.delete-button{flex:0 0 auto;padding:6px 9px}.list-modal{width:min(1100px,calc(100vw - 28px))}.list-modal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.list-modal-card{min-width:0;display:grid;grid-template-columns:82px minmax(0,1fr);gap:10px;align-items:center;padding:9px;border:1px solid #cad8e3;border-radius:12px;background:#ffffff73}.list-modal-info{min-width:0;display:flex;flex-direction:column;gap:3px}.list-modal-info strong,.list-modal-info span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-modal-card .list-actions{grid-column:1 / -1;justify-content:flex-end}.list-thumb{width:82px;height:58px;display:block;background:#f7fbfe;border:1px solid rgba(127,152,173,.35);border-radius:8px}.list-thumb rect,.list-thumb path,.list-thumb circle,.list-thumb ellipse{fill:#7293ab47;stroke:#2d4f6c;stroke-width:1.6;vector-effect:non-scaling-stroke}.list-item.danger{border:1px solid #d62828}.checkbox-field{display:flex;align-items:center}.checkbox-field label{margin:0;font-size:14px}.header-actions{display:flex;flex-direction:row;align-items:center;justify-content:end;gap:7px;min-width:0}.header-actions .mode-caption{order:-1}.split-action{position:relative;display:grid;grid-template-columns:minmax(120px,1fr) 40px;min-width:160px}.split-action .primary-action{border-radius:0}.split-action .split-main{border-radius:8px 0 0 8px}.split-action .split-main,.split-action .split-arrow{height:var(--header-control-height);overflow:hidden}.split-action .split-arrow{border-left-color:#ffffff59;border-radius:0 8px 8px 0;padding:8px 0}.split-menu{position:absolute;right:0;top:calc(100% + 5px);z-index:25;min-width:190px;padding:6px;background:#f8fbfd;border:1px solid #9db1c0;border-radius:8px;box-shadow:0 12px 28px #1f2d3a2e;display:flex;flex-direction:column;gap:4px}.split-menu button{width:100%;text-align:left;border-color:transparent;background:transparent}.split-menu button:hover,.split-menu button.active{background:#dbe8f0;border-color:#bfd2df}.canvas-context-menu{position:fixed;z-index:120;min-width:210px;padding:6px;background:#f8fbfd;border:1px solid #9db1c0;border-radius:9px;box-shadow:0 14px 32px #1f2d3a38;display:flex;flex-direction:column;gap:4px}.canvas-context-menu button{width:100%;text-align:left;padding:7px 10px;border-color:transparent;background:transparent;border-radius:7px}.canvas-context-menu button:hover{background:#dbe8f0;border-color:#bfd2df}.canvas-context-menu .danger-menu-item{color:#982f25}.slab-magnifier-window{position:fixed;z-index:38;width:min(560px,calc(100vw - 36px));height:min(430px,calc(100vh - 36px));min-width:360px;min-height:260px;display:flex;flex-direction:column;background:#dfe8ee;border:1px solid #9db1c0;border-radius:10px;box-shadow:0 14px 40px #1f2d3a38;overflow:hidden;resize:both}.slab-magnifier-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-bottom:1px solid #c6d3dd;cursor:move;-webkit-user-select:none;user-select:none}.slab-magnifier-header button{width:28px;min-width:28px;height:28px;padding:0;display:grid;place-items:center}.slab-magnifier-zoom{display:flex;flex-wrap:wrap;gap:5px;padding:7px 10px;border-bottom:1px solid #c6d3dd;background:#f8fbfd73}.slab-magnifier-zoom button{min-width:40px;padding:5px 8px}.slab-magnifier-zoom button.active{background:#bfd2df}.slab-magnifier-body{position:relative;flex:1 1 auto;min-height:0;padding:10px;background:#eef4f8}.slab-magnifier-view{width:100%;height:100%;display:block;background:#f7fbfe;border:1px solid rgba(127,152,173,.35);border-radius:8px}.slab-magnifier-part text{fill:#102536;font-size:22px;font-weight:700;paint-order:stroke;stroke:#f8fbfdcc;stroke-width:4px;pointer-events:none}.slab-magnifier-map{position:absolute;right:18px;bottom:18px;padding:6px;border:1px solid rgba(45,79,108,.45);border-radius:8px;background:#f8fbfde0;box-shadow:0 8px 18px #1f2d3a2e}.slab-magnifier-map svg{display:block;cursor:crosshair}.slab-magnifier-map polygon{fill:#7293ab52;stroke:#2d4f6c;stroke-width:1.2;vector-effect:non-scaling-stroke}.slab-magnifier-map-window{fill:#1f78b424;stroke:#1f78b4;stroke-width:2;vector-effect:non-scaling-stroke}.angle-editor-popover{position:fixed;z-index:121;width:180px;padding:8px;background:#f8fbfd;border:1px solid #9db1c0;border-radius:9px;box-shadow:0 14px 32px #1f2d3a38}.angle-editor-popover label{margin-bottom:6px}.angle-editor-popover div{display:grid;grid-template-columns:1fr auto;gap:6px}.angle-editor-popover input{height:32px}.angle-editor-popover button{padding:6px 10px}.hidden-file-input{position:fixed;width:1px;height:1px;opacity:0;pointer-events:none}.mode-caption{display:inline-flex;align-items:center;height:var(--header-control-height);min-width:0;padding:5px 9px;border:1px solid #bfd2df;border-radius:8px;background:#ffffff73;color:#23415a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.forms-panel h3,.compact-panel h3{margin-top:0}.subgrid.two-col{display:grid;grid-template-columns:1fr;gap:12px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px}.form-grid.compact{margin-bottom:8px}.form-zone{background:#ffffff38;border:1px solid rgba(157,177,192,.55);border-radius:12px;padding:10px}.detail-launcher{display:flex;flex-direction:column;gap:10px;align-items:stretch;justify-content:flex-start}.detail-open-button{min-height:42px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:flex;align-items:center;justify-content:center;padding:18px;background:#24344261}.detail-modal{width:min(920px,calc(100vw - 28px));max-height:calc(100vh - 28px);overflow:auto;background:#edf4f9;border:1px solid #bfd0dc;border-radius:18px;padding:16px;box-shadow:0 22px 70px #1f2d3a52}.slab-edit-modal{width:min(640px,calc(100vw - 28px))}.detail-modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;cursor:move;-webkit-user-select:none;user-select:none}.detail-modal-header h2{margin:0;font-size:26px}.detail-modal-header p{margin:4px 0 0;color:#536b7a;font-size:13px}.icon-button{width:36px;height:36px;padding:0;border-radius:10px;font-size:22px;line-height:1}.designer-select-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.shape-thumbnails{display:grid;grid-template-columns:repeat(7,minmax(76px,1fr));gap:8px;margin:10px 0}.shape-thumb{min-height:66px;padding:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:10px;background:#f6fafc}.shape-thumb.active{background:#d9e9f4;border-color:#8daabd}.shape-thumb svg{width:44px;height:30px;fill:none;stroke:#58738a;stroke-width:3}.shape-thumb span{font-size:10px;font-weight:700;color:#243b4d;line-height:1.15}.designer-meta{display:flex;gap:18px;flex-wrap:wrap;align-items:center;padding:8px 10px;margin-bottom:10px;border:1px solid #cad8e3;border-radius:10px;background:#ffffff6b;color:#536b7a;font-size:13px}.designer-meta input{width:74px;padding:5px 7px;margin-left:5px}.designer-card,.feature-designer{border:1px solid #cad8e3;border-radius:14px;background:#e6eef4;padding:12px;margin-bottom:10px}.designer-card h3,.feature-designer h3{margin:0 0 10px}.schema{position:relative;min-height:280px;border:1px solid #c6d6e1;border-radius:12px;background:#eef4f8;overflow:hidden}.schema-l,.schema-u{min-height:390px}.reference-schema{min-height:0;padding:0;background:#e8f0f6;display:flex;align-items:center;justify-content:center}.designer-scheme-svg{width:80%;height:auto;display:block;background:#e8f0f6}.designer-scheme-svg .scheme-part{fill:#ffffff73;stroke:#627b8e;stroke-width:1.8;vector-effect:non-scaling-stroke}.designer-scheme-svg .scheme-part.inner{fill:#ffffff42;stroke-width:1.2}.designer-scheme-svg .sink-section{fill:#ffffffb3}.designer-scheme-svg .scheme-dash{fill:none;stroke:#8ea1ad;stroke-width:1;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}.designer-scheme-svg .scheme-dim{fill:none;stroke:#9aacb7;stroke-width:1;vector-effect:non-scaling-stroke}.designer-scheme-svg .scheme-arrow{fill:none;stroke:#6d8495;stroke-width:1.1;marker-start:url(#arrow-start);marker-end:url(#arrow-end);vector-effect:non-scaling-stroke}.designer-scheme-svg marker path{fill:#6d8495;stroke:none}.designer-scheme-svg .scheme-caption{fill:#536b7a;font-size:15px;dominant-baseline:middle}.designer-scheme-svg .scheme-caption.centered{text-anchor:middle}.designer-scheme-svg .scheme-large-text{fill:#536b7a;font-size:24px;text-anchor:middle;dominant-baseline:middle}.designer-scheme-svg .scheme-symbol{fill:#2d5369;font-size:20px;font-weight:700;text-anchor:middle;dominant-baseline:middle}.scheme-input-wrap,.scheme-side-wrap{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.scheme-input-wrap input{width:100%;height:100%;padding:4px 6px;text-align:center;border-radius:8px;background:#fff;font-size:17px;color:#1f2d3a}.scheme-side-wrap button{width:100%;height:100%;padding:0;border-radius:8px;background:#f7fbfd;color:#6a8292;font-size:17px}.scheme-side-wrap button.active{background:#cfe3f0;border-color:#7898ad;color:#23415a}.scheme-radio-box{display:flex;flex-direction:column;gap:8px;color:#536b7a;font-size:14px}.scheme-radio-box label{display:flex;align-items:center;gap:8px;margin:0;font-size:14px;color:#536b7a}.scheme-radio-box input{width:auto}.scheme-check{width:100%;height:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0;color:#536b7a;font-size:13px}.scheme-check input{width:auto}.rect-template-shell{min-height:260px;overflow:auto}.rect-template{position:relative;width:690px;height:260px;flex:0 0 auto;background:#e8f0f6}.rect-template-image{position:absolute;top:0;right:0;bottom:0;left:0;width:690px;height:260px;display:block;-webkit-user-select:none;user-select:none;pointer-events:none}.l-template-shell{min-height:380px;overflow:auto}.l-template{position:relative;width:690px;height:380px;flex:0 0 auto;background:#e8f0f6}.l-template-image{position:absolute;top:0;right:0;bottom:0;left:0;width:690px;height:380px;display:block;-webkit-user-select:none;user-select:none;pointer-events:none}.template-text-label{position:absolute;z-index:2;width:120px;padding:2px 4px;background:#e8f0f6;color:#536b7a;font-size:14px;line-height:1.15;text-align:center;pointer-events:none}.rect-quantity-caption{left:560px;top:96px}.l-quantity-caption{left:525px;top:210px}.u-template-shell{min-height:380px;overflow:auto}.u-template{position:relative;width:690px;height:380px;flex:0 0 auto;background:#e8f0f6}.u-template-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:690px;height:380px;display:block}.u-template-part{fill:url(#u-template-fill);stroke:#627b8e;stroke-width:2;vector-effect:non-scaling-stroke}.u-template-dash{fill:none;stroke:#8ea1ad;stroke-width:1;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}.u-template-caption{fill:#536b7a;font-size:14px;dominant-baseline:middle;text-anchor:middle}.u-template-caption:first-of-type{text-anchor:start}.u-template-symbol{fill:#2d5369;font-size:18px;font-weight:700;text-anchor:middle;dominant-baseline:middle}.u-template-input{position:absolute;z-index:3;height:33px;padding:3px 6px;transform:translate(-50%,-50%);text-align:center;border-radius:8px;background:#fff;color:#1f2d3a;font-size:16px}.u-template-side{position:absolute;z-index:2;width:32px;height:32px;padding:0;transform:translate(-50%,-50%);border-radius:8px;background:#f7fbfd;color:#6a8292;font-size:15px}.u-template-side.active{background:#cfe3f0;border-color:#7898ad;color:#23415a}.u-template-check{position:absolute;z-index:3;width:150px;height:24px;display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0;color:#536b7a;font-size:12px;white-space:nowrap}.u-template-check input{width:auto;margin:0}.shape-schema-svg{position:absolute;top:18px;right:122px;bottom:18px;left:118px;width:calc(100% - 240px);height:calc(100% - 36px);overflow:visible}.shape-schema-svg rect,.shape-schema-svg path,.shape-schema-svg circle,.shape-schema-svg ellipse{fill:#ffffff7a;stroke:#58738a;stroke-width:2.4;vector-effect:non-scaling-stroke}.shape-schema-svg line{stroke:#8aa0af;stroke-width:1.5;vector-effect:non-scaling-stroke;marker-start:none;marker-end:none}.shape-schema-svg .dash{stroke-dasharray:4 5;opacity:.75}.shape-schema-svg text{fill:#536b7a;font-size:24px;text-anchor:middle;dominant-baseline:middle}.schema-input{position:absolute;z-index:2;width:78px;padding:7px 8px;text-align:center;background:#fff}.dim-top{left:50%;top:18px;transform:translate(-50%)}.dim-left{left:18px;top:50%;transform:translateY(-50%)}.dim-left-stack.top{left:22px;top:88px}.dim-left-stack.bottom{left:22px;top:166px}.dim-notch-h{left:56%;bottom:56px;transform:translate(-50%)}.dim-notch-v{left:54%;top:55%;transform:translate(-50%,-50%)}.dim-offset{left:27%;bottom:34px;transform:translate(-50%)}.side-zone{position:absolute;z-index:3;width:46px;height:40px;padding:0;display:inline-flex;align-items:center;justify-content:center;color:#58738a;font-weight:700;background:#f7fbfd}.side-zone.active{background:#cfe3f0;border-color:#7898ad;color:#23415a}.side-a{left:48px;top:50%;transform:translateY(-50%)}.side-b{left:50%;top:62px;transform:translate(-50%)}.side-c{right:48px;top:50%;transform:translateY(-50%)}.side-d{left:50%;bottom:34px;transform:translate(-50%)}.side-e{left:43%;top:55%;transform:translate(-50%,-50%)}.side-f{left:38%;bottom:18px;transform:translate(-50%)}.side-g{left:31%;top:58%;transform:translate(-50%,-50%)}.side-h{left:25%;bottom:18px;transform:translate(-50%)}.circle-mode{position:absolute;z-index:4;left:18px;top:46px;display:flex;flex-direction:column;gap:8px;color:#536b7a;font-size:13px}.circle-mode label{display:flex;align-items:center;gap:8px;margin:0;font-size:14px;color:#334c60}.circle-mode input[type=radio]{width:auto}.circle-mode .schema-input{position:static;transform:none;width:82px}.quantity-input{position:absolute;z-index:3;right:28px;top:50%;transform:translateY(-50%);width:94px}.quantity-input input{text-align:center}.joint-checks{position:absolute;right:22px;bottom:28px;z-index:4;display:flex;flex-direction:column;gap:8px;width:180px}.joint-checks label{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0;font-size:13px;color:#536b7a}.joint-checks input{width:auto}.feature-designer{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:12px;align-items:end}.feature-designer h3{grid-column:1 / -1}.feature-side-controls{display:flex;flex-direction:column;gap:8px}.side-chip-row{display:flex;flex-wrap:wrap;gap:8px}.feature-toggle-all{display:inline-flex;align-items:center;gap:8px;margin:0;min-height:36px;color:#23415a;font-size:13px;font-weight:700}.feature-toggle-all input{width:18px;height:18px;margin:0}.edge-profile-designer{grid-template-columns:160px minmax(0,1fr);align-items:start}.edge-profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px}.edge-profile-row{display:grid;grid-template-columns:38px 54px minmax(0,1fr);gap:8px;align-items:center}.edge-profile-side{justify-content:center;min-width:34px}.edge-profile-row select{min-width:0}.edge-profile-icon{width:54px;height:32px;display:block}.detail-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding-top:2px}.pdf-modal{width:min(920px,calc(100vw - 28px))}.dxf-modal{width:min(1120px,calc(100vw - 28px))}.allowances-modal{width:min(620px,calc(100vw - 28px))}.allowances-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:10px}.allowance-check{margin-bottom:10px}.dxf-preview-list{display:flex;flex-direction:column;gap:6px;max-height:min(72vh,720px);overflow:auto}.dxf-preview-row{align-items:center;gap:8px;padding:5px 7px}.dxf-preview-shape{width:132px;height:92px;flex:0 0 auto}.dxf-preview-shape path{fill:#7293ab47;stroke:#2d4f6c;stroke-width:2.2;vector-effect:non-scaling-stroke}.dxf-preview-meta{width:86px;flex:0 0 86px;display:flex;flex-direction:column;justify-content:center;gap:4px;font-size:12px}.dxf-preview-controls{flex:1 1 auto;display:grid;grid-template-columns:minmax(130px,1.25fr) repeat(3,minmax(74px,.8fr)) minmax(120px,1fr) repeat(2,minmax(70px,.7fr)) auto;gap:5px;align-items:end}.dxf-preview-controls label{min-width:0;margin:0;font-size:11px}.dxf-preview-controls select,.dxf-preview-controls input{min-height:30px;padding:4px 6px;border-radius:7px;font-size:13px}.dxf-preview-controls button{align-self:end;padding:6px 9px}.pdf-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:12px}.pdf-section{min-width:0;border:1px solid #cad8e3;border-radius:14px;background:#e6eef4;padding:12px;display:flex;flex-direction:column;gap:10px}.pdf-section h3{margin:0 0 2px}.pdf-section-wide{grid-column:1 / -1}.pdf-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pdf-check-grid-wide{grid-template-columns:repeat(4,minmax(0,1fr));align-items:center}.pdf-check{margin:0;display:flex;align-items:center;gap:8px;min-height:34px;padding:7px 8px;border:1px solid #cad8e3;border-radius:10px;background:#ffffff6b;color:#243b4d;font-size:13px}.pdf-check input{width:auto;flex:0 0 auto}.pdf-hint{min-height:34px;padding:8px 10px;border-radius:10px;background:#ffffff59;color:#536b7a;font-size:13px}.pdf-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding-top:12px}.small-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mini-panel{background:#ffffff47;border:1px solid rgba(157,177,192,.55);border-radius:12px;padding:10px}.mini-panel h4{margin:0 0 8px}.mini-panel-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.defect-add-control{display:inline-flex;gap:8px;align-items:center}.error-box{color:#8b1d1d;background:#fff6;border:1px solid rgba(214,40,40,.4);padding:8px 10px;border-radius:10px;margin-bottom:10px}.chip{min-width:36px}.compact-panel{padding:10px}.texture-panel{min-width:0;min-height:380px;overflow:hidden}.texture-toolbar{align-items:flex-start}.texture-toolbar h3{margin:0 0 4px}.texture-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.texture-frame-create{position:relative;display:inline-flex}.texture-frame-create>.chip:first-child{border-radius:8px 0 0 8px}.texture-frame-arrow{width:34px;border-radius:0 8px 8px 0;padding-left:0;padding-right:0;border-left-color:#1f2d3a2e}.texture-frame-menu{right:0;top:calc(100% + 5px);min-width:88px}.texture-canvas-shell{position:relative;min-width:0;max-width:100%}.texture-canvas-scroll{width:100%;max-width:100%;overflow:hidden;border-radius:10px 10px 6px 6px;background:#f7fbfe;border:1px solid rgba(127,152,173,.35)}.texture-canvas-scroll .texture-svg{border:0;border-radius:0}.texture-resize-handle,.slab-resize-handle{height:14px;border:1px solid rgba(127,152,173,.35);border-top:0;border-radius:0 0 10px 10px;background:#e9f0f5;cursor:ns-resize;display:flex;align-items:center;justify-content:center}.texture-resize-handle span,.slab-resize-handle span{width:54px;height:4px;border-radius:999px;background:#9db1c0}.texture-resize-handle:hover,.slab-resize-handle:hover{background:#dfe8ee}.texture-piece.draggable{cursor:grab}.texture-piece.draggable:active{cursor:grabbing}.texture-piece.attached{opacity:.92}.texture-frame rect{fill:#1f78b40d;stroke:#1f78b4;stroke-width:2;stroke-dasharray:10 7;vector-effect:non-scaling-stroke;cursor:pointer}.texture-frame.active rect{fill:#1f78b414}.texture-frame-handle{fill:#f8fbfd;stroke:#1f78b4;stroke-width:1.4;vector-effect:non-scaling-stroke}.texture-frame-handle.handle-n,.texture-frame-handle.handle-s{cursor:ns-resize}.texture-frame-handle.handle-e,.texture-frame-handle.handle-w{cursor:ew-resize}.texture-frame-handle.handle-ne,.texture-frame-handle.handle-sw{cursor:nesw-resize}.texture-frame-handle.handle-nw,.texture-frame-handle.handle-se{cursor:nwse-resize}.texture-frame-draft{fill:#1f78b41f;stroke:#1f78b4;stroke-width:1.6;stroke-dasharray:8 5;vector-effect:non-scaling-stroke;pointer-events:none}.texture-context-menu{min-width:170px}.texture-format-menu{min-width:96px}.texture-preview-floating{position:fixed;right:18px;bottom:18px;z-index:20;width:min(440px,calc(100vw - 36px));height:320px;min-width:280px;min-height:180px;max-width:calc(100vw - 36px);max-height:calc(100vh - 36px);resize:both;display:flex;flex-direction:column;background:#dfe8ee;border:1px solid #9db1c0;border-radius:10px;box-shadow:0 14px 40px #1f2d3a38;overflow:hidden}.texture-preview-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-bottom:1px solid #c6d3dd;cursor:move;-webkit-user-select:none;user-select:none}.texture-preview-header button{padding:5px 8px}.texture-preview-body{flex:1 1 auto;min-height:0;padding:10px;overflow:auto;background:#eef4f8}.texture-preview-body svg{width:100%!important;height:auto!important;max-height:none;background:#f7fbfe;border:1px solid rgba(127,152,173,.35);border-radius:8px}.texture-preview-svg{display:block}.unplaced-panel{min-width:0;min-height:132px}.unplaced-panel .toolbar{margin-bottom:6px}.unplaced-window{width:100%;display:block;background:#f7fbfe;border:1px solid rgba(127,152,173,.35);border-radius:8px}.unplaced-window>rect{fill:#f8fbfd}.unplaced-window .unplaced-fill{fill:#7293ab40;stroke:none}.unplaced-window .unplaced-stroke{fill:#ffffff14;stroke:#35556b;stroke-width:1.4}.unplaced-window text{fill:#1f3342;pointer-events:none}.unplaced-window text+text{fill:#3a596c}.unplaced-item{cursor:grab}.unplaced-item:active,.unplaced-item.dragging{cursor:grabbing;opacity:0}.unplaced-panel.drop-target{border-color:#6f94ad;background:#d6e6f0}.unplaced-drag-ghost{position:fixed;z-index:80;pointer-events:none;min-width:126px;max-width:230px;padding:7px 9px;border:1px solid #7f98ad;border-radius:8px;background:#f8fbfdf5;box-shadow:0 10px 26px #1f2d3a38;color:#1f3342;display:flex;flex-direction:column;gap:2px}.unplaced-drag-ghost strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unplaced-drag-ghost span{font-size:11px;color:#536b7a}.unplaced-ghost-shape{width:94px;height:58px;align-self:center}.unplaced-ghost-shape polygon{fill:#7293ab40;stroke:#35556b;stroke-width:2}.buffer-drag-ghost{position:fixed;z-index:90;pointer-events:none;overflow:visible;filter:drop-shadow(0 10px 18px rgba(31,45,58,.22))}.buffer-drag-ghost .unplaced-fill{fill:#7293ab45}.buffer-drag-ghost .unplaced-stroke{fill:#ffffff1f;stroke:#35556b;stroke-width:1.4}.buffer-drag-ghost text{fill:#1f3342;pointer-events:none}.buffer-drag-ghost text+text{fill:#3a596c}.placement-drag-ghost{position:fixed;z-index:90;pointer-events:none;overflow:visible;filter:drop-shadow(0 10px 18px rgba(31,45,58,.24))}.placement-drag-ghost polygon{fill:#7293ab59;stroke:#2d4f6c;stroke-width:1.5;vector-effect:non-scaling-stroke}.placement-drag-ghost text{fill:#1e2d3d;font-size:13px;pointer-events:none}.group-drag-preview{pointer-events:none;filter:drop-shadow(0 8px 14px rgba(31,45,58,.2))}.group-drag-preview polygon{fill:#7293ab47;stroke:#1f78b4;stroke-width:2;stroke-dasharray:8 5}.allowance-outline{stroke-dasharray:8 6;stroke-width:1.5;vector-effect:non-scaling-stroke}.edge-profile-marks line{stroke:#1f5f87;stroke-width:1.15;stroke-dasharray:8 5;vector-effect:non-scaling-stroke}.edge-profile-marks text{fill:#1f5f87;font-size:9px;font-weight:700;paint-order:stroke;stroke:#f8fbfdd1;stroke-width:3px;vector-effect:non-scaling-stroke}.slab-svg-drop-active{cursor:copy}.unplaced-empty{min-height:62px;display:flex;align-items:center;color:#536b7a;background:#ffffff59;border:1px dashed rgba(127,152,173,.55);border-radius:8px;padding:10px}.unplaced-empty.drop-empty{justify-content:center;min-height:96px;border-color:#6f94ad;color:#23415a}.muted{color:#536b7a;font-size:13px}.part-group{cursor:grab}.part-group:active{cursor:grabbing}.part-group.dragging-source{opacity:.18}.part-group.selected polygon,.part-group.selected path:not(.allowance-outline){fill:#3891c975;stroke:#0b73b7;stroke-width:3}.part-group.selected .allowance-outline{stroke:#0b73b7;stroke-width:2}.part-group.selected.conflicted polygon,.part-group.selected.conflicted path:not(.allowance-outline){stroke:#8b1d1d;stroke-width:3.5}.part-group.selected.conflicted .allowance-outline{stroke:#8b1d1d;stroke-width:2.5}.placement-state-badges{pointer-events:none}.placement-state-badges rect{fill:#f8fbfde6;stroke:#2d5f81;stroke-width:1}.placement-state-badges text{fill:#244d68;font-size:9px;font-weight:800}.slab-dimensions text,.slab-dimension-hint{fill:#31536b;font-size:12px;font-weight:700;pointer-events:none;-webkit-user-select:none;user-select:none}.slab-dimensions .dimension-guide{stroke:#31536b6b;stroke-width:1;stroke-dasharray:4 5;pointer-events:none}.slab-dimensions .dimension-arrow{stroke:#31536b;stroke-width:1.2;fill:none;pointer-events:none}.slab-dimensions marker path{fill:#31536b}.manual-dimensions .dimension-arrow{stroke:#1f78b4;stroke-width:1.6}.manual-dimensions marker path{fill:#1f78b4}.manual-dimensions text{fill:#1f4f7a;paint-order:stroke;stroke:#f3f7fa;stroke-width:4px}.manual-dimension-hitbox{stroke:transparent;stroke-width:16;pointer-events:stroke;cursor:pointer}.manual-dimension text{pointer-events:auto;cursor:pointer}.manual-dimension.selected .dimension-arrow{stroke:#d86c1f;stroke-width:2.4}.manual-dimension.selected text{fill:#9b3d0c}.manual-dimension-anchor{fill:#1f78b4;stroke:#fff;stroke-width:2;pointer-events:none}.selection-rect{fill:#1f78b41f;stroke:#1f78b4;stroke-width:1.5;stroke-dasharray:7 5;pointer-events:none}.slab-svg,.texture-svg,.part-group,.detail-label,.detail-label-popover,.placement-drag-ghost,.buffer-drag-ghost{-webkit-user-select:none;user-select:none}.checkbox-field label{width:100%;height:var(--header-control-height);min-height:var(--header-control-height);padding:5px 9px;border:1px solid #8fb0c5;border-radius:8px;background:#ffffff8c;font-size:14px;font-weight:700;white-space:nowrap;display:flex;align-items:center;overflow:hidden;text-overflow:ellipsis}.checkbox-field input{width:18px;height:18px;margin-right:7px;vertical-align:middle}.label-hover-zone{fill:transparent;pointer-events:all;cursor:text}.detail-label{pointer-events:none;transition:transform .12s ease;transform-box:fill-box;transform-origin:center}.detail-label-text{fill:#1e2d3d;font-weight:700}.detail-dims-text{fill:#496276}.detail-label-popover{pointer-events:all;cursor:text;filter:drop-shadow(0 8px 16px rgba(31,45,58,.18))}.detail-label-popover rect{fill:#f8fbfdf5;stroke:#7898ad;stroke-width:1}.detail-label-popover text{fill:#1e2d3d;font-size:14px;font-weight:700;pointer-events:none}@media (max-width: 1200px){.main-layout,.header-grid,.status-bar,.lists-grid,.designer-select-row,.feature-designer,.pdf-grid{grid-template-columns:1fr}.shape-thumbnails{grid-template-columns:repeat(3,minmax(76px,1fr))}.pdf-check-grid-wide{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){.detail-modal{padding:12px}.shape-thumbnails,.pdf-check-grid,.pdf-check-grid-wide{grid-template-columns:repeat(2,minmax(76px,1fr))}.shape-schema-svg{top:52px;right:86px;bottom:40px;left:76px;width:calc(100% - 162px);height:calc(100% - 92px)}.quantity-input{right:12px}.side-a{left:10px}.side-c{right:10px}}
