:root{color:#1f2933;background:#d9e1e8;font-family:PingFang SC,Segoe UI,sans-serif;font-size:14px}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}#app{display:flex;flex-direction:column}#app-main{display:flex;flex:1;flex-direction:row;min-width:0;min-height:0}#project{display:flex;flex:none;flex-direction:column;order:1;width:248px;min-width:248px;max-width:248px;min-height:0;overflow:hidden;background:#fff;border-right:1px solid #c5d0da}.project-head h2{margin:10px 10px 0;color:#1f2933;font-size:15px;font-weight:600;line-height:1.2}#project-title{margin:2px 10px 8px;color:#52606d;font-size:12px;line-height:1.3;word-break:break-all}.project-actions{display:flex;flex:none;flex-wrap:nowrap;gap:4px;padding:0 8px 8px}.project-actions button{padding:2px 8px;border:1px solid #9aa5b1;border-radius:3px;background:#fff;color:#1f2933;font:inherit;font-size:12px;line-height:1.4;cursor:pointer}.project-actions button:hover{border-color:#2563eb;color:#1d4ed8}#project-list{display:flex;flex:1;flex-direction:column;min-height:0;margin:0;padding:0 8px 12px;overflow:auto;list-style:none}.project-warning{margin:0 8px 8px;padding:6px 8px;border:1px solid #e3b15a;border-radius:3px;background:#fff6e5;color:#8a5a00;font-size:12px;line-height:1.45}.summary-picker-card .project-warning{margin:8px 0 0}.project-empty{color:#52606d;font-size:12px;line-height:1.45}.project-section{margin:0 0 10px}.project-section.is-finished,#project-list>.project-section:last-child{margin-top:auto;padding-top:8px}.project-section-name{margin:2px 0 6px;padding:2px 4px;font-size:12px;font-weight:700}.project-section-list{margin:0;padding:0;list-style:none}.project-root.is-locked .project-type-name{color:#52606d}.project-groups,.project-types{margin:4px 0 0;padding:0 0 0 10px;list-style:none}.project-check{flex:none;width:14px;height:14px;margin:0;accent-color:#2563eb}.project-root.is-dim>.project-folder .project-folder-name,.project-root.is-dim>.project-folder .project-fold{color:#9aa5b1}.project-folder{display:flex;align-items:flex-start;gap:4px;margin:0 0 4px}.project-folder-name{display:flex;flex:1;align-items:flex-start;gap:4px;min-width:0;min-height:22px;padding:2px 4px;border:1px solid transparent;border-radius:3px;background:transparent;color:#1f2933;font:inherit;font-size:12px;font-weight:600;line-height:1.35;text-align:left;word-break:break-all;cursor:pointer}.project-fold{flex:none;width:12px;color:#52606d}input.project-folder-name{display:block;height:22px;min-height:0;padding:0 4px;cursor:text}.project-folder-name:hover,.project-folder-name:focus{border-color:#9aa5b1;outline:none}.project-group .project-folder-name{font-weight:500;color:#52606d}.project-context{position:fixed;z-index:30;min-width:112px;margin:0;padding:4px;border:1px solid #9aa5b1;border-radius:4px;background:#fff;box-shadow:0 4px 16px #0f172a1f}.project-context button{display:block;width:100%;margin:0;padding:4px 8px;border:0;border-radius:3px;background:transparent;color:#1f2933;font:inherit;font-size:12px;line-height:1.5;text-align:left;cursor:pointer}.project-context button:hover:not(:disabled){background:#e8f1ff}.project-context button:disabled{color:#9aa5b1;cursor:default}.project-context button.is-split{margin-top:4px;border-top:1px solid #e6ebf0;border-radius:0}.project-context button.is-danger{margin-top:4px;border-top:1px solid #e6ebf0;border-radius:0 0 3px 3px;color:#9b1c1c}.project-context button.is-danger:hover:not(:disabled){background:#fff5f5}.project-type{display:flex;align-items:flex-start;gap:4px;margin:0 0 8px;padding:6px;border:1px solid #d9e2ec;border-radius:4px;background:#fff}.project-type-main{flex:1;min-width:0}.project-type.is-open{border-color:#2563eb}.project-type.is-dirty{background:#fffbeb}.project-open{display:block;width:100%;margin:0;padding:0;border:0;background:transparent;cursor:pointer}.project-thumb{display:flex;align-items:center;justify-content:center;height:72px;overflow:hidden;background:#f7f9fb;border:1px solid #e6ebf0;color:#7b8794;font-size:12px}.project-thumb svg{width:100%;height:72px;display:block;pointer-events:none}.project-type-number{margin-top:4px;padding:0 4px;overflow:hidden;color:#1f2933;font-size:12px;font-weight:600;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.project-type-number:empty{display:none}.project-type-row{display:flex;align-items:center;gap:4px;margin-top:4px}.project-type-name{flex:1;min-width:0;height:22px;padding:0 4px;border:1px solid transparent;border-radius:3px;background:transparent;color:#1f2933;font:inherit;font-size:12px}.project-type-name:hover,.project-type-name:focus{border-color:#9aa5b1;outline:none}.workspace{display:flex;flex:none;flex-direction:column;order:4;width:320px;min-width:320px;max-width:320px;min-height:0;overflow:hidden;background:#fff;font-size:12px}#sheet-split{position:relative;z-index:5;flex:none;order:3;width:8px;margin:0 -4px;cursor:col-resize;touch-action:none}#sheet-split:before{content:"";position:absolute;top:0;bottom:0;left:3px;width:1px;background:#c5d0da}#sheet-split:hover:before,body.is-sheet-resize #sheet-split:before{left:3px;width:2px;background:#2563eb}body.is-sheet-resize{cursor:col-resize;-webkit-user-select:none;user-select:none}#sheet-stage{display:flex;flex:1;flex-direction:column;order:2;align-items:stretch;min-width:0;min-height:0;overflow:hidden;padding:8px 8px 16px;background:#d9e1e8}.sheet-page{display:flex;flex:1;flex-direction:column;align-items:safe center;justify-content:safe center;min-width:0;min-height:0;overflow:auto}.sheet-actions{display:grid;flex:none;grid-template-columns:28px minmax(0,1fr) 28px;align-items:center;gap:8px;margin-bottom:8px}.sheet-actions-main{display:flex;justify-content:center;gap:8px}.sheet-actions-main button{padding:4px 14px;border:1px solid #9aa5b1;border-radius:3px;background:#fff;color:#1f2933;font:inherit;font-size:13px;line-height:1.4;cursor:pointer}.sheet-actions-main button:hover{border-color:#2563eb;color:#1d4ed8}.panel-toggle{display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:6px;background:transparent;color:#52606d;cursor:pointer}.panel-toggle svg{display:block;width:16px;height:16px}.panel-toggle-bar{fill:currentColor}.panel-toggle:hover{background:#1f293314;color:#1f2933}.panel-toggle[aria-expanded=false]{color:#7b8794}.panel-toggle[aria-expanded=false] .panel-toggle-bar{fill:none}#app.is-project-collapsed #project,#app.is-workspace-collapsed #workspace,#app.is-workspace-collapsed #sheet-split{display:none}#print-sheet{position:relative;z-index:1;display:flex;flex:none;flex-direction:column;width:210mm;height:297mm;min-width:0;margin:0;padding:8mm;overflow:hidden;background:#fff;box-shadow:0 1px 4px #1f29332e}#print-sheet h1{flex:none;margin:0;padding:0 0 4px;color:#1f2933;font-size:16px;font-weight:600;line-height:1.2;text-align:center;letter-spacing:.04em}#print-sheet-body{display:flex;flex:1;flex-direction:column;align-items:stretch;min-height:0;width:100%;overflow:hidden}.sheet-block{display:flex;flex:1 1 auto;flex-direction:column;align-self:center;width:max-content;max-width:100%;min-width:0;min-height:0}.sheet-fields{display:flex;flex:none;flex-direction:column;align-self:stretch;width:max-content;max-width:100%;gap:4px;overflow:hidden;margin:0 0 4px}.sheet-row{display:flex;align-items:center;gap:12px}.sheet-row-small,.sheet-row-small .sheet-menu,.sheet-row-small .sheet-menu-value{font-size:13px}.sheet-top{display:flex;align-items:stretch;gap:12px;width:0;min-width:100%;max-width:100%}.sheet-top-main{display:flex;flex:1 1 auto;flex-direction:column;gap:4px;min-width:0}.sheet-top-main>.sheet-row{width:100%}.sheet-menu-end{flex:1 1 auto;min-width:0}.sheet-mark{display:flex;flex:none;align-items:center;justify-content:center;width:4em;margin:0;border:1px solid #1f2933;background:#fff;font-size:16px;font-weight:600;line-height:1.2}.sheet-mark input{width:100%;height:auto;margin:0;padding:0 2px;border:0;background:transparent;color:inherit;font:inherit;font-weight:600;line-height:1.2;text-align:center}.sheet-row-rest{display:flex;align-items:center;gap:20px;flex:1;min-width:0}.sheet-menu-place{flex:1;min-width:0}.sheet-menu-place-value{flex:1;width:auto;min-width:0;text-align:center}.sheet-menu-times{flex:none}.sheet-menu{display:flex;align-items:center;gap:4px;font-size:12px;line-height:1.2}.sheet-menu-name{flex:none;white-space:nowrap}.sheet-menu-value{flex:none;width:calc(13em + 14px);height:20px;padding:0 4px;border:0;border-bottom:1px solid #1f2933;border-radius:0;color:inherit;font-size:12px;background:#fff}.sheet-menu-date{width:10.5em;color-scheme:light}.sheet-menu-view{width:5.5em;padding-right:0}.sheet-top .sheet-menu-view,.sheet-top .sheet-menu-glass,.sheet-top .sheet-menu-place-value{flex:1 1 auto;width:auto;min-width:4.8em}#sheet-view,#project-name,#brand-series,#glass-type,#order-date{text-align:center;text-align-last:center}#order-date{padding-left:21px}#order-date::-webkit-date-and-time-value{text-align:center}.sheet-menu-glass{width:12em}.sheet-menu-number{text-align:center;font-weight:700;color:#06c}.sheet-menu-quantity{width:calc(3em + 14px);text-align:center;font-weight:700;color:#e00000}.sheet-menu-opening{width:calc(5em + 14px);text-align:center}.sheet-row-small .sheet-menu-alum-frame{font-size:15px;font-weight:700;background:#ff0}.sheet-alum-warn{flex:none;color:#e00000;font-style:italic;font-weight:400;white-space:nowrap}.sheet-alum-warn[hidden]{display:none}.sheet-drawing{position:relative;align-self:stretch;flex:1 1 auto;width:0;min-width:100%;max-width:100%;min-height:40px;margin:0;border:1px solid #1f2933;background:#fff;overflow:hidden;touch-action:none}.sheet-drawing #stage{position:absolute;z-index:0;top:0;right:0;bottom:0;left:0;margin:0;border:0;box-shadow:none}.sheet-canvas-tools{position:absolute;z-index:4;top:14px;right:2px;display:flex;flex-direction:column;gap:4px}.sheet-canvas-tools button{height:28px;min-width:48px;padding:0 8px}.sheet-drawing-edge{position:absolute;z-index:2;touch-action:none}.sheet-drawing-edge[data-edge=n],.sheet-drawing-edge[data-edge=s]{left:12px;right:12px;height:14px;cursor:ns-resize}.sheet-drawing-edge[data-edge=n]{top:0}.sheet-drawing-edge[data-edge=s]{bottom:0}.sheet-drawing-edge[data-edge=e],.sheet-drawing-edge[data-edge=w]{top:12px;bottom:12px;width:8px;cursor:ew-resize}.sheet-drawing-edge[data-edge=e]{right:0}.sheet-drawing-edge[data-edge=w]{left:0}.sheet-drawing-edge[data-edge=nw],.sheet-drawing-edge[data-edge=ne],.sheet-drawing-edge[data-edge=sw],.sheet-drawing-edge[data-edge=se]{z-index:3;width:12px;height:12px}.sheet-drawing-edge[data-edge=nw]{top:0;left:0;cursor:nwse-resize}.sheet-drawing-edge[data-edge=se]{right:0;bottom:0;cursor:nwse-resize}.sheet-drawing-edge[data-edge=ne]{top:0;right:0;cursor:nesw-resize}.sheet-drawing-edge[data-edge=sw]{bottom:0;left:0;cursor:nesw-resize}.sheet-drawing-edge:hover{background:#2563eb29}.sheet-note-row,.sheet-note-row .sheet-menu,.sheet-note-row .sheet-menu-value{font-size:13px}.sheet-note-row{display:flex;flex:none;align-items:center;align-self:flex-start;gap:16px;margin:0 0 6px;font-weight:400}.sheet-note{flex:none;margin:0;font-size:inherit;font-weight:inherit}.sheet-mirror-toggle{display:flex;align-items:center;gap:4px;margin-left:4em;cursor:pointer}.sheet-mirror[hidden]{display:none}.sheet-mirror .sheet-menu-value{width:calc(4em + 8px);height:1.5em;color:#e00000;font-size:inherit;font-weight:700;text-align:center}.sheet-note .sheet-menu-value{width:calc(25em + 8px);height:1.5em;border-bottom:0;font-size:inherit;font-weight:400}.sheet-cut-list{flex:0 1 auto;align-self:stretch;display:grid;grid-template-columns:max-content max-content;justify-content:space-between;align-items:start;width:0;min-width:100%;max-width:100%;row-gap:8px;column-gap:8px;min-height:0;margin:4px 0 0;overflow:auto}.sheet-cut-list:empty{display:none}.sheet-cut{display:flex;flex:none;flex-direction:column;align-items:center;min-width:0}.sheet-cut:nth-child(odd){justify-self:start}.sheet-cut:nth-child(2n){justify-self:end}.sheet-cut-title{margin:0 0 2px;color:#1f2933;font-size:12px;font-weight:600;line-height:1.2;text-align:center}.sheet-cut-table{border-collapse:collapse;width:max-content;table-layout:auto;font-size:10px;line-height:1.15}.sheet-cut-table th,.sheet-cut-table td{border:1px solid #1f2933;padding:0 2px;text-align:center;white-space:nowrap;line-height:1.15}.sheet-cut-table th{background:#e6ebf0;font-weight:600}.sheet-cut-component{vertical-align:middle}.sheet-cut-gap td{height:.6em;padding:0}.sheet-cut-table select,.sheet-cut-table input{width:auto;max-width:6.2em;height:14px;padding:0;border:0;background:transparent;font:inherit;line-height:1.15}.sheet-cut-table input{width:7em;max-width:none;text-align:center;border-bottom:1px solid #1f2933}.sheet-cut-glass{display:inline-block;width:6.2em;max-width:6.2em;overflow:hidden;vertical-align:bottom;text-align:left;white-space:nowrap;line-height:1.15}.sheet-cut-glass span{display:inline-block;transform:scaleX(.62);transform-origin:left center;white-space:nowrap}body.is-sheet-picture{-webkit-user-select:none;user-select:none}.sheet-deduct{display:flex;align-items:center;gap:12px;margin-left:auto}.sheet-menu-deduct{width:calc(1.5em + 14px);text-align:center}.sheet-menu-threshold{margin-left:2em}.sheet-menu-mm{width:calc(2em + 14px);text-align:center}.sheet-threshold-extra{display:flex;align-items:center;gap:8px}.sheet-threshold-extra[hidden]{display:none}.sheet-choice{display:flex;align-items:center;gap:12px}.sheet-choice[hidden]{display:none}.sheet-choice-item{display:flex;align-items:center;gap:4px;cursor:pointer}.sheet-subframe-extra{display:flex;align-items:center;gap:20px}.sheet-subframe-extra[hidden]{display:none}.sheet-menu-unit{flex:none}.toolbar{display:flex;flex:1;flex-direction:column;align-items:stretch;gap:0;min-height:0;padding:8px 12px 12px;background:#fff;overflow:auto}.brand{margin:0;padding:10px 12px 2px;background:#fff;color:#1f2933;font-size:15px;font-weight:600;line-height:1.4;text-align:center;letter-spacing:.04em}.tool-stack{display:flex;flex-direction:column;align-items:stretch;gap:4px;min-width:0;padding:8px 0;background:#fff}.tool-stack>button{width:calc(100% - 3em)}.tool-stack>button{align-self:center}.pipe-width,.face-width,.sash-width,.tool-model{display:flex;align-items:center;justify-content:center;gap:4px;width:auto;min-width:0;padding:0;color:#52606d;font-size:12px;white-space:nowrap}.pipe-width input,.face-width input,.sash-width input{height:26px;padding:0 6px;border:1px solid #cfd8e1;border-radius:6px;color:#1f2933;font-size:12px;background:#fff}.number-step{display:flex;flex:none;align-items:stretch;width:calc(3.5em + 14px);height:26px;border:1px solid #cfd8e1;border-radius:6px;background:#fff;overflow:hidden}.pipe-width .number-step input,.face-width .number-step input,.sash-width .number-step input{flex:1;width:auto;min-width:0;height:100%;padding:0 2px 0 4px;border:0;border-radius:0;text-align:center;background:transparent;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.number-step input::-webkit-outer-spin-button,.number-step input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}.number-step-buttons{display:flex;flex:none;flex-direction:column;width:1em;border-left:1px solid #cfd8e1}.number-step-buttons button{flex:1;width:100%;height:auto;min-height:0;padding:0;border:0;border-radius:0;background:#fff;color:#52606d;font-size:7px;line-height:1}.number-step-buttons button+button{border-top:1px solid #e1e7ed}.number-step-buttons button:hover:not(:disabled){background:#f4f7f9}.bead-options{display:flex;flex-direction:column;gap:6px}.bead-option{display:flex;flex-direction:column;align-items:stretch;gap:4px;min-width:0}.bead-menu{min-width:168px}.bead-menu-item{display:flex;gap:4px}.bead-menu-item .bead-choice{flex:1;min-width:0}.bead-remove{flex:none;height:28px;padding:0 8px;font-size:12px}.bead-menu .bead-add{width:100%;text-align:center}.tool-model input{flex:none;width:calc(5.5em + 14px);height:26px;padding:0 6px;border:1px solid #cfd8e1;border-radius:6px;color:#1f2933;font-size:12px;text-align:center;background:#fff}.sash-pair,.sash-row,.door-row{display:contents}.frame-tools{display:grid;grid-template-columns:1fr 1fr;gap:1px;width:100%;background:#d5dee6;border-bottom:1px solid #d5dee6}.tool-rule{grid-column:1 / -1;height:7px;margin:-1px 0;border-top:2px solid #3d4754;border-bottom:2px solid #3d4754;background:#fff}.sash-stack{position:relative}.sash-menu{position:fixed;z-index:40;display:flex;flex-direction:column;gap:4px;min-width:96px;padding:8px;background:#fff;border:1px solid #d5dee6;border-radius:8px;box-shadow:0 8px 24px #1018281f}.sash-menu[hidden]{display:none}.sash-menu button{height:28px;padding:0 8px;font-size:12px;text-align:left}button,input{font:inherit}button{height:32px;padding:0 12px;border:1px solid #cfd8e1;border-radius:6px;background:#fff;color:inherit;cursor:pointer}button:hover:not(:disabled){background:#f4f7f9}button[aria-pressed=true]{background:#1f2933;border-color:#1f2933;color:#fff}.frame-tools button.tool{background:#e6ebf0}.frame-tools button.tool:hover:not(:disabled){background:#d8e0e7}.frame-tools button.tool[aria-pressed=true]{background:#1f2933;border-color:#1f2933;color:#fff}button:disabled{opacity:.4;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #2563eb;outline-offset:1px}#status{margin:0;padding:8px 0;color:#52606d;font-size:12px;line-height:32px;white-space:nowrap}#stage{position:relative;flex:1;min-height:0;background:#fff;overflow:hidden}#canvas{width:100%;height:100%;display:block;touch-action:none;-webkit-user-select:none;user-select:none}#dim-editor{position:absolute;z-index:3;height:22px;padding:0 5px;border:1px solid #2563eb;border-radius:3px;color:#1d4ed8;font-weight:600;font-size:12px;background:#fff}#dim-editor[hidden]{display:none}body.tool-rect #canvas,body.tool-line #canvas,body.tool-reinforce #canvas,body.tool-pipe #canvas,body.tool-sash-out #canvas,body.tool-sash-in #canvas,body.tool-door-frame #canvas,body.tool-door-stile #canvas,body.tool-door-sash #canvas,body.tool-false-mullion #canvas,body.tool-arc #canvas{cursor:crosshair}.arc-end,.arc-mid{fill:#fff;stroke:#1d4ed8;stroke-width:1.5;vector-effect:non-scaling-stroke}.arc-end{pointer-events:none}.arc-mid{pointer-events:all;cursor:grab}body.tool-select .shape .hit{cursor:move}body.is-pan #canvas,body.is-pan .shape .hit{cursor:grabbing}.grid-minor,.grid-major,.wire,.dim-ext,.dim-line,.dim-tick{fill:none;vector-effect:non-scaling-stroke}.grid-minor{stroke:#eef2f5;stroke-width:1}.grid-major{stroke:#d5dee6;stroke-width:1.25}.wire{stroke:#1d4ed8;stroke-width:1.6;stroke-linecap:square;stroke-linejoin:miter}.wire.dash{stroke-dasharray:8 5}.wire.hatch{pointer-events:none}.shape.selected .wire{stroke:#1f2933;stroke-width:2}.shape.preview .wire{stroke:#52606d}.wire.slash,.shape.selected .wire.slash,.shape.preview .wire.slash{stroke:#f0f}rect.hit{fill:#000;fill-opacity:0;stroke:none;pointer-events:fill}line.hit{fill:none;stroke:#000;stroke-opacity:0;stroke-width:18;pointer-events:stroke;vector-effect:non-scaling-stroke}.dim-ext,.dim-line,.dim-tick{pointer-events:none}.dim-ext{stroke:red;stroke-width:1}.dim-line,.dim-tick{stroke:red;stroke-width:1.25;stroke-linecap:square}.dim-label{pointer-events:all;cursor:pointer}.dim-label.preview{pointer-events:none;cursor:inherit}.dim-label .dim-hit{fill:transparent;stroke:none}.dim-label text{fill:#000;font-size:12px;font-weight:600;font-family:PingFang SC,Segoe UI,sans-serif}.callout{fill:none;stroke:red;stroke-width:1;stroke-linecap:square;vector-effect:non-scaling-stroke;pointer-events:none}.callout-label{pointer-events:none}.callout-label text{fill:#000;font-size:12px;font-weight:600;font-family:PingFang SC,Segoe UI,sans-serif}#material-summary[hidden]{display:none}#material-summary{position:fixed;z-index:40;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px}.material-summary-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172a59}.material-summary-card{position:relative;display:flex;flex-direction:column;width:min(720px,100%);max-height:calc(100vh - 48px);padding:16px 16px 12px;overflow:auto;background:#fff;border-radius:6px;box-shadow:0 8px 28px #0f172a2e}.material-summary-card h2{margin:0 0 12px;color:#1f2933;font-size:16px;font-weight:600;text-align:center}.part-summary-block{margin:0 0 16px}.part-summary-block h3{margin:0 0 6px;color:#1f2933;font-size:14px;font-weight:600}.part-summary-block.is-group h3{padding-left:12px;font-size:13px}.part-summary-table td{word-break:break-all}.material-summary-scope{margin:0 0 12px;color:#1f2933;font-size:13px;line-height:1.6}.material-summary-scope p{margin:0}.material-summary-scope-group{padding-left:1.5em}.project-summary{margin:0 0 6px;padding:0;border:0;background:transparent}.project-summary-open,.project-summary-name{width:100%;height:auto;min-height:22px;padding:2px 4px;border:1px solid transparent;border-radius:3px;background:transparent;color:#1f2933;font:inherit;font-size:12px;line-height:1.35;text-align:left;white-space:normal;cursor:pointer}.project-summary-open:hover,.project-summary-name:hover,.project-summary-name:focus{border-color:#9aa5b1;outline:none}.project-summary-name{cursor:text}#summary-picker[hidden],#summary-save[hidden]{display:none}#summary-picker,#summary-save{position:fixed;z-index:50;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px}.summary-picker-card{width:min(460px,100%)}.summary-picker-tree{max-height:min(420px,calc(100vh - 180px));overflow:auto}.summary-picker-project{margin:0 0 10px}.summary-picker-row{display:flex;align-items:flex-start;gap:6px;margin:0;padding:2px 0;color:#1f2933;font-size:13px;line-height:1.4;cursor:pointer}.summary-picker-row:has(input:disabled){color:#9aa5b1;cursor:default}.summary-mode{display:flex;gap:18px;margin:0 0 8px}.summary-mode label{display:flex;align-items:center;gap:6px;font-size:14px;cursor:pointer}.summary-reference{max-height:240px;margin:0 0 10px;padding:8px 10px;overflow:auto;border:1px solid #d5dee6;background:#f7fafc}.summary-reference h3{margin:0 0 6px;font-size:13px}.summary-prior{margin-top:10px}.material-summary-source{margin:0 0 10px;font-size:13px}.material-summary-table caption{margin:0 0 6px;font-size:15px;font-weight:600;text-align:left;caption-side:top}.material-summary-empty{margin:0 0 12px;color:#52606d;font-size:13px;text-align:center}.material-summary-table{width:100%;border-collapse:collapse;font-size:12px;line-height:1.4}.material-summary-table th,.material-summary-table td{border:1px solid #1f2933;padding:2px 6px;text-align:center;white-space:nowrap;vertical-align:top}.material-summary-table th{background:#e6ebf0;font-weight:600}.material-summary-actions{display:flex;justify-content:center;gap:8px;margin-top:12px}.material-summary-actions button{padding:2px 12px;border:1px solid #9aa5b1;border-radius:3px;background:#fff;color:#1f2933;font:inherit;font-size:12px;line-height:1.4;cursor:pointer}.material-summary-actions button:hover:not(:disabled){border-color:#2563eb;color:#1d4ed8}.material-summary-actions button:disabled{color:#9aa5b1;cursor:default}.material-order{margin-top:16px}.material-shortage{margin-top:28px}.material-shortage>h2{margin:0 0 12px;color:#1f2933;font-size:16px;font-weight:600;text-align:center}.material-order h3{margin:0 0 10px;color:#1f2933;font-size:15px;font-weight:600;text-align:center}.material-order-model{margin:0 0 12px}.material-order-model h4{margin:0 0 4px;color:#1f2933;font-size:13px;font-weight:600}.material-order-line{margin:0;color:#1f2933;font-size:12px;line-height:1.55}.material-order-count{text-decoration:underline;text-underline-offset:2px}.auth-bar{position:relative;z-index:30;display:flex;flex:none;align-items:center;justify-content:space-between;gap:12px 16px;width:100%;min-height:44px;padding:6px 12px;border-bottom:1px solid #c5d0da;background:#fff}.board-wrap{position:relative;display:flex;flex:1;align-items:center;gap:8px;min-width:0}.usage-wrap{position:relative;flex:none}.usage-field{display:flex;flex-direction:column;gap:4px;color:#52606d;font-size:12px}.usage-field textarea{width:100%;min-height:140px;padding:8px;border:1px solid #cfd8e1;border-radius:6px;color:#1f2933;font:inherit;font-size:14px;line-height:1.5;resize:vertical;background:#fff}#usage-form[hidden],#usage-read[hidden],.usage-saved[hidden]{display:none}#usage-save{height:28px;margin-left:auto;background:#1f2933;border-color:#1f2933;color:#fff}#usage-save:hover:not(:disabled){background:#323b44}.usage-saved{margin:0;color:#0f7a3a;font-size:12px}.usage-body{margin:0;max-height:min(520px,calc(100vh - 160px));overflow:auto;color:#1f2933;font-size:13px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.usage-empty{color:#52606d}.board-open{flex:none;height:28px;padding:0 12px;border:1px solid #9aa5b1;border-radius:3px;background:#fff;font-size:13px}.board-open[aria-expanded=true]{border-color:#1f2933;background:#1f2933;color:#fff}.board-preview{flex:1;min-width:0;height:auto;padding:0;overflow:hidden;border:0;background:transparent;color:#52606d;font-size:13px;line-height:1.3;text-align:left;text-overflow:ellipsis;white-space:nowrap}.board-preview:hover:not(:disabled){background:transparent;color:#1f2933}.board-panel{position:absolute;top:calc(100% + 8px);left:0;z-index:2;display:flex;flex-direction:column;gap:8px;width:min(380px,calc(100vw - 24px));max-height:min(640px,calc(100vh - 64px));padding:12px;border:1px solid #c5d0da;border-radius:8px;background:#fff;box-shadow:0 8px 24px #1f293329}.board-panel[hidden]{display:none}.board-note{margin:0;color:#52606d;font-size:12px;line-height:1.45}.board-field{display:flex;flex-direction:column;gap:4px;color:#52606d;font-size:12px}.board-field input{height:32px;padding:0 8px;border:1px solid #cfd8e1;border-radius:6px;color:#1f2933;font-size:14px;background:#fff}.board-compose{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px}#board-count{margin:0;color:#52606d;font-size:12px}#board-form{margin:0}.board-error{margin:0;color:#b42318;font-size:12px;line-height:1.4}#board-submit{height:28px;background:#1f2933;border-color:#1f2933;color:#fff}#board-submit:hover:not(:disabled){background:#323b44}.board-list{flex:1;min-height:0;margin:0;padding:0;overflow:auto;list-style:none}.board-empty{color:#52606d;font-size:12px;line-height:1.45}.board-item{padding:6px 0;border-top:1px solid #e4e7eb}.board-text{margin:0;color:#1f2933;font-size:13px;line-height:1.45;overflow-wrap:anywhere}.board-by{margin:2px 0 0;color:#52606d;font-size:11px;line-height:1.35;overflow-wrap:anywhere}.auth-identity{display:flex;flex:none;align-items:baseline;gap:10px;min-width:0}.auth-who{flex:none;margin:0;color:#1f2933;font-size:14px;font-weight:600;line-height:1.3}.auth-bar[data-auth=in] .auth-who{color:#1d4ed8}.auth-meta{min-width:0;margin:0;overflow:hidden;color:#52606d;font-size:12px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.auth-actions{display:flex;flex:none;align-items:center;gap:10px;margin-left:16px}.auth-actions button{height:28px;padding:0 12px;border:1px solid #9aa5b1;border-radius:3px;background:#fff;font-size:13px}.auth-actions button[hidden]{display:none}.auth-actions button:hover:not(:disabled){border-color:#2563eb;color:#1d4ed8}.auth-dialog{width:min(360px,calc(100vw - 32px));padding:0;border:1px solid #c5d0da;border-radius:8px;color:#1f2933}.auth-dialog::backdrop{background:#1f293359}.auth-dialog form{display:flex;flex-direction:column;gap:10px;margin:0;padding:16px}.auth-dialog h2{margin:0;font-size:16px;font-weight:600;line-height:1.3}.auth-hint{margin:0;color:#52606d;font-size:12px;line-height:1.45}.auth-field{display:flex;flex-direction:column;gap:4px;color:#52606d;font-size:12px}.auth-field[hidden]{display:none}.auth-field input{height:32px;padding:0 8px;border:1px solid #cfd8e1;border-radius:6px;color:#1f2933;font-size:14px;background:#fff}.auth-error{margin:0;color:#b42318;font-size:12px;line-height:1.4}.auth-form-actions{display:flex;gap:8px}#auth-submit{background:#1f2933;border-color:#1f2933;color:#fff}#auth-submit:hover:not(:disabled){background:#323b44}.auth-switch{align-self:flex-start;height:auto;padding:0;border:0;background:transparent;color:#1d4ed8;font-size:12px}.auth-switch:hover:not(:disabled){background:transparent;text-decoration:underline}.icp-footer{flex:none;padding:6px 12px;border-top:1px solid #e4e7eb;background:#fff;color:#7b8794;font-size:12px;line-height:1.4;text-align:center}.icp-footer a{color:inherit;text-decoration:none}.icp-footer a:hover{text-decoration:underline}@media print{@page{size:A4 portrait;margin:14mm 8mm}html,body,#app{height:auto;margin:0;background:#fff}#app{display:block}#auth-bar,#project,#workspace,#sheet-split,#auth-dialog,.icp-footer,.project-context,.sheet-actions{display:none!important}#app-main{display:block;height:auto;min-height:0;overflow:visible}#sheet-stage,.sheet-page{display:block;overflow:visible;padding:0;background:#fff}#print-sheet{display:flex;width:100%;height:auto;max-height:240mm;margin:0;padding:0;overflow:hidden;box-shadow:none;break-inside:auto;page-break-inside:auto}#print-sheet,#print-sheet *{print-color-adjust:exact;-webkit-print-color-adjust:exact}.sheet-drawing-edge,.sheet-canvas-tools,#grid{display:none!important}.sheet-drawing{min-height:0}.sheet-cut-list{flex:none;overflow:visible}.sheet-cut-table select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:0;background:none}#material-summary,#summary-picker,#summary-save,body.is-material-summary #app{display:none!important}body.is-material-summary #material-summary{display:block!important;position:static;padding:0;background:#fff}body.is-material-summary .material-summary-backdrop,body.is-material-summary .material-summary-actions{display:none!important}body.is-material-summary .material-summary-card{width:100%;max-height:none;padding:0;overflow:visible;box-shadow:none}body.is-material-summary .material-shortage{break-before:page;page-break-before:always}}
