:root{color:#1e293b;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#f8fafc;font-family:Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.5}*{box-sizing:border-box}body{min-height:100vh;margin:0}#root{flex-direction:column;min-height:100vh;display:flex}h1{font-size:1.5rem}h2{font-size:1.05rem}button{font:inherit;color:inherit;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:.4rem .9rem}button:hover:not(:disabled){background:#f1f5f9}button:disabled{opacity:.5;cursor:default}button.primary{color:#fff;background:#b45309;border-color:#b45309}button.primary:hover:not(:disabled){background:#92400e}button.danger{color:#b91c1c;border-color:#fecaca}button.danger:hover:not(:disabled){background:#fef2f2}input,select{font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:6px;width:100%;padding:.4rem .6rem}label{color:#475569;flex-direction:column;gap:.25rem;font-size:.85rem;display:flex}.link{color:#b45309;text-decoration:none}.link:hover{text-decoration:underline}.muted{color:#64748b;font-size:.85rem}.form-error{color:#b91c1c;margin:.5rem 0;font-size:.9rem}.page-info{color:#64748b;padding:2rem}.app-shell{flex-direction:column;flex:1;min-height:100vh;display:flex}.app-nav{background:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem 1.25rem;display:flex}.brand{letter-spacing:.06em;text-transform:uppercase;color:#b45309;font-size:1.1rem;font-weight:700;text-decoration:none}.app-nav-right{align-items:center;gap:.9rem;display:flex}.app-main{flex-direction:column;flex:1;display:flex}.app-footer{background:#fff;border-top:1px solid #e2e8f0;flex-wrap:wrap;justify-content:center;align-items:center;gap:.9rem;padding:.9rem 1.25rem;font-size:.85rem;display:flex}.app-banner{color:#92400e;background:#fef3c7;border-bottom:1px solid #fcd34d;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.6rem 1.25rem;font-size:.9rem;display:flex}.app-banner-action{color:#92400e;cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.app-banner-action:disabled{opacity:.6;cursor:default}.app-banner-note{color:#78716c}.auth-page{flex:1;place-items:center;padding:2rem 1rem;display:grid}.auth-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;gap:.9rem;width:min(24rem,100%);padding:1.75rem;display:flex}.auth-card h1{margin:0 0 .5rem}.checkbox-label{flex-direction:row;align-items:flex-start;gap:.5rem}.checkbox-label input{width:auto;margin-top:.15rem}.page{width:min(52rem,100%);margin:0 auto;padding:1.5rem 1.25rem 3rem}.inline-form{gap:.6rem;margin:1rem 0;display:flex}.inline-form input{flex:1}.inline-form button{white-space:nowrap}.card-list{flex-direction:column;gap:.6rem;margin:1rem 0;padding:0;list-style:none;display:flex}.card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:1rem;padding:.8rem 1rem;display:flex}.card-title{color:inherit;flex:1;font-weight:600;text-decoration:none}.card-title:hover{color:#b45309}.editor{flex-direction:column;flex:1;min-height:0;display:flex}.editor-toolbar{background:#fff;border-bottom:1px solid #e2e8f0;align-items:center;gap:1rem;padding:.6rem 1.25rem;display:flex}.editor-title{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.editor-actions{align-items:center;gap:.6rem;display:flex}.save-state{color:#16a34a;font-size:.8rem}.save-state.dirty{color:#b45309}.editor-body{flex:1;grid-template-columns:1fr 21rem;min-height:0;display:grid}.wall-canvas{background:#fff;min-width:0;min-height:24rem}.editor-sidebar{background:#fbfcfe;border-left:1px solid #e2e8f0;flex-direction:column;gap:1rem;padding:1rem;display:flex;overflow-y:auto}.panel{flex-direction:column;gap:.6rem;display:flex}.panel h2{border-bottom:1px solid #e2e8f0;margin:0;padding-bottom:.3rem}.field-row{gap:.6rem;display:flex}.field-row>*{flex:1}.opening-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px}.opening-card.selected{border-color:#2563eb}.opening-header{text-align:left;background:0 0;border:none;width:100%;padding:.6rem .8rem;font-weight:600}.opening-fields{flex-direction:column;gap:.5rem;padding:0 .8rem .8rem;display:flex}.issue-ok{color:#16a34a;font-size:.9rem}.issue-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.issue button{text-align:left;border-radius:6px;width:100%;font-size:.85rem}.issue.error button{color:#991b1b;background:#fef2f2;border-color:#fecaca}.issue.warning button{color:#92400e;background:#fffbeb;border-color:#fde68a}@media (width<=60rem){.editor-body{grid-template-columns:1fr}.editor-sidebar{border-top:1px solid #e2e8f0;border-left:none}}.page-header-row{justify-content:space-between;gap:1rem;display:flex}.panel-section{margin-top:2rem}.panel-section h2{border-bottom:1px solid #e2e8f0;padding-bottom:.3rem}.data-table{border-collapse:collapse;background:#fff;border:1px solid #e2e8f0;border-radius:8px;width:100%;font-size:.9rem}.data-table th,.data-table td{text-align:left;border-bottom:1px solid #eef2f7;padding:.45rem .8rem}.data-table th{color:#475569;background:#f8fafc;font-weight:600}.data-table .num{text-align:right;font-variant-numeric:tabular-nums}.data-table tr:last-child td{border-bottom:none}.stock-form{flex-direction:column;gap:.6rem;margin:.75rem 0;display:flex}.stock-form .field-row{align-items:flex-end}.stock-form .field-row>button{flex:none}.cut-result{margin-top:.75rem}.bin-list{flex-direction:column;gap:.5rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.bin-list>li{background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:.35rem;padding:.6rem .9rem;display:flex}.bin-label{font-size:.9rem;font-weight:600}.result-stats{flex-wrap:wrap;gap:1.25rem;margin:.6rem 0 .4rem;display:flex}.result-stats div{flex-direction:column;display:flex}.result-stats dt{text-transform:uppercase;letter-spacing:.03em;color:#64748b;font-size:.75rem}.result-stats dd{color:#1e293b;font-variant-numeric:tabular-nums;margin:0;font-size:1.5rem;font-weight:700}.bin-group+.bin-group{margin-top:.75rem}.bin-group-title{color:#475569;font-variant-numeric:tabular-nums;margin:.5rem 0 .25rem;font-size:.9rem}.sawing{flex-direction:column;align-items:center;gap:.6rem;padding:1.5rem 1rem;display:flex}.sawing-svg{width:200px;max-width:100%;height:auto}.sawing-board{fill:#deb887;stroke:#8b5e2f;stroke-width:1.5px}.sawing-kerf{stroke:#8b5e2f;stroke-width:1.5px;stroke-dasharray:3 3}.sawing-saw{transform-box:fill-box;transform-origin:50%;animation:1.1s ease-in-out infinite karkas-saw-move}.sawing-blade{fill:#e2e8f0;stroke:#64748b;stroke-width:1.5px}.sawing-teeth{fill:#94a3b8}.sawing-dust{fill:#a9743c;transform-box:fill-box;transform-origin:50%;animation:.9s ease-in infinite karkas-dust-fall}.sawing-dust-2{animation-delay:.3s}.sawing-dust-3{animation-delay:.6s}.sawing-label{color:#64748b;margin:0;font-size:.9rem}.sawing-bar{display:none}@keyframes karkas-saw-move{0%,to{transform:translate(-30px)}50%{transform:translate(30px)}}@keyframes karkas-dust-fall{0%{opacity:.9;transform:translateY(0)}to{opacity:0;transform:translateY(14px)}}@keyframes karkas-bar-pulse{0%,to{opacity:.4;transform:scaleX(.35)}50%{opacity:1;transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.sawing-svg{display:none}.sawing-saw,.sawing-dust{animation:none}.sawing-bar{background:#eef2f7;border-radius:4px;width:200px;max-width:100%;height:8px;display:block;overflow:hidden}.sawing-bar>span{transform-origin:0;background:#deb887;border-radius:4px;height:100%;animation:1.4s ease-in-out infinite karkas-bar-pulse;display:block}}.bin-diagram{background:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;align-items:stretch;width:100%;height:2rem;display:flex;overflow:hidden}.bin-seg-cut{color:#4a3520;font-variant-numeric:tabular-nums;cursor:pointer;background:#deb887;border:none;border-right:1px solid #8b5e2f;flex-basis:0;justify-content:center;align-items:center;min-width:0;padding:0;font-size:.75rem;display:flex;overflow:hidden}.bin-seg-cut:last-child{border-right:none}.bin-seg-cut:hover{background:#e6c79b}.bin-seg-cut.active{color:#fff;background:#f59e0b}.bin-seg-kerf{background:#8b5e2f;flex:0 0 2px}.bin-seg-waste{color:#6b6455;font-variant-numeric:tabular-nums;background:repeating-linear-gradient(-45deg,#efe7d6,#efe7d6 4px,#ddd2ba 4px 8px);border-left:1px solid #b0a48d;flex-basis:0;justify-content:center;align-items:center;min-width:0;font-size:.75rem;display:flex;overflow:hidden}.bin-seg-label{white-space:nowrap;text-overflow:clip;padding:0 .15rem;overflow:hidden}.profile-icon{font-variant-numeric:tabular-nums;align-items:center;gap:.4rem;display:inline-flex}.profile-icon-svg{flex:none}.profile-icon-label{white-space:nowrap}.length-bar{align-items:center;gap:.5rem;display:flex}.length-bar-track{background:#eef2f7;border:1px solid #e2e8f0;border-radius:3px;flex:auto;width:100%;min-width:2.5rem;max-width:8rem;height:.6rem;overflow:hidden}.length-bar-fill{background:#b98a52;height:100%;display:block}.length-bar-label{white-space:nowrap;font-variant-numeric:tabular-nums;color:#334155}.cut-members{margin-top:.25rem;padding-left:.25rem;font-size:.85rem}.cut-members ul{flex-direction:column;gap:.15rem;margin:0;padding-left:1rem;display:flex}.trace-hover-label{min-height:1.2em}.export-actions{align-items:center}.export-actions>button{flex:none}.site-page{width:min(36rem,100%)}.cut-progress{justify-content:space-between;align-items:center;gap:1rem;margin:.5rem 0;font-weight:600;display:flex}.cut-checks{flex-wrap:wrap;gap:.5rem;display:flex}.cut-check{color:#1e293b;font-variant-numeric:tabular-nums;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-direction:row;align-items:center;gap:.5rem;padding:.65rem .9rem;font-size:1rem}.cut-check input{width:1.2rem;height:1.2rem;margin:0}.cut-check.done{color:#64748b;background:#f1f5f9;text-decoration:line-through}@media (width<=40rem){.stock-form .field-row{flex-wrap:wrap}.stock-form .field-row>label{flex:8rem}}.sheet-grid{flex-wrap:wrap;gap:1rem;margin-top:.75rem;display:flex}.sheet-figure{flex-direction:column;gap:.25rem;margin:0;display:flex}.wall-panels-title{margin:1rem 0 .25rem;font-size:1rem}.checkbox-label{align-items:center;gap:.4rem;display:flex;flex-direction:row!important}.checkbox-label input{width:1.1rem;height:1.1rem;margin:0}.scene-3d-canvas{background:#eef2f6;border:1px solid #e2e8f0;border-radius:.5rem;width:100%;height:min(70vh,40rem);min-height:24rem;overflow:hidden}.scene-3d-toolbar{flex-wrap:wrap;align-items:center;gap:1rem;margin:.5rem 0;display:flex}
