:root{font-family:Inter,system-ui,-apple-system,sans-serif;color:#20312e;background:#f4f6f3;font-size:15px;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a.button{cursor:pointer;border:1px solid #cad4ce;background:white;color:#173b2c;border-radius:7px;padding:9px 14px;text-decoration:none;display:inline-block}button:hover,a.button:hover{background:#eaf1e9}button:disabled{opacity:.5;cursor:wait}button.primary{background:#225b40;color:white;border-color:#225b40}input,select{padding:9px;border:1px solid #bbc9c0;border-radius:6px;max-width:100%;background:white}label{display:block}a{color:#256245}h1{font-size:32px;letter-spacing:-1px;margin:0 0 10px}h2{font-size:20px}.app{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.sidebar{background:#163c2d;color:#e4eee5;padding:34px 22px;display:flex;flex-direction:column}.brand{color:white;text-decoration:none;font-size:26px;letter-spacing:3px;font-weight:800}.brand span{display:block;font-size:10px;letter-spacing:4px;margin-top:4px}.sidebar nav{display:grid;gap:8px;margin-top:35px}.sidebar nav button{background:transparent;color:#d9e5dc;border:0;text-align:left}.sidebar nav button.active{background:#315741;color:white}.sidebar-note{margin-top:auto;font-size:12px;color:#b1cbb8;padding-top:70px}.sidebar .muted{color:#a7c2af}main{padding:38px 4vw;min-width:0}.top{display:flex;align-items:center;justify-content:space-between}.eyebrow{letter-spacing:2px;font-size:11px;font-weight:700;color:#6b7c70}.muted{color:#6a786f;font-size:13px}.badge{display:inline-block;background:#e4eddf;color:#3e6646;padding:4px 10px;border-radius:20px;font-size:12px}.toolbar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:20px 0}.panel,.product{background:white;padding:24px;border:1px solid #dbe2db;border-radius:10px;margin:20px 0}.empty{padding:55px 24px;text-align:center;background:white;border:1px dashed #bccabe;border-radius:10px}.table-wrap{overflow:auto;background:white;border-radius:8px;border:1px solid #dbe2db}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;background:#eaf0e8;color:#506557;font-size:11px;text-transform:uppercase;letter-spacing:.4px}th,td{padding:13px 14px;border-bottom:1px solid #e5eae4;vertical-align:top}td .muted{display:block}td button{padding:6px 10px}.notice{background:#fff3d8;border:1px solid #ead4a2;padding:14px 18px;border-radius:7px;margin:14px 0}.success{background:#e4f0e4;padding:12px;border-radius:7px}.error{background:#fce5df;padding:12px;border-radius:7px;color:#8c382a}.actions{display:flex;gap:8px;flex-wrap:wrap}.stats{display:flex;gap:20px;flex-wrap:wrap}.stats>div{padding:16px 22px;background:white;border:1px solid #dbe2db;border-radius:9px;min-width:140px}.stats strong{font-size:27px;display:block}.rule-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:15px}.rule-fields label{font-size:13px}.rule-fields input{display:block;width:100%;margin-top:5px}.document{max-width:1200px;margin:auto;padding:30px;background:white}.document nav{display:flex;justify-content:space-between;margin-bottom:24px}.document header{border-bottom:3px solid #225b40;margin-bottom:25px}.document footer{font-size:11px;color:#6a786f;margin-top:30px}.document .product{break-inside:auto}.document h2{break-after:avoid}.document th,.document td{padding:8px}.document table{font-size:11px}@media(max-width:800px){.app{grid-template-columns:1fr}.sidebar{padding:18px}.sidebar nav{display:flex;flex-wrap:wrap;margin-top:12px}.sidebar-note,.sidebar>.muted{display:none}main{padding:24px 16px}.brand span{display:inline;margin-left:10px}}@media print{@page{size:A4 landscape;margin:12mm}.no-print{display:none!important}.document{padding:0;max-width:none;font-size:11px}.document h1{font-size:23px}.table-wrap{overflow:visible;border:0}thead{display:table-header-group}tr{break-inside:avoid}.product{border:0;padding:0;margin:20px 0}.notice{break-inside:avoid}a{color:inherit}}
.panel-heading,.results-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.panel-heading h2{margin:0}.sync-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin:20px 0}.sync-details dt{font-size:12px;color:#6a786f}.sync-details dd{margin:5px 0 0;font-size:14px}.rule-filterbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.rule-filterbar select{width:100%;margin-top:6px}.rule-filterbar label[hidden]{display:none}.filter-empty{padding:30px 0 10px;color:#6a786f}.pagination{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.rule-group{border:1px solid #dbe2db;border-radius:8px;padding:20px;margin:22px 0}.rule-group legend{font-size:15px;font-weight:650;padding:0 8px;color:#225b40}.rule-source{margin:18px 0}.sync-panel input[type=number]{width:160px}@media(max-width:800px){.rule-filterbar{grid-template-columns:1fr}.panel-heading,.results-heading{align-items:flex-start}.sync-details{grid-template-columns:1fr}.rule-group{padding:14px}}
.state-open{color:#a72f26!important;font-weight:650}.state-done{color:#176c39!important;font-weight:650}.status-chip{display:inline-block;padding:5px 10px;border-radius:6px;white-space:normal;font-size:12px;border:1px solid currentColor}.status-chip.state-open{background:#fce9e5}.status-chip.state-done{background:#e0f1e4}.cut-tabs{display:flex;flex-wrap:wrap;gap:7px;margin:22px 0}.cut-tabs button.active{background:#225b40;color:white}.task-progress-form{display:flex;flex-wrap:wrap;gap:5px;min-width:170px}.task-progress-form input{width:78px;padding:6px}.text-button{border:0;background:none;padding:3px 0;text-decoration:underline;text-align:left;font-size:12px;display:block}.check-label{display:flex;align-items:center;gap:6px;padding-bottom:10px}.stock-length,.plan-stock-length{width:145px}.bar-diagram{display:block;width:100%;height:55px;margin:16px 0}.plan-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;background:white;border:1px solid #dbe2db;border-radius:8px;padding:18px;margin:14px 0}.plan-summary .muted{display:block}.plan-options{margin:20px 0}.plan-options summary{cursor:pointer;margin-bottom:12px}.focused-task{outline:3px solid #d09c2d;outline-offset:-3px}.cut-bar{break-inside:avoid}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:800px){.plan-summary{align-items:flex-start;flex-direction:column}.task-table td{min-width:130px}.cut-tabs button{font-size:12px}.cut-bar{break-inside:auto}}@media print{.state-done,.state-open{-webkit-print-color-adjust:exact;print-color-adjust:exact}.bar-diagram{height:45px}}
/* Full-stock cutting layout; shared by the workshop and printed plan. */
.cutlist-optimizer>.panel-heading h2{font-size:26px}.cutlist-optimizer>.panel-heading .eyebrow{margin:0 0 5px}.cutlist-settings{background:#f6f8f4;padding:14px 18px;border:1px solid #dbe2db;border-radius:8px;margin:20px 0}.cutlist-settings summary,.cutlist-source>summary,.cutlist-piece-details>summary{cursor:pointer;font-weight:650}.cutlist-settings .table-wrap{margin-top:12px}.cutlist-preview-summary{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid #dbe2db;padding-top:22px;margin-top:22px}.cutlist-preview-summary h2{margin:6px 0 0}.cutlist-legend{display:flex;flex-wrap:wrap;gap:12px 20px;margin:20px 0;font-size:12px}.cutlist-legend span{display:flex;align-items:center;gap:6px}.cutlist-legend i{display:inline-block;width:18px;height:12px;border:1px solid #adbaae;border-radius:2px}.legend-trim{background:repeating-linear-gradient(135deg,#ffe3bb 0 4px,#cb9249 4px 5px)}.legend-piece{background:#275d84}.legend-kerf{background:#bf3a31}.legend-rest{background:repeating-linear-gradient(135deg,#edf0ea 0 4px,#c4cec2 4px 5px)}.legend-done{background:#28794a}.cutlist-material{margin:24px 0 36px}.cutlist-material-heading{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:18px 20px;background:#eaf0e8;border:1px solid #d1ddce;border-radius:9px 9px 0 0}.cutlist-material-heading h3{font-size:22px;margin:4px 0;overflow-wrap:anywhere}.cutlist-material-heading p{margin:0}.cutlist-stock-count{text-align:right;flex-shrink:0}.cutlist-stock-count strong{font-size:24px;display:inline-block}.cutlist-stock-count span{display:block;font-size:12px;color:#5c6f60}.cutlist-bar{padding:20px;background:white;border:1px solid #d1ddce;border-top:0;break-inside:avoid}.cutlist-bar:last-child{border-radius:0 0 9px 9px}.cutlist-bar-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:12px}.cutlist-bar-heading>div{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.cutlist-bar-heading strong{font-size:18px}.cutlist-bar-number{background:#203c2d;color:white;border-radius:5px;padding:5px 10px;font-size:11px;font-weight:700;letter-spacing:1px}.cutlist-canvas{overflow-x:auto;margin:8px -4px 0}.cutlist-diagram{display:block;width:100%;min-width:680px;height:auto}.cutlist-bar-totals{display:flex;align-items:center;gap:10px 22px;flex-wrap:wrap;font-size:12px;padding:10px 0 16px}.cutlist-bar-totals strong{display:inline-block;margin-left:4px}.cutlist-bar-totals>span:last-of-type:not(.cutlist-direction){color:#344c30}.cutlist-direction{color:#6a786f;margin-left:auto}.cutlist-piece-details{margin-top:6px}.cutlist-piece-details>summary{font-size:13px;padding:10px 0}.cutlist-piece-table{font-size:12px}.cutlist-piece-table th,.cutlist-piece-table td{padding:10px}.cutlist-piece-table td:nth-child(1),.cutlist-piece-table td:nth-child(2),.cutlist-piece-table td:nth-child(7){white-space:nowrap}.cutlist-source{scroll-margin-top:20px}.cutlist-saved-plans{margin:30px 0}.cutlist-saved-plans .plan-summary{margin-top:0}.cutlist-document>.cutlist-stock-groups .cutlist-material-heading,.cutlist-document .cutlist-bar-heading{border-bottom:0;margin-bottom:0}.cutlist-document .cutlist-bar{margin:0}.cutlist-document .cutlist-material-heading h3{font-size:19px}
@media(max-width:800px){.cutlist-bar{padding:14px}.cutlist-material-heading{padding:14px;align-items:flex-start}.cutlist-stock-count strong{font-size:18px}.cutlist-bar-heading{align-items:flex-start}.cutlist-bar-heading>div{gap:6px 12px}.cutlist-bar-heading>span{max-width:105px}.cutlist-direction{margin-left:0}.cutlist-optimizer{padding:16px}.cutlist-preview-summary{align-items:flex-start}}
@media print{.cutlist-diagram{min-width:0;width:100%}.cutlist-canvas{overflow:visible}.cutlist-material-heading{break-after:avoid;padding:10px 12px}.cutlist-material-heading h3{font-size:17px}.cutlist-stock-count strong{font-size:19px}.cutlist-bar{padding:12px;break-inside:avoid;page-break-inside:avoid}.cutlist-bar-heading{padding-bottom:0}.cutlist-bar-totals{font-size:10px;gap:8px 18px;padding-bottom:6px}.cutlist-legend{font-size:10px;gap:12px}.cutlist-piece-table{font-size:10px}.cutlist-piece-table th,.cutlist-piece-table td{padding:5px 7px}.cutlist-piece-details>summary{font-size:11px}.cutlist-document *{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
