:root{font-family:system-ui,sans-serif;color:#e8ece6;background:#111713;font-synthesis:none;text-rendering:optimizeLegibility;--bg:#111713;--panel:#171f1a;--panel-2:#1b251f;--line:#2a352e;--muted:#8d9a90;--soft:#abb6ac;--accent:#bded75;--green:#92c95b;--mono:ui-monospace,Consolas,monospace;--display:system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:960px;min-height:100vh;background:radial-gradient(ellipse at 75% 0%,#203025 0%,transparent 35%),var(--bg)}button,a{font:inherit}button{color:inherit}.shell{min-height:100vh;display:flex}.rail{width:248px;min-width:248px;background:#141b16;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:27px 17px 20px}.brand{display:flex;gap:11px;align-items:center;color:#f2f5f1;text-decoration:none;font-family:var(--display);font-size:15px;font-weight:800;letter-spacing:.08em}.brand-light{font-weight:500;color:#b9c7b8}.brand small{display:block;color:#738075;font:9px var(--mono);letter-spacing:.17em;margin-top:4px}.brand-mark{height:36px;width:36px;border-radius:10px;color:#c5f47f;background:#283a29;display:grid;place-items:center}.brand-mark svg{width:23px}.rail-label,.eyebrow,.crumb,.panel-meta,.section-index,.session-tag,.next-label,.footer-note,.machine-kicker,.rail-foot,.file-state,.confidence-key,.safeguard-rule,.offline-pill{font-family:var(--mono);letter-spacing:.09em}.rail-label{font-size:9px;color:#647268;margin:54px 12px 13px}.steps{display:grid;gap:5px}.step{display:flex;align-items:center;gap:11px;width:100%;padding:12px;border:1px solid transparent;border-radius:8px;background:transparent;text-align:left;font-size:12px;color:#9ba79d;cursor:pointer}.step:disabled{opacity:.35;cursor:default}.step:not(:disabled):hover{background:#1b251f}.step.selected{background:#202c22;border-color:#344332;color:#e6eee1}.step>svg{height:14px;width:14px;margin-left:auto;color:var(--accent)}.step-num{font:10px var(--mono);color:#718071}.step.selected .step-num{color:var(--accent)}.rail-bottom{margin-top:auto}.local-badge{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 5px}.pulse{width:7px;height:7px;display:inline-block;border-radius:50%;background:#b2e77a;box-shadow:0 0 11px #b2e77770}.local-badge b{font:9px var(--mono);letter-spacing:.11em;color:#d8e0d8;display:block}.local-badge small{display:block;color:#77847a;font-size:10px;margin-top:4px}.machine-card{padding:14px 12px;margin-top:13px;border:1px solid var(--line);background:#18211a;border-radius:8px}.machine-kicker{font-size:8px;color:#728074}.machine-card strong{display:block;font:600 14px var(--display);margin-top:10px}.machine-card>span{display:block;color:#929d93;font-size:10px;margin-top:4px}.text-button{display:flex;align-items:center;gap:5px;border:0;background:none;color:#c2e79b;padding:12px 0 0;font-size:10px;cursor:pointer}.text-button svg{height:12px;width:12px}.rail-foot{text-align:center;color:#536056;font-size:8px;margin-top:20px}.main{flex:1;min-width:0}.topbar{height:58px;border-bottom:1px solid #27312a;display:flex;align-items:center;justify-content:space-between;padding:0 40px;background:#111713ad}.crumb{font-size:9px;color:#758278}.crumb span{padding:0 8px;color:#424d44}.top-actions{display:flex;align-items:center;gap:20px}.offline-pill{color:#b9d99b;font-size:8px;display:flex;align-items:center;gap:6px}.offline-pill svg{width:14px;height:14px}.avatar{height:28px;width:28px;display:grid;place-items:center;background:#344334;border:1px solid #52634e;color:#ddedcd;font:10px var(--mono);border-radius:50%}.page{max-width:1460px;margin:0 auto;padding:38px 40px 22px}.heading-row{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:27px}.eyebrow{color:#97c76b;font-size:9px;margin-bottom:10px}h1{font:600 31px var(--display);letter-spacing:-.04em;margin:0;color:#f0f4ee}.subhead{font-size:12px;color:#9ba69c;line-height:1.7;max-width:670px;margin:9px 0 0}.session-tag{font-size:8px;color:#96a193;display:flex;gap:8px;align-items:center;padding-bottom:5px}.session-tag .pulse{height:6px;width:6px}.workspace-grid{display:grid;grid-template-columns:minmax(470px,1.55fr) minmax(295px,.82fr);gap:17px}.left-column,.right-column{display:grid;align-content:start;gap:16px}.panel{background:linear-gradient(145deg,#19211c,#161d19);border:1px solid #2b362e;border-radius:9px;overflow:hidden;box-shadow:0 10px 30px #0509061a}.panel-heading{display:flex;align-items:center;justify-content:space-between;padding:15px 17px;border-bottom:1px solid #29332c}.panel-heading>div{display:flex;align-items:center;gap:10px}.section-index{font-size:8px;color:#99ce67;border:1px solid #526b3d;padding:4px 5px;border-radius:4px}.panel-heading h2{font:600 13px var(--display);margin:0}.panel-meta{font-size:8px;color:#718076}.dropzone{margin:15px 16px 10px;border:1px dashed #4a5a4d;border-radius:7px;min-height:185px;background:linear-gradient(135deg,#1a261c,#18201b);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;cursor:pointer;transition:.15s}.dropzone:hover,.dropzone.dragging{border-color:#b9e878;background:#223021}.upload-icon{width:32px;height:32px;display:grid;place-items:center;background:#2c3c2c;border-radius:8px;color:#c4ed88;margin-bottom:9px}.upload-icon svg{width:18px}.drop-title{font:600 13px var(--display);color:#e3eae0}.drop-hint{font-size:10px;color:#8a978c;margin-top:5px}.primary-button{background:#b9e879;color:#182015;border:0;border-radius:5px;padding:8px 13px;font-size:10px;font-weight:700;margin-top:12px;cursor:pointer}.primary-button:hover{background:#d0f69d}.primary-button span{padding-left:7px;font-size:13px}.size-note{font:8px var(--mono);color:#718075;margin-top:9px}.file-list{padding:0 16px 13px}.empty-list{font-size:10px;color:#6f7b71;padding:4px 2px}.file-row{position:relative;width:100%;display:flex;align-items:center;gap:8px;background:#1b241e;border:1px solid #29362b;border-radius:6px;padding:5px 8px;margin:7px 0 0}.file-row-main{min-width:0;flex:1;display:flex;align-items:center;gap:10px;border:0;background:transparent;text-align:left;cursor:pointer;padding:4px 0}.file-row-main.active{color:#e8ece6}.file-row:has(.file-row-main.active){border-color:#597149;background:#202c21}.file-row-main:focus-visible,.remove-file:focus-visible{outline:2px solid #b9e879;outline-offset:2px}.file-icon{height:27px;width:27px;display:grid;place-items:center;color:#b8d99a;background:#2a382b;border-radius:5px}.file-icon svg{height:15px}.file-name{min-width:0;flex:1}.file-name b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:500}.file-name small{display:block;color:#849086;font:8px var(--mono);margin-top:4px}.file-state{font-size:7px;color:#93b96a}.remove-file{position:absolute;right:9px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#77847a;padding:4px;cursor:pointer;display:grid;place-items:center}.remove-file svg{width:13px;height:13px}.preview-stage{height:316px;background:#101612;display:grid;place-items:center;overflow:hidden}.preview-empty{display:flex;align-items:center;flex-direction:column;text-align:center;color:#68756b}.preview-cross{height:43px;width:43px;border:1px solid #29352c;border-radius:50%;display:grid;place-items:center;color:#738374;margin-bottom:13px}.preview-cross svg{height:19px;width:19px}.preview-empty>span{font:8px var(--mono);letter-spacing:.12em}.preview-empty small{font-size:9px;color:#748076;margin-top:7px}.preview-empty code{font:9px var(--mono);margin-top:11px;color:#aab6ab}.drawing-image{max-width:100%;max-height:100%;object-fit:contain;background:#222}.pdf-frame{width:100%;height:100%;border:0;background:#ddd}.review-card{min-height:352px}.count-pill{font:8px var(--mono);color:#a2b099;background:#222c24;border:1px solid #334136;border-radius:20px;padding:5px 8px}.ledger-placeholder{height:300px;display:flex;align-items:center;flex-direction:column;justify-content:center;padding:18px 28px;text-align:center}.ledger-graphic{height:69px;width:150px;border-bottom:1px solid #344237;position:relative;margin-bottom:19px}.ledger-line{position:absolute;left:6px;right:5px;height:1px;background:#364338}.ledger-line.l1{top:18px;width:54%}.ledger-line.l2{top:34px;width:80%}.ledger-line.l3{top:50px;width:67%}.ledger-graphic i{position:absolute;width:6px;height:6px;border-radius:50%;background:#b9e879;top:15px;left:48%}.ledger-graphic i:nth-of-type(2){top:31px;left:76%;background:#e2b15d}.ledger-graphic i:nth-of-type(3){top:47px;left:62%;background:#7d8980}.ledger-placeholder>b{font:600 12px var(--display);color:#d7dfd6}.ledger-placeholder>p{font-size:10px;color:#879389;line-height:1.6;max-width:250px;margin:7px 0 18px}.confidence-key{display:flex;gap:11px;color:#879187;font-size:7px}.confidence-key span{display:flex;align-items:center;gap:5px}.confidence-key i{height:5px;width:5px;border-radius:50%;background:#9ed668}.confidence-key i.med{background:#e4b762}.confidence-key i.low{background:#838e85}.safeguards{padding:15px 16px}.safeguard-title{display:flex;align-items:center;gap:8px}.safeguard-title svg{width:16px;color:#b4df83}.safeguard-title h3{font:600 11px var(--display);margin:0}.safeguards>p{font-size:9px;color:#8b978d;line-height:1.65;margin:9px 0 13px}.safeguard-rule{font-size:7px;color:#a2afa4;padding:8px 0;border-top:1px solid #2c352f}.safeguard-rule span{color:#91bf67;padding-right:8px}.next-panel{padding:15px 16px}.next-label{font-size:8px;color:#93c568}.next-panel strong{display:block;font:600 12px var(--display);margin-top:8px}.next-panel p{font-size:9px;color:#8a968c;line-height:1.6;margin:7px 0 13px}.outline-button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 10px;border:1px solid #3a473d;border-radius:5px;background:#202923;color:#c5d1c4;font-size:9px;cursor:pointer}.outline-button:hover:not(:disabled){border-color:#8cb65d;color:#d8edc1}.outline-button:disabled{opacity:.4;cursor:default}.outline-button svg{width:12px;height:12px}.footer-note{display:flex;justify-content:space-between;border-top:1px solid #28332b;color:#617064;font-size:7px;padding-top:13px;margin-top:18px}@media(max-width:1120px){.rail{width:210px;min-width:210px}.page{padding-left:25px;padding-right:25px}.workspace-grid{grid-template-columns:minmax(430px,1.3fr) minmax(270px,.8fr)}}.pdf-preview,.dxf-preview{width:100%;height:100%;display:flex;align-items:center;flex-direction:column;justify-content:flex-start;overflow:hidden;background:#101612}.pdf-toolbar,.dxf-toolbar{height:31px;min-height:31px;width:100%;display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-bottom:1px solid #28332b;background:#171f1a;color:#a0ada1;font:8px var(--mono);letter-spacing:.08em}.page-button{width:23px;height:21px;display:grid;place-items:center;border:1px solid #39463a;border-radius:4px;background:#202923;color:#c4d2c2;cursor:pointer}.page-button:hover{border-color:#a8d875}.pdf-page-label{margin:0 auto}.drawing-canvas{display:block;max-width:100%;max-height:calc(100% - 45px);object-fit:contain;background:#111713}.pdf-preview .drawing-canvas{margin:auto}.render-error{padding:8px 10px;color:#e8b077;font:9px var(--mono)}.dxf-summary{width:100%;padding:7px 12px;color:#9ca99d;font:8px/1.55 var(--mono);border-top:1px solid #29342b}.dxf-warning{color:#dcad6b!important;margin-top:3px}.dxf-toolbar span:first-child{color:#b9de8e}.cad-preview{width:100%;height:100%;display:flex;flex-direction:column;min-height:0}.cad-result{min-height:220px;max-height:420px;overflow:auto;background:#111713;border:1px solid #28332b;border-radius:8px;margin:12px 14px 0}.cad-inventory{padding:14px;color:#cbd4c9;font:12px/1.5 ui-monospace,Consolas,monospace}.cad-inventory-head{color:#bce982;margin-bottom:10px}.cad-row{display:flex;justify-content:space-between;gap:10px;padding:4px 6px 4px calc(6px + var(--depth,0)*12px);border-bottom:1px solid #202a23}.cad-row small{color:#879287;white-space:nowrap}.cad-warning{margin-top:12px;color:#f0c47c}.cad-summary{padding:10px 14px}.step-view{height:280px;min-height:220px;background:#111713;border-bottom:1px solid #28332b}.step-canvas{display:block;width:100%;height:100%;touch-action:none}.cam-controls{width:100%;padding:10px 12px;background:#151d17;border-top:1px solid #2a372d;color:#bfcbbe;font:9px/1.5 var(--mono)}.cam-control-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.cam-control-row label{display:flex;align-items:center;gap:4px;color:#aab6a9}.cam-control-row input{width:62px;padding:5px 4px;border:1px solid #3a493d;border-radius:4px;background:#0e1410;color:#e0e8dc;font:9px var(--mono)}.cam-control-row .primary-button{margin:0}.cam-control-row button:disabled{opacity:.55}.cam-confirm{display:flex;align-items:center;gap:7px;margin-top:9px;color:#e2ba71}.cam-note{margin-top:7px;color:#849186;font-size:8px}#cam-status{margin-top:8px;color:#b9c7b8}#cam-status strong{color:#edc77c}#cam-layout{margin-top:6px;color:#a3b096}.cam-placement{padding:4px 0;border-bottom:1px solid #2b352d}.job-content{padding:18px}.job-state{display:flex;justify-content:space-between;gap:20px;padding:12px;border:1px solid #967247;background:#30271b;color:#ebc488;border-radius:6px}.job-state.checked{background:#203324;border-color:#6c9858;color:#bee896}.job-state span{font:11px var(--mono)}.job-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:14px 0}.job-toolbar button,.sim-toolbar button,.job-toolbar select,.cam-control-row select,.cam-dialog select,.cam-dialog input{padding:9px 12px;background:#202d23;border:1px solid #4b624d;color:#d5e4cd;border-radius:5px;font:12px var(--display)}.job-toolbar button:disabled{opacity:.4;cursor:not-allowed}.job-toolbar label{font:12px var(--display)}.job-layout{background:#d4c5a2;border-radius:7px;margin-bottom:14px;padding:10px}.job-layout svg{display:block;width:100%;max-height:300px}.sim-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px;background:#1d2920}.sim-toolbar label{display:flex;gap:8px;align-items:center;font:11px var(--mono)}.sim-toolbar span{margin-left:auto;color:#b8c5b2;font:11px var(--mono)}.sim-viewport{height:440px;border:1px solid #384b3a}.sim-viewport canvas{width:100%;height:100%;touch-action:none}.sim-scrub{width:100%;accent-color:#afd780}.sim-layers{display:flex;flex-wrap:wrap;gap:15px;margin:12px 0;font:11px var(--display)}.sim-layers label{display:flex;align-items:center;gap:5px}.sim-layers input{accent-color:#a9d277}.sim-explanation,.job-release-note{font:12px/1.6 var(--display);color:#91a38c}.job-features{margin:20px 0;overflow:auto}.job-features h3{font:16px var(--display)}.job-features table{border-collapse:collapse;width:100%;font:12px var(--mono)}.job-features th,.job-features td{padding:9px 10px;border-bottom:1px solid #354334;text-align:left}.job-content details{margin:15px 0;color:#bdd1ac;font:13px/1.6 var(--display)}.job-content details li{margin:7px 0;font:12px/1.6 var(--mono)}.job-content pre{max-height:350px;overflow:auto;font:11px/1.5 var(--mono);background:#101612;padding:14px}.operation-row{display:grid;grid-template-columns:1fr 2fr auto;gap:12px;width:100%;padding:12px;text-align:left;color:#c0d2b6;border:1px solid #364831;background:#18241b}.operation-row strong{font-size:12px}.operation-row span,.operation-row small{font-size:11px}.cam-dialog{max-width:560px;width:90%;background:#18231b;color:#d1e3c8;border:1px solid #738a62;border-radius:10px;padding:25px}.cam-dialog::backdrop{background:#080f09c9}.cam-dialog label{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:14px 0}.file-quantity{display:flex;align-items:center;gap:5px;font:10px var(--mono);color:#b2c1a9}.file-quantity input{width:45px;background:#142018;color:#d4e6c8;border:1px solid #405739;border-radius:4px;padding:5px}.folder-button{margin:8px 0}.job-panel{margin-top:20px}.cam-note{font-size:11px!important;line-height:1.6}.cam-control-row input{font-size:12px;width:74px}.cam-controls{font-size:12px}.cam-control-row label{font-size:11px}.cam-confirm{font-size:12px}#cam-program-details{margin-top:8px;color:#bce982}#cam-program-details pre{max-height:260px;overflow:auto;padding:9px;background:#0c110e;color:#cbd6c8;font:8px/1.45 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere}.export-guidance{margin-bottom:14px;font-size:13px;line-height:1.6;color:var(--muted,#b6c2b9)}.export-guidance summary{cursor:pointer;color:#cee8b7;font-weight:600}.export-guidance p{margin:10px 0}.file-row-main{min-width:0}.job-features{overflow-x:auto}.cam-controls,.job-panel{scroll-margin-top:24px}.nest-editor{margin:20px 0;padding:14px;border:1px solid #526248;border-radius:8px}.nest-editor p,.nest-status{font:12px/1.6 var(--display);color:#b7c7aa}.nest-editor input{width:75px;padding:7px;background:#142018;color:#dbeaca;border:1px solid #526248;border-radius:4px}.nest-canvas{display:block;width:100%;max-height:600px;touch-action:none;-webkit-user-select:none;user-select:none;background:#132018;outline-offset:3px}.nest-sheet{fill:#cabc95}.nest-margin{fill:none;stroke:#665d42;stroke-width:.1;stroke-dasharray:.5 .3;pointer-events:none}.nest-part{cursor:grab}.nest-part path{fill:#779b63;stroke:#24331d;stroke-width:.1;pointer-events:none}.nest-bounds{fill:#648559;fill-opacity:.13;stroke:#3c562b;stroke-width:.1;stroke-dasharray:.4 .2}.nest-part.selected path{fill:#bddf79;stroke:#223a13;stroke-width:.2}.nest-part.selected .nest-bounds{stroke:#1678c2;stroke-width:.2}.nest-part text{fill:#15200f;pointer-events:none}.nest-marquee{fill:#357ac2;fill-opacity:.2;stroke:#14559b;stroke-width:.15;pointer-events:none}.nest-status{min-height:2em;margin-top:9px}
