*{box-sizing:border-box;margin:0;padding:0}html,body,#root{color:#1a1a1a;background:#e8e8e8;width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;overflow:hidden}.app-layout{grid-template:"toolbar toolbar toolbar"44px"palette viewport inspector"1fr"status status status"32px/200px 1fr 260px;width:100%;height:100%;display:grid}.toolbar{color:#ecf0f1;background:#2c3e50;grid-area:toolbar;align-items:center;gap:8px;padding:0 12px;display:flex}.toolbar .brand-lockup{white-space:nowrap;align-items:center;gap:6px;margin-right:16px;font-size:16px;font-weight:600;display:flex}.toolbar .brand-mark{flex:none;width:24px;height:24px;display:block}.toolbar button{color:#ecf0f1;cursor:pointer;background:#34495e;border:1px solid #4a6a8a;border-radius:4px;padding:4px 12px;font-size:13px}.toolbar button:hover{background:#4a6a8a}.toolbar button:focus-visible,.build-name-input:focus-visible{outline-offset:1px;outline:2px solid #a9d7ff}.toolbar button:disabled{cursor:not-allowed;opacity:.55}.toolbar-group{display:flex}.toolbar-group button{border-radius:0;margin-left:-1px}.toolbar-group button:first-child{border-radius:4px 0 0 4px;margin-left:0}.toolbar-group button:last-child{border-radius:0 4px 4px 0}.toolbar button.primary{background:#1a73e8;border-color:#1a73e8;font-weight:600}.toolbar button.primary:hover{background:#1557b0;border-color:#1557b0}.toolbar button.icon-btn{text-align:center;min-width:30px;padding:4px 7px;font-size:14px;line-height:1}.build-name-input{color:#ecf0f1;text-align:right;background:0 0;border:1px solid #0000;border-bottom-color:#6b8194;width:180px;margin-left:auto;padding:3px 5px;font-size:13px}.build-name-input:focus{background:#34495e;border-color:#7fa6c8;outline:none}.dirty-indicator{opacity:.8;font-size:12px}.palette{background:#f5f5f5;border-right:1px solid #ccc;grid-area:palette;padding:12px;overflow-y:auto}.palette h3{text-transform:uppercase;color:#666;margin-bottom:8px;font-size:13px;font-weight:600}.palette button{cursor:pointer;text-align:left;background:#fff;border:1px solid #ccc;border-radius:4px;width:100%;margin-bottom:6px;padding:8px 12px;font-size:13px;display:block}.palette button:hover{background:#e8f0fe;border-color:#4a90d9}.palette-section+.palette-section{border-top:1px solid #ddd;margin-top:14px;padding-top:10px}.preset-btn{cursor:pointer;text-align:left;background:#fff;border-radius:4px;width:100%;transition:all .15s;display:block;border:1px solid #e2e8f0!important;margin-bottom:4px!important;padding:6px 8px!important;font-size:12px!important}.preset-btn:hover{background:#f1f5f9!important;border-color:#cbd5e1!important}.preset-btn small{color:#64748b;font-size:10px;display:block}.chip-row{gap:6px;display:flex}.palette .chip-row{margin-bottom:6px}.palette .chip-row>button{text-align:center;flex:1 1 0;width:auto;margin-bottom:0;padding:4px 0;font-size:12px}.chip-row .selection-btn.active,.chip-row .selection-btn[aria-pressed=true]{color:#fff;background:#2c3e50}.viewport{background:#dde;grid-area:viewport;position:relative;overflow:hidden}.viewport canvas{width:100%;height:100%;display:block}.marquee-overlay{pointer-events:none;z-index:5;box-sizing:border-box;background:#2f80ed1f;border:1px dashed #2f80ed;position:absolute}.snap-feedback{color:#0b4f8c;letter-spacing:.01em;pointer-events:none;z-index:6;background:#e2f2fff7;border:1.5px solid #1d6fd0;border-radius:999px;padding:7px 14px;font-size:12px;font-weight:700;position:absolute;top:12px;left:50%;transform:translate(-50%);box-shadow:0 3px 12px #155a9c47}.viewport-overlay-controls{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10;background:#ffffffeb;border:1px solid #00000026;border-radius:6px;gap:3px;padding:3px 4px;display:flex;position:absolute;top:10px;right:12px;box-shadow:0 2px 6px #0000001f}.viewport-overlay-controls button{color:#0f172a;cursor:pointer;box-sizing:border-box;background:0 0;border:1px solid #94a3b8;border-radius:4px;justify-content:center;align-items:center;min-height:28px;padding:4px 10px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.viewport-overlay-controls button:hover{color:#1a73e8;background:#e8f0fe;border-color:#64748b}.view-group{display:flex}.view-group button{border-radius:0;margin-left:-1px}.view-group button:first-child{border-radius:4px 0 0 4px;margin-left:0}.view-group button:last-child{border-radius:0 4px 4px 0}.viewport-overlay-controls button.view-chip{min-width:30px;padding:4px 7px;font-size:14px;line-height:1}.viewport-overlay-controls button.view-chip-fit{color:#1a73e8;border-color:#1a73e8}.viewport-overlay-controls button.view-chip-fit:hover{color:#1557b0;background:#e8f0fe;border-color:#1a73e8}.viewport-overlay-controls button.view-chip-center:disabled{opacity:.45;cursor:default}.viewport-overlay-controls button.view-chip-grid[aria-pressed=true],.viewport-overlay-controls button.view-chip-measure[aria-pressed=true]{color:#1a73e8;background:#e8f0fe;border-color:#1a73e8}.viewport-overlay-controls button.view-chip-grid[aria-pressed=true]:hover,.viewport-overlay-controls button.view-chip-measure[aria-pressed=true]:hover{color:#1557b0;background:#e8f0fe;border-color:#1a73e8}.build-aabb-chip{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#2c3e50;pointer-events:none;z-index:10;letter-spacing:.01em;background:#ffffffeb;border:1px solid #00000026;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:600;position:absolute;top:52px;right:12px;box-shadow:0 2px 6px #0000001f}.inspector{background:#f5f5f5;border-left:1px solid #ccc;flex-direction:column;grid-area:inspector;padding:12px;display:flex;overflow:hidden}.inspector-controls{flex:auto;min-height:0;overflow-y:auto}.inspector h2{text-transform:uppercase;color:#666;margin-bottom:8px;font-size:13px;font-weight:600}.inspector .field{margin-bottom:8px}.inspector label{color:#555;margin-bottom:2px;font-size:12px;font-weight:500;display:block}.inspector input{border:1px solid #ccc;border-radius:3px;width:100%;padding:4px 6px;font-size:13px}.inspector input:focus{border-color:#4a90d9;outline:none;box-shadow:0 0 0 2px #4a90d933}.inspector .field-error{color:#d32f2f;margin-top:1px;font-size:12px}.section-title{text-transform:uppercase;letter-spacing:.5px;color:#64748b;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:baseline;margin:10px 0 4px;padding-bottom:2px;font-size:11px;font-weight:700;display:flex}.rotation-summary{color:#475569;text-transform:none;letter-spacing:normal;font-size:11px;font-weight:500}.dimension-row{grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:4px;display:grid}.dimension-row .field{margin-bottom:0}.dimension-row label{color:#64748b;font-size:11px}.rotation-grid{flex-direction:column;gap:4px;margin-bottom:10px;display:flex}.rotation-axis-row{grid-template-columns:20px 42px 42px 1fr;align-items:center;gap:4px;display:grid}.axis-tag{color:#475569;text-align:center;font-size:11px;font-weight:700}.rot-btn{cursor:pointer;color:#334155;text-align:center;background:#fff;border:1px solid #cbd5e1;border-radius:4px;padding:3px 0;font-size:11px;font-weight:600;transition:background .15s}.rot-btn:hover{background:#f1f5f9;border-color:#94a3b8}.rot-input{text-align:right;border:1px solid #cbd5e1;border-radius:4px;padding:3px 6px;font-size:12px}.rot-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f633}.inspector-actions-row{grid-template-columns:1fr 1fr;gap:6px;margin-top:12px;display:grid}.duplicate-btn{color:#1d4ed8;background:#f0f7ff;border-color:#93c5fd;font-weight:600}.duplicate-btn:hover:not(:disabled){background:#dbeafe;border-color:#60a5fa}.multi-selection-summary{padding:8px 0}.selected-piece-names{max-height:9.5rem;margin:0;padding:0;list-style:none;overflow-y:auto}.selected-piece-name-row{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;border-bottom:1px solid #f1f5f9;padding:3px 0;font-size:12px;overflow:hidden}.selected-piece-name-row:last-child{border-bottom:none}.summary-section{background:#fff;border:1px solid #e2e8f0;border-radius:6px;margin-bottom:8px;padding:10px}.summary-section summary{cursor:pointer;color:#334155;text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:700}.summary-section[open] summary{margin-bottom:6px}.summary-stat-row{color:#475569;justify-content:space-between;margin-bottom:4px;font-size:12px;display:flex}.summary-stat-row strong{color:#0f172a}.inspector .material-badge{border-radius:3px;margin-bottom:8px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.material-badge.lumber{color:#8b5e3c;background:#fde8cd}.material-badge.plywood{color:#7c5828;background:#f7eedc}.inspector .delete-btn{color:#d32f2f;cursor:pointer;background:#fff;border:1px solid #e57373;border-radius:4px;width:100%;margin-top:4px;padding:6px;font-size:13px}.inspector .delete-btn:hover{background:#ffebee}.selection-header{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:8px;display:flex}.selection-header h2{margin-bottom:0}.selection-count{color:#4a6a8a;white-space:nowrap;font-size:11px;font-weight:600}.selection-actions{border-bottom:1px solid #ddd;margin-bottom:10px;padding:8px 0 10px}.selection-action-row{grid-template-columns:1fr 1fr;gap:5px;margin-bottom:6px;display:grid}.selection-btn{color:#2c3e50;cursor:pointer;background:#fff;border:1px solid #b7c5d1;border-radius:3px;min-height:28px;padding:4px 6px;font-size:11px}.selection-btn:hover:not(:disabled){background:#e8f0fe;border-color:#4a90d9}.selection-btn:disabled,.delete-btn:disabled{cursor:not-allowed;opacity:.5}.selection-bar{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:11;background:#fffffff0;border:1px solid #00000026;border-radius:6px;align-items:center;gap:6px;max-width:calc(100% - 24px);padding:5px 8px;display:flex;position:absolute;bottom:12px;left:50%;overflow-x:auto;transform:translate(-50%);box-shadow:0 2px 6px #0000001f}.selection-bar-group{align-items:center;gap:4px;display:flex}.selection-bar-group+.selection-bar-group{border-left:1px solid #e2e8f0;padding-left:6px}.bar-axis{align-items:center;gap:3px;display:flex}.bar-axis+.bar-axis{margin-left:6px}.bar-axis-tag{color:#64748b;font-size:11px;font-weight:700}.bar-btn{color:#1f2937;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #b7c5d1;border-radius:4px;min-height:26px;padding:4px 8px;font-size:12px}.bar-btn:hover:not(:disabled){background:#e8f0fe;border-color:#4a90d9}.bar-btn:disabled{cursor:not-allowed;opacity:.5}.bar-btn.danger{color:#d32f2f;border-color:#e57373}.bar-btn.danger:hover{background:#ffebee}.bar-btn:focus-visible{outline-offset:1px;outline:2px solid #4a90d9}.selection-help{color:#666;padding:4px 0;font-size:12px;font-style:italic;line-height:1.4}.inspector-form{padding-top:2px}.status-bar{color:#64748b;background:#f8fafc;border-top:1px solid #e2e8f0;grid-area:status;align-items:center;gap:12px;padding:0 12px;font-size:12px;display:flex}.status-bar .status-action{color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:4px;padding:2px 10px;font-size:12px}.status-bar .status-action:hover{background:#0000000f}.status-bar .status-action:focus-visible{outline-offset:1px;outline:2px solid #4a90d9}.status-bar.error{color:#c62828;background:#ffebee}.status-bar.success{color:#2e7d32;background:#e8f5e9}.status-bar .status-hints{color:#94a3b8;text-overflow:ellipsis;white-space:nowrap;margin-left:auto;overflow:hidden}.dialog-overlay{z-index:100;background:#0006;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.dialog{background:#fff;border-radius:8px;min-width:min(360px,100%);max-width:480px;max-height:80vh;padding:20px;overflow-y:auto;box-shadow:0 4px 24px #0003}.dialog h2{margin-bottom:12px;font-size:16px}.dialog .build-item{cursor:default;border:1px solid #e0e0e0;border-radius:4px;justify-content:space-between;align-items:center;margin-bottom:6px;padding:8px 12px;display:flex}.dialog .build-item:hover{background:#f0f0f0}.dialog .build-item-open{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex:auto;justify-content:space-between;align-items:center;gap:12px;padding:0;display:flex}.dialog .build-item-open:focus-visible{outline-offset:2px;outline:2px solid #4a90d9}.dialog .build-delete-btn{color:#b3261e;cursor:pointer;background:#fff;border:1px solid #e0b4b4;border-radius:4px;flex:none;margin-left:12px;padding:4px 10px;font-size:12px}.dialog .build-delete-btn:hover{background:#ffebee}.dialog .build-item .build-name{font-weight:500}.dialog .build-item .build-date{color:#888;font-size:12px}.dialog .empty-msg{text-align:center;color:#888;padding:24px 0}.dialog .empty-msg .empty-peek{margin:0 auto 8px;display:block}.dialog .dialog-actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.dialog .dialog-actions button{cursor:pointer;border-radius:4px;padding:6px 16px;font-size:13px}.dialog .dialog-actions button.primary{color:#fff;background:#2c3e50;border:none}.dialog .dialog-actions button.primary:hover{background:#34495e}.dialog .dialog-actions button.secondary{background:#fff;border:1px solid #ccc}.dialog .dialog-actions button.secondary:hover{background:#f0f0f0}.cut-list-dialog{width:90%;max-width:640px}.dialog-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.dialog-header h2{margin-bottom:0}.build-tag{color:#475569;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600}.cut-list-content{flex-direction:column;gap:12px;display:flex}.cut-list-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:10px 12px}.cut-list-section h3{color:#1e293b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:13px;font-weight:700}.cut-group{margin-bottom:8px}.cut-group-header{color:#334155;border-bottom:1px dashed #cbd5e1;justify-content:space-between;margin-bottom:4px;padding-bottom:2px;font-size:12px;font-weight:600;display:flex}.cut-group-total{color:#64748b;font-weight:500}.cut-item-list{padding-left:6px;list-style:none}.cut-item{justify-content:space-between;padding:2px 0;font-size:12px;display:flex}.cut-item-length{color:#0f172a;font-weight:600}.cut-item-length small{color:#64748b;margin-left:4px;font-weight:400}.cut-item-name{color:#64748b;font-style:italic}.stock-unit{background:#fff;border:1px solid #e2e8f0;border-radius:4px;margin:6px 0 8px;padding:6px 8px}.stock-unit.oversized{background:#fffbeb;border-color:#fbbf24}.stock-unit-header{color:#1e293b;justify-content:space-between;margin-bottom:2px;font-size:11px;font-weight:600;display:flex}.stock-unit-waste{color:#64748b;font-weight:500}.stock-unit-diagram{margin-top:6px}.cut-stock-diagram{background:#f1f5f9;border:1px solid #cbd5e1;border-radius:2px;width:100%;position:relative}.cut-stock-piece{box-sizing:border-box;background:#cbd5e1;border:1px solid #64748b;justify-content:center;align-items:center;min-width:0;display:flex;position:absolute;overflow:hidden}.cut-stock-piece-label{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;padding:0 2px;font-size:9px;line-height:1;overflow:hidden}.cut-stock-piece-label em{color:#64748b;margin-left:3px;font-style:normal}.group-stock-summary{color:#64748b;margin:2px 0 8px 6px;font-size:12px}.section-summary-row{color:#334155;border-top:1px solid #cbd5e1;justify-content:space-between;margin-top:6px;padding-top:4px;font-size:12px;display:flex}.shortcuts-dialog{width:90%;max-width:440px}.shortcuts-list{flex-direction:column;gap:8px;margin:12px 0 16px;display:flex}.shortcut-row{justify-content:space-between;align-items:center;gap:12px;font-size:12px;display:flex}.shortcut-row kbd{color:#1e293b;white-space:nowrap;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:4px;padding:3px 6px;font-family:ui-monospace,monospace;font-size:11px;font-weight:600;box-shadow:0 1px 1px #0000000d}.shortcut-row span{color:#475569;text-align:right}@media (width<=768px){.app-layout{grid-template-columns:140px 1fr 180px}}@media (width<=600px){.app-layout{grid-template:"toolbar"44px"palette""viewport"1fr"inspector""status"32px/1fr}.toolbar{white-space:nowrap;overflow-x:auto}.toolbar .brand-lockup{margin-right:4px;font-size:14px}.build-name-input{flex:0 0 130px;width:130px}.palette,.inspector{max-height:160px;overflow-y:auto}}.palette-hint{color:#666;margin:6px 4px 0;font-size:12px;line-height:1.35}.preset-btn.active{background:#f5ebe0;outline:2px solid #c89255}.material-badge.dowel{color:#5c4a2a;background:#e8d5a3}.field-hint{color:#555;margin-top:4px;font-size:12px;line-height:1.35}.mode-banner{z-index:5;color:#ecf0f1;pointer-events:none;white-space:nowrap;background:#2c3e50eb;border-radius:6px;padding:6px 14px;font-size:13px;position:absolute;top:48px;left:50%;transform:translate(-50%)}.viewport.mode-active{outline-offset:-2px;outline:2px solid #c89255}.cut-item-list.dowel-list{margin-top:8px}.row-spacing-readout{background:#f7f9fc;border:1px solid #d8dee9;border-radius:4px;margin:6px 0 2px;padding:8px 10px}.dialog .cut-list-note{color:#6b7280;margin:12px 0 0;font-size:11px}.dialog .cut-list-copy-fallback{margin-top:12px}.dialog .cut-list-copy-fallback p{color:#8a5a00;margin:0 0 6px;font-size:12px}.dialog .cut-list-copy-fallback kbd{font:inherit;font-weight:600}.dialog .cut-list-copy-fallback textarea{resize:vertical;border:1px solid #c8cdd6;border-radius:4px;width:100%;padding:8px;font:12px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace}.save-state{color:#ecf0f1;white-space:nowrap;background:#2c3e50;border:1px solid #4a6a8a;border-radius:10px;padding:2px 8px;font-size:12px}.save-state.saving,.save-state.dirty{background:#4a6a8a}.save-state.offline{background:#8a6d3b;border-color:#b08a4a}.save-state.conflict,.save-state.error{background:#8e3b3b;border-color:#b45a5a}.read-only-chip{color:#7a5320;white-space:nowrap;background:#fdf6e3;border:1px solid #b08a4a;border-radius:10px;padding:2px 8px;font-size:12px}.account-control{align-items:center;gap:6px;margin-left:8px;display:flex}.account-email{color:#cfd9e2;text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-size:12px;overflow:hidden}.palette-body[inert],.inspector-controls[inert]{opacity:.55;pointer-events:none}.piece-list{border-top:1px solid #e2e8f0;flex-direction:column;flex:none;max-height:45%;margin-top:16px;padding-top:10px;display:flex}.piece-list-header{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.piece-list-header h3{text-transform:uppercase;letter-spacing:.5px;color:#64748b;margin:0;font-size:12px;font-weight:700}.piece-list-hint{color:#94a3b8;font-size:12px}.piece-list ul{overscroll-behavior:contain;margin:8px 0 0;padding:0;list-style:none;overflow-y:auto}.piece-list li+li{margin-top:4px}.piece-row{text-align:left;cursor:pointer;background:#fff;border:1px solid #dbe2ea;border-radius:4px;justify-content:space-between;align-items:baseline;gap:8px;width:100%;padding:5px 8px;font-size:12px;display:flex}.piece-row:hover{background:#eef2f7}.piece-row.selected{background:#e8f0fe;border-color:#4a90d9}.piece-row:focus-visible{outline-offset:1px;outline:2px solid #4a90d9}.piece-row-name{color:#1e293b;text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.piece-row-dims{color:#64748b;white-space:nowrap;font-variant-numeric:tabular-nums}.share-notice{z-index:20;color:#4a3c1a;background:#fdf6e3;border:1px solid #e0cfa0;border-radius:6px;flex-wrap:wrap;align-items:center;gap:12px;max-width:min(92vw,640px);padding:8px 14px;font-size:13px;display:flex;position:absolute;bottom:52px;left:50%;transform:translate(-50%)}.share-notice button{color:#fff;cursor:pointer;background:#2c3e50;border:none;border-radius:4px;padding:6px 12px;font-size:13px}.narrow-notice{z-index:20;color:#1e293b;background:#eef2ff;border:1px solid #c7d2fe;border-radius:6px;flex-wrap:wrap;align-items:center;gap:10px;max-width:min(92vw,440px);padding:10px 14px;font-size:13px;display:flex;position:absolute;bottom:52px;left:50%;transform:translate(-50%);box-shadow:0 2px 10px #0f172a1f}.narrow-notice p{flex:200px;margin:0}.narrow-notice button{color:#1e293b;cursor:pointer;background:#fff;border:1px solid #c7d2fe;border-radius:4px;padding:6px 12px;font-size:13px}.narrow-notice button.primary{color:#fff;background:#2c3e50;border-color:#2c3e50}.signin-field{margin:12px 0;display:block}.signin-field span{color:#555;margin-bottom:4px;font-size:12px;display:block}.signin-field input{border:1px solid #ccc;border-radius:4px;width:100%;padding:10px;font-size:16px}.signin-reason{color:#4a6a8a;margin-bottom:8px;font-size:13px}.signin-devlink{word-break:break-all;background:#f7f9fc;border:1px dashed #b9c8d8;border-radius:4px;margin-top:8px;padding:8px;font-size:12px}.turnstile-slot{margin:8px 0}.my-designs-dialog{width:90%;max-width:560px}.design-list{flex-direction:column;gap:8px;display:flex}.design-row{border:1px solid #e0e0e0;border-radius:4px;padding:8px}.design-open{text-align:left;cursor:pointer;width:100%;font:inherit;background:0 0;border:none;flex-direction:column;align-items:flex-start;gap:2px;padding:6px;display:flex}.design-open:hover{background:#f7f7f7}.design-badges{gap:6px;margin-top:4px;display:flex}.badge{color:#555;border:1px solid #ccc;border-radius:8px;padding:1px 6px;font-size:11px}.badge.synced{color:#2f6b2f;background:#f0f8f0;border-color:#9dc39d}.badge.published{color:#2c4a6b;background:#f0f5fb;border-color:#9db8d6}.badge.current{color:#7a5320;background:#fdf6ec;border-color:#c89255}.design-actions{gap:6px;margin-top:6px;display:flex}.design-actions button{cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:4px;padding:6px 10px;font-size:12px}.design-actions button.danger{color:#8e3b3b;border-color:#d9a2a2}.design-rename{gap:6px;display:flex}.design-rename input{border:1px solid #ccc;border-radius:4px;flex:1;padding:6px}.design-rename button{cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:4px;padding:6px 10px}.share-dialog{width:90%;max-width:520px}.share-link-row{align-items:flex-end;gap:8px;margin:10px 0;display:flex}.share-link-row label{flex:1;display:block}.share-link-row label span{color:#555;margin-bottom:4px;font-size:12px;display:block}.share-link-row input{background:#fafafa;border:1px solid #ccc;border-radius:4px;width:100%;padding:8px;font-size:12px}.share-link-row button{cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:4px;padding:8px 12px}.share-qr{align-items:center;gap:12px;margin:12px 0;display:flex}.share-qr svg{fill:#1a1a1a;background:#fff;border:1px solid #e0e0e0;border-radius:4px;width:132px;height:132px}.share-qr span{color:#666;font-size:12px}.conflict-versions{color:#444;margin:8px 0 0 18px;font-size:13px}.boot-fallback{color:#555;justify-content:center;align-items:center;height:100%;font-size:15px;display:flex}.cutlist-page{color:#1a1a1a;-webkit-text-size-adjust:100%;background:#f4f4f4;height:100%;padding:12px 12px 48px;overflow-y:auto}.cutlist-header h1{font-size:20px;line-height:1.2}.cutlist-meta{color:#5b6470;margin-top:4px;font-size:13px}.cutlist-button{color:#fff;cursor:pointer;background:#2c3e50;border:none;border-radius:6px;justify-content:center;align-items:center;min-height:44px;margin-top:10px;padding:10px 16px;font-size:15px;display:inline-flex}.cutlist-button.secondary{color:#2c3e50;background:#fff;border:1px solid #b8c2cc}.cutlist-section{margin-top:20px}.cutlist-section h2{text-transform:uppercase;letter-spacing:.04em;color:#2c3e50;border-bottom:2px solid #d3dae1;justify-content:space-between;align-items:baseline;padding-bottom:6px;font-size:16px;display:flex}.cutlist-count{color:#5b6470;font-size:14px;font-weight:400}.cutlist-group{margin-top:14px}.cutlist-group h3{justify-content:space-between;align-items:baseline;gap:8px;font-size:15px;display:flex}.cutlist-group-summary{color:#5b6470;font-size:12px;font-weight:400}.cutlist-empty,.cutlist-loading,.cutlist-error{color:#5b6470;margin-top:12px;font-size:14px}.cutlist-error{color:#8e3b3b}.checklist{margin-top:8px;list-style:none}.checklist li+li{margin-top:6px}.check-row{cursor:pointer;background:#fff;border:1px solid #dde3e9;border-radius:6px;align-items:center;gap:10px;min-height:44px;padding:6px 10px;display:flex}.check-row input{flex:none;width:24px;height:24px}.check-label{font-weight:600}.check-detail{color:#5b6470;font-size:13px}.check-source{color:#7a5320;white-space:nowrap;background:#fdf6ec;border:1px solid #e6d5b8;border-radius:8px;margin-left:auto;padding:1px 8px;font-size:12px}.check-row.done{background:#eef3ee;border-color:#cfe0cf}.check-row.done .check-label,.check-row.done .check-detail{color:#6a7a6a;text-decoration:line-through}.cutlist-section .cut-stock-diagram{margin-top:6px}
