:root{--panel-left:320px;--panel-right:310px;--accent:#48c7df}
#downloadDialog{margin:auto;width:min(620px,92vw);max-height:92vh;overflow:auto;background:#142733;color:#dcecf2;padding:26px;border:1px solid #426271;border-radius:12px;box-shadow:0 20px 80px #0007}#downloadDialog::backdrop{background:#07111acc;backdrop-filter:blur(3px)}#downloadDialog .report-header{margin-bottom:12px;gap:15px}#downloadTitle{font-size:21px}#downloadIntro{font-size:13px;line-height:1.6;color:#a8c1ce;margin:0 0 20px}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}.contact-field{display:flex;flex-direction:column;gap:7px;min-width:0}.contact-field-wide{grid-column:1/-1}.contact-field label{font-size:12px;font-weight:600;color:#c3dbe6}.contact-field input{width:100%;min-width:0;box-sizing:border-box;background:#0e202c;color:#e9f4f8;border:1px solid #3c596a;border-radius:6px;padding:10px 12px;font:14px 'Segoe UI','Microsoft YaHei',sans-serif}.contact-field input:focus{outline:2px solid #48c7df;outline-offset:1px}.contact-field input[aria-invalid=true]{border-color:#ff9186}.contact-field-error{font-size:11px;line-height:1.5;color:#ffaaa0}.contact-field-error:empty{display:none}#downloadContactForm .help{font-size:11px;line-height:1.6;margin:17px 0 12px}#submitDownload{width:100%;padding:12px;font-size:13px}#downloadError{font-size:12px;margin:8px 0;line-height:1.6}@media(max-width:560px){.contact-fields{grid-template-columns:1fr}.contact-field-wide{grid-column:auto}#downloadDialog{padding:20px}#downloadTitle{font-size:18px}}
#languageSelect{margin-left:18px;background:#203745;color:#e0f0f5;border:1px solid #3a5668;border-radius:5px;padding:6px 10px;font:12px 'Segoe UI',sans-serif}#tb .tmain{white-space:nowrap}.pallet-selection{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.pallet-selection .row{background:#18323e;border:1px solid #365564;border-radius:6px;padding:10px;justify-content:space-between}.pallet-selection .row label{width:auto}.pallet-selection .row input{flex:0!important;width:auto!important}.pallet-selection .unit{display:none}.configuration-card{border-top:1px solid #2c4351;padding-top:13px;margin-top:16px}.configuration-card h3{font-size:13px;color:#74cedd;margin-bottom:11px}.configuration-card>div{display:flex;gap:14px;justify-content:space-between;padding:5px 0;font-size:11px;line-height:1.55}.configuration-card span{color:#91a9b8;flex:1;min-width:0}.configuration-card strong{font-weight:500;color:#d3e4ed;max-width:59%;text-align:right;overflow-wrap:anywhere}.sales-actions{position:sticky;bottom:-20px;padding:12px 0 4px;background:#101b25;border-top:1px solid #324a59;margin-top:18px}.sales-actions .btn{font-size:12px;margin:4px 0}#quoteDialog{margin:auto;width:min(540px,90vw);background:#142733;color:#dcecf2;padding:28px;border:1px solid #426271;border-radius:10px}#quoteDialog::backdrop{background:#0009}#quoteDialog p{font-size:14px;line-height:1.8;margin:15px 0}#legacyControls[hidden]{display:none!important}#pl .row label{width:106px}#pl .step-description{font-size:12px}#projectMessage{margin-top:0}
.wizard-steps{display:grid;gap:6px;margin-bottom:20px}.wizard-step{display:flex;align-items:center;gap:10px;width:100%;padding:10px;text-align:left;color:#98acbb;background:#15232e;border:1px solid #293c49;border-radius:7px;cursor:pointer;font-family:inherit}.wizard-step>span:nth-child(2){flex:1;min-width:0}.wizard-step b{display:block;font-size:12px;font-weight:600}.wizard-step small{display:block;font-size:10px;margin-top:4px;line-height:1.4;color:#839aa9}.step-number{display:grid;place-items:center;width:26px;height:26px;border:1px solid #3a5262;border-radius:50%;font-size:12px;flex-shrink:0}.wizard-step[aria-current=step]{background:#173d49;border-color:#48c7df;color:#dcf8fb}.wizard-step[aria-current=step] .step-number{background:#48c7df;color:#102b37;border-color:#48c7df}.wizard-step[aria-current=step] small{color:#aad2da}.step-mark{visibility:hidden;color:#68cfae}.step-complete .step-mark{visibility:visible}.wizard-step:focus-visible{outline:2px solid #7ae1ee;outline-offset:2px}.wizard-step:disabled{opacity:.5;cursor:default}.wizard-panel[hidden],#wizardNext[hidden]{display:none!important}.wizard-panel h2{font-size:19px;font-weight:600;color:#e2eff4;margin:0 0 6px;outline:none}.step-description{font-size:11px;line-height:1.8;color:#91a9b8;margin:0 0 20px}.wizard-subsection{border-top:1px solid #293743;margin-top:18px;padding-top:14px}.wizard-subsection h3{font-size:12px;margin:0 0 14px;color:#b8d1df}.wizard-footer{position:sticky;bottom:-18px;background:#101b25;border-top:1px solid #2d4351;padding:12px 0;margin-top:22px;z-index:2}.wizard-footer>span{display:block;color:#809dab;font-size:10px;margin-bottom:9px}.wizard-footer>div{display:flex;gap:10px}.wizard-footer .btn{flex:1;margin:0}.stack-height{padding:12px;background:#18333e;border:1px solid #2b5260;border-radius:6px;margin:14px 0;display:flex;flex-wrap:wrap;justify-content:space-between;gap:5px;font-size:11px;color:#a9c5d3}.stack-height strong{font-size:16px;color:#83dfe8}.stack-height small{width:100%;font-size:10px;color:#7f9cae}#wizardDebug{margin-top:22px}#wizardDebug .legend{margin-top:14px}
body{background:#101821;color:#d6e0e7;font-family:'Segoe UI','Microsoft YaHei',sans-serif}
#pl{width:var(--panel-left);padding:18px 16px;background:rgba(15,23,32,.97);border-color:#293743;gap:14px;top:54px;height:calc(100% - 54px)}
#pr{width:var(--panel-right);top:54px;bottom:0;overflow:auto;padding:20px 18px;background:rgba(15,23,32,.97);border-color:#293743}
#tb{left:0;right:0;height:54px;padding:0 20px;background:#111d28;border-color:#293743}
#tb .tmain{color:#e3edf4;font-size:16px;letter-spacing:.3px}#tb .tsub{color:#73a4b6;margin-left:10px}#fps{color:#647c8f}
.ptitle{color:#8eafc2;border-color:#293743;font-size:11px}.shdr{color:#b0c6d6}.shdr::after{background:#293743}
.row{margin-bottom:8px;gap:7px}.row label{font-size:11px;color:#a1b5c6;width:100px}.row .unit{color:#6f889b;font-size:10px}
.row input[type=number],.row select,.project-name,#trajectory-controls select,#trajectory-controls input[type=number]{border:1px solid #344957!important;background:#182733!important;color:#e0eaf0!important;border-radius:5px;font-size:12px;padding:6px 8px;min-width:0;flex:1;width:auto}
.row input[aria-invalid=true],.project-name[aria-invalid=true]{border-color:#ff7e75!important}.error{color:#ff9186!important}
.row input:focus,.project-name:focus{outline:1px solid #48c7df;border-color:#48c7df!important}
.row input[type=checkbox]{accent-color:#48c7df}.row select{cursor:pointer}.btn{padding:8px;font-size:11px;border-radius:5px}.btn-p{background:#168da8;font-weight:600}.btn-p:hover{background:#20a1bd}.btn-s{background:#1a2b38;color:#a8c9da;border-color:#344957}.btn-s:hover{background:#263f50}.btn:disabled{opacity:.4;cursor:default}.btn-sm{padding:6px 10px}
.project-kicker{font-size:10px;color:#48c7df;letter-spacing:1.5px;font-weight:700;margin-bottom:10px}
.project-name{width:100%;font-size:15px;padding:9px 10px;margin-bottom:10px}.project-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.project-actions .btn{font-size:11px;padding:7px 3px}
#projectMessage{font-size:10px;color:#8ea5b7;line-height:1.6;margin:7px 0 14px}.config-section{border-top:1px solid #293743;padding-top:10px;margin-top:10px}.config-section summary{font-size:12px;color:#bed3e0;font-weight:600;cursor:pointer;margin-bottom:12px}.help{font-size:10px;line-height:1.7;color:#839aaa;margin:6px 0}.text-button{border:none;background:none;color:#83bbcb;font-size:10px;cursor:pointer;margin-top:5px}.text-button:disabled{opacity:.35}
.result-heading{font-size:17px;font-weight:600;display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.result-heading span{font-size:10px;font-weight:400;background:#203c45;color:#68d0d0;padding:4px 7px;border-radius:4px}
.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.metric-grid>div{background:#192b38;border:1px solid #2a414f;border-radius:7px;padding:12px}.metric-grid span{display:block;font-size:10px;color:#91a9b8}.metric-grid strong{display:block;font-size:22px;color:#e7f1f6;font-weight:600;margin-top:7px;font-variant-numeric:tabular-nums}
.pallet-summary{font-size:10px;color:#a0b7c6;line-height:1.7;overflow-wrap:anywhere}.result-label{font-size:11px;color:#bad0df;font-weight:600;margin:20px 0 9px}.candidate{display:grid;grid-template-columns:1fr 50px 84px;align-items:center;font-size:11px;padding:8px 9px;border-bottom:1px solid #243947}.candidate small{font-size:10px;color:#7597a8;text-align:right}.candidate.recommended{background:#163844;border-left:2px solid #48c7df;border-radius:4px}.candidate b{font-weight:600}
.timing-card{border:1px solid #35505e;background:linear-gradient(115deg,#1c3844,#172a36);border-radius:7px;padding:13px}.timing-card>strong{font-size:32px;font-weight:500;color:#80d6e5}.timing-card>span{font-size:11px;color:#9ab9c9;margin-left:8px}.timing-card>div{font-size:10px;color:#9fb9c9;margin-top:5px;line-height:1.7}
.verification-list{border-top:1px solid #293743;margin-top:14px;padding-top:7px}.verification-list>div{display:flex;justify-content:space-between;font-size:10px;color:#94aaba;padding:5px 0}.verification-list span{color:#d2b878;font-size:10px}
#engineeringWarnings{font-size:10px;color:#d8b880;line-height:1.6;margin:10px 0}#engineeringWarnings p{margin-bottom:5px}.legacy-statistics .srow{font-size:10px}
#trajectory-controls{position:absolute;bottom:20px;left:calc(var(--panel-left) + 20px);right:calc(var(--panel-right) + 20px);max-width:650px;background:rgba(16,30,40,.96);border:1px solid #355361;border-radius:8px;padding:12px 16px;z-index:19;box-shadow:0 6px 30px #0004}
.operation-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.operation-actions .btn{width:auto;margin:0}.operation-actions #startOperation{flex:1;min-width:125px}.operation-actions select{font-size:11px;max-width:90px}.operation-progress{display:flex;align-items:center;gap:12px;margin-top:12px}.operation-progress progress{flex:1;min-width:0;height:6px;accent-color:#55d1c4}.operation-progress strong{font-size:11px;min-width:72px;text-align:right;color:#bfd9e2}#operationStatus{font-size:11px;color:#c5e3ea;line-height:1.6;margin:9px 0 5px}.operation-meta{display:flex;gap:12px;justify-content:space-between;font-size:9px;color:#89a4b3}.operation-meta .gripping{color:#6ce6ac}#singlePathDetails{border-top:1px solid #294451;margin-top:10px;padding-top:8px}#singlePathDetails summary{cursor:pointer;color:#80a8ba;font-size:10px;margin-bottom:5px}body.operation-active #trajectory-controls{border-color:#328c96}body.operation-active #pl{opacity:.72}
#trajectory-controls>div:first-child{display:flex;justify-content:space-between;font-size:12px;margin-bottom:10px}#trajectory-controls>div:first-child span{font-size:10px;color:#c6ac74}.preview-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.preview-row label{font-size:10px;color:#abc4d2}.preview-row input[type=number]{max-width:57px}.preview-row select{max-width:85px}#previewCount{font-size:10px;color:#90aab9}#previewPhase{font-size:10px;color:#88a3b5;margin-top:7px}.preview-row .btn{margin:0}
#pallet-editor{left:var(--panel-left);right:var(--panel-right);background:#122632}body.editing #trajectory-controls{display:none}#jog-panel{right:calc(var(--panel-right) + 10px);bottom:155px}
#engineeringReport{margin:auto;max-width:820px;width:85vw;max-height:85vh;overflow:auto;background:#13232f;border:1px solid #3c5869;border-radius:10px;padding:25px;color:#d6e6ee}#engineeringReport::backdrop{background:#000a}.report-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.report-header h2{font-size:20px}#reportContent p{font-size:12px;line-height:1.8;margin:14px 0}#reportContent h3{font-size:16px}#reportContent table{border-collapse:collapse;width:100%;font-size:12px;margin:20px 0}#reportContent td,#reportContent th{text-align:left;padding:12px 6px;border-bottom:1px solid #344b5b}
@media(max-width:1250px){:root{--panel-left:285px;--panel-right:270px}.metric-grid strong{font-size:19px}#pl{padding:12px}#pr{padding:15px 12px}#tb .tmain{font-size:13px}#trajectory-controls{left:calc(var(--panel-left) + 8px);right:calc(var(--panel-right) + 8px);padding:10px}#trajectory-controls .preview-row{gap:5px}}
@media(max-width:900px){:root{--panel-left:255px;--panel-right:240px}.row label{width:86px}#tb .tsub{display:none}#trajectory-controls{bottom:10px}.metric-grid{gap:6px}.metric-grid>div{padding:8px}}
