:root{--vh:1vh;--vw:1vw;--ag-zoom-fix:0px;--font:"Segoe UI", "Inter", Roboto, "Helvetica Neue", Arial, sans-serif;--navy:#123a5c;--navy-2:#184a73;--navy-3:#0d2c46;--blue:#1d6fb8;--blue-2:#155a96;--sky:#d3e6fb;--sky-2:#eef5fc;--orange:#f2a541;--bg:#eef1f5;--panel:#fff;--bar:#e4eaf1;--bar-2:#f5f7fa;--border:#c9d3dd;--border-2:#dde3ea;--text:#1b2733;--muted:#6b7a89;--danger:#c0392b;--ok:#1f9d57;--warn:#b45309;--radius:4px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);color:var(--text);background:var(--bg);font-size:13px;overflow:hidden}button{font-family:inherit;font-size:inherit}h2{margin:0;font-size:16px;font-weight:600}h3{margin:14px 0 6px;font-size:14px}code,kbd{font-family:Consolas,Courier New,monospace;font-size:12px}kbd{background:var(--bar-2);border:1px solid var(--border);border-radius:3px;padding:1px 5px}body.resizing{cursor:row-resize;-webkit-user-select:none;user-select:none}.app{height:calc(100 * var(--vh));display:flex}.side{background:var(--navy);color:#e8f0f7;flex-direction:column;width:218px;min-width:218px;display:flex}.logo{align-items:center;gap:9px;padding:12px 12px 8px;display:flex}.logo-text{flex-direction:column;line-height:1.05;display:flex}.logo-name{letter-spacing:.3px;color:#fff;font-size:21px;font-weight:700}.logo-name b{color:var(--orange)}.logo-sub{letter-spacing:3px;text-transform:uppercase;color:#9fc2e2;font-size:12px}.side-user{color:#b8cde0;align-items:center;gap:5px;padding:0 14px 8px;font-size:12px;display:flex}.side-btn{border:0;border-top:1px solid var(--navy-3);background:var(--navy-2);color:#fff;cursor:pointer;text-align:left;align-items:center;gap:9px;width:100%;padding:5px 12px;font-size:18px;font-weight:700;display:flex}.side-btn:hover{background:#1e5a8a}.side-btn-active{background:var(--blue)}.prog-item input[type=checkbox]{vertical-align:middle;margin-right:6px}.prog-off{opacity:.45;text-decoration:line-through}.side-btn:disabled{color:#7d93a8;background:var(--navy-2);cursor:not-allowed;opacity:.6}.side-btn:disabled:hover{background:var(--navy-2)}.side-scroll{min-height:60px;color:var(--text);background:#f7f9fb;flex:auto;overflow:auto}.side-bottom,.side-rest{flex-direction:column;margin-top:auto;display:flex}.side-menu{flex-direction:column;gap:1px;padding:6px 4px;display:flex}.side-item{color:#155a96;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:3px;align-items:center;gap:7px;padding:2px 8px;font-size:16px;line-height:19px;display:flex}.side-item:hover:not(:disabled){background:var(--sky)}.side-item:disabled{color:#9aa7b3;cursor:default}.side-item-active{background:var(--sky);font-weight:600}.side-hint{color:var(--muted);padding:8px 8px 4px;font-size:11.5px;line-height:1.35}.ag-cell.kind-cell{justify-content:center;align-items:center;padding:0;display:flex}.ico-folder{color:#d9a400;fill:#ffd75e}.ico-doc{color:#5a7590}.side-label{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin:8px 6px 3px;font-size:11px}.side-icons{padding:2px 4px}.side-order{border-top:1px solid var(--border-2);margin-top:12px;padding:6px}.side-order-title{color:#155a96;align-items:center;gap:5px;margin-bottom:4px;display:flex}table.mini{border-collapse:collapse;width:100%;margin-top:6px;font-size:12px}table.mini td{padding:1px 2px}table.mini td:last-child{text-align:right;font-weight:600}.main{flex-direction:column;flex:1;min-width:0;display:flex}.page{flex-direction:column;gap:6px;height:100%;min-height:0;padding:8px 10px;display:flex}.page-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.page-head h2{margin-right:8px}.grow{flex:auto;min-width:0;min-height:0}.scroll{min-height:0;overflow:auto}.row{align-items:center;display:flex}.row.gap,.gap{gap:6px}.wrap{flex-wrap:wrap}.w100{width:100%}.muted{color:var(--muted)}.ok{color:var(--ok)}.warn{color:var(--warn);font-weight:600}.center{text-align:center}.empty{height:100%;color:var(--muted);justify-content:center;align-items:center;padding:20px;display:flex}.hint{color:var(--muted);padding:3px 6px;font-size:12px}.doc{max-width:900px;line-height:1.5}.help-text{white-space:pre-line;max-width:900px;line-height:1.55}.btn{border:1px solid var(--border);border-radius:var(--radius);height:28px;color:var(--text);cursor:pointer;white-space:nowrap;background:#fff;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--blue);color:var(--blue-2)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn-primary:hover:not(:disabled){background:var(--blue-2);color:#fff}.btn-danger{color:var(--danger)}.btn-danger:hover:not(:disabled){border-color:var(--danger);color:var(--danger)}.btn-ghost{color:var(--blue-2);background:0 0;border-color:#0000;font-weight:600}.btn-big{background:var(--orange);color:#3a2400;border-color:#d98a1e;height:44px;padding:0 26px;font-size:16px;font-weight:600}.btn-big:hover:not(:disabled){color:#3a2400;background:#f5b45f}.btn-sm{height:24px;padding:0 8px;font-size:12px}.btn-active{background:var(--sky)}.ibtn{border-radius:var(--radius);color:#2c4a66;cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:3px;min-width:26px;height:26px;padding:0 4px;display:inline-flex}.ibtn:hover:not(:disabled){border-color:var(--border);background:#fff}.ibtn:disabled{opacity:.35;cursor:default}.ibtn-active{background:var(--sky);border-color:#9cc3ea}.ibtn-label span{font-size:11px;font-weight:700}.linkbtn{color:#155a96;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:2px 4px;display:inline-flex}.linkbtn:hover{text-decoration:underline}.toolbar{flex-wrap:wrap;align-items:center;gap:2px;display:flex}.tsep{background:var(--border);width:1px;height:18px;margin:0 4px}.subbar{background:var(--bar-2);border-bottom:1px solid var(--border);min-height:28px;padding:1px 6px}.stat{align-items:center;gap:4px;margin-left:12px;font-size:12px;display:inline-flex}.dd{display:inline-block;position:relative}.dd-menu{z-index:50;border:1px solid var(--border);border-radius:var(--radius);background:#fff;min-width:220px;padding:3px;position:absolute;top:28px;right:0;box-shadow:0 6px 18px #00000026}.dd-item{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:3px;width:100%;padding:5px 9px;display:block}.dd-item:hover:not(:disabled){background:var(--sky)}.tabs{background:var(--bar);border-bottom:1px solid var(--border);align-items:flex-end;gap:2px;min-height:32px;padding:3px 6px 0;display:flex}.tab{border:1px solid var(--border);color:#fff;cursor:pointer;background:#8e8e8e;border-color:#7d7d7d;border-bottom-style:none;border-bottom-width:0;border-radius:4px 4px 0 0;align-items:center;gap:5px;padding:3px 12px;font-family:Arial,Helvetica,sans-serif;font-size:14px;font-weight:400;display:inline-flex}.tab-active{color:#333;border-color:var(--border);background:#fff;font-weight:700;position:relative;top:1px}.tabs-right{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:2px;margin-left:auto;padding-bottom:2px;display:flex}.inp{border:1px solid var(--border);height:26px;font:inherit;color:var(--text);background:#fff;border-radius:3px;padding:0 6px}.inp:focus{outline-offset:-1px;border-color:var(--blue);outline:2px solid #9cc3ea}.inp.num{text-align:right;width:90px}.inp.inp-bad{border-color:var(--danger);background:#fff5f4}.inp.inp-bad:focus{border-color:var(--danger);outline-color:#f1a9a0}.inp.area{resize:vertical;width:100%;height:auto;padding:4px 6px}.inp.code{resize:vertical;white-space:pre;width:100%;height:280px;padding:6px;font-family:Consolas,Courier New,monospace;font-size:12.5px}.inp.color{width:60px;padding:1px}.sel{padding:0 3px}.check{cursor:pointer;align-items:center;gap:5px;display:inline-flex}.checks{flex-wrap:wrap;gap:14px;display:inline-flex}.checks-col{flex-direction:column;gap:6px;padding:6px 2px;display:flex}.field{grid-template-columns:minmax(170px,290px) auto 1fr;align-items:center;gap:6px;padding:2px 0;display:grid}.field-check .field-label,.field-check .check{white-space:nowrap}.linktext{font:inherit;color:#155a96;cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:0;text-decoration:underline}.linktext:hover:not(:disabled){color:#0b3d6b}.linktext:disabled{color:#8aa4c0;cursor:default;text-decoration:none}.field-label{color:#2a3b4c}.field-unit{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:inline-flex}.ro{text-align:right;background:var(--bar-2);border:1px solid var(--border-2);border-radius:3px;min-width:90px;padding:3px 6px;display:inline-block}.form2{flex:1;grid-template-columns:1fr 1fr;gap:24px;min-height:0;padding:8px 14px;display:grid}.form1{max-width:760px;padding:8px 14px}.form-col{min-width:0}.form-h{color:var(--navy);border-bottom:1px solid var(--border-2);margin:10px 0 4px;padding-bottom:2px;font-weight:700}.form-col>.form-h:first-child{margin-top:0}.form2{background:#f1f1f1;font-family:Arial,Helvetica,sans-serif;font-size:14px}.form2 .field{grid-template-columns:minmax(170px,62%) auto 1fr;min-height:24px;padding:1px 0}.form2 .field-label{color:#000}.form2 .inp{height:22px}.form2 .inp.area{height:auto}.form2 .field-ctl>.inp.num,.form2 .field-ctl>.ro{width:162px}.form2 .field-ctl>select.inp:not(.sel-narrow){max-width:100%;width:284px!important}.form2 .form-h{color:#000;border-bottom:0;margin:8px 0 2px;font-size:14px}.project{flex-direction:column;height:100%;min-height:0;display:flex}.phead{background:var(--panel);border-bottom:1px solid var(--border);align-items:stretch;gap:10px;padding:6px 10px;display:flex}.phead-grid{flex:auto;grid-template-columns:auto 1fr;align-items:center;gap:4px 8px;min-width:0;display:grid}.phead-l{color:#2a3b4c}.phead-l2{color:#2a3b4c;margin-left:12px}.phead-row{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.phead-name{flex:1;min-width:160px}.phead-name .inp{font-weight:600}.phead-num{color:var(--muted);margin-left:auto;padding-left:10px;font-size:12px}.phead-note{width:30%;min-width:180px}.phead-note textarea{height:100%}.phead-close{color:#fff;cursor:pointer;background:#e7503e;border:0;border-radius:5px;justify-content:center;align-items:center;width:30px;display:flex}.phead-close:hover{background:#c83b2a}.top{background:var(--panel);flex-direction:column;flex:none;min-height:80px;display:flex}.splitter{background:var(--bar);border-top:1px solid var(--border);border-bottom:1px solid var(--border);cursor:row-resize;height:6px}.splitter:hover{background:#cfdbe7}.midbar{background:var(--bar-2);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:3px 10px;font-size:12.5px;display:flex}.midbar-op,.midbar-prod{flex:1 1 0;align-items:center;gap:6px;min-width:0;display:flex}.midbar{font-family:Arial,Helvetica,sans-serif;font-size:13px}.bottom{background:var(--panel);flex-direction:column;flex:auto;min-height:0;display:flex}.panel{flex-direction:column;height:100%;min-height:0;display:flex}.opbadge{color:#000;align-items:center;gap:3px;font-weight:400;display:inline-flex}.grid-wrap{flex:auto;min-height:60px}.grid-wrap .ag-root-wrapper{border-left:0;border-right:0}.ag-cell.num,.num{text-align:right;font-variant-numeric:tabular-nums}.ag-cell.rownum,.ag-cell.num.rownum{color:#01243b;text-align:center;background:#eee;font-weight:700}.parts-grid .ag-cell.rownum{color:#068}.grid-wrap .ag-header-cell-label{justify-content:center}.parts-grid .ag-cell{align-items:center;display:flex}.parts-grid .ag-cell.num{justify-content:flex-end}.parts-grid .ag-cell.num.rownum,.parts-grid .ag-cell.center{justify-content:center}.parts-grid .ag-cell.ag-cell-inline-editing{display:block}.ag-cell.strong{font-weight:700}.ag-cell.center{justify-content:center;display:flex}.ag-cell.wrap{white-space:normal;padding-top:2px;padding-bottom:2px;line-height:15px}.ag-cell.warn{color:var(--warn);font-weight:700}.ag-cell.muted{color:var(--muted)}.ag-cell.st-1{color:#155a96}.ag-cell.st-2{color:#7d3cc9}.ag-cell.st-3{color:var(--ok);font-weight:600}.edge-cell{font-size:13px}.ag-cell.clip{text-overflow:clip;white-space:nowrap;overflow:hidden}.row-new .ag-cell{font-style:italic;background:#fbfcf4!important}.row-left .ag-cell:not(.rownum):not([col-id=uid]){color:#f60}.row-warn .ag-cell{color:#b4570a}.ag-cell.cell-warn{color:#e85d00;background:#fff4e5;font-weight:700}.ag-cell.cell-zero{color:#9aa3ad;font-style:italic}.stat.warn{color:#b4570a;font-weight:600}.muted.small{margin:4px 0 0;font-size:11px}.row-remnant .ag-cell{color:#1c5aa3}.row-result .ag-cell{color:#1c5aa3;background:#eef4fb;font-style:italic}.row-business .ag-cell{color:#0f3f78;background:#dde9f7;font-style:italic;font-weight:600}.ag-row-selected.row-result .ag-cell,.ag-row-selected.row-business .ag-cell{background:#c5dcf6}.folder-cell{color:var(--navy);align-items:center;gap:6px;font-weight:600;display:inline-flex}.grid-tip{color:#fff;white-space:pre-line;background:#1b2733;border-radius:4px;padding:6px 9px;font-size:12px;line-height:1.45;box-shadow:0 4px 12px #00000040}table.simple{border-collapse:collapse;font-size:12.5px}table.simple th,table.simple td{border:1px solid var(--border-2);text-align:left;padding:3px 6px}table.simple th{background:var(--bar);font-weight:600;position:sticky;top:0}table.simple tr.tr-sel td{background:#bbdeff}table.simple td.num{text-align:right}table.kv td{padding:2px 8px 2px 0}.crumbs{color:#155a96;gap:2px;margin:0 8px;display:flex}.crumb{cursor:pointer}.crumb:hover{text-decoration:underline}.search{align-items:center;gap:4px;margin-left:auto;display:inline-flex}.tree{border:1px solid var(--border);border-radius:3px;height:100%;overflow:auto}.tree-item{cursor:pointer;align-items:center;gap:6px;padding:4px 8px;display:flex}.tree-item:hover{background:var(--sky-2)}.tree-item-active{background:var(--sky)}.modal-back{z-index:100;background:#0f1e2d59;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{max-width:calc(96 * var(--vw));max-height:calc(94 * var(--vh));background:#fff;border-radius:6px;flex-direction:column;display:flex;box-shadow:0 16px 50px #0000004d}.modal-full{width:calc(97 * var(--vw))!important;height:calc(95 * var(--vh))!important}.modal-head{background:var(--navy);color:#fff;border-radius:6px 6px 0 0;align-items:center;gap:8px;padding:7px 10px;display:flex}.modal-head .ibtn{color:#fff}.modal-head .ibtn:hover{background:#ffffff1f;border-color:#0000}.modal-head .linkbtn{color:#cfe3f6}.modal-title{flex:1;font-weight:600}.modal-body{flex-direction:column;flex:1;gap:8px;min-height:0;padding:10px 12px;display:flex;overflow:auto}.modal-foot{border-top:1px solid var(--border-2);justify-content:flex-end;align-items:center;gap:8px;padding:8px 12px;display:flex}.ask-text{color:var(--text)}.action-list,.type-list{flex-direction:column;gap:4px;display:flex}.action{text-align:left;border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:4px;flex-direction:column;padding:8px 10px;display:flex}.action:hover{border-color:var(--blue);background:var(--sky-2)}.action span{color:var(--muted);font-size:12px}.type-item{border:1px solid var(--border-2);cursor:pointer;text-align:left;background:#fff;border-radius:4px;align-items:center;gap:8px;padding:6px 8px;display:flex}.type-item:hover:not(:disabled){background:var(--sky-2);border-color:#9cc3ea}.type-item-off{opacity:.45;cursor:default}.toasts{z-index:300;flex-direction:column;gap:6px;max-width:460px;display:flex;position:fixed;bottom:14px;left:50%;transform:translate(-50%)}.toast{border-left:4px solid var(--blue);background:#fff;border-radius:5px;align-items:flex-start;gap:8px;padding:8px 10px;display:flex;box-shadow:0 6px 20px #0000002e}.toast-ok{border-left-color:var(--ok)}.toast-error{border-left-color:var(--danger)}.toast-text{flex:1}.toast-text ul{color:var(--muted);margin:4px 0 0;padding-left:16px;font-size:12px}.busy-back{z-index:250;background:#ffffff8c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.busy{color:var(--navy);flex-direction:column;align-items:center;gap:10px;padding:20px;font-weight:600;display:flex}.spinner{border:4px solid var(--sky);border-top-color:var(--blue);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.statusline{background:var(--bar-2);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:0;font-family:Arial,Helvetica,sans-serif;font-size:14px;display:flex}.statusline>span{border-right:1px solid var(--border-2);text-align:center;white-space:nowrap;flex:1 1 0;padding:2px 10px}.statusline>span b{font-weight:400}.statusline>span.st-ico{flex:none;padding:0 4px}.statusline .nav{border-right:0;flex:none;margin-left:auto;padding:0 4px;display:flex}.statusline>.check{padding:2px 10px}.warn-note{color:#8a5a00;background:#fff6e0;border:1px solid #f0dca8;border-radius:4px;margin:4px 0;padding:5px 8px;font-size:12px}.o-head{border-bottom:1px solid var(--border);flex:none}.o-head .form2{padding:6px 14px}.o-mat{flex-direction:column;flex:auto;min-height:0;display:flex}.sect-bar{background:var(--bar-2);border-bottom:1px solid var(--border);padding:2px 8px}.sect-bar>b{font-size:14px}.phead .wd{color:#2a3b4c;text-align:right;min-width:18px;margin:0 2px 0 4px}.pick-list{max-height:calc(55 * var(--vh));flex-direction:column;gap:1px;display:flex;overflow:auto}.pick-row{text-align:left;cursor:pointer;background:#fff;border:0;grid-template-columns:40px 1fr 110px 110px 140px;gap:6px;padding:4px 6px;font-size:12.5px;display:grid}.pick-row:hover{background:var(--sky)}.pick-row.active{background:#d3e6fb}.xpp-ops{border:1px solid var(--line);flex:1;min-height:0;margin-top:4px;overflow:auto}.xpp-ops table{border-collapse:collapse;width:100%;font-size:13px}.xpp-ops th{border:1px solid var(--line);background:#f1f3f5;padding:2px 6px;font-weight:600;position:sticky;top:0}.xpp-ops td{border:1px solid var(--line);cursor:pointer;padding:1px 6px}.xpp-ops td.num{text-align:right}.xpp-ops td.ctr{text-align:center}.xpp-ops tr.row-cur td{background:var(--sky)}.ppick-list{max-height:calc(62 * var(--vh));flex-direction:column;display:flex;overflow:auto}.ppick-item{text-align:left;color:#155a96;cursor:pointer;background:0 0;border:0;border-radius:3px;align-items:center;gap:6px;padding:4px 6px;font-size:14px;display:flex}.ppick-item:hover:not(:disabled){background:var(--sky);text-decoration:underline}.ppick-item:disabled{color:#9aa7b3;cursor:default}.ppick-item.ppick-closed,.ppick-item.ppick-closed:hover{color:#8b97a3;cursor:not-allowed;background:#eceff2;margin:1px 0;text-decoration:none}.radio-col{flex-direction:column;gap:3px;padding:2px 0 6px 4px;display:flex}.cut-link{color:#155a96;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:4px 8px;font-size:15px;display:inline-flex}.cut-link:hover:not(:disabled){text-decoration:underline}.cut-link:disabled{color:#9aa7b3;cursor:default}.cut-notes{background:#fffaf0;border-bottom:1px solid #f0e2c4;flex-wrap:wrap;gap:14px;padding:3px 10px;font-size:12px;display:flex}.comment{color:#5b3d00;align-items:center;gap:4px;display:inline-flex}.cut-body{flex:1;min-height:0;display:flex}.cut-map{background:#fff;flex:1;min-width:0;padding:8px;display:flex;overflow:auto}.cut-zoom{flex:none;min-width:100%;min-height:100%;display:flex}.cut-zoom>svg{cursor:pointer;width:100%;height:100%}.mapsvg{width:100%;height:100%}.cut-side{border-left:1px solid var(--border);background:var(--bar-2);flex-direction:column;width:210px;display:flex}.cut-side-head{border-bottom:1px solid var(--border);justify-content:flex-start;padding:4px 8px;text-decoration:underline}.thumbs{flex-direction:column;gap:4px;padding:6px;display:flex}.thumb{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;flex-direction:column;align-items:center;gap:2px;padding:4px;font-family:Times New Roman,Times,serif;font-size:12px;display:flex}.thumb:hover{border-color:var(--border);background:#fff}.thumb-active{background:var(--sky)!important;border-color:#9cc3ea!important}.thumbsvg{width:100%;height:110px}.thumb.small .thumbsvg{width:100px;height:60px}table.cmds{width:100%;font-family:Arial,Helvetica,sans-serif;font-size:13px}.cmds td,.cmds th{padding:0 4px;line-height:18px}.cmds th{text-align:center;background:#eee;font-weight:700}.cmds tr.cmd-W td{color:#1f5fa3}.cut-empty{flex-direction:column;flex:1;justify-content:flex-start;align-items:center;gap:8px;padding-top:14px;display:flex}.editor{flex:1;gap:8px;min-height:0;display:flex}.editor-h{flex-direction:column}.editor-list{border:1px solid var(--border);width:38%;min-width:320px;overflow:auto}.editor-h .editor-list{width:100%;height:30%}.ed-parts{width:100%}.ed-parts tbody tr{cursor:pointer}.ed-parts tbody tr:hover td{background:var(--sky-2)}.editor-main{flex-direction:column;flex:1;gap:4px;min-width:0;min-height:0;display:flex}.thumbs-row{gap:4px;min-height:84px;display:flex;overflow-x:auto}.editor-map{border:1px solid var(--border);background:#fff;flex:1;min-height:0;padding:4px;display:flex}.editor-map.is-busy{opacity:.6}.editor-map svg{cursor:crosshair}.editor-hint{color:var(--danger);flex:1;font-size:11.5px}.variants{flex:1;grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.variant{border:2px solid var(--border-2);cursor:pointer;text-align:left;background:#fff;border-radius:6px;flex-direction:column;gap:6px;padding:8px;display:flex}.variant:hover{border-color:#9cc3ea}.variant-active{border-color:var(--blue);background:var(--sky-2)}.variant-title{color:var(--navy);font-weight:700}.variant-map{height:200px;display:flex}.variant-map svg{width:100%;height:100%}.pp{grid-template-columns:360px 1fr;gap:14px;display:grid}.pp-left{flex-direction:column;gap:6px;display:flex}.pp-ops-head{justify-content:space-between;align-items:center;display:flex}.pp-right{flex-direction:column;gap:6px;display:flex}.grid2{grid-template-columns:130px 1fr;align-items:center;gap:4px 8px;display:grid}.grid3{grid-template-columns:130px 26px 1fr;align-items:center;gap:4px 8px;display:grid}.sizes .sz-detail td:first-child{color:#1d7a35;font-weight:600}.sizes .sz-jointed td:first-child{color:#a3282b;font-style:italic}.sizes .sz-blank td:first-child{color:#155a96}.sizes .sz-saw td:first-child{color:#c47d12}.sec{border:1px solid var(--border-2);border-radius:4px}.sec-head{color:#fff;cursor:pointer;text-align:left;background:#5d6f82;border:0;border-radius:3px;align-items:center;gap:6px;width:100%;padding:4px 8px;font-weight:600;display:flex}.sec-off .sec-head{opacity:.55;cursor:default}.sec-body{flex-direction:column;gap:6px;padding:6px 8px;display:flex}.sketch{border:1px solid var(--border-2);background:#f7f9fb;border-radius:4px}.ga-row{grid-template-columns:26px 150px 1fr;align-items:center;gap:4px;padding:1px 0;display:grid}.ga-off{opacity:.5}table.pprops{table-layout:fixed;width:100%}table.pprops th{background:var(--bar);width:38%;font-weight:500;position:static}table.pprops tr.pp-group td{background:var(--bar);color:var(--text);font-weight:700}.pp-label{margin:10px 0 4px;font-size:12.5px;font-weight:600}.colset{flex:1}.colset table{width:100%}.colset tbody tr{cursor:pointer}.colset tr.cols-user td:nth-child(3) input{color:#1d4f91}table.ucol-form{border-collapse:collapse}table.ucol-form td{vertical-align:top;padding:3px 6px}.ucol-lbl{white-space:nowrap;text-align:right;padding-top:6px!important}.ucol-expr{align-items:flex-start;gap:4px;display:flex;position:relative}.ucol-expr textarea{resize:vertical;width:330px;font-family:Consolas,monospace}.ucol-expr-btns{flex-direction:column;gap:2px;display:flex}.ucol-expr .pvs{border:1px solid var(--border);color:#7a4a00;cursor:pointer;background:#fff;border-radius:3px;height:24px;padding:0 5px;font-size:11px;font-weight:700}.ucol-expr .pvs:disabled{color:#aaa;cursor:default}.ucol-vars{z-index:30;border:1px solid var(--border);background:#fff;flex-direction:column;min-width:300px;max-height:240px;display:flex;position:absolute;top:100%;left:0;overflow:auto;box-shadow:0 4px 12px #0000002e}.ucol-vars .dd-item{text-align:left;white-space:nowrap}.ag-cell.user-expr{color:#1d4f91}.map-fields{flex-wrap:wrap;gap:6px 14px;display:flex}.map-field{flex-direction:column;gap:2px;font-size:12px;display:inline-flex}.preview{border:1px solid var(--border-2);flex:1}.map-tag{color:#fff;background:var(--blue);border-radius:3px;margin-top:2px;padding:0 3px;font-size:10px;font-weight:400}.print{height:100%;min-height:0;display:flex}.print-dlg{min-height:120px}.print-dlg .field{grid-template-columns:170px auto 1fr}.print-preview{flex-direction:column;flex:1;gap:6px;min-width:0;padding:6px;display:flex}.report-frame{border:1px solid var(--border);background:#fff;flex:1;width:100%}.xnc-params-wrap{flex:1;gap:8px;min-height:0;padding:6px 8px;display:flex}.xnc-params-col{flex:0 0 275px;width:275px;min-height:0;padding-right:4px;overflow:auto}.field.field-stack,.xnc-params-col .field.field-stack{flex-direction:column;align-items:stretch;gap:1px;display:flex}.field-stack .field-ctl>.ro,.field-stack .field-ctl>.inp{text-align:left;width:100%;display:block}.field-stack .field-unit:empty{display:none}.xnc-params-col .field{grid-template-columns:120px auto 1fr}.xnc-params-col .field-ctl select{max-width:170px}.xnc-params-draw{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.xnc-params-draw .xnc-draw-box{flex-direction:column;flex:1;min-height:0;display:flex}.xnc-params-draw .xnc-draw{flex:1;align-items:center;min-height:0}.xnc-editor{flex:1;gap:6px;min-height:0;padding:6px;display:flex}.xnc-palette{align-items:flex-start;gap:2px;width:80px;display:flex}.xnc-palette .pal-col{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.xnc-palette .pal-col:first-child .pal{color:#8b0000}.xnc-palette .pal-col-off{visibility:hidden}.xnc-palette .pal-gap{margin-top:5px}.xs-tbl th{text-align:center;background:#eee}.pal{color:#7a4a00;cursor:pointer;background:#fff8ef;border:1px solid #c9a06a;border-radius:2px;justify-content:center;align-items:center;height:22px;padding:0;font-size:11px;font-weight:700;display:inline-flex}.pal:hover{background:var(--orange)}.xnc-draw{background:#fff;flex:1;justify-content:center;align-items:flex-start;min-width:0;display:flex;overflow:auto}.xnc-draw svg{width:auto;max-width:100%;height:auto;max-height:100%}.form-col .xnc-draw{height:calc(62 * var(--vh))}.xnc-prog{flex-direction:column;gap:4px;width:340px;min-height:0;display:flex}.prog-list{border:1px solid var(--border);background:#fff;flex:1;font-family:Consolas,monospace;font-size:12px}.prog-item{cursor:pointer;border-bottom:1px dotted var(--border-2);padding:2px 6px}.prog-item:hover{background:var(--sky-2)}.prog-sel{background:var(--sky)!important}.prog-edit{border:1px solid var(--border);background:#fbfcfd;flex-direction:column;gap:4px;padding:6px;display:flex}.pk{width:60px;font-family:Consolas,monospace;font-weight:700}.pp-page{flex:1;gap:10px;min-height:0;display:flex}.pp-list{border:1px solid var(--border);background:#fff;width:220px;padding:4px;overflow:auto}.pp-item{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:3px;width:100%;padding:4px 8px;display:block}.pp-item-active{background:var(--sky);font-weight:600}.pp-edit{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex;overflow:auto}.pp-edit .field{grid-template-columns:auto auto}.pp-doc pre{background:var(--bar-2);white-space:pre-wrap;padding:8px;font-size:12px}.pp-out{color:#d7e7f5;background:#0f1b26;max-height:260px;margin:0;padding:8px;font-size:12px;overflow:auto}.workshop{height:calc(100 * var(--vh));background:#f4f6f9;flex-direction:column;gap:12px;padding:12px 18px;display:flex;overflow:auto}.ws-head{align-items:center;gap:12px;display:flex}.ws-head .logo-name{color:var(--navy)}.ws-head h1{color:var(--navy);margin:0;font-size:20px}.ws-scan{border:1px solid var(--border);background:#fff;border-radius:8px;align-items:center;gap:10px;padding:12px;display:flex}.ws-input{flex:1;height:44px;font-size:20px}.ws-err{color:var(--danger);font-size:16px;font-weight:600}.ws-hint{color:var(--muted);text-align:center;margin-top:40px;font-size:16px}.ws-card{border:1px solid var(--border);background:#fff;border-radius:8px;flex-direction:column;gap:8px;padding:14px;display:flex}.ws-big{color:var(--navy);font-size:22px;font-weight:700}.ws-size{font-size:34px;font-weight:800}.ws-kv td{padding:5px 10px;font-size:15px}.ws-done{font-size:18px}.ws-map{height:calc(55 * var(--vh));display:flex}@media print{.side,.toolbar{display:none}}.list-editor{border:1px solid var(--blue);background:#fff;outline:none;min-width:230px;max-height:260px;font-size:12.5px;overflow:auto;box-shadow:0 8px 22px #0003}.le-item{cursor:pointer;white-space:nowrap;align-items:center;gap:7px;padding:4px 8px;display:flex}.le-active{background:var(--sky)}.le-sw{border:1px solid #0000;border-radius:2px;flex:none;width:10px;height:10px}.side-gap{height:10px}.side-item-mes{opacity:.75}.mes-tag{opacity:.8;border:1px solid;border-radius:6px;align-self:flex-start;margin-left:1px;padding:0 2px;font-size:9px;font-weight:700;line-height:11px}.side-item-mes{white-space:nowrap}.queue{flex-direction:column;gap:8px;min-height:0;display:flex}.queue-msg{border-radius:3px;align-items:center;gap:6px;margin:0;padding:6px 8px;font-weight:600;display:flex}.queue-msg.ok{color:#1e6b34;background:#e6f4ea}.queue-msg.warn{color:#a12b22;background:#fdecea}.queue-tbl{border-collapse:collapse;width:100%;font-size:12px}.queue-tbl th,.queue-tbl td{text-align:left;vertical-align:top;border:1px solid #c9d3dd;padding:3px 6px}.queue-tbl th{color:#23384d;background:#e4eaf1}.queue-tbl tr.queue-next td{background:#e6f4ea}.queue-tbl tr.queue-short td{background:#fff7f5}.queue-mat{white-space:nowrap}.queue-mat.ok{color:#1e6b34}.queue-mat.short{color:#a12b22}.queue-mat.unknown{color:#7a6a00}.queue-res.ok{color:#1e6b34}.queue-res.short{color:#a12b22;font-weight:600}.queue-res.unknown{color:#7a6a00}.queue-warn{background:#fdecea;border:1px solid #f3b7b1;border-radius:3px;padding:6px 10px}.queue-warn ul{margin:4px 0 0 18px;padding:0}.ord-mat.ok td:last-child{color:#1e6b34}.ord-mat.short td:last-child{color:#a12b22;font-weight:600}.ord-mat.unknown td:last-child{color:#7a6a00}.inp:disabled,.inp[readonly]{color:#8a8f98;background:#f2f3f5}.toasts{max-width:min(480px, calc(calc(100 * var(--vw)) - 24px));align-items:stretch;width:max-content}.toast{min-width:240px;max-width:100%;font-size:13px;line-height:1.4}.toast-ico{color:var(--blue);flex:none;margin-top:1px}.toast-ok .toast-ico{color:var(--ok)}.toast-warn{border-left-color:var(--warn);background:#fffaf0}.toast-warn .toast-ico{color:var(--warn)}.toast-error{background:#fff7f6}.toast-error .toast-ico{color:var(--danger)}.toast-text{overflow-wrap:anywhere;white-space:pre-line;min-width:0;max-height:calc(40 * var(--vh));overflow:auto}.toast-msg{font-weight:500}.toast-error .toast-msg{color:#8e2219}.toast-count{color:var(--muted);font-weight:400}.toast-title{margin-bottom:2px;font-size:14px;font-weight:700}.toast-error .toast-title{color:var(--danger)}.toast-actions{gap:6px;margin-top:6px;display:flex}.toast-text ul li{overflow-wrap:anywhere}.toast .ibtn{flex:none}.modal-head{min-width:0}.modal-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ask-text{white-space:pre-line;overflow-wrap:anywhere;max-height:calc(50 * var(--vh));line-height:1.45;overflow:auto}.warn,.ws-err,.warn-note,.queue-msg,.queue-warn,.cut-notes>span,.lbx-issues,.lbx-bad,.pg-err,.ord-err,.expr-res-bad{overflow-wrap:anywhere;min-width:0}.cut-notes>span{max-width:100%}.queue-msg{align-items:flex-start}.side-ico{background:#fff;border-radius:4px;flex:none;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex;box-shadow:0 0 0 1px #0000001f}.side-btn:disabled .side-ico{opacity:.55}.ag-grid-scrolling-container{margin-bottom:var(--ag-zoom-fix)}.ctx-menu{z-index:1000;background:#fff;border:1px solid #b9c6d3;border-radius:2px;min-width:240px;padding:3px 0;font:14.67px Arial,Arial Unicode MS,Helvetica,sans-serif;position:fixed;box-shadow:0 4px 14px #0000002e}.ctx-item{text-align:left;cursor:pointer;color:#06c;width:100%;min-height:23px;font:inherit;background:0 0;border:0;align-items:center;gap:8px;padding:2px 8px 2px 4px;display:flex}.ctx-item:hover:not(:disabled){background:#e3f0fc;text-decoration:underline}.ctx-item:disabled{color:#9fb6cc;cursor:default}.ctx-item:disabled .ctx-ico{opacity:.45}.ctx-ico{color:#3a7bbf;flex:0 0 18px;justify-content:center;align-items:center;display:inline-flex}.ctx-label{white-space:nowrap;flex:1}.ctx-hint{color:inherit;white-space:nowrap;margin-left:16px}.ctx-sep{background:#c9d3dd;height:1px;margin:4px 6px}.grid-wrap{position:relative}.g-sort{color:#7d8d9c;margin:0 2px;font-size:9px;line-height:1}.g-sort-on{color:#01243b}.grid-refresh{z-index:3;color:#1d6fb8;cursor:pointer;background:#f4f6f8;border:1px solid #c9d3dd;border-radius:2px;justify-content:center;align-items:center;width:18px;height:18px;padding:0;display:flex;position:absolute;top:1px;right:1px}.grid-refresh:hover{background:#e3f0fc}.grid-wrap .ag-row-selected .ag-cell-focus:not(.ag-cell-inline-editing){background:#fff}.grid-wrap .ag-cell-focus:not(.ag-cell-inline-editing){outline-offset:-1px;outline:1px solid #000}.grid-wrap .ag-cell[col-id=num],.grid-wrap .ag-cell[col-id=n]{-webkit-user-select:none;user-select:none;cursor:default}.st-badge{white-space:nowrap;border:1px solid #0000;border-radius:10px;align-items:center;padding:0 9px;font-size:12px;font-weight:600;line-height:16px;display:inline-flex}.st-badge-0{color:#4b5b6b;background:#eef1f5;border-color:#c9d3dd}.st-badge-1{color:#155a96;background:#e3f0fc;border-color:#9cc3ea}.st-badge-2{color:#6a2fb0;background:#efe6fb;border-color:#cfb5ef}.st-badge-3{color:#17784a;background:#e0f5ea;border-color:#9bd7b6}.ag-cell .st-badge{vertical-align:middle}.ord-state{justify-content:space-between;align-items:center;gap:6px;margin:4px 0;display:flex}.ord-ready{color:var(--muted);justify-content:space-between;margin-bottom:4px;font-size:12px;display:flex}.ord-ready b{color:var(--text);font-weight:600}.ord-act .btn{justify-content:center;width:100%;margin:2px 0}.ord-link{color:var(--blue-2);cursor:pointer;text-align:left;background:0 0;border:0;padding:2px 0;font-size:12px}.ord-link:hover:not(:disabled){text-decoration:underline}.ord-link:disabled{color:var(--muted);cursor:default}.phead-flags{align-items:center;gap:6px;margin-left:12px;display:inline-flex}.ord-chip{white-space:nowrap;color:var(--warn);background:#fff4e0;border:1px solid #f3d29b;border-radius:3px;align-items:center;gap:4px;padding:1px 8px;font-size:12px;display:inline-flex}.ord-chip-lock{color:var(--danger);background:#fdeceb;border-color:#f1b9b4}.ord-dlg{flex-direction:column;gap:10px;display:flex}.ord-flow{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ord-flow .arrow{color:var(--muted)}.ord-proj{color:var(--muted);font-size:12px}.ord-choices{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px;display:grid}.ord-choice{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:4px;align-items:center;gap:6px;padding:6px 8px;display:flex}.ord-choice:hover:not(.off){background:var(--sky-2);border-color:#9cc3ea}.ord-choice.on{border-color:var(--blue);background:var(--sky-2);box-shadow:inset 0 0 0 1px var(--blue)}.ord-choice.off{opacity:.5;cursor:not-allowed}.ord-choice small{color:var(--muted);font-size:11px;display:block}.ord-form{grid-template-columns:130px 1fr;align-items:start;gap:6px 10px;display:grid}.ord-form>label{color:#2a3b4c;padding-top:4px}.ord-form textarea{resize:vertical;width:100%;height:auto;min-height:54px;padding:4px 6px}.ord-form .inp{width:100%}.ord-hint{color:var(--muted);grid-column:2;margin-top:-2px;font-size:12px}.ord-warns{color:#7a4a06;background:#fff8ec;border:1px solid #f3d29b;border-radius:4px;padding:6px 10px;font-size:12.5px}.ord-warns ul{margin:2px 0 0;padding-left:18px}.ord-err{color:var(--danger);font-size:12.5px}.ord-hist{border:1px solid var(--border-2);border-radius:3px;max-height:180px;overflow:auto}.ord-hist table{width:100%}.ord-hist td,.ord-hist th{vertical-align:top}.ord-hist .arrow{color:var(--muted);padding:0 3px}.side-mes{flex-direction:column;gap:4px;padding:6px 8px;display:flex}.mes-send{color:#fff;cursor:pointer;background:#1f7a3f;border:0;border-radius:3px;justify-content:center;align-items:center;gap:6px;width:100%;padding:6px 8px;font-weight:600;display:flex}.mes-send:hover:not(:disabled){background:#186433}.mes-send:disabled{opacity:.6;cursor:progress}.mes-sent-info{color:#1f7a3f;font-size:12px;font-weight:600}.mes-reopen{text-align:left;color:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;text-decoration:underline}.mes-dlg{flex-direction:column;gap:8px;min-height:180px;display:flex}.mes-sar{font-weight:600}.mes-qidir{box-sizing:border-box;border:1px solid #bbb;border-radius:3px;width:100%;padding:5px 8px}.mes-royxat{border:1px solid #ddd;max-height:320px;overflow-y:auto}.mes-jadval{border-collapse:collapse;width:100%;font-size:13px}.mes-jadval th{text-align:left;background:#f2f4f7;border-bottom:1px solid #ccc;padding:4px 8px;font-weight:600;position:sticky;top:0}.mes-jadval td{border-bottom:1px solid #eee;padding:5px 8px}.mes-jadval tbody tr{cursor:pointer}.mes-jadval tbody tr:hover{background:#e7f1fb}.mes-jadval tbody tr.off{opacity:.6;cursor:progress}.mes-raqam{white-space:nowrap;font-weight:600}.mes-bor{color:#b26a00}.mes-bosh{text-align:center;color:#777;padding:16px}.mes-kv{border-collapse:collapse;font-size:13px}.mes-kv td{vertical-align:top;padding:3px 12px 3px 0}.mes-kv td:first-child{color:#666;white-space:nowrap}.mes-katta{font-size:15px;font-weight:700}.mes-ogoh{color:#7a5600;background:#fff6df;border:1px solid #e6c15a;border-radius:3px;flex-direction:column;gap:4px;padding:8px;font-size:13px;display:flex}.mes-ogoh svg,.mes-xato svg{vertical-align:-2px}.mes-xato{color:#a02020;background:#fdeaea;border:1px solid #e0a0a0;border-radius:3px;padding:8px;font-size:13px}.xi-spacer{flex:auto}.xi-form{flex-direction:column;gap:4px;display:flex}.xi-top{grid-template-columns:minmax(250px,1fr) minmax(180px,.8fr) minmax(280px,1.1fr);align-items:start;gap:4px 22px;display:grid}.xi-sect{flex-direction:column;gap:4px;padding:2px 0;display:flex}.xi-sect h4{color:var(--navy);text-transform:uppercase;letter-spacing:.4px;margin:2px 0;font-size:12px}.xi-sect .small{margin:0}.xi-row{align-items:center;gap:8px;font-size:12.5px;display:flex}.xi-row>span:first-child{min-width:112px}.xi-report{border:1px solid var(--border-2);border-left:3px solid var(--blue);background:var(--sky-2);border-radius:3px;padding:5px 8px;font-size:12.5px}.xi-report ul{margin:3px 0 0 16px;padding:0}.xi-form+.preview,.modal-body>.preview{min-height:150px}.ms{border-top:1px solid var(--border-2);flex-direction:column;gap:8px;margin-top:12px;padding-top:10px;display:flex}.ms-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ms-head h4{color:var(--navy);margin:0 auto 0 0;font-size:14px}.pg{border:1px solid var(--border);background:var(--panel)}.pg-group+.pg-group{border-top:1px solid var(--border)}.pg-head{text-align:left;background:var(--bar);cursor:pointer;width:100%;color:var(--navy);font:inherit;border:0;align-items:center;gap:6px;padding:4px 8px;display:flex}.pg-head:hover{background:var(--sky)}.pg-badge{background:var(--orange);color:#3b2500;text-align:center;border-radius:8px;min-width:18px;height:16px;margin-left:6px;padding:0 5px;font-size:11px;font-weight:700;line-height:16px}.pg-row{border-top:1px solid var(--border-2);grid-template-columns:minmax(220px,46%) minmax(0,1fr) 30px;align-items:center;gap:8px;padding:3px 8px 3px 11px;display:grid}.pg-row:hover{background:var(--sky-2)}.pg-mod{border-left:3px solid var(--orange);background:#fffaf1;padding-left:8px}.pg-mod .pg-label{font-weight:600}.pg-off{opacity:.55}.pg-label{color:#2a3b4c}.pg-foot{border-top:1px solid var(--border-2);color:var(--muted);padding:4px 8px;font-size:11.5px}.pg-path .inp{width:100%;font-family:Consolas,Courier New,monospace;font-size:12.5px}.pg-ctl{min-width:0}.pg-act{justify-content:flex-end;display:flex}.pg-err{color:var(--danger)}.pg-small{font-size:11px}.pg-tpl{flex-wrap:wrap;align-items:center}.pg-tpl-frame{border:1px solid var(--border);background:#fff;width:100%;height:360px}.pg-val code{word-break:break-all;font-family:Consolas,Courier New,monospace;font-size:12.5px}.lf{flex-direction:column;gap:6px;margin-top:6px;display:flex}.lf-head{align-items:center;gap:8px;display:flex}.lf-head h4{color:var(--navy);margin:0 auto 0 0;font-size:14px}.lf-tools{gap:2px;display:inline-flex}.lf-target{align-items:center}.lf-table{table-layout:fixed;width:100%}.lf-table td{vertical-align:top}.lf-table .inp{box-sizing:border-box;width:100%}.lf-expr{align-items:center;gap:4px;display:flex}.lf-expr .btn{flex:none;font-family:Georgia,serif;font-style:italic}.code-inp{font-family:Consolas,Courier New,monospace;font-size:12.5px}.inp-bad{border-color:var(--danger);background:#fff4f2}.lf-bad td{background:#fff4f2}.lf-table tr.tr-sel td{background:var(--sky)}.lf-table tr.lf-bad.tr-sel td{background:#fde3df}.lf-table .pg-err{word-break:break-word}.ms-tools{margin-top:14px}.ms-tools-table{border-collapse:collapse;font-size:13px}.ms-tools-table th,.ms-tools-table td{border:1px solid var(--line);padding:2px 8px}.ms-tools-table th{background:#f1f3f5;font-weight:600}.ms-tools-table td.num{text-align:right}.ms-tools-table input{width:160px}.ms-tools-add{align-items:center;gap:6px;margin-top:6px;display:flex}.pp-dialog{flex-direction:column;flex:1;min-height:0;display:flex}.pp-tabs{flex-wrap:wrap;row-gap:3px;padding-bottom:3px}.pp-tabs .tab{font-size:13px}.pp-tabs .tab.pp-off:not(.tab-active){opacity:.7}.pp-tabgrp{display:contents}.pp-tabbody{border:1px solid var(--border);background:#fff;border-top:0;flex-direction:column;flex:1;gap:6px;min-height:0;padding:8px 12px;display:flex;overflow:auto}.pp-tpl-pane{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex}.pp-tabs .tab.pp-closed:not(.tab-active){color:#8b97a3;background:#eceff2}.pp-extras-sec{border:1px solid var(--border);margin:0 0 6px;padding:4px 10px 6px}.pp-extras-sec legend{padding:0 4px;font-weight:600}.pp-extra-row{padding:2px 4px}.pp-extra-row.pp-extra-closed{color:#8b97a3;background:#eceff2}.imx{grid-template-columns:310px minmax(0,1fr);gap:12px;height:100%;min-height:0;display:grid}.imx-list{border:1px solid var(--border);background:var(--panel);flex-direction:column;gap:3px;min-height:0;padding:6px;display:flex;overflow:auto}.imx-list-h{text-transform:uppercase;letter-spacing:.04em;padding:0 4px 3px;font-size:11.5px}.imx-fmt{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:1px solid #0000;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px 7px;display:grid}.imx-fmt:hover{background:var(--sky-2)}.imx-fmt.on{background:var(--sky);border-color:var(--border)}.imx-fmt.dim{color:var(--muted)}.imx-fmt.dim .imx-ico{opacity:.45}.imx-fmt-t{flex-direction:column;min-width:0;display:flex}.imx-fmt-t b{overflow-wrap:anywhere;font-weight:600}.imx-fmt.dim .imx-fmt-t b{font-weight:500}.imx-fmt-t small{color:var(--muted);font-family:Consolas,Courier New,monospace;font-size:11.5px}.imx-ico{width:30px;height:30px;color:var(--navy);justify-content:center;align-items:center;display:inline-flex}.imx-chip{white-space:nowrap;border-radius:9px;padding:1px 6px;font-size:10.5px}.imx-chip.ok{color:#1c6b2b;background:#e3f4e6}.imx-chip.off{color:var(--muted);background:#eef0f3}.imx-main{flex-direction:column;gap:8px;min-width:0;min-height:0;display:flex;overflow:auto}.imx-pane{flex-direction:column;gap:8px;display:flex}.imx-head{align-items:center;gap:10px;display:flex}.imx-head .imx-ico{border:1px solid var(--border);background:var(--panel);width:38px;height:38px}.imx-title{flex-direction:column;margin-right:auto;display:flex}.imx-title b{color:var(--navy);font-size:15px}.imx-title .muted{font-family:Consolas,Courier New,monospace;font-size:12px}.imx-nomod{color:#6b4a00;background:#fff8e8;border:1px dashed #d9a441;align-items:center;gap:8px;padding:8px 10px;display:flex}.imx-dim .imx-head{opacity:.6}.imx-help{border:1px solid var(--border-2);background:#f7fafc;padding:8px 12px;font-size:13px}.imx-help p{margin:0 0 6px}.imx-help dl{grid-template-columns:minmax(160px,34%) minmax(0,1fr);gap:4px 12px;margin:0;display:grid}.imx-help dl>div{display:contents}.imx-help dt{color:#2a3b4c;font-weight:600}.imx-help dd{color:#3a4a5a;margin:0}.imx-bar{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.imx-spacer{flex:auto}.imx-sub{color:var(--navy);align-items:center;gap:6px;margin:4px 0 0;font-size:13.5px;display:flex}.imx-run{align-items:center;gap:10px;padding-top:4px;display:flex}.imq{flex-direction:column;gap:2px;padding:2px 0;display:flex}.imq-item{text-align:left;cursor:pointer;color:#06c;background:0 0;border:0;border-radius:2px;align-items:center;gap:10px;padding:4px 6px;font:14.67px Arial,Arial Unicode MS,Helvetica,sans-serif;display:flex}.imq-item:hover{background:var(--sky-2);text-decoration:underline}.imq-item svg{color:#3a7bbf;flex:none}.imq-item.dim span{color:#4f7fae}.imq-more{color:var(--muted);font-size:13px}.pgrid{border-collapse:collapse;table-layout:fixed;width:100%;font-size:12.5px}.pgrid th,.pgrid td{border:1px solid var(--border-2);text-align:left;vertical-align:middle;height:24px;padding:0 6px}.pgrid th{background:var(--bar);color:#2a3b4c;font-weight:600}.pgrid th:first-child,.pgrid td.pgrid-k{width:58%}.pgrid-k{color:#1b2a38;white-space:normal;padding:2px 6px;line-height:1.25}.pgrid-v{background:#fff;padding:0!important}.pgrid-sel,.pgrid-inp{height:23px;font:inherit;color:#1b2a38;box-sizing:border-box;background:0 0;border:1px solid #0000;border-radius:0;min-width:0;padding:0 5px}.pgrid-v>.pgrid-sel,.pgrid-v>.pgrid-inp{width:100%}.pgrid-inp.num{text-align:right}.pgrid-sel:hover,.pgrid-inp:hover{border-color:var(--border);background:var(--sky-2)}.pgrid-sel:focus,.pgrid-inp:focus{background:#fff;border-color:#4f8fd0;outline:none}.pgrid-sel:disabled,.pgrid-inp:disabled{color:#9aa7b3}.pgrid-cell{align-items:center;gap:6px;min-width:0;min-height:23px;padding:0 5px;display:flex}.pgrid-cell>.pgrid-sel,.pgrid-cell>.pgrid-inp{flex:auto;width:auto;height:21px}.pgrid-cell input[type=color]{border:1px solid var(--border-2);cursor:pointer;background:0 0;width:30px;height:18px;padding:0}.pgrid-cell .muted{font-size:11px}.pgrid-g td{background:var(--bar-2);padding:0 2px}.pgrid-gbtn{width:100%;font:inherit;color:var(--navy);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;height:22px;padding:2px 4px;font-weight:700;display:flex}.pgrid-gbtn:hover{background:var(--sky)}.pgrid-r:hover td{background:var(--sky-2)}.pgrid-r:hover td.pgrid-v{background:#fff}.pgrid-wrap{max-height:calc(62 * var(--vh));overflow:auto}.print-dlg-body{flex-direction:column;gap:6px;min-height:160px;display:flex}.print-dlg-body .tabs{margin:-4px -2px 0}.print-dlg-help{color:var(--muted);padding:0 2px;font-size:11.5px}.cgrid{flex-direction:column;gap:4px;display:flex}.cgrid-tools{align-items:center;gap:2px;display:flex}.cgrid-tools .linkbtn{padding:2px;font-size:12.5px}.cgrid-t th,.cgrid-t td{cursor:default}.cgrid-t td.c{text-align:center}.cgrid-t th.w-n{width:34px}.cgrid-t th.w-on{width:40px}.cgrid-t th.w-name{width:112px}.cgrid-t th.w-w{width:60px}.cgrid-t tr.tr-sel td,.cgrid-t tr.tr-sel td.pgrid-v{background:var(--sky)}.cgrid-t tr.tr-sel td.pgrid-v>.pgrid-inp{border-color:var(--border);background:#fff}.cgrid-t input[type=checkbox]{vertical-align:middle;margin:0}.cgrid-t td.pgrid-v>.pgrid-inp{height:22px}.cgrid-add{align-items:center;gap:6px;padding:2px 0;display:flex}.pgrid-line{flex:none;width:56px;height:10px}.origin9{border:1px solid var(--border);background:#fff;grid-template-columns:repeat(3,17px);grid-auto-rows:17px;gap:1px;margin:2px 0;padding:2px;display:inline-grid}.origin9 label{cursor:pointer;justify-content:center;align-items:center;display:flex}.origin9 input{margin:0}.origin9.is-off{opacity:.45;pointer-events:none}.print-profile-head{align-items:center;gap:2px;margin:8px 6px 3px}.print-profile-label{margin-right:6px;font-size:12.5px;font-weight:700}.expr-helper h3,.expr-lang h3{margin:14px 0 6px;font-size:14px}.expr-check{flex-direction:column;gap:6px;display:flex}.expr-input{resize:vertical;box-sizing:border-box;width:100%;font-family:Consolas,Cascadia Mono,monospace;font-size:13px}.expr-res{border:1px solid #0000;border-radius:4px;align-items:center;gap:6px;min-height:18px;padding:5px 9px;font-size:13px;display:flex}.expr-res-ok{color:#155a2c;background:#e7f5ec;border-color:#9fd3b0}.expr-res-bad{color:#8d1f17;background:#fdebea;border-color:#e6a6a1}.expr-res-idle{background:var(--bar-2,#f1f4f8);border-color:var(--border-2,#dde3ea);color:var(--muted,#5b6b7b)}.expr-res-stale{opacity:.6}.expr-type{font-weight:600}.expr-sep{color:var(--muted,#5b6b7b)}.expr-val,.expr-sig,.expr-table code{font-family:Consolas,Cascadia Mono,monospace;font-size:12.5px}.expr-val{background:#0000000d;border-radius:3px;padding:0 4px}.expr-opts{flex-wrap:wrap;align-items:center;gap:14px;margin-top:6px;display:flex}.expr-vars{margin-top:8px}.expr-vars table td{padding:2px 6px}.expr-bar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.expr-search{align-items:center;gap:6px;display:inline-flex}.expr-search .inp{width:220px}.expr-groups{flex-wrap:wrap;gap:5px;display:flex}.chip{border:1px solid var(--border-2,#c9d3dd);cursor:pointer;color:#23384d;background:#fff;border-radius:12px;padding:2px 10px;font-size:12px}.chip:hover{background:var(--sky,#e8f1fb)}.chip-on{background:var(--sky,#d3e6fb);border-color:#1d6fb8;font-weight:600}.expr-table{width:100%}.expr-table td{vertical-align:top}.expr-table td:first-child{white-space:nowrap}.expr-compact .expr-table{font-size:12px}.linkbtn.expr-sig{text-align:left}.lbd{background:var(--bg);flex-direction:column;flex:1;min-width:0;height:100%;min-height:0;display:flex}.lbd-loading{justify-content:center;align-items:center}.lbd-max{z-index:90;height:auto;position:fixed;inset:0}.lbd-top{border-bottom:1px solid var(--border);background:#fff}.lbd-tb{flex-wrap:wrap;row-gap:3px;padding:3px 6px}.lbd-tb .tsep{align-self:stretch}.lbd .dd-menu{max-height:min(calc(62 * var(--vh)), 440px);z-index:60;overflow:auto}.lbd-zoom{text-align:center;min-width:40px;color:var(--muted);font-size:12px}.lbd-step{align-items:center;gap:2px;font-size:12px;display:inline-flex}.lbd-ddi{align-items:center;gap:6px;display:inline-flex}.lbd-main{flex:1;min-height:0;display:flex}.lbd-stage{background:#cdd5df;flex:1;min-width:0;display:flex;overflow:auto}.lbd-pad{box-sizing:content-box;flex:none;margin:auto}.lbd-paper{touch-action:none;-webkit-user-select:none;user-select:none;background:#fff;position:relative;box-shadow:0 1px 8px #00000059}.lbd-svg{pointer-events:none;position:absolute;inset:0}.lbd-svg svg{pointer-events:none;display:block}.lbd-ov{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.lbd-ov [data-testid^=lbd-h-],.lbd-ov [data-testid=lbd-vertex]{pointer-events:none}.lbd-side{border-left:1px solid var(--border);background:#fff;flex-direction:column;flex:none;width:344px;min-height:0;display:flex}.lbd-side-body{flex:1;min-height:120px;padding:8px 10px}.lbd-side>.lbx-issues{flex:none}.lbd-dock{border-top:1px solid var(--border);background:#fafcfe;flex-direction:column;flex:none;display:flex}.lbd-dock-open{height:38%;min-height:160px;max-height:420px}.lbd-dock-h{background:var(--bar-2);cursor:pointer;width:100%;color:var(--navy);text-align:left;border:0;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:600;display:flex}.lbd-dock-h:hover{background:var(--sky-2)}.lbd-dock-b{flex:1;min-height:0;padding:6px 10px 8px}.lbd-insp{flex-direction:column;gap:2px;display:flex}.lbd-insp-h{border-bottom:1px solid var(--border-2);margin-bottom:6px;padding-bottom:4px}.lbd-fields{flex-wrap:wrap;gap:0 8px;display:flex}.lbd-f{width:100%;color:var(--muted);flex-direction:column;gap:2px;margin-bottom:6px;font-size:11.5px;display:flex}.lbd-f>span:first-child{font-weight:600}.lbd-half{width:calc(50% - 4px)}.lbd-flag{color:var(--text);flex-direction:row;align-items:center;gap:6px}.lbd-flag>span:first-child{font-weight:400}.lbd-pair{flex-direction:row;align-items:center;gap:6px}.lbd-pair .lbd-fxw{flex:1}.lbd-pair input[type=color],.lbd-color input[type=color]{border:1px solid var(--border);background:#fff;width:28px;height:24px;padding:0}.lbd-color{align-items:center;gap:4px;display:flex}.lbd-color .inp{flex:1;min-width:0;height:24px;font-size:12px}.lbd-fxw{align-items:flex-start;gap:2px;width:100%;min-width:0;display:inline-flex}.lbd-fx{box-sizing:border-box;flex:1;min-width:0;height:24px;padding:0 5px;font-size:12px}.lbd-fxw-ml .lbd-fx{resize:vertical;height:auto;padding:3px 5px;line-height:1.3}.lbd-mono{font-family:Consolas,Courier New,monospace;font-size:11.5px}.lbd-fx-err{background:#fdecec;border-color:#d01f1f!important}.lbd-fxbtn{border:1px solid var(--border);color:#5b3d99;cursor:pointer;background:#f6f8fa;border-radius:3px;flex:none;justify-content:center;align-items:center;width:22px;height:24px;padding:0;font-size:12px;display:inline-flex}.lbd-fxbtn:hover:not(:disabled){border-color:var(--blue);background:var(--sky)}.lbd-fxbtn:disabled{opacity:.4;cursor:default}.lbd-points{gap:3px}.lbd-pt{align-items:center;gap:3px;display:flex}.lbd-add{border:1px dashed var(--border);cursor:pointer;color:var(--blue-2);background:#fafcff;border-radius:3px;align-self:flex-start;align-items:center;gap:3px;padding:1px 8px;font-size:12px;display:inline-flex}.lbd-add:hover:not(:disabled){border-color:var(--blue);background:var(--sky)}.lbd-img{align-items:center;gap:8px;display:flex}.lbd-img img{border:1px solid var(--border);background:repeating-conic-gradient(#eee 0 25%, #fff 0 50%) 0 0 / 10px 10px;max-width:64px;max-height:48px}.lbd-sec{border-top:1px solid var(--border-2);justify-content:space-between;align-items:center;margin:12px 0 4px;padding-top:6px;display:flex}.lbd-prm{align-items:center;gap:3px;margin-bottom:3px;display:flex}.lbd-prm .inp{height:24px;font-size:12px}.lbd-var .lbd-fxw{flex:1}.lbd-empty{padding:12px}.lbd-layers{flex-direction:column;display:flex}.lbd-layer{text-align:left;cursor:pointer;width:100%;color:var(--text);background:0 0;border:0;border-bottom:1px solid #eef1f4;align-items:center;gap:6px;padding:3px 6px;font-size:12px;display:flex}.lbd-layer:hover{background:var(--sky-2)}.lbd-layer-on{background:var(--sky)}.lbd-layer-bad{background:#fdecec}.lbd-layer-t{white-space:nowrap;font-weight:600}.lbd-layer-s{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.lbd-layer-n{font-size:10.5px}.lbd-vars{flex-direction:column;gap:6px;font-size:12px;display:flex}.lbd-vars-hint{font-size:11px}.lbd-vgroup{border-bottom:1px solid #eef1f4;padding-bottom:4px}.lbd-vgroup summary{cursor:pointer;padding:2px 0}.lbd-var-row{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:3px;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:1px 4px;display:flex}.lbd-var-row:hover{background:var(--sky)}.lbd-var-row code{color:var(--navy);font:11.5px Consolas,Courier New,monospace}.lbd-var-v{color:#1f6f43;text-overflow:ellipsis;white-space:nowrap;max-width:150px;font:11px Consolas,Courier New,monospace;overflow:hidden}.lbd-fns{flex-wrap:wrap;gap:2px;padding-top:4px;display:flex}.lbd-status{border-top:1px solid var(--border);background:var(--bar-2);white-space:nowrap;align-items:center;gap:16px;padding:3px 10px;font-size:12px;display:flex;overflow:hidden}.lbd-status .grow{flex:1}.lbx-design{flex-direction:column}.lbx-design>.lbx-left{border-right:0;flex:1;width:100%;max-width:none}.lbx-design .lbx-body{flex-direction:column;padding:0;display:flex;overflow:hidden}.lbz{gap:14px;height:100%;min-height:0;display:flex}.lbz-left{flex-direction:column;flex:none;gap:6px;width:300px;display:flex;overflow:auto}.lbz-right{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex;overflow:auto}.lbz-h{margin-top:6px;font-weight:600}.lbz-header{box-sizing:border-box;width:100%;font-family:Consolas,Courier New,monospace;font-size:12px}.lbz-pre{color:#d6e2f0;max-height:calc(46 * var(--vh));white-space:pre;background:#0f1720;border-radius:4px;margin:0;padding:8px 10px;font:11.5px/1.35 Consolas,Courier New,monospace;overflow:auto}.lbu{flex-direction:column;gap:6px;display:flex}.lbu-grid-wrap{max-height:calc(48 * var(--vh));border:1px solid var(--border-2);overflow:auto}.lbu-grid th{z-index:1;white-space:nowrap;background:#f2f5f9;position:sticky;top:0}.lbu-grid .inp{min-width:90px}.lbu-grid .lbu-narrow,.lbu-qty{width:56px;min-width:56px}.lbu-chips{flex-wrap:wrap;gap:2px;display:flex}.lbu-pager{align-items:center}.lbu-fields td{vertical-align:top}.lbu .small{font-size:11.5px}.lbx{height:100%;min-height:0;display:flex}.lbx-left{border-right:1px solid var(--border);background:#fff;flex-direction:column;width:620px;max-width:55%;min-height:0;display:flex}.lbx-body{flex:1;min-height:0;padding:6px 12px 12px}.lbx-head{border-bottom:1px solid var(--border-2);padding:6px 10px}.lbx-right{flex-direction:column;flex:1;gap:6px;min-width:0;padding:6px;display:flex}.lbx-frame{border:1px solid var(--border);background:#fff;flex:1;width:100%;min-height:120px}.lbx-print-frame{border:0;width:1px;height:1px;position:fixed;top:0;left:-9999px}.lbx .field{grid-template-columns:190px auto 1fr}.lbx-issues{background:#fff8ec;border:1px solid #f0b36b;max-height:120px;padding:4px 10px;font-size:12px;overflow:auto}.lbx-issues ul{margin:2px 0;padding-left:16px}.lbx-issues-err{background:#fdecec;border-color:#e08a8a}.lbx-issues code{background:#f2f2f2;border-radius:2px;padding:0 3px}.lbx-bad{color:#b00020}.lbx-warn{color:#8a5a00}.lbx-copy{background:#eef4fb;border:1px solid #c9dcf1;border-radius:3px;padding:4px 8px}.lbx-table{border-collapse:collapse;width:100%;font-size:12px}.lbx-table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--border-2);padding:2px 3px;font-weight:600}.lbx-table td{vertical-align:middle;border-bottom:1px solid #eef1f4;padding:1px 2px}.lbx-table .inp{box-sizing:border-box;width:100%;height:22px;padding:0 4px;font-size:12px}.lbx-n{color:var(--muted);white-space:nowrap;width:38px}.lbx-w-c{width:54px}.lbx-w-name{width:120px}.lbx-w-act{text-align:right;width:90px}.lbx-table .nowrap{white-space:nowrap}.lbx-err-row td{background:#fdecec}.lbx-json textarea{white-space:pre;box-sizing:border-box;width:100%;font-family:Consolas,Courier New,monospace;font-size:12px}.lbx-vars{margin-top:8px;font-size:12px}.lbx-vars summary{cursor:pointer;color:var(--blue-2);font-weight:600}.lbx-vgroup{margin:6px 0;line-height:1.9}.lbx-vgroup>b{min-width:64px;color:var(--navy);display:inline-block}.lbx-chip{border:1px solid var(--border);cursor:pointer;color:var(--text);background:#f6f8fa;border-radius:10px;align-items:center;gap:3px;margin:0 3px 3px 0;padding:0 7px;font:11.5px Consolas,Courier New,monospace;display:inline-flex}.lbx-chip:hover{border-color:var(--blue);background:var(--sky)}.lbx-fn{color:#5b3d99}.lbio-tools{flex-wrap:wrap}.lbio{gap:12px;height:100%;min-height:0;display:flex}.lbio-left{flex-direction:column;flex:52%;gap:6px;min-width:0;padding-right:4px;display:flex;overflow:auto}.lbio-right{flex-direction:column;flex:48%;gap:4px;min-width:0;display:flex}.lbio-frame{flex:1;min-height:160px}.lbio-item{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:4px;flex-direction:column;gap:3px;padding:6px 8px;display:flex}.lbio-active{border-color:var(--blue);background:var(--sky)}.lbio-ok{color:#1b7a3a;font-size:12px}.lbio-warns{margin:2px 0;padding-left:16px;font-size:12px}.lbio-warns code{background:#f2f2f2;border-radius:2px;padding:0 3px}@media (width<=1100px){.lbx{flex-direction:column}.lbx-left{width:100%;max-width:none;max-height:55%}}.lbp{flex-direction:column;gap:4px;padding:6px 2px;display:flex}.lbp-cols{grid-template-columns:minmax(300px,1.25fr) minmax(210px,1fr);align-items:start;gap:4px 22px;display:grid}.lbp-col,.lbp-extra{flex-direction:column;gap:5px;min-width:0;display:flex}.lbp-col>.form-h:first-child{margin-top:0}.lbx .lbp-col .field{grid-template-columns:118px auto 1fr}.lbp-top{align-items:start}.lbp-top .radio-col{padding:0}.lbp-size{align-items:center;gap:4px;display:inline-flex}.lbp-margin{align-items:center;gap:8px;padding:2px 0;display:flex}.lbp-sub{flex-direction:column;gap:2px;padding-left:22px;font-size:12px;display:flex}.lbp input[readonly]{color:var(--text);background:#f3f5f7}@media (width<=900px){.lbp-cols{grid-template-columns:1fr}}.lbp-toolbar{border-bottom:1px solid var(--border,#dde1e6);align-items:center;gap:2px;margin-bottom:4px;padding:0 0 4px;display:flex}.lbp-tb-sep{background:var(--border,#dde1e6);width:1px;height:18px;margin:0 4px}.lbio-compact{gap:2px}.lbp-ufields tr{cursor:pointer}.lbp-ufields tr.sel td{background:#dbeafe}.lbp-ufields:focus{outline:1px solid #93c5fd}.saw-diff{background:#fff7d6;border:1px solid #e6c34a;border-radius:4px;margin:4px 0 8px;padding:6px 8px;font-size:12px}.saw-diff ul{margin:4px 0 6px 16px;padding:0}.saw-diff-list{margin:4px 0 8px 16px;padding:0}.saw-table{border-collapse:collapse;margin:8px 0}.saw-table th,.saw-table td{text-align:left;border:1px solid #d0d7de;padding:4px 8px}.saw-table td.num{text-align:right}.xnc-editor .xnc-prog{width:330px}.prog-tree,.prog-list.prog-tree{font-family:inherit;font-size:12px}.prog-row{cursor:pointer;border-bottom:1px dotted var(--border-2);align-items:center;gap:2px;min-width:max-content;min-height:22px;padding:1px 6px 1px 2px;display:flex}.prog-row:hover{background:var(--sky-2)}.prog-row.prog-off{opacity:.45}.prog-row.prog-off .prog-txt{text-decoration:line-through}.prog-row[data-dragging="1"]{opacity:.4}.prog-row[data-drop=before]{box-shadow:inset 0 2px 0 var(--blue)}.prog-row[data-drop=after]{box-shadow:inset 0 -2px 0 var(--blue)}.prog-row[data-drop=inside]{background:var(--sky);outline:2px solid var(--blue);outline-offset:-2px}.prog-chev{cursor:pointer;width:16px;height:16px;color:var(--muted);background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.prog-chev:hover{color:var(--text)}.prog-chev-ph{flex:none;width:16px}.prog-row input[type=checkbox]{flex:none;margin:0 4px 0 2px}.prog-txt{white-space:nowrap;flex:1;min-width:max-content;padding-right:8px}.prog-txt .pv{margin-right:7px}.prog-kw{color:var(--muted);margin-right:5px;font-weight:700}.cmd-ico-w{vertical-align:-3px;width:18px;height:16px;margin-right:4px;display:inline-block}.cmd-ico-w .cmd-ico{display:block}.prog-block{color:#1f4e8c}.prog-badge{color:var(--muted);border:1px solid var(--border-2);border-radius:8px;margin-left:4px;padding:0 5px;font-size:10px}.prog-bar{flex-wrap:wrap;align-items:center;gap:1px;display:flex}.prog-state{border:1px solid var(--border);background:#fffdf6;max-height:200px;padding:4px 6px;font-size:12px;overflow:auto}.prog-state .bad{color:#b03a2e}.prog-state .good{color:#1e7d4f}.pal-off{display:none}.xnc-draw-box{flex-direction:column;flex:1;gap:3px;min-width:0;min-height:0;display:flex}.xnc-draw-box .xnc-draw{min-height:0}.xnc-draw-bar{min-height:18px;font-size:12px}.xnc-mirror .ibtn{height:24px}.prog-edit .row{align-items:center}.prog-edit .pk{text-overflow:ellipsis;flex:none;width:74px;overflow:hidden}.prog-edit .inp{flex:1;min-width:0}.prog-edit .form-h{align-items:center;gap:6px;font-weight:700;display:flex}.prog-edit-scroll{flex-direction:column;gap:4px;max-height:300px;display:flex;overflow:auto}.par-form{border-top:1px solid var(--border);margin-top:10px;padding-top:6px}.par-form .form-h{margin:0 0 4px}.par-def{color:var(--muted);white-space:nowrap;font-size:11px}.par-note{color:var(--muted);margin:2px 0 6px;font-size:11px}.par-reset{margin-left:4px}.xtpl{gap:10px;height:100%;min-height:0;display:flex}.xtpl-left{flex-direction:column;flex:none;gap:6px;width:280px;min-height:0;display:flex}.xtpl-list{border:1px solid var(--border);background:#fff;flex:1;min-height:0;overflow:auto}.xtpl-grp{text-transform:uppercase;letter-spacing:.4px;color:var(--muted);background:var(--sky-2);border-bottom:1px solid var(--border-2);padding:6px 8px 2px;font-size:11px;font-weight:700}.xtpl-item{cursor:pointer;border-bottom:1px dotted var(--border-2);padding:5px 8px}.xtpl-item:hover{background:var(--sky-2)}.xtpl-item.sel{background:var(--sky)}.xtpl-item b{display:block}.xtpl-item small{color:var(--muted)}.xtpl-det{flex-direction:column;flex:1;gap:8px;min-width:0;min-height:0;display:flex;overflow:auto}.xtpl-det h3{margin:0;font-size:15px}.xtpl-prog{border:1px solid var(--border);white-space:pre;background:#fff;flex:1;min-height:120px;padding:6px;font-family:Consolas,monospace;font-size:12px;overflow:auto}.xtpl-pars{grid-template-columns:auto 1fr auto;gap:2px 10px;font-size:12px;display:grid}.xtpl-pars span:nth-child(3n+1){font-family:Consolas,monospace;font-weight:700}.xtpl-actions{flex-wrap:wrap;gap:6px;display:flex}.xpp{flex-direction:column;gap:10px;display:flex}.xpp-row{grid-template-columns:170px 1fr;align-items:center;gap:8px;display:grid}.xs-body{border:1px solid var(--border);background:#fff;border-top:0;flex-direction:column;flex:1;min-height:0;padding:8px 12px;display:flex;overflow:auto}.xs-dialog{flex-direction:column;flex:1;min-height:0;display:flex}.xs-dialog .xs-hint.grow{flex:1}.xs-pane{flex-direction:column;flex:1;gap:6px;min-height:0;display:flex}.xs-bar{gap:3px}.xs-hint{margin:0;font-size:12px}.xs-table-wrap{border:1px solid var(--border-2);flex:1;min-height:120px}.xs-table{width:100%}.xs-table td{padding:1px 4px}.xs-table td.num{text-align:right;width:34px;color:var(--muted)}.xs-table th,.xs-table td.xs-c{text-align:center}.xs-table tr.xs-bad td{background:#fdecea}.xs-table tr.xs-off-row td{color:var(--muted)}.xs-icon{text-align:center;width:70px;font-family:Consolas,monospace;font-size:15px}.xs-modebar{border-bottom:1px solid var(--border-2);margin-bottom:4px}.xs-cols{grid-template-columns:1fr 1fr;gap:28px;display:grid}.xs-col{min-width:0}.xs-row{grid-template-columns:1fr 76px 26px;align-items:center;gap:6px;padding:2px 0;display:grid}.xs-row.xs-flag{grid-template-columns:auto auto;justify-content:start;gap:18px}.xs-dim .xs-cols{opacity:.72}.xs-foot{margin-top:8px}.xs-issues{background:#fffaf0;border:1px solid #e3c98a;border-radius:3px;margin:6px 0;padding:4px 6px;font-size:12px}.xs-issues-h{color:var(--warn);margin-bottom:2px;font-weight:700}.xs-issue{padding:1px 0}.xs-issue.xs-error{color:#b03a2e}.xs-issue.xs-warn{color:#8a5a00}.xs-issue.xs-info{color:#1f4e8c}.xs-issue.xs-link{cursor:pointer}.xs-issue.xs-link:hover{text-decoration:underline}.prog-state .xs-issues{margin:4px 0 0}.xnc-dlg-wrap{border:1px solid var(--border-2);max-height:calc(60 * var(--vh));min-height:120px}.xnc-dlg-table{width:100%}.xnc-dlg-table td.mono{font-family:Consolas,monospace}.xnc-dlg-hint{margin:6px 0 0;font-size:12px}.prog-row input[type=checkbox]{display:none}.prog-row.prog-off input[type=checkbox],.prog-row:hover input[type=checkbox]{display:inline-block}.prog-row.prog-sel{background:#cfe0ff}[data-testid=xnc-props] .prog-edit{background:0 0;border:none;padding:0}[data-testid=xnc-props] .prog-edit .pk{width:128px;font-family:inherit;font-weight:400}[data-testid=xnc-props] .prog-edit-scroll{max-height:calc(60 * var(--vh))}.prog-group{margin-top:4px}.pvs{border:1px solid var(--border);color:#7a4a00;cursor:pointer;background:#fff;border-radius:3px;height:24px;padding:0 5px;font-size:11px;font-weight:700}.pvs:hover{border-color:var(--blue)}.pv-row{align-items:flex-start!important}.pv-col{flex-direction:column;flex:1;min-width:0;display:flex}.pv-col .inp,.pv-col select{width:100%}.pv-val{padding:1px 4px 0;font-size:11px}.pv-val.bad{color:#d01010;cursor:help;overflow-wrap:anywhere;font-weight:600}.pv-check{align-items:center;height:26px;display:flex}.prog-row.prog-sel,.prog-row.prog-sel2,.prog-tree .prog-row.prog-sel,.prog-tree .prog-row.prog-sel2{background:#bbdeff!important}.xnc-draw svg .xnc-seg{pointer-events:stroke}.xnc-draw svg .xnc-hole circle,.xnc-draw svg .xnc-ch{pointer-events:visible}.xnc-draw svg .xnc-hl,.xnc-draw svg .xnc-hl>:not(.xnc-gw){stroke:red;stroke-width:1px;vector-effect:non-scaling-stroke;stroke-opacity:1}.xnc-draw svg path.xnc-hl{stroke-width:1.5px}.xnc-draw svg .xnc-hl>.xnc-ch,.xnc-draw svg .xnc-hl>.xnc-ctr{fill:red}.prog-tree .prog-row:hover{background:0 0}.prog-tree .prog-row.prog-sel:hover,.prog-tree .prog-row.prog-sel2:hover{background:#bbdeff}.prog-tree .prog-row:hover input[type=checkbox]{display:none}.prog-tree .prog-row.prog-sel input[type=checkbox],.prog-tree .prog-row.prog-off input[type=checkbox]{display:inline-block}.prog-tree .prog-row[data-drop=inside]{background:var(--sky)}.xs-table td{height:21px;padding:0 3px}.xs-table .inp{background:0 0;border-color:#0000;height:19px;padding:0 3px}.xs-table .inp:hover:not(:disabled),.xs-table .inp:focus{border-color:var(--border);background:#fff}.xs-table tr.tr-sel td{background:#bbdeff}.prog-tree .prog-row.prog-err{box-shadow:inset 3px 0 #d01010}.prog-tree .prog-row.prog-err .prog-txt{color:#b03a2e}.prog-err-ico{color:#d01010;cursor:help;flex:none;margin-left:4px;font-size:11px;font-weight:700}.prog-state .bad{overflow-wrap:anywhere}.xnc-draw svg .xnc-error,.prog-state .bad.xs-link{cursor:pointer}.prog-state .bad.xs-link:hover{text-decoration:underline}.part-xnc-body{gap:6px;height:100%;min-height:0;display:flex}.part-xnc-main{flex-direction:column;flex:1;min-width:0;display:flex}.part-xnc-main>.panel,.part-xnc-main>*{flex:1;min-height:0}.part-xnc-main>.pxd-tabs,.part-xnc-main>.pxd-head{flex:none}.part-xnc-drills{border-left:1px solid var(--line,#ccc);flex:none;width:220px;padding:4px 6px;overflow:auto}.part-xnc-drills-h{margin-bottom:4px;font-weight:700}.part-xnc-drill{text-align:left;width:100%;padding:3px 0;display:block}.pdrill-form{flex-direction:column;gap:6px;display:flex}.pdrill-row{grid-template-columns:150px 1fr;align-items:center;gap:8px;display:grid}.pxd-tabs{border-bottom:1px solid var(--line,#ccc);align-items:center;gap:4px;padding:2px 4px;display:flex}.pxd-tab{border:1px solid var(--line,#ccc);cursor:pointer;background:#e9edf2;border-radius:4px 4px 0 0;padding:3px 12px}.pxd-tab.on{background:#fff;font-weight:700}.pxd-toolbar{flex-wrap:wrap;align-items:center;gap:2px;display:flex}.pxd-sep{width:8px}.pxd-head{border-bottom:1px solid var(--line,#ccc);background:#eef1f4;padding:2px 6px;font-size:12px}.pxd-panel{flex-direction:column;flex:1;min-height:0;display:flex}.pxd-panel>*{flex:1;min-height:0}.pxd-sheet{background:#fff;border:0;flex:1;width:100%;min-height:0}.pxd-sheet-op{align-items:center;gap:6px;font-weight:700;display:inline-flex}.pxd-msg-label{margin-right:6px}.pxd-msgs{width:640px;max-width:calc(50 * var(--vw))}.part-xnc-main .xnc-editor{grid-template:"pal prog"minmax(110px,30%)"pal draw"minmax(0,1fr)/auto minmax(0,1fr);display:grid}.part-xnc-main .xnc-editor>.xnc-palette{grid-area:pal}.part-xnc-main .xnc-editor>.xnc-prog{grid-area:prog;width:auto;min-width:0}.part-xnc-main .xnc-editor>.xnc-draw-box{grid-area:draw}.part-xnc-main .xnc-draw{align-items:center}.xtb-bar{align-items:center;gap:4px}.xtb-path{color:#1d6fb8;margin-left:8px}.xtb-grid{border:1px solid var(--line,#c9d3dd);background:#f6f7f9;flex:1;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));align-content:start;gap:4px;min-height:0;padding:4px;display:grid}.xtb-tile{cursor:pointer;border-radius:3px;flex-direction:column;align-items:center;padding:6px;display:flex}.xtb-tile:hover{background:#e9f1fb}.xtb-tile.sel{background:#bbdeff}.xtb-thumb{justify-content:center;align-items:center;width:200px;height:150px;display:flex;overflow:hidden}.xtb-thumb svg{max-width:100%;max-height:100%}.xtb-folder{color:#e3b23c}.xtb-label{text-align:center;overflow-wrap:anywhere;max-width:200px;margin-top:4px;font-size:12px}.qmark{border:1px solid var(--ok);width:15px;height:15px;color:var(--ok);cursor:help;vertical-align:1px;background:#fff;border-radius:50%;margin-left:6px;padding:0;font-size:10px;font-weight:700;line-height:1}.qmark:hover{background:var(--ok);color:#fff}.param-note{color:var(--warn);font-size:12px}.ag-header-cell.hdr-sz-blank .ag-header-cell-text{color:#155a96}.ag-header-cell.hdr-sz-detail .ag-header-cell-text{color:#1d7a35}.ag-header-cell.hdr-sz-jointed .ag-header-cell-text{color:#a3282b;font-style:italic}.sizes td.dl{text-align:center;color:var(--muted);min-width:40px;font-size:11.5px}.sizes td.dl-minus{color:#a3282b}.sizes td.dl-plus{color:#1d7a35}.ag-row.row-reserved .ag-cell{color:#8a95a3;background:#f6f1e7}.rem-reserved{color:var(--warn);font-size:12px;font-weight:600}.rem-opts{border-top:1px solid var(--border);flex-direction:column;gap:4px;margin-top:8px;padding-top:6px;display:flex}.rem-opts .check.is-off{opacity:.6;cursor:not-allowed}.pcolor{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.pcolor input[type=color]{border:1px solid var(--border-2);cursor:pointer;background:0 0;width:34px;height:22px;padding:0}.pf-group{border-top:1px solid var(--border);flex-direction:column;gap:6px;margin-top:8px;padding-top:6px;display:flex}.parts-subbar{flex-wrap:nowrap}.parts-subbar .pb-left{white-space:nowrap;flex:0 43%;min-width:0;overflow:hidden}.parts-subbar .pb-tools{flex:none;align-items:center;gap:2px;display:inline-flex}.parts-subbar .stat{white-space:nowrap}.parts-subbar .pb-area{flex:auto;margin-left:8px}.parts-subbar .pb-count{flex:none;min-width:120px}.parts-subbar>.grow{flex:0 0 4px}.form2[data-testid=cs-params]{padding-top:4px}.form2[data-testid=cs-params] .form-h{margin:3px 0 0;line-height:18px}.form2[data-testid=cs-params] .field{min-height:23px;padding:0}.form2[data-testid=cs-params] .field-check{min-height:20px}.pp-xnc-preview{border:1px solid var(--line,#ccc);background:#fff;justify-content:center;align-items:center;display:flex}.pp-xnc-preview svg{max-width:100%;max-height:100%}.ed-parts th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.ed-parts th.sortable:hover{background:var(--sky-2)}.ed-parts th .sort-mark{color:var(--blue);margin-left:3px;font-size:10px}.ed-parts tfoot td{background:var(--bar-2);border-top:1px solid var(--border);font-weight:600;position:sticky;bottom:0}.ibtn.ibtn-mode.ibtn-active{background:var(--blue);color:#fff}.editor-mode{background:var(--sky-2);color:var(--blue);white-space:nowrap;border-radius:10px;padding:1px 8px;font-size:12px}.editor-sel-count{color:var(--blue);font-weight:600}.trim-form .field{margin:4px 0}.trim-zone{background:var(--bar-2);border:1px solid var(--border);margin-top:10px;padding:6px 8px}.editor-map svg.mode-place{cursor:copy}.ed-cmds-toggle{align-self:center;margin:2px 0}.ed-cmds{border-bottom:1px solid var(--line,#ccc);max-height:160px;overflow:auto}.cn-map-box{background:#fff;flex:1;min-width:0;min-height:0;padding:8px;display:flex}.cn-viewport{flex:1;min-width:0;min-height:0;display:flex;position:relative;overflow:auto}.cn-zoom{flex:none;min-width:100%;min-height:100%;display:flex}.cn-zoom>svg{cursor:pointer;width:100%;height:100%}.cn-viewport,.cn-viewport *{-webkit-user-select:none;user-select:none}.nest-part{cursor:pointer}.nest-part:hover>path{filter:brightness(1.1)}.thumbsvg .nest-part{cursor:inherit}.cn-progress{border-bottom:1px solid var(--border);background:#eef5fc;align-items:center;gap:10px;padding:5px 10px;font-size:12.5px;display:flex}.cn-progress-compact{padding:3px 8px}.cn-pbar{background:#d9e3ee;border:1px solid #b8c7d8;border-radius:6px;flex:0 320px;min-width:120px;height:12px;overflow:hidden}.cn-pbar-fill{background:linear-gradient(90deg,#3d8bd9,#1d6fb8);height:100%;transition:width .25s linear}.cn-progress-text{text-overflow:ellipsis;white-space:nowrap;color:#23384d;flex:1;min-width:0;overflow:hidden}.cn-map-parts,.cn-map-rem{width:100%}.cn-map-rem{margin-top:8px}.cn-parts-body{flex:1;min-height:0;display:flex}.cn-grid-col{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.cn-shape-pane{border-left:1px solid var(--border);background:var(--bar-2);flex-direction:column;flex:none;gap:6px;width:260px;padding:8px;display:flex;overflow:auto}.cn-shape-title{color:var(--navy);word-break:break-word;font-weight:700}.cn-sketch{border:1px solid var(--border-2);background:#fff;border-radius:4px;width:100%;height:190px}.cn-sketch-empty{text-align:center;border:1px dashed var(--border-2);background:#fff;border-radius:4px;padding:30px 8px}.cn-shape-info{flex-direction:column;gap:2px;font-size:12.5px;display:flex}.cn-shape-info .warn,.cn-shape-warn{color:#b4570a}.cn-editor .editor-list{width:340px;min-width:300px}.cn-editor-map{overflow:hidden}.cn-editor-map .cn-zoom>svg{cursor:default}.cn-editor-map.cn-snap .cn-zoom>svg{cursor:crosshair}.cn-editor .toolbar{flex-wrap:wrap}.cmds tbody tr{cursor:default}.cmds tbody tr.cmd-sel td{background:#bbdeff}.statusline .cut-nav{gap:6px}.statusline .cut-nav .ibtn{width:64px}.cut-view-extra{margin-top:8px}.ro-table{border-collapse:collapse;width:100%;margin:8px 0}.ro-table th,.ro-table td{border:1px solid var(--border,#ccc);text-align:left;padding:3px 6px}.ro-table tbody tr{cursor:pointer}.ro-table tbody tr.sel{background:var(--sel-bg,#cfe3ff)}.rt .rt-body{flex:1;padding:4px 8px;overflow:auto}.rt .rt-bar{flex-wrap:wrap;align-items:center;gap:8px;margin:2px 0 6px;display:flex}.rt .rt-rule{color:var(--accent,#1f5fa8);margin-left:12px}.rt .rt-saved{color:#1a7f37;font-weight:600}.rt .rt-sub{margin:8px 0 4px;font-weight:600}.rt .rt-table{min-width:720px}.rt .rt-table td,.rt .rt-table th{padding:2px 8px}.rt .rt-table td.num{text-align:right}.rt .rt-table tr.rt-keep td{background:#eaf6ec}.rt .rt-table tr.rt-client td{color:#8a5a00}.rt .rt-dec label{white-space:nowrap;margin-right:10px}.rt .rt-parts{text-overflow:ellipsis;white-space:nowrap;max-width:420px;overflow:hidden}.rt .rt-acts{white-space:nowrap}.rt .rt-acts .btn+.btn{margin-left:4px}.rt .rt-bound{background:#eef5ff;border:1px solid #c9dcf5;margin:2px 0 6px;padding:4px 8px}.ra-scroll{flex:1;overflow:auto}.ra-table{width:100%}.ra-num{width:60px}.ra-err{color:#b42318;background:#fdecea;padding:4px 8px;font-weight:600}.ra-note{color:#1a7f37}.xm{border-top:1px solid var(--border,#d0d7e2);margin-top:18px;padding-top:8px}.xm .xm-head{align-items:center;gap:12px;display:flex}.xm h3{margin:6px 0}.xm h4{margin:14px 0 4px}.xm .xm-checks{grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:2px 12px;margin:4px 0 4px 18px;display:grid}.xm .xm-proj{align-items:center;gap:6px;margin:6px 0;display:flex}.xm-table{min-width:760px;margin:4px 0 8px}.xm-table td,.xm-table th{padding:2px 8px}.xm-table td.num{text-align:right}.xm-table tr.xm-inproj td{background:#eef5ff}.xm-table tr.xm-skip td{color:#9aa3ad}.xm-table .xm-code{width:140px}.xm-sum{margin:4px 0}.xm-off,.xm-err{color:#b42318}.xm .xm-dirty{color:#b54708}.xm .xm-empty{background:#fff7e6;border:1px solid #f5d79e;padding:4px 8px}.xm .xm-add{flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0 10px;display:flex}.xm-table tr.xm-unknown-row td{background:#fdecea}.xm-unknown{color:#b42318;font-weight:600}.xm-mis{color:#b54708}.pprog{flex:1;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:14px;min-height:0;display:grid}.pprog-ed{min-width:0;min-height:0;display:flex}.pprog-ed .xnc-editor{flex:1;min-width:0;padding:0}.pprog-ed .xnc-prog{flex:1;width:auto;min-width:0}.pprog-side{flex-direction:column;gap:6px;min-width:0;min-height:0;display:flex;overflow:auto}.pprog-side .par-form{border-top:0;margin-top:0;padding-top:0}.pprog-side .form-h{margin-top:4px}.pprog-msgs{border:1px solid var(--border);background:#fff;min-height:96px;max-height:190px;font-size:12px;overflow:auto}.pprog-msg{border-bottom:1px dotted var(--border-2);align-items:flex-start;gap:6px;padding:2px 6px;display:flex}.pprog-msg .pprog-ic{flex:none;margin-top:2px}.pprog-msg .pprog-txt{overflow-wrap:anywhere;flex:1;min-width:0}.pprog-msg .pth{color:var(--muted);flex:none;font-family:Consolas,monospace}.pprog-msg.error{color:#b03a2e;background:#fdf1ef}.pprog-msg.warning{color:#8a5a00;background:#fffaf0}.pprog-msg.info{color:#1f4e8c}.pprog-none{padding:6px}.pprog-vars{width:100%}.pprog-vars td{padding:1px 6px}.pprog-vars td.pk{font-family:Consolas,monospace}.pprog-vars td.num{text-align:right}.phead-warn{color:#8a5a00;cursor:pointer;background:#fffaf0;border:1px solid #e3c98a;border-radius:3px;align-items:center;gap:4px;padding:1px 6px;font-size:12px;display:inline-flex}.phead-warn.err{color:#b03a2e;background:#fdf1ef;border-color:#e0a79f}.phead-stack{flex-direction:column;align-self:end;gap:1px;display:flex}.phead-stack .phead-l{font-size:12.5px;line-height:14px}.phead-row2{align-items:flex-end;gap:14px}.phead-row2 .phead-num,.phead-row2 .phead-warn{align-self:center}.phead .phead-stack .wd{margin-left:0}.phead-row{flex-wrap:nowrap;min-width:0}.phead-name{min-width:120px}.phead-row [data-testid=project-customer]{flex:0 200px;min-width:80px;width:auto!important}.phead-flags{white-space:nowrap;flex:none}.phead-mes{white-space:nowrap;color:#1f7a3f;background:#e3f2e8;border-radius:3px;align-self:center;padding:1px 8px;font-size:12px;font-weight:600}.phead-mes.none{color:#777;background:#f2f2f2;font-weight:400}.cat{flex-direction:column;flex:auto;gap:6px;min-width:0;min-height:0;display:flex}.cat-top{flex:0 0 250px;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr);gap:8px;height:250px;display:grid}.cat-panel{border:1px solid var(--border);background:#fff;border-radius:3px;flex-direction:column;min-width:0;min-height:0;display:flex}.cat-title{background:var(--bar);border-bottom:1px solid var(--border);color:var(--navy);justify-content:space-between;align-items:center;gap:6px;min-height:26px;padding:2px 8px;font-size:12px;font-weight:600;display:flex}.cat-actions{gap:2px;display:inline-flex}.cat-panel .tree{border:0;flex:auto;height:auto;min-height:0}.cat-tree .tree-item{white-space:nowrap;gap:4px;padding:3px 6px}.cat-name{text-overflow:ellipsis;flex:auto;overflow:hidden}.cat-caret{width:14px;color:var(--muted);justify-content:center;display:inline-flex}.cat-image{flex:auto;justify-content:center;align-items:center;min-height:0;padding:6px;display:flex;overflow:hidden}.cat-image img{object-fit:contain;max-width:100%;max-height:100%}.cat-detail{border-top:1px solid var(--border-2);text-overflow:ellipsis;white-space:nowrap;padding:3px 8px;font-size:12px;overflow:hidden}.cat-detail .small{white-space:normal;max-height:2.6em;overflow:hidden}.cat-import-roots{grid-template-columns:repeat(4,minmax(120px,1fr));gap:6px 12px;display:grid}.cat-import-roots label{flex-direction:column;gap:2px;font-size:12px;display:flex}.cat-imp-form{flex-direction:column;gap:4px;padding:6px 2px;display:flex}.cat-imp-form .field{grid-template-columns:170px auto 1fr}.cat-imp-top{align-items:start}.cat-imp-shown{grid-template-columns:repeat(4,max-content);gap:3px 18px;display:grid}.cat-imp-extra{margin-top:2px}.cat-imp-extra summary{cursor:pointer;color:var(--blue-2);padding:2px 0;font-weight:600}.cat-imp-cols td,.cat-imp-cols th{padding:2px 8px}.cat-imp-pad{padding:6px 8px}.cat-mat{border:1px solid var(--border);background:#fff;border-radius:3px;flex-direction:column;flex:auto;min-height:0;display:flex}.cat-mat-head{justify-content:flex-start}.cat-mat-name{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.cat-mat .cat-search{width:240px;height:22px;font-weight:400}.cat-mat .cat-actions{margin-left:auto}.cat-mat .grid-wrap .ag-root-wrapper{border:0}.cat-pad{margin:0;padding:4px 8px}.cut-zoom.cl-zoom{flex:none;min-width:100%;height:auto;min-height:0;display:block}.cut-zoom.cl-zoom>svg.cl-strip{cursor:pointer;width:100%;height:auto;display:block}.cut-map.cl-map-col{flex-direction:column;align-items:stretch;gap:10px;overflow:auto}.cl-map-parts{width:auto;max-width:560px}.cl-thumb{width:100%;height:auto;max-height:36px}.thumb.small .thumbsvg.cl-thumb{width:160px;height:auto}.variants.cl-variants{grid-template-columns:repeat(2,1fr);align-content:start}.cl-variants .variant-map{align-items:center;height:auto;min-height:44px}.cl-variants .variant-map svg{height:auto;max-height:56px}.cl-editor-map{align-items:flex-start;overflow:auto}.cl-editor-map svg{cursor:crosshair;width:100%;height:auto}.helptip{color:#155a96;cursor:pointer;vertical-align:middle;background:#fff;border:1px solid #9cc3ea;border-radius:50%;justify-content:center;align-items:center;width:15px;height:15px;margin-left:5px;padding:0;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.helptip:hover{background:var(--sky);border-color:#1d6fb8}.help-article{max-width:900px}.help-article h3{margin:16px 0 4px;font-size:14px}.help-article p{margin:0 0 6px;line-height:1.55}.help-intro{white-space:pre-line;margin-bottom:8px;line-height:1.55}.help-param{border-left:3px solid #0000;border-radius:2px;padding:4px 8px;scroll-margin-top:8px}.help-param h3{margin-top:6px}.help-flash{background:#fff6d6;border-left-color:#e0a800;transition:background 1.2s ease-out}.help-gr-sketch{margin:8px 0 12px}.wn{max-width:900px}.wn-ver{margin-bottom:18px}.wn-head{border-bottom:1px solid var(--border-2);align-items:baseline;gap:10px;margin-bottom:6px;padding-bottom:3px;display:flex}.wn-head h3{margin:0;font-size:16px}.wn-date{color:var(--muted);font-size:12px}.wn-sum{color:var(--muted);margin:0 0 6px}.wn ul{margin:0;padding-left:18px}.wn li{margin:3px 0;line-height:1.5}.wn li b{color:var(--navy)}.help-machines{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:3px 14px;margin:6px 0 12px;padding:0;list-style:none;display:grid}.help-machines li{font-size:12.5px}.help-machines .on{font-weight:600}.help-modal-body{gap:8px;height:100%;min-height:0;display:flex}.help-modal-menu{background:#f4f6f8;border-right:1px solid #dde3ea;flex:none;width:220px;overflow:auto}.help-modal-menu .side-item{color:#1d4f80}.help-modal-menu .side-item-active{background:#d6e8fa}.help-modal-main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.help-modal-main .page{height:100%}.op-parts{flex-direction:column;min-height:0;display:flex}.ag-cell.ctr{text-align:center}.gr-sketch{max-width:100%;height:auto;display:block}.el-sym-wrap{border:1px solid var(--border-2);max-height:calc(52 * var(--vh));min-height:140px;margin-top:4px}.el-sym-table{width:100%}.el-sym-table .el-sym-n{text-align:right;width:40px;color:var(--muted)}.el-sym-table td{padding:1px 4px}.el-sym-inp{text-align:center;width:46px}.el-sym-inp.inp-bad{background:#fdecea;border-color:#c0392b}.el-sym-table td.el-sym-color{min-width:120px;height:24px;padding:0;position:relative}.el-sym-table tr.tr-sel td.el-sym-color{box-shadow:inset 0 0 0 2px var(--sky)}.el-sym-color input[type=color]{opacity:0;cursor:pointer;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.el-color-btn{cursor:pointer;position:relative;overflow:hidden}.el-color-btn input[type=color]{opacity:0;cursor:pointer;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.el-color-swatch{border:1px solid var(--border);width:28px;height:14px;display:inline-block}.oparts-grid .ag-cell:not(.rownum){color:#6e6e6e}.rr h3{margin:18px 0 6px}.rr h4{margin:14px 0 4px}.rr .rr-table{min-width:640px;margin:6px 0 8px}.rr .rr-table td,.rr .rr-table th{padding:2px 8px}.rr .rr-table td.num{text-align:right}.rr .row.gap{margin:4px 0 10px}.oee-page{gap:4px}.oee-scroll{background:var(--bg)}.oee-body{flex-direction:column;gap:10px;max-width:1280px;padding:8px 4px 16px;display:flex}.oee-bar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.oee-bar h3{margin:0}.oee-filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.oee-periods{flex-wrap:wrap;gap:3px;display:inline-flex}.oee-note{margin:2px 0;font-size:12px;line-height:1.45}.oee-sub{color:var(--navy);margin:10px 0 4px;font-size:13px}.oee-card{background:var(--panel);border:1px solid var(--border-2);border-radius:6px;min-width:0;padding:10px 12px}.oee-card-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:8px;display:flex}.oee-card-head h3{margin:0;font-size:14px}.oee-hello{max-width:620px;padding:18px 20px}.oee-hello h3{margin-top:0}.oee-empty{color:var(--muted);text-align:center;padding:18px 8px}.oee-tablewrap{max-height:420px}.oee-table td,.oee-table th{white-space:nowrap}.oee-table td.num{text-align:right;font-variant-numeric:tabular-nums}.oee-click{cursor:pointer}.oee-click:hover td{background:var(--sky-2)}.oee-ellip{text-overflow:ellipsis;max-width:180px;overflow:hidden}.oee-act{white-space:nowrap;text-align:right}.oee-pager{justify-content:center;margin-top:8px}.oee-warns{flex-direction:column;gap:4px;display:flex}.oee-warn{color:#6b4a00;background:#fff7e6;border:1px solid #f1d9a6;border-radius:4px;align-items:center;gap:6px;padding:5px 9px;font-size:12.5px;display:flex}.oee-kpis{grid-template-columns:1.35fr 1fr 1fr 1fr;gap:10px;display:grid}.oee-kpi{background:var(--panel);border:1px solid var(--border-2);border-left:5px solid var(--border);border-radius:6px;flex-direction:column;gap:3px;min-width:0;padding:9px 12px;display:flex}.oee-kpi-label{color:var(--muted);letter-spacing:.3px;font-size:12px;font-weight:600}.oee-kpi-value{color:var(--text);font-size:30px;font-weight:700;line-height:1.1}.oee-kpi-hero .oee-kpi-value{font-size:44px}.oee-kpi-sub{color:var(--muted);margin-top:2px;font-size:11.5px;line-height:1.4}.oee-chip{color:var(--text);align-items:center;gap:4px;width:fit-content;font-size:11.5px;font-weight:600;display:inline-flex}.oee-chip-none{color:var(--muted);font-weight:500}.oee-pc{font-variant-numeric:tabular-nums;align-items:center;gap:6px;display:inline-flex}.oee-pc i{border-radius:50%;width:9px;height:9px;display:inline-block}.oee-mat{background:var(--panel);border:1px dashed var(--border);border-radius:6px;flex-wrap:wrap;align-items:center;gap:22px;padding:7px 12px;font-size:12.5px;display:flex}.oee-mat b{font-variant-numeric:tabular-nums}.oee-lines{flex-wrap:wrap;gap:6px;display:inline-flex}.oee-linechip{border:1px solid var(--border);cursor:pointer;color:var(--muted);background:#fff;border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:12px;display:inline-flex}.oee-linechip.on{color:var(--text);background:var(--sky-2);border-color:#9cc3ea}.oee-linechip input{display:none}.oee-dot{border-radius:50%;width:9px;height:9px;margin-right:2px;display:inline-block}.oee-chart{width:100%;position:relative}.oee-chart svg{display:block}.oee-grid{stroke:#e3e8ee;stroke-width:1px}.oee-target{stroke:#c4ccd6;stroke-width:1px}.oee-cross{stroke:#b3bdc9;stroke-width:1px}.oee-axis{fill:#6b7a89;font-variant-numeric:tabular-nums;font-size:10.5px}.oee-tip{z-index:5;border:1px solid var(--border);pointer-events:none;background:#fff;border-radius:5px;min-width:150px;padding:6px 9px;font-size:12px;position:absolute;box-shadow:0 4px 14px #00000024}.oee-tip-fixed{position:fixed}.oee-tip-head{margin-bottom:3px;font-weight:600}.oee-tip-row{justify-content:space-between;align-items:center;gap:4px;display:flex}.oee-tip-row b{font-variant-numeric:tabular-nums;margin-left:auto;padding-left:12px}.oee-two{grid-template-columns:1fr;gap:10px;display:grid}.oee-two-split{grid-template-columns:1.4fr 1fr}.oee-pareto{flex-direction:column;gap:5px;display:flex}.oee-par-row{grid-template-columns:minmax(150px,270px) 1fr 86px 44px 56px;align-items:center;gap:8px;padding:1px 0;display:grid}.oee-par-row:hover{background:var(--sky-2)}.oee-par-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.oee-par-track{height:18px;position:relative}.oee-par-bar{border-radius:0 4px 4px 0;height:18px}.oee-par-val{text-align:right;font-variant-numeric:tabular-nums}.oee-par-share{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.oee-par-cum{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums;font-size:11.5px}.oee-gaplist{flex-direction:column;gap:4px;display:flex}.oee-gap{align-items:center;gap:10px;display:flex}.oee-gap b{min-width:70px}.oee-wd{flex-wrap:wrap;gap:4px;display:inline-flex}.oee-wd label{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:4px;align-items:center;padding:2px 8px;display:inline-flex}.oee-wd label.on{background:var(--sky);border-color:#9cc3ea;font-weight:600}.oee-wd input{display:none}.oee-brk{margin:2px 0}.oee-formulas{margin:0;padding-left:18px;line-height:1.7}.ws-oee{border:1px solid var(--border);background:#fff;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;display:flex}.ws-oee .inp{height:44px;font-size:16px}.ws-oee .btn{height:44px;padding:0 20px;font-size:16px}.ws-stop{background:#fdecea;border:1px solid #f1b8b2;border-radius:8px;align-items:center;gap:12px;padding:12px 14px;font-size:17px;display:flex}.ws-stop b{font-size:20px}.ws-reasons{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;display:grid}.ws-reasons .btn{white-space:normal;justify-content:center;height:56px;font-size:16px}@media (width<=1000px){.oee-kpis{grid-template-columns:1fr 1fr}.oee-two-split{grid-template-columns:1fr}}.side-sep{background:var(--border-2);height:1px;margin:8px 6px 6px}.side-order .ord-head{justify-content:space-between;align-items:center;gap:6px;display:flex}.side-order .ord-head .ord-order{color:#155a96;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:5px;padding:2px 0;font-size:16px;line-height:19px;display:inline-flex}.side-order .ord-head .ord-order:hover:not(:disabled){text-decoration:underline}.side-order .ord-head .ord-order:disabled{color:#9aa7b3;cursor:default}.side-order table.mini td:first-child{white-space:nowrap}.side-extra{flex-direction:column;gap:1px;display:flex}.side-extra .ord-mat{padding:2px 8px;font-size:12px;line-height:1.3}.side-extra .ord-mat.ok{color:#17784a}.side-extra .ord-mat.short{color:var(--danger)}.side-extra .ord-mat.unknown{color:#9a6a00}.oppick{flex-direction:column;gap:4px;height:100%;min-height:0;display:flex}.oppick-head{background:var(--bar,#e9eef3);border:1px solid var(--border);align-items:center;gap:2px;padding:2px 4px;font-weight:700;display:flex}.oppick-title{text-overflow:ellipsis;white-space:nowrap;flex:1;align-items:center;gap:6px;min-width:0;display:inline-flex;overflow:hidden}.login-back{background:#e9eef3;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.login-card{background:#fff;border:1px solid #c9d3dd;border-radius:6px;flex-direction:column;gap:12px;width:100%;max-width:340px;padding:24px;display:flex;box-shadow:0 4px 18px #123a5c1f}.login-card .logo{background:#123a5c;border-radius:6px 6px 0 0;margin:-24px -24px 4px;padding:12px 24px}.login-title{color:#123a5c;margin:4px 0 0;font-size:16px;font-weight:600}.login-field{flex-direction:column;gap:4px;font-size:13px;display:flex}.login-field input{border:1px solid #b7c3cf;border-radius:3px;height:30px;padding:0 8px;font-size:14px}.login-field input:focus{outline-offset:-1px;outline:2px solid #f2a541}.login-err{color:#b3261e;font-size:13px}.login-card .btn{justify-content:center}
