:root{--navy:#16395f;--navy2:#102f56;--sidebar:#173f68;--sidebarHover:#28557f;--orange:#d86808;--bg:#f4f6f8;--card:#fff;--border:#d6dbe2;--text:#263442;--muted:#697886;--softblue:#edf4fb;--danger:#b42318;--dangerbg:#fdecec;--green:#087443;--greenbg:#eaf8ef}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Segoe UI,Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:200px 1fr}.sidebar{background:var(--sidebar);color:#fff;min-height:100vh;display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:0;height:100vh}.brand{padding:18px 15px 22px}.brand img{width:48px;height:48px;display:block;margin-bottom:8px;border-radius:8px}.brand-name{font-size:20px;font-weight:750;line-height:1.05}.brand-sub{font-size:10px;letter-spacing:.5px;color:#b9cbe0;font-weight:700;margin-top:5px}.nav{display:grid;grid-gap:2px;gap:2px}.nav-btn{background:transparent;border:0;color:#eaf2fa;text-align:left;padding:10px 16px;font-size:13px;width:100%}.nav-btn.active,.nav-btn:hover{background:var(--sidebarHover)}.nav-sep{height:1px;background:#31577f;margin:12px 16px}.sidebar-footer{margin-top:auto;padding:16px;color:#b9cbe0;font-size:11px;line-height:1.5}.sidebar-footer .ver{color:#7fa0c4;margin-top:3px}.main{min-width:0}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 20px}.page-title{font-size:22px;font-weight:750;color:var(--navy);line-height:1.1}.page-sub{font-size:11px;color:var(--muted);margin-top:4px}.top-status{margin-left:auto;font-size:12px;color:var(--muted);font-weight:700}.drop-zone,.material-card,.modal-card,.panel,.parts-card,.quick-card{background:#fff;border:1px solid var(--border)}.quick-card{margin:12px 18px 8px;padding:8px 12px 10px}.quick-header{display:flex;align-items:center;gap:10px;color:var(--navy);font-size:13px;font-weight:700;margin-bottom:5px}.quick-header small{color:var(--muted);font-size:11px;font-weight:400}.quick-actions{display:flex;gap:7px;flex-wrap:wrap}.btn,.qbtn{border:1px solid #c8d0da;background:#fff;border-radius:5px;padding:7px 10px;color:#314253;font-size:12px}.btn:hover,.qbtn:hover{background:#f6f8fa}.btn.primary,.qbtn.primary{background:var(--orange);border-color:var(--orange);color:#fff;font-weight:700}.btn.ghost{border-color:transparent}.btn.danger{color:var(--danger)}.content{padding:6px 18px 14px}.home-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px}.home-card{background:#fff;border:1px solid var(--border);padding:16px;min-height:145px}.home-card h3{margin:0 0 6px;color:var(--navy);font-size:15px}.home-card p{color:var(--muted);font-size:12px;line-height:1.45}.material-card{padding:10px 12px;margin-bottom:10px}.material-row{display:flex;align-items:center;gap:8px}.label{font-size:12px;font-weight:700}.input,.select{border:1px solid #c8d0da;background:#fff;border-radius:4px;padding:7px 8px;color:var(--text)}.material-select{width:min(470px,42vw)}.small-input{width:90px}.material-info{margin-left:auto;color:var(--muted);font-size:11px}.drop-zone{height:64px;margin-bottom:10px;display:grid;place-items:center;position:relative}.drop-zone.drag{outline:2px dashed var(--orange);outline-offset:-6px;background:#fff9f2}.drop-title{font-size:14px;font-weight:700;text-align:center}.drop-sub{font-size:11px;color:var(--muted);text-align:center;margin-top:4px}.drop-zone input{position:absolute;inset:0;opacity:0;cursor:pointer}.parts-card{min-height:500px}.parts-head{display:flex;align-items:center;padding:10px 12px 6px}.parts-title{font-size:15px;font-weight:700}.edit-hint{margin-left:auto;color:var(--orange);font-size:11px;font-weight:700}.count{color:var(--muted);font-size:12px;margin-left:18px}.tabs{display:flex;gap:1px;border-bottom:1px solid var(--border);padding:0 10px}.tab{border:0;background:#f2f4f7;padding:9px 13px;font-size:12px;color:#445464;border-radius:5px 5px 0 0}.tab.active{background:#fff;color:var(--navy);font-weight:700;border:1px solid var(--border);border-bottom:1px solid #fff;margin-bottom:-1px}.estimator-tabs{overflow-x:auto;white-space:nowrap}.estimator-tabs .tab{flex:0 0 auto}.estimator-resizable-table{table-layout:fixed}.estimator-resizable-table td,.estimator-resizable-table th{overflow:hidden;white-space:normal!important;overflow-wrap:anywhere;word-break:break-word;vertical-align:middle}.estimator-column-head{position:-webkit-sticky!important;position:sticky!important;padding-right:12px!important}.column-resize-handle{position:absolute;right:-2px;top:0;width:12px;height:100%;cursor:col-resize!important;z-index:8;border-right:2px solid transparent;touch-action:none}.column-resize-handle:hover{border-right-color:#3f6098;background:rgba(63,96,152,.1)}.custom-tab-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:2px;gap:2px;border:1px solid #dce4ec;border-radius:6px;padding:8px;max-height:360px;overflow:auto}.custom-tab-count{margin-right:auto;color:#687280;font-size:11px}.table-wrap{overflow:auto;height:440px;margin:10px;border:1px solid #dfe3e8}.est-table{border-collapse:collapse;width:max-content;min-width:100%;font-size:11px}.est-table th{position:-webkit-sticky;position:sticky;top:0;z-index:3;background:#edf1f5;border-right:1px solid #d9dee4;border-bottom:1px solid #cfd6dd;padding:7px 8px;color:#314253}.est-table td,.est-table th{white-space:nowrap;text-align:center}.est-table td{border-right:1px solid #edf0f3;border-bottom:1px solid #edf0f3;padding:5px 7px;height:30px}.est-table td.left{text-align:left}.est-table tr:hover td{background:#f7fafd}.est-table tr.open td{background:#fdecec}.est-table tr.check td{background:#fff4d9}.est-table tr.child td.part-desc{padding-left:28px}.cell-input,.cell-select{border:1px solid transparent;background:transparent;padding:3px 4px;font-size:11px;width:100%;min-width:70px}.cell-input:focus,.cell-select:focus{border-color:var(--orange);outline:none;background:#fff}.drag-handle{color:#8795a3;font-size:15px;cursor:-webkit-grab;cursor:grab}.expander{border:0;background:transparent;padding:0 5px;color:#4e6071;font-size:12px}.statusbar{height:28px;border-top:1px solid var(--border);display:flex;align-items:center;padding:0 18px;font-size:11px;color:var(--muted);background:#fff}.statusbar .warning{color:var(--danger);font-weight:700}.total{margin-left:auto;font-weight:750;color:var(--navy)}.pill{display:inline-block;border-radius:99px;padding:3px 7px;font-weight:700;font-size:10px}.pill.ok{background:var(--greenbg);color:var(--green)}.pill.bad{background:var(--dangerbg);color:var(--danger)}.pill.neutral{background:#eef2f6;color:#59697a}.modal-backdrop{position:fixed;inset:0;background:#0008;z-index:100;display:grid;place-items:center;padding:20px}.modal-card{width:min(1100px,96vw);max-height:92vh;overflow:auto;box-shadow:0 20px 60px #0005}.modal-head{display:flex;align-items:center;padding:12px 14px;border-bottom:1px solid var(--border)}.modal-title{font-size:16px;font-weight:750;color:var(--navy)}.modal-body{padding:14px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;padding:10px 14px;border-top:1px solid var(--border)}.grid2{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px}.field{display:grid;grid-gap:4px;gap:4px;margin-bottom:9px}.field label{font-size:11px;font-weight:700;color:#4b5c6c}.section-title{color:var(--navy);font-size:13px;font-weight:750;border-bottom:1px solid #e4e8ec;padding-bottom:6px;margin:4px 0 10px}.notice{padding:9px 10px;background:#fff5e8;border:1px solid #f5d2aa;color:#87500b;font-size:12px;margin-bottom:10px}.notice.error{background:var(--dangerbg);border-color:#f1b7b3;color:var(--danger)}.preview-wrap{display:grid;grid-template-columns:minmax(0,1fr) 260px;grid-gap:12px;gap:12px}.preview-canvas{background:#071b2f;height:560px;border:1px solid #21364b;position:relative;overflow:hidden}.preview-canvas svg{width:100%;height:100%}.preview-side{font-size:12px}.preview-side .metric{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px solid #e7eaee}.login{min-height:100vh;display:grid;place-items:center;background:#eef2f6}.loginbox{width:min(420px,92vw);background:#fff;border:1px solid var(--border);padding:26px}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.topbar{height:62px}.quick-card{margin:8px}.content{padding:4px 8px 10px}.grid2,.grid3,.home-grid,.preview-wrap{grid-template-columns:1fr}.material-row{flex-wrap:wrap}.material-select{width:100%}.material-info{width:100%;margin-left:0}}.est-table tr.selected-row td{box-shadow:inset 0 0 0 9999px rgba(34,94,150,.055)}.est-table tr.drag-target td{border-top:2px solid var(--orange)}.est-table tr.assembly td{background:#eef3f8}.est-table tr.child td{font-weight:400}.est-table tr.child td.part-desc{padding-left:30px}.child-label{font-weight:400;color:#405366}.assembly-label{font-weight:800;color:var(--navy)}.editable-display{display:inline-block;min-width:55px;min-height:18px;border-bottom:1px dotted #aab5c0}.cell-input.editing,.cell-select.editing{border:1px solid var(--orange);background:#fff;outline:none}.est-table tr.open td{background:#fde8e7!important}.est-table tr.open td:first-child{box-shadow:inset 4px 0 0 #d84d43}.measure-toolbar{display:flex;align-items:center;padding:8px 0 12px;font-size:12px}.tool-check{display:inline-flex;align-items:center;gap:4px;padding:5px 7px;border:1px solid var(--border);border-radius:5px;background:#fff}.tool-sep{margin-left:5px;font-weight:700;color:var(--navy)}.measure-line{stroke:#ffb347;stroke-width:1.5}.measure-line.active{stroke-dasharray:5 4}.measure-point{fill:#ffb347;stroke:#081b2e;stroke-width:.6}.measure-text{fill:#ffd28a;font-size:7px;font-weight:700;paint-order:stroke;stroke:#071b2f;stroke-width:1.5px;stroke-linejoin:round}.snap-point{fill:#49d17d;stroke:#071b2f;stroke-width:.7}.snap-text{fill:#76e59b;font-size:6px;font-weight:700}.context-menu{min-width:185px;background:#fff;border:1px solid #bcc8d4;border-radius:6px;box-shadow:0 10px 30px rgba(0,0,0,.22);padding:5px}.context-menu button{display:block;width:100%;border:0;background:#fff;text-align:left;padding:7px 10px;border-radius:4px;font:inherit;color:#183652;cursor:pointer}.context-menu button:hover{background:#edf4fa}.context-sep{height:1px;background:#dbe3ea;margin:4px 3px}.est-table tr.child td.part-desc{padding-left:22px}.est-table tr.assembly td{font-weight:700}.preview-canvas svg{cursor:crosshair}.measure-toolbar{flex-wrap:wrap;gap:7px}.preview-side .metric{font-size:13px}.est-table th[draggable=true]{cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.est-table th[draggable=true]:active{cursor:-webkit-grabbing;cursor:grabbing}.est-table th.col-dragging{opacity:.45;background:#f6e2cf}.quote-panel{padding:0 10px 14px}.quote-toolbar{display:flex;gap:12px;align-items:end;padding:12px;background:#f8fafc;border:1px solid #dfe6ee;border-radius:5px 5px 0 0}.inline-field{display:flex;gap:8px;align-items:center}.inline-field label{font-weight:700;white-space:nowrap}.inline-field .select{min-width:210px}.quote-customer{margin-left:12px;margin-right:auto;padding-bottom:7px}.quote-table .quote-markup{width:90px;text-align:right}.quote-summary{margin:16px 0 0 auto;width:390px;border:1px solid #d9e0e8;background:#fff}.quote-summary>div{display:flex;justify-content:space-between;padding:8px 12px;border-bottom:1px solid #e6ebf0}.quote-summary>div:last-child{border-bottom:0}.quote-summary .quote-grand{background:#102b52;color:#fff;font-size:15px}.manager-page{padding:2px 0 18px}.manager-head{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid #dfe6ee;padding:14px 16px;margin-bottom:10px}.manager-head h2{margin:0 0 3px;color:#16395f}.manager-head p{margin:0;color:#67768a}.task-list-page{max-width:1500px;margin:0 auto}.task-list-table{height:calc(100vh - 300px);min-height:360px;margin:0}.task-list-table .est-table td{height:38px}.task-list-table .est-table [data-col-key=task_name]{min-width:240px}.task-list-table .est-table [data-col-key=progress_note]{min-width:320px}.task-list-table .est-table [data-col-key=assignee]{min-width:180px}.task-list-table .est-table [data-col-key=category]{min-width:155px}.task-list-table .cell-input.editing,.task-list-table .cell-select.editing{border:0!important;border-bottom:1px solid transparent!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.task-list-table .cell-input.editing:focus,.task-list-table .cell-select.editing:focus{border-bottom-color:#3f6098!important;background:#fff!important}.task-custom-columns{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:9px 2px;color:#67768a;font-size:10px}.task-column-modal{width:min(520px,94vw)}.task-category-filter{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:0 0 10px}.task-category-filter button{border:1px solid #d7e0e9;background:#fff;border-radius:18px;padding:6px 10px;font-size:10px;color:#3d526b;cursor:pointer;display:flex;gap:7px;align-items:center}.task-category-filter button b{background:#edf2f7;border-radius:11px;padding:1px 6px;font-size:9px}.task-category-filter button.active{background:#102b52;color:#fff;border-color:#102b52}.task-category-filter button.active b{background:hsla(0,0%,100%,.16)}.task-category-add{display:grid;grid-template-columns:1fr auto;grid-gap:8px;gap:8px}.task-category-manager{display:flex;flex-direction:column;gap:6px;margin-top:12px}.task-category-manager>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 9px;border:1px solid #e0e6ec;border-radius:5px}.task-category-manager span{font-weight:700;color:#29445f}.task-category-manager small{color:#7d8995}.task-column-filter-row th{padding:3px!important;background:#eef3f7!important;height:31px!important}.task-column-filter-row input,.task-column-filter-row select{width:100%;height:24px;min-width:0;border:1px solid #c8d3df;border-radius:2px;background:#fff;color:#28425e;font-size:9px;padding:2px 5px;outline:none}.task-column-filter-row input:focus,.task-column-filter-row select:focus{border-color:#3f6098;box-shadow:0 0 0 1px #3f6098}.task-column-filter-row button{width:23px;height:23px;border:1px solid #c8d3df;background:#fff;color:#8c2e25;border-radius:2px;cursor:pointer;font-weight:800}.task-column-filter-row button:disabled{opacity:.35;cursor:default}.task-category-rename{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;grid-gap:7px;gap:7px;align-items:end;padding:9px;margin:10px 0;background:#f5f8fb;border:1px solid #dce4ec;border-radius:6px}.task-category-rename .field{margin:0}.task-list-table .est-table [data-col-key=serial_no]{width:68px;min-width:68px;text-align:center}.task-list-table .est-table [data-col-key=priority]{min-width:105px}.task-list-table .est-table [data-col-key=status]{min-width:120px}.task-list-table .est-table [data-col-key=completed]{width:82px;min-width:82px;text-align:center}.task-complete-cell,.task-serial-cell{text-align:center!important}.task-row-draggable{cursor:-webkit-grab;cursor:grab}.task-row-draggable:active{cursor:-webkit-grabbing;cursor:grabbing}.task-row-draggable button,.task-row-draggable input,.task-row-draggable select{cursor:auto}.task-cell-display{min-height:28px;padding:7px 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#31475f}.task-cell-display:hover{background:#f5f8fb}.task-drop-before{box-shadow:inset 0 3px 0 #e56a1a}.task-drop-after{box-shadow:inset 0 -3px 0 #e56a1a}.task-row-completed td{background:#f2f7f2}.task-row-completed .cell-input,.task-row-completed .task-cell-display{color:#708070}.task-status-yet-to-start{color:#6b7785!important}.task-status-in-progress{color:#b75b00!important;font-weight:700!important}.task-status-completed{color:#2f7d43!important;font-weight:700!important}.task-priority-urgent{color:#b3261e!important;font-weight:800!important}.task-priority-high{color:#d05a00!important;font-weight:700!important}.task-priority-normal{color:#294d75!important}.task-priority-low{color:#5f6f7f!important}.manager-grid{display:grid;grid-template-columns:360px 1fr;grid-gap:12px;gap:12px;align-items:start}.manager-detail,.manager-list{background:#fff;border:1px solid #dfe6ee;min-height:400px}.manager-list .est-table{min-width:100%}.manager-list tr{cursor:pointer}.manager-detail{padding:12px}.empty-state{padding:50px;text-align:center;color:#718096}.job-title-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}.job-title-row h3{margin:0 0 3px;font-size:18px;color:#16395f}.job-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.job-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));grid-gap:8px;gap:8px;margin:10px 0}.inventory-tabs{margin-top:0}.manager-page textarea.input{width:100%;resize:vertical}@media(max-width:1050px){.manager-grid{grid-template-columns:1fr}.job-meta-grid{grid-template-columns:1fr 1fr}}.kpi-strip{display:grid;grid-template-columns:220px 220px minmax(300px,1fr);grid-gap:10px;gap:10px;margin:0 0 12px}.mini-kpi{background:#fff;border:1px solid #dfe6ee;padding:12px 14px;min-height:78px}.mini-kpi span{display:block;font-size:11px;color:#67768a;text-transform:uppercase}.mini-kpi b{display:block;font-size:20px;color:#16395f;margin-top:5px}.mini-kpi small{color:#77869a}.mini-kpi.warn{border-color:#e59a46;background:#fff8ed}.stock-low{background:#fff0e8!important}.stock-low input{font-weight:700;color:#a33b00}.dashboard-page{padding-bottom:20px}.dashboard-canvas{position:relative;min-width:1240px;background-image:linear-gradient(#eef2f6 1px,transparent 0),linear-gradient(90deg,#eef2f6 1px,transparent 0);background-size:20px 20px;border:1px solid #e1e7ee;overflow:hidden}.dash-widget{position:absolute;background:#fff;border:1px solid #cfd9e4;border-radius:5px;box-shadow:0 1px 4px rgba(16,43,82,.07);min-width:220px;min-height:100px}.dash-widget-head{height:34px;padding:8px 10px;background:#f5f8fb;border-bottom:1px solid #dfe6ee;display:flex;justify-content:space-between;align-items:center;cursor:move;color:#16395f;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dash-widget-body{padding:12px;height:calc(100% - 34px);overflow:auto}.big-kpi{font-size:27px;font-weight:800;color:#16395f;margin:5px 0 8px}.bars{display:flex;flex-direction:column;gap:9px}.bar-row{display:grid;grid-template-columns:92px 1fr 72px;grid-gap:8px;gap:8px;align-items:center;font-size:10px}.bar-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-track{height:12px;background:#edf1f5;border-radius:3px;overflow:hidden}.bar-fill{height:100%;background:#e56a00}.bar-row b{text-align:right}.low-list>div{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid #edf0f3;font-size:10px}.low-list b{color:#a33b00}.good-note{color:#16734a}@media(max-width:1050px){.kpi-strip{grid-template-columns:1fr}.dashboard-canvas{min-width:1100px}}.dashboard-hero{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;margin-bottom:12px;border-radius:8px;background:linear-gradient(110deg,#102b52,#274d7f 72%,#3f6098);color:#fff;box-shadow:0 8px 24px rgba(16,43,82,.15)}.dashboard-hero h2{margin:2px 0 4px;font-size:25px}.dashboard-hero p{margin:0;color:#d9e5f3}.dashboard-eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:800;color:#f6b64b}.dashboard-controls{display:flex;gap:8px;align-items:center}.dashboard-controls .select{background:#fff}.view-chip{padding:7px 10px;border:1px solid hsla(0,0%,100%,.35);border-radius:16px;font-size:10px;background:hsla(0,0%,100%,.1)}.dashboard-canvas{border-radius:7px;background-color:#f5f7fa;background-image:linear-gradient(rgba(16,43,82,.045) 1px,transparent 0),linear-gradient(90deg,rgba(16,43,82,.045) 1px,transparent 0)}.dash-widget{border:1px solid #d4dee9;box-shadow:0 5px 16px rgba(16,43,82,.09);border-radius:8px;transition:box-shadow .15s}.dash-widget:hover{box-shadow:0 7px 22px rgba(16,43,82,.15)}.dash-widget-head{background:linear-gradient(180deg,#183a62,#102b52);color:#fff;border:0}.dash-widget-head span{color:#f6b64b}.dash-widget.kpi-orange{border-top:4px solid #ff7a32}.dash-widget.kpi-gold{border-top:4px solid #f6b64b}.dash-widget.kpi-blue{border-top:4px solid #3f6098}.dash-widget.kpi-navy{border-top:4px solid #102b52}.dash-widget.kpi-coral{border-top:4px solid #f45e43}.dash-widget.kpi-orange .big-kpi{color:#d95d18}.dash-widget.kpi-gold .big-kpi{color:#b87900}.dash-widget.kpi-blue .big-kpi{color:#3f6098}.dash-widget.kpi-coral .big-kpi{color:#d84b33}.bar-fill{background:linear-gradient(90deg,#3f6098,#ff7a32)}.dashboard-menu{min-width:230px}.dash-view-group{border-bottom:1px solid #edf0f4;padding-bottom:3px;margin-bottom:3px}.job-part-list{display:flex;flex-direction:column;gap:10px;max-height:520px;overflow:auto;padding-right:4px}.job-part-card{border:1px solid #d8e1eb;border-left:4px solid #3f6098;border-radius:6px;background:#fff;padding:10px}.job-part-card.assembly-card{border-left-color:#ff7a32;background:#fffaf5}.job-part-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;color:#102b52}.job-part-title span{font-size:9px;background:#eef3f8;padding:3px 6px;border-radius:10px;font-weight:800}.job-part-fields{display:grid;grid-template-columns:180px minmax(260px,1fr) 80px minmax(180px,.7fr);grid-gap:8px;gap:8px}.routing-head{display:flex;justify-content:space-between;align-items:center;margin:9px 0 5px;border-top:1px solid #edf0f4;padding-top:8px;color:#102b52}.routing-lines{display:flex;flex-direction:column;gap:6px}.routing-line{display:grid;grid-template-columns:190px 150px 145px 145px 78px;grid-gap:7px;gap:7px;background:#f7f9fb;border:1px solid #e6ebf0;padding:7px;border-radius:4px}.routing-line .compact label{font-size:9px}@media(max-width:1200px){.routing-line{grid-template-columns:1fr 1fr 1fr}.job-part-fields{grid-template-columns:1fr 1fr}}.dash-widget{transition:left .12s ease,top .12s ease,width .08s ease,height .08s ease;resize:both;overflow:auto}.widget-x{border:0;background:transparent;color:#fff;font-size:16px;line-height:1;cursor:pointer;opacity:.7;margin-right:6px}.widget-x:hover{opacity:1;color:#ff7a32}.analysis-kpis,.tracker-kpis{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));grid-gap:10px;gap:10px;margin:0 0 12px}.analysis-kpis>div,.tracker-kpis>div{background:#fff;border:1px solid #d8e1eb;border-top:4px solid #3f6098;border-radius:6px;padding:12px}.analysis-kpis span,.tracker-kpis span{display:block;color:#6b7788;font-size:10px;text-transform:uppercase}.analysis-kpis b,.tracker-kpis b{font-size:22px;color:#102b52;display:block;margin-top:5px}.analysis-kpis .profit-good{border-top-color:#2f9e68}.analysis-kpis .profit-good b{color:#208457}.analysis-kpis .profit-bad{border-top-color:#f45e43}.analysis-kpis .profit-bad b{color:#c33e2b}.job-overdue td{background:#fff0ec!important;color:#9b2c1c}.analysis-table{width:100%;border-collapse:collapse;background:#fff}.analysis-table td,.analysis-table th{padding:9px;border:1px solid #dde4eb;text-align:left}.analysis-table th{width:45%;background:#f5f8fb;color:#102b52}.material-usage-row{display:flex;gap:10px;margin:9px 0;padding:8px;background:#eef4f9;border-radius:5px}.material-usage-row .field{min-width:210px}.routing-line-v17{grid-template-columns:180px 145px 130px 130px 145px 76px}.hardware-line{display:grid;grid-template-columns:1fr 120px;grid-gap:8px;gap:8px;margin-top:6px}@media(max-width:1200px){.analysis-kpis,.tracker-kpis{grid-template-columns:1fr 1fr}.routing-line-v17{grid-template-columns:1fr 1fr 1fr}.material-usage-row{flex-wrap:wrap}}.batch-filter{display:flex;gap:8px;margin:0 0 12px}.batch-kpis{grid-template-columns:repeat(6,minmax(150px,1fr))}.job-list-tools{display:grid;grid-template-columns:1fr 165px;grid-gap:6px;gap:6px;padding:8px;border-bottom:1px solid #e2e8ef}.job-part-fields{align-items:end}.job-part-fields .field{display:flex;flex-direction:column;justify-content:flex-end}.job-part-fields .input{height:34px}.routing-line{align-items:end}.routing-line>.input,.routing-line>.select{height:34px}.assembly-member-tools{display:flex;gap:10px;align-items:center;margin:8px 0;padding:7px;background:#fff5e9;border:1px solid #f1c58d;border-radius:4px}.assembly-member-tools span{font-size:10px;color:#74501f}.quote-toolbar .inline-field .input{height:34px}.dashboard-canvas-clean{background:#f7f8fa!important;background-image:none!important;border:1px solid #e4e8ed!important}.dash-widget-v19{background:#fff;border-radius:9px;box-shadow:0 6px 18px rgba(16,43,82,.09);transition:left .16s ease,top .16s ease,box-shadow .16s ease;resize:both;overflow:auto}.dash-widget-v19:hover{box-shadow:0 9px 24px rgba(16,43,82,.14)}.dash-widget-v19 .dash-widget-head{background:#fff;color:#102b52;border-bottom:1px solid #e8edf2;height:36px}.dash-widget-v19 .dash-widget-head span{display:flex;align-items:center;gap:4px}.widget-edit{border:0;background:transparent;color:#3f6098;font-size:14px;cursor:pointer}.dash-widget-v19 .widget-x{color:#687280}.dash-widget-v19 .widget-x:hover{color:#f45e43}.svg-chart{height:100%;min-height:150px;display:flex;flex-direction:column}.svg-chart svg{width:100%;flex:1 1;min-height:120px}.chart-labels{display:flex;justify-content:space-between;font-size:8px;color:#687280;gap:4px}.empty-chart{justify-content:center;color:#8894a3}.empty-chart,.pie-wrap{display:flex;height:100%;align-items:center}.pie-wrap{gap:18px}.pie{width:125px;height:125px;border-radius:50%;flex:0 0 auto}.pie-legend{display:flex;flex-direction:column;gap:7px;font-size:10px}.pie-legend div{display:flex;align-items:center;gap:6px}.pie-legend i{width:10px;height:10px;border-radius:2px;display:inline-block}.pie-legend b{margin-left:auto}.action-dropdown{position:relative}.action-dropdown>summary{list-style:none;border:1px solid #cfd8e3;background:#fff;padding:7px 10px;border-radius:4px;font-size:11px;font-weight:700;color:#16395f;cursor:pointer}.action-dropdown>summary::-webkit-details-marker{display:none}.action-dropdown[open]>summary{background:#eef4f9}.action-dropdown-menu{position:absolute;left:0;top:35px;z-index:1400;min-width:220px;background:#fff;border:1px solid #cfd8e3;border-radius:5px;box-shadow:0 8px 24px rgba(16,43,82,.16);padding:5px;display:flex;flex-direction:column;gap:2px}.action-dropdown-menu button{border:0;background:#fff;text-align:left;padding:7px 8px;border-radius:3px;cursor:pointer;font-size:11px}.action-dropdown-menu button:hover{background:#eef4f9}.action-dropdown-menu .primary-item{color:#d95d18;font-weight:800}.action-dropdown-menu .danger-item{color:#b63627}.action-dropdown-menu select{width:100%;padding:6px;border:1px solid #d4dde7}.menu-label{font-size:9px;text-transform:uppercase;color:#687280;padding:3px 6px}.routing-line-v19{display:grid;grid-template-columns:180px 150px 135px 135px 145px 78px;grid-gap:8px;gap:8px;align-items:end}.routing-line-v19 .route-field{display:flex;flex-direction:column;justify-content:flex-end}.routing-line-v19 .route-field label{height:15px;line-height:15px;margin:0 0 3px;font-size:9px}.routing-line-v19 .input,.routing-line-v19 .select{height:34px;margin:0}.routing-line-v19 .route-remove{height:34px;align-self:end}.job-part-fields .select{height:34px}.row-actions{display:flex;gap:5px;white-space:nowrap}.help-page{max-width:1180px;margin:0 auto;background:#fff;border:1px solid #e0e6ed;border-radius:8px;padding:22px}.help-hero{display:flex;align-items:center;gap:15px;border-bottom:3px solid #ff7a32;padding-bottom:16px}.help-hero img{width:62px;height:62px}.help-hero h2{margin:0;color:#102b52}.help-hero p{margin:4px 0 0;color:#687280}.help-toc{display:flex;gap:8px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid #e7ebf0}.help-toc span{background:#f2f5f8;padding:5px 8px;border-radius:12px;font-size:10px;color:#3f6098}.help-section{padding:13px 0;border-bottom:1px solid #eef1f4}.help-section h3{color:#102b52;margin:0 0 7px}.help-section li,.help-section p{color:#4d5a68;line-height:1.55}@media(max-width:1200px){.routing-line-v19{grid-template-columns:1fr 1fr 1fr}.routing-line-v19 .route-remove{width:100%}}.column-table-wrap{position:relative}.column-global-menu{min-width:210px;max-height:420px;overflow:auto;padding:6px}.context-title{display:block;padding:5px 7px;color:#102b52}.context-check{display:flex;gap:7px;align-items:center;padding:5px 7px;font-size:10px;cursor:pointer}.context-check:hover{background:#eef4f9}.top-logout{margin-left:8px;border:1px solid #cdd6e1;background:#fff;border-radius:4px;padding:4px 7px;font-size:9px;color:#3f6098;cursor:pointer}.top-logout:hover{background:#eef4f9}.donut{width:132px;height:132px;position:relative;flex:0 0 auto}.donut,.donut-hole{border-radius:50%;display:flex;align-items:center;justify-content:center}.donut-hole{width:72px;height:72px;background:#fff;flex-direction:column;color:#102b52;box-shadow:0 0 0 1px rgba(16,43,82,.05)}.donut-hole b{font-size:20px}.donut-hole small{font-size:8px;color:#687280;text-transform:uppercase}.line-legend{display:flex;gap:12px;flex-wrap:wrap;margin-top:5px;font-size:9px}.line-legend span{display:flex;align-items:center;gap:4px}.line-legend i{width:12px;height:3px;display:inline-block}.line-config{display:grid;grid-template-columns:1fr 55px;grid-gap:8px;gap:8px;align-items:center;margin:6px 0}.color-row input[type=color],.line-config input[type=color]{width:48px;height:34px;padding:2px;border:1px solid #ccd5df;background:#fff}.color-row{display:flex;gap:8px}.inventory-view-row span,.operation-view-row span{display:inline-block;padding:6px 4px}.donut-3d{position:relative;transform:perspective(520px) rotateX(13deg);box-shadow:inset -10px -12px 20px rgba(0,0,0,.13),inset 9px 8px 16px hsla(0,0%,100%,.26),0 11px 0 #d5dae1,0 18px 24px rgba(16,43,82,.24)}.donut-3d:after{content:"";position:absolute;inset:8px;border-radius:50%;box-shadow:inset 0 3px 5px hsla(0,0%,100%,.4),0 2px 2px rgba(0,0,0,.08);pointer-events:none}.status-clean-select{border:0;background:transparent;color:#102b52;font:inherit;padding:4px 20px 4px 4px;border-radius:4px}.status-clean-select:focus,.status-clean-select:hover{background:#eef4f9;outline:1px solid #b8c8d9}.editable-display{cursor:text}.editable-display:hover{background:#f7f9fb}.editable-display span{display:inline-block;min-width:36px;padding:3px 5px}.app-notify-backdrop{position:fixed;inset:0;background:rgba(8,25,44,.28);z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px}.app-notify-card{width:min(520px,92vw);background:#fff;border:1px solid #d7e0e9;border-top:5px solid #ff7a32;border-radius:10px;box-shadow:0 24px 70px rgba(16,43,82,.28);padding:18px;display:grid;grid-template-columns:48px 1fr auto;grid-gap:14px;gap:14px;align-items:center}.app-notify-icon{width:46px;height:46px;border-radius:8px;background:#102b52;color:#ff7a32;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:16px}.app-notify-copy b{font-size:15px;color:#102b52}.app-notify-copy p{white-space:pre-wrap;margin:5px 0 0;color:#455568;line-height:1.45}.layer-list{display:flex;flex-direction:column;gap:4px;margin-top:7px;max-height:150px;overflow:auto;border:1px solid #dfe6ee;border-radius:4px;padding:6px}.layer-list label{display:grid;grid-template-columns:18px 1fr auto;grid-gap:5px;gap:5px;align-items:center;font-size:10px}.layer-list small{color:#b46c00;background:#fff1d9;padding:2px 4px;border-radius:7px}.line-editor{margin-top:8px;border:1px solid #dfe6ee;padding:7px;border-radius:5px}.line-edit-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px;margin:7px 0}.line-edit-grid label{font-size:9px;font-weight:700}.line-edit-grid .input{margin-top:2px}.help-tip{background:#fff8ed;border-left:4px solid #f6b64b;padding:8px 10px;margin:8px 0;color:#5b4a27;border-radius:3px}.help-section ol{padding-left:22px}.help-section b{color:#102b52}.dashboard-controls .input[type=date]{width:135px;background:#fff}.line-legend b{margin-left:5px;color:#102b52}.clean-job-field{display:flex;flex-direction:column;justify-content:flex-end;min-width:0}.clean-job-field label{height:15px;line-height:15px;margin:0 0 3px;font-size:9px;color:#526273}.clean-job-field span.editable-display{display:flex;align-items:center;min-height:34px;padding:6px 8px;border:1px solid transparent;border-radius:4px;background:transparent;color:#172b4d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:default}.clean-job-field span.editable-display:hover{background:#f6f8fa;border-color:#edf1f5}.clean-job-field .input,.clean-job-field .select{height:34px;margin:0;width:100%}.job-part-fields>.clean-job-field,.routing-line-v19 .clean-job-field{align-self:end}.donut-3d{filter:drop-shadow(0 10px 7px rgba(16,43,82,.22));transform:perspective(420px) rotateX(13deg)}.draggable-column{cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.draggable-column.column-dragging{opacity:.55}.draggable-column.column-drag-over{box-shadow:inset 3px 0 0 #ff7a32}.resizable-column{position:relative;padding-right:13px!important}.table-column-resize-handle{position:absolute;right:-2px;top:0;width:12px;height:100%;z-index:10;cursor:col-resize!important;border-right:2px solid transparent;background:transparent;touch-action:none}.table-column-resize-handle:hover{border-right-color:#3f6098;background:rgba(63,96,152,.1)}.column-table-wrap .est-table td,.column-table-wrap .est-table th{box-sizing:border-box;overflow:hidden}.column-table-wrap .est-table .column-sized{white-space:normal!important;overflow-wrap:anywhere;word-break:break-word;text-overflow:clip;vertical-align:middle}.column-table-wrap .est-table .column-sized>*{max-width:100%}.column-resizing,.column-resizing *{cursor:col-resize!important;-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.context-help{padding:4px 7px 7px;font-size:9px;color:#687280}.batch-toolbar,.table-batch-tools{display:flex;gap:6px;align-items:center;padding:6px 0;font-size:10px;color:#687280}.batch-row-selected{background:#eef6ff!important;outline:1px solid #a7c5e8}.status-pill{display:inline-flex;align-items:center;min-height:28px;padding:4px 8px;border-radius:13px;background:#eef3f8;color:#274d7f;font-weight:700;border:0}.dxf-modal-head{position:relative;padding-right:48px;display:flex;align-items:center;gap:12px}.dxf-modal-title{min-width:0;flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dxf-head-actions{display:flex;gap:6px;flex:0 0 auto}.dxf-close{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:30px;height:30px;border:0;border-radius:50%;background:transparent;color:#526273;font-size:18px;cursor:pointer}.dxf-close:hover{background:#edf2f7;color:#f45e43}.geometry-edit-mode,.geometry-edit-mode svg{cursor:crosshair!important}.routing-line-v19{grid-template-columns:minmax(155px,1.15fr) minmax(125px,.9fr) minmax(145px,1fr) minmax(110px,.8fr) minmax(110px,.8fr) minmax(130px,.9fr) 76px}.routing-line-v19 .program-field{min-width:145px}.donut-reference-style{align-items:center}.donut-premium{position:relative;width:168px;height:168px;border-radius:50%;box-shadow:0 8px 18px rgba(16,43,82,.14),inset 0 0 0 1px hsla(0,0%,100%,.25);flex:0 0 auto}.donut-premium:before{content:"";position:absolute;inset:34px;border-radius:50%;background:#fff;box-shadow:inset 0 3px 7px rgba(16,43,82,.1),0 1px 2px hsla(0,0%,100%,.8)}.donut-premium .donut-hole{position:absolute;inset:34px;z-index:2}.donut-reference-style .pie-legend{display:grid;grid-template-columns:1fr 1fr;grid-gap:7px 16px;gap:7px 16px}.donut-reference-style .pie-legend div{display:grid;grid-template-columns:11px 1fr auto;grid-gap:6px;gap:6px;align-items:center}.donut-reference-style .pie-legend b{font-size:9px;color:#687280}@media(max-width:1300px){.routing-line-v19{grid-template-columns:1fr 1fr 1fr}.routing-line-v19 .route-remove{width:100%}}.dxf-resizable{resize:both;overflow:auto;min-width:760px;min-height:560px;max-width:98vw;max-height:96vh}.dxf-resizable .modal-body{height:calc(100% - 54px);overflow:hidden}.dxf-resizable .preview-wrap{height:calc(100% - 52px);min-height:390px}.dxf-resizable .preview-canvas{height:100%}.undo-redo-controls{display:flex;align-items:center;gap:5px;margin-left:auto;margin-right:10px}.top-undo{border:1px solid #ccd6e1;background:#fff;color:#294d76;border-radius:4px;padding:5px 8px;font-size:10px;cursor:pointer}.top-undo:disabled{opacity:.35;cursor:default}.undo-redo-controls span{font-size:9px;color:#687280}.quote-delivery-controls{display:flex;gap:8px;align-items:end}.est-table tr.row-editing{background:#fffaf4}.rc-menu,.rc-submenu{min-width:210px;background:#fff;border:1px solid #c9d3df;border-radius:5px;box-shadow:0 10px 28px rgba(16,43,82,.18);padding:4px;font-size:11px;color:#203852}.rc-menu{-webkit-user-select:none;-moz-user-select:none;user-select:none}.rc-item,.rc-menu button{width:100%;border:0;background:transparent;text-align:left;padding:7px 9px;border-radius:3px;color:#203852;font:inherit;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px}.rc-item:hover,.rc-menu button:hover{background:#edf4fb}.rc-menu button:disabled{opacity:.36;cursor:default;background:transparent}.rc-item.rc-danger{color:#b23a2e}.rc-has-sub{position:relative}.rc-has-sub>b{font-size:16px;font-weight:500;color:#6a7888}.rc-submenu{position:absolute;left:calc(100% - 2px);top:-4px;z-index:8001;max-height:470px}.rc-nested{z-index:8002}.rc-scroll{max-height:300px;overflow:auto}.rc-sep{height:1px;background:#e3e8ee;margin:4px 3px}.rc-subtitle{padding:6px 8px 4px;color:#6d7a89;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}.rc-check{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:3px;cursor:pointer}.rc-check:hover{background:#edf4fb}.rc-check input{margin:0}.rc-view-row{display:grid;grid-template-columns:1fr 54px;grid-gap:2px;gap:2px}.rc-view-row button:last-child{text-align:center;justify-content:center;color:#3f6098}.rc-sort-row{display:grid;grid-template-columns:minmax(120px,1fr) 30px 30px;align-items:center;padding-left:8px}.rc-sort-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rc-sort-row button{justify-content:center;padding:5px}.rc-active-row{outline:1px solid #f6b64b;outline-offset:-1px}.rc-info-card{width:min(640px,92vw)}.rc-info-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:7px;gap:7px}.rc-info-grid>div{border:1px solid #e2e8ef;border-radius:5px;padding:8px;background:#fafbfd;display:flex;flex-direction:column;gap:3px}.rc-info-grid span{font-size:9px;color:#687280;text-transform:uppercase}.rc-info-grid b{font-size:11px;color:#102b52;word-break:break-word}@media(max-width:900px){.rc-submenu{left:auto;right:calc(100% - 2px)}.rc-info-grid{grid-template-columns:1fr}}.petronal-dashboard{padding-bottom:28px}.petronal-dashboard-hero{margin-bottom:14px}.petronal-dashboard-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:88px;grid-auto-flow:row dense;grid-gap:12px;gap:12px;align-items:stretch;background:#f7f8fa;border:1px solid #e1e6ec;border-radius:10px;padding:12px;min-height:620px}.petronal-widget{position:relative;min-width:0;min-height:0;background:#fff;border:1px solid #dfe5ec;border-radius:9px;box-shadow:0 2px 7px rgba(16,43,82,.06);overflow:hidden;transition:box-shadow .14s ease,transform .14s ease,border-color .14s ease;display:flex;flex-direction:column}.petronal-widget:hover{box-shadow:0 7px 18px rgba(16,43,82,.11);border-color:#ccd7e3}.petronal-widget.widget-dragging{opacity:.52;transform:scale(.985)}.petronal-widget.widget-drop-target{outline:2px solid #ff7a32;outline-offset:-2px;background:#fffaf6}.petronal-widget-head{height:38px;flex:0 0 38px;border-bottom:1px solid #edf0f3;padding:0 10px;display:flex;align-items:center;justify-content:space-between;color:#102b52;cursor:-webkit-grab;cursor:grab;background:#fff}.petronal-widget-head b{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.widget-grip{color:#98a4b2;font-size:14px;letter-spacing:-2px}.petronal-widget-body{padding:10px;flex:1 1;min-height:0;overflow:auto}.widget-resize-handle{position:absolute;right:4px;bottom:1px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;color:#9aa6b4;font-size:19px;cursor:nwse-resize;-webkit-user-select:none;-moz-user-select:none;user-select:none}.widget-resize-handle:hover{color:#ff7a32}.dashboard-rc-menu,.dashboard-rc-sub{min-width:218px;background:#fff;border:1px solid #c8d2dd;border-radius:6px;box-shadow:0 12px 30px rgba(16,43,82,.2);padding:4px;color:#203852;font-size:11px}.dash-rc-item,.dashboard-rc-menu button{width:100%;border:0;background:transparent;padding:7px 9px;text-align:left;border-radius:3px;display:flex;align-items:center;justify-content:space-between;color:inherit;font:inherit;cursor:pointer}.dash-rc-item:hover,.dashboard-rc-menu button:hover{background:#eef4f9}.dashboard-rc-menu button:disabled{opacity:.38;cursor:default}.dashboard-rc-menu .danger{color:#b6382c}.dash-rc-item.has-sub{position:relative}.dash-rc-item.has-sub>b{font-size:16px;color:#718094}.dashboard-rc-sub{position:absolute;left:calc(100% - 2px);top:-4px;z-index:9001}.dash-rc-sep{height:1px;background:#e1e7ed;margin:4px 2px}.dash-view-pair{display:grid;grid-template-columns:1fr 52px 58px;grid-gap:2px;gap:2px}.dash-view-pair button{justify-content:center;font-size:10px}.documents-page .manager-head{margin-bottom:10px}.document-category-strip{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 12px}.document-category-strip button{border:1px solid #d7e0e9;background:#fff;border-radius:18px;padding:6px 10px;font-size:10px;color:#3d526b;cursor:pointer;display:flex;gap:7px;align-items:center}.document-category-strip button b{background:#edf2f7;border-radius:11px;padding:1px 6px;font-size:9px}.document-category-strip button.active{background:#102b52;color:#fff;border-color:#102b52}.document-category-strip button.active b{background:hsla(0,0%,100%,.16)}.doc-category{display:inline-flex;padding:4px 7px;border-radius:12px;background:#eef3f8;color:#31547d;font-weight:700;font-size:9px}.doc-notes{min-height:90px!important;resize:vertical}.documents-page .est-table tbody tr{cursor:default}@media(max-width:1200px){.petronal-dashboard-grid{grid-template-columns:repeat(8,minmax(0,1fr))}.petronal-widget{grid-column:span 4!important}}@media(max-width:760px){.petronal-dashboard-grid{display:flex;flex-direction:column}.petronal-widget{min-height:180px}.dashboard-rc-sub{left:auto;right:calc(100% - 2px)}}.admin-page{max-width:1500px;margin:0 auto}.admin-layout{display:grid;grid-template-columns:240px minmax(0,1fr);grid-gap:14px;gap:14px;align-items:start}.admin-subnav{background:#fff;border:1px solid #dde4ec;border-radius:8px;padding:7px;display:flex;flex-direction:column;gap:4px}.admin-subnav button{border:0;background:transparent;border-radius:6px;padding:10px;text-align:left;color:#223d5c;cursor:pointer;display:flex;flex-direction:column;gap:3px}.admin-subnav button span{font-size:9px;color:#748292}.admin-subnav button.active,.admin-subnav button:hover:not(:disabled){background:#edf4fb}.admin-subnav button.active{box-shadow:inset 3px 0 0 #ff7a32}.admin-subnav button:disabled{opacity:.45;cursor:default}.admin-content{background:#fff;border:1px solid #dde4ec;border-radius:8px;padding:14px}.section-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.section-head h3{margin:0;color:#102b52}.section-head p{margin:3px 0 0;color:#6a7887;font-size:10px}.muted{color:#8a96a3;font-size:10px}.admin-clean-cells .cell-input.editing,.admin-clean-cells .cell-select.editing{border:0!important;border-bottom:1px solid transparent!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.admin-clean-cells .cell-input.editing:focus,.admin-clean-cells .cell-select.editing:focus{border-bottom-color:#3f6098!important;background:#fff!important}@media(max-width:900px){.admin-layout{grid-template-columns:1fr}.admin-subnav{flex-direction:row;overflow:auto}.admin-subnav button{min-width:170px}}.petronal-widget-head{touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.petronal-widget.widget-pointer-dragging{opacity:.86;box-shadow:0 18px 36px rgba(16,43,82,.22);cursor:-webkit-grabbing;cursor:grabbing;transition:none!important}.petronal-widget.widget-pointer-dragging .petronal-widget-head{cursor:-webkit-grabbing;cursor:grabbing}.axis-chart{height:100%;min-height:180px;display:flex;flex-direction:column}.axis-chart svg{width:100%;height:100%;min-height:185px;overflow:visible}.chart-gridline{stroke:#e6ebf1;stroke-width:1}.axis-line{stroke:#8e9aa8;stroke-width:1.2}.axis-tick{font-size:8px;fill:#687280}.axis-x-label{font-size:7.5px;fill:#526273}.axis-title{font-size:8px;fill:#687280;font-weight:700}.line-axis-chart .line-legend{padding:1px 5px 0;justify-content:center;flex-wrap:wrap}.donut-clean-wrap{display:flex;align-items:center;justify-content:center;gap:18px;height:100%;min-height:165px}.donut-svg-wrap{width:168px;height:168px;flex:0 0 168px}.donut-svg{width:100%;height:100%;filter:drop-shadow(0 3px 5px rgba(16,43,82,.1))}.donut-total{font-size:10px;font-weight:800;fill:#102b52}.donut-total-label{font-size:6px;fill:#7a8795}.donut-clean-legend{min-width:130px}.donut-clean-legend div{display:grid!important;grid-template-columns:10px minmax(65px,1fr) auto!important;grid-gap:6px!important;gap:6px!important}.donut-clean-legend b{margin-left:0!important}@media(max-width:1050px){.donut-clean-wrap{align-items:flex-start;flex-direction:column}.donut-svg-wrap{width:145px;height:145px;flex-basis:145px}}.nav-group{display:flex;flex-direction:column}.nav-parent{display:flex!important;align-items:center!important;justify-content:space-between!important}.nav-parent>b{font-size:15px;line-height:1;color:#9fb0c2;font-weight:500}.nav-parent.active-parent{background:hsla(0,0%,100%,.065)}.nav-submenu{display:flex;flex-direction:column;margin:1px 0 5px 10px;padding-left:8px;border-left:1px solid hsla(0,0%,100%,.12)}.nav-sub-btn{border:0;background:transparent;color:#c2cedb;text-align:left;padding:7px 8px;border-radius:4px;font-size:10px;cursor:pointer}.nav-sub-btn:hover{background:hsla(0,0%,100%,.07);color:#fff}.nav-sub-btn.active{background:rgba(255,122,50,.13);color:#fff;box-shadow:inset 2px 0 0 #ff7a32}.machine-rate-page{max-width:1450px;margin:0 auto}.machine-rate-addbar{gap:8px;background:#fff;border:1px solid #dde5ed;border-radius:8px;padding:12px;margin-bottom:12px}.machine-rate-addbar .field{min-width:290px;margin:0}.machine-rate-addbar>span{font-size:10px;color:#607083;margin-left:4px;margin-bottom:8px}.machine-rate-list{display:flex;flex-direction:column;gap:14px}.machine-rate-card{background:#fff;border:1px solid #dce4ec;border-radius:9px;overflow:hidden}.machine-rate-card-head{display:grid;grid-template-columns:minmax(230px,1fr) 220px auto;grid-gap:14px;gap:14px;align-items:center;padding:12px 14px;background:#f8fafc;border-bottom:1px solid #e3e9ef}.machine-rate-label{font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:#7b8794;margin-bottom:3px}.clean-rate-station{border:0;background:transparent;color:#102b52;font-size:15px;font-weight:800;padding:2px 20px 2px 0}.machine-rate-total{display:flex;flex-direction:column;gap:3px}.machine-rate-total span{font-size:9px;color:#687280;text-transform:uppercase}.machine-rate-total b{font-size:20px;color:#102b52}.machine-rate-table{min-width:100%}.machine-rate-table tfoot th{background:#f5f8fb;border-top:2px solid #cfd8e3;padding:8px;text-align:left;color:#102b52}.clean-rate-input{border:1px solid transparent!important;background:transparent!important}.clean-rate-input:focus,.clean-rate-input:hover{border-color:#cbd7e3!important;background:#fff!important}.rate-number{max-width:130px;text-align:right}.machine-rate-note{margin-top:14px}@media(max-width:1050px){.machine-rate-card-head{grid-template-columns:1fr 1fr}.machine-rate-card-head .row-actions{grid-column:1/-1}.machine-rate-addbar{flex-wrap:wrap}}.nav-sub-btn{font-size:12px!important;padding:9px!important;line-height:1.25}.nav-submenu{margin-left:12px!important;padding-left:9px!important}.sidebar-sortable-nav{overflow-y:auto;overflow-x:hidden;padding-bottom:8px}.sidebar-reorder-hint{font-size:9px;color:#8da5be;padding:2px 16px 7px;text-transform:uppercase;letter-spacing:.45px}.sidebar-nav-slot{position:relative;border-radius:4px}.sidebar-nav-slot.dragging{opacity:.45}.sidebar-nav-slot:hover .sidebar-drag-grip{opacity:1}.sidebar-nav-slot[draggable=true]{cursor:default}.sidebar-draggable-btn{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px}.sidebar-draggable-btn>span:first-child{min-width:0}.sidebar-drag-grip{font-style:normal;color:#829bb4;opacity:.35;font-size:14px;letter-spacing:-2px;cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex:0 0 18px;text-align:center}.sidebar-drag-grip:active{cursor:-webkit-grabbing;cursor:grabbing}.nav-parent-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}.nav-parent-actions>b{font-size:15px;line-height:1;color:#9fb0c2;font-weight:500}.machine-rate-station-name{font-size:16px;font-weight:800;color:#102b52;padding:2px 0}.machine-rate-table input[type=number]{-moz-appearance:textfield}.machine-rate-table input[type=number]::-webkit-inner-spin-button,.machine-rate-table input[type=number]::-webkit-outer-spin-button{margin:0}.sidebar-drag-grip,.sidebar-reorder-hint{display:none!important}.sidebar-nav-slot,.sidebar-sub-slot{position:relative}.sidebar-nav-slot.move-ready>.nav-btn,.sidebar-nav-slot.move-ready>.nav-group>.nav-btn,.sidebar-nav-slot.move-ready>div>.nav-btn,.sidebar-sub-slot.move-ready .nav-sub-btn{outline:1px dashed #ff7a32;outline-offset:-2px;background:rgba(255,122,50,.1)!important;cursor:-webkit-grab!important;cursor:grab!important}.sidebar-nav-slot.dragging,.sidebar-sub-slot.dragging{opacity:.48}.sidebar-move-hint{margin:2px 10px 7px;padding:7px 8px;border-radius:5px;background:rgba(255,122,50,.14);color:#ffd9c4;font-size:10px;line-height:1.35}.sidebar-rc-menu{min-width:215px;background:#fff;border:1px solid #cbd5df;border-radius:6px;box-shadow:0 12px 30px rgba(16,43,82,.24);padding:4px;color:#203852;font-size:11px}.sidebar-rc-menu button{width:100%;border:0;background:transparent;color:#203852;text-align:left;padding:8px 9px;border-radius:3px;cursor:pointer}.sidebar-rc-menu button:hover{background:#edf4fb}.sidebar-rc-title{padding:6px 9px 4px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.45px;color:#788695;max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-rc-sep{height:1px;background:#e3e8ee;margin:4px 3px}.hnex-quick-access{display:flex;align-items:center;gap:6px;padding:7px 18px;background:#f7f9fb;border-bottom:1px solid #dce3ea;min-height:42px;overflow-x:auto}.quick-access-label{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.55px;color:#738190;margin-right:3px;white-space:nowrap}.quick-access-btn{border:1px solid #cbd5df;background:#fff;color:#29445f;border-radius:5px;padding:6px 9px;font-size:10px;white-space:nowrap}.quick-access-btn:hover{background:#edf4fb}.quick-access-btn.primary{background:#ff7a32;border-color:#ff7a32;color:#fff;font-weight:800}.quick-access-btn.dragging{opacity:.45}.quick-access-configurable{position:relative}.quick-access-rc-menu{min-width:235px;max-height:min(620px,85vh);overflow:auto}.quick-access-command-list{display:grid;grid-gap:1px;gap:1px;max-height:360px;overflow:auto}.quick-access-help{padding:7px;color:#687280;font-size:9px;border-top:1px solid #e3e8ed;margin-top:3px}.sidebar-move-hint{display:flex;flex-direction:column;gap:2px}.sidebar-move-hint b{font-size:9px;letter-spacing:.6px}.sidebar-nav-slot.move-enabled>.nav-btn,.sidebar-nav-slot.move-enabled>.nav-group>.nav-btn,.sidebar-sub-slot.move-enabled .nav-sub-btn{cursor:-webkit-grab;cursor:grab}.sidebar-nav-slot.move-enabled:hover>.nav-btn,.sidebar-nav-slot.move-enabled:hover>.nav-group>.nav-btn,.sidebar-sub-slot.move-enabled:hover .nav-sub-btn{outline:1px dashed rgba(255,122,50,.7);outline-offset:-2px}.sidebar-drag-ghost{position:fixed;left:-1000px;top:-1000px;background:#102b52;color:#fff;border:1px solid #ff7a32;border-radius:5px;padding:7px 11px;font:600 11px Segoe UI,Arial,sans-serif;box-shadow:0 8px 20px rgba(0,0,0,.22);white-space:nowrap;pointer-events:none;z-index:99999}.nav-submenu.move-scope-active{background:rgba(255,122,50,.04);border-left-color:rgba(255,122,50,.65)!important}.dashboard-color-sub{min-width:235px}.dash-color-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:6px 8px;border-radius:3px;font-size:10px}.dash-color-row:hover{background:#eef4f9}.dash-color-row input[type=color]{width:38px;height:24px;padding:0;border:1px solid #c8d2dd;border-radius:4px;background:#fff;cursor:pointer}.dash-rc-note{padding:7px 8px;font-size:9px;line-height:1.35;color:#6d7a88;max-width:220px}.job-meta-grid-v121{grid-template-columns:minmax(240px,1.5fr) repeat(4,minmax(130px,1fr))!important}.part-drawing-row{display:flex;align-items:center;gap:7px;padding:8px 10px;margin:7px 0;background:#f8fafc;border:1px solid #e0e7ee;border-radius:6px}.part-drawing-info{display:flex;align-items:center;gap:8px;min-width:0;flex:1 1}.part-drawing-info>span{font-size:9px;text-transform:uppercase;color:#6f7c8a;font-weight:800}.part-drawing-info>b{font-size:10px;color:#102b52;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.part-drawing-info .muted{color:#8b97a4;font-weight:500}.drawing-upload-btn{position:relative;overflow:hidden;white-space:nowrap}.drawing-upload-btn input{position:absolute;inset:0;opacity:0;cursor:pointer}.link-btn{border:0;background:transparent;color:#3f6098;font-weight:700;font-size:10px;cursor:pointer;padding:2px 4px}.link-btn:hover{text-decoration:underline}.job-register-clickable{cursor:pointer}.job-register-clickable:hover td{background:#f1f6fb}.job-register-v121 td:last-child{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.job-analysis-filter{display:flex;gap:10px;align-items:end;flex-wrap:wrap;background:#fff;border:1px solid #dce4ec;border-radius:8px;padding:12px;margin-bottom:12px}.job-analysis-filter .field{margin:0;min-width:180px}.job-analysis-job-select{min-width:380px!important;flex:1 1}.analysis-period-readout{font-size:11px;color:#58697c;padding:0 4px 8px}.job-analysis-kpis{grid-template-columns:repeat(6,minmax(120px,1fr))}.job-analysis-clickable{cursor:pointer}.job-analysis-clickable:hover td{background:#f1f6fb}.analysis-cost-breakdown{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;margin-top:12px}.analysis-cost-breakdown>div{background:#fff;border:1px solid #dfe6ee;border-radius:6px;padding:10px;display:flex;justify-content:space-between;align-items:center}.analysis-cost-breakdown span{font-size:10px;color:#687280}.analysis-cost-breakdown b{font-size:13px;color:#102b52}@media(max-width:1250px){.job-meta-grid-v121{grid-template-columns:1fr 1fr!important}.job-analysis-kpis{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.analysis-cost-breakdown,.job-analysis-kpis,.job-meta-grid-v121{grid-template-columns:1fr!important}.job-analysis-job-select{min-width:100%!important}}.machine-rate-import{position:relative;overflow:hidden}.machine-rate-import input{position:absolute;inset:0;opacity:0;cursor:pointer}.machine-rate-save-note{margin-bottom:10px}.admin-register .section-head{align-items:flex-end}.backup-admin{min-width:0}.backup-actions-grid{display:grid;grid-template-columns:1fr 1.25fr;grid-gap:12px;gap:12px;margin-bottom:16px}.backup-card{border:1px solid #dce4ec;border-radius:8px;background:#f9fbfd;padding:13px}.backup-card h4,.restore-zone h4{margin:0 0 5px;color:#102b52}.backup-card p,.restore-zone p{margin:0 0 10px;color:#687280;font-size:10px;line-height:1.45}.backup-setting-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:7px}.backup-setting-row label{font-size:10px;font-weight:700;color:#29445f;display:flex;gap:6px;align-items:center}.backup-setting-row .select{width:150px}.backup-card small{font-size:9px;color:#788594}.restore-zone{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:15px;padding:13px;border:1px solid #f0c7c2;border-radius:8px;background:#fff9f8}.restore-zone>div:first-child{max-width:670px}.restore-file-btn{position:relative;overflow:hidden}.restore-file-btn input{position:absolute;inset:0;opacity:0;cursor:pointer}.backup-admin .section-title{margin-top:8px}.admin-content{min-width:0}.admin-register .table-wrap{max-height:68vh}@media(max-width:1100px){.backup-actions-grid{grid-template-columns:1fr}.admin-register .section-head,.restore-zone{align-items:flex-start;flex-direction:column}.admin-register .section-head .row-actions{width:100%;flex-wrap:wrap}}.operations-stations-modal .compact-section-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:0 0 8px}.operations-stations-modal .compact-section-head h3{margin:0;color:#102b52}.operations-stations-modal .compact-section-head p{margin:2px 0 0;color:#6d7b88;font-size:10px}.cost-settings-sections{display:flex;flex-direction:column;gap:13px}.cost-settings-section{border:1px solid #dce4ec;border-radius:8px;background:#fff;overflow:hidden}.cost-settings-section-head{padding:10px 12px;background:#f7f9fb;border-bottom:1px solid #e2e8ef}.cost-settings-section-head h3{margin:0;color:#102b52;font-size:13px}.cost-settings-section-head p{margin:3px 0 0;color:#6e7b88;font-size:9.5px}.cost-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));grid-gap:10px;gap:10px;padding:12px}.input-with-unit{display:flex;align-items:center;border:1px solid #cfd8e2;border-radius:5px;background:#fff;overflow:hidden}.input-with-unit .input{border:0!important;border-radius:0;flex:1 1}.input-with-unit span{padding:0 9px;font-size:9px;color:#687280;border-left:1px solid #e1e6ec;white-space:nowrap}.machine-rate-commercial{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));grid-gap:9px;gap:9px;align-items:stretch}.machine-rate-metric,.machine-rate-quote-field,.machine-rate-total{border:1px solid #dce4ec;border-radius:6px;background:#fff;padding:7px 9px}.machine-rate-commercial span{font-size:8px;color:#687280;text-transform:uppercase;letter-spacing:.25px}.machine-rate-quote-field{display:flex;flex-direction:column;gap:4px}.machine-rate-quote-field .input{height:30px;font-weight:800}.machine-rate-metric{display:flex;flex-direction:column;justify-content:center;gap:3px}.machine-rate-metric b{font-size:15px;color:#102b52}.machine-rate-metric.positive b{color:#236b43}.machine-rate-metric.negative b{color:#a9433a}.machine-rate-card-head{grid-template-columns:minmax(170px,.7fr) minmax(540px,2.4fr) auto}.job-dispatch-section{margin-top:12px;padding:10px;border:1px solid #dce4ec;border-radius:7px;background:#f9fbfd}.job-dispatch-section .section-title{margin-top:0}.dispatch-fields{display:grid;grid-template-columns:180px minmax(280px,1fr) minmax(280px,1fr);grid-gap:9px;gap:9px}.dispatch-address{min-width:0}.routing-line-v19{grid-template-columns:minmax(145px,1fr) minmax(115px,.8fr) minmax(130px,.95fr) minmax(190px,1.35fr) minmax(105px,.75fr) minmax(130px,.9fr) minmax(125px,.9fr) minmax(120px,.85fr) 72px}.operation-scan-status{align-self:end;min-height:52px;border:1px solid #dce4ec;border-radius:6px;background:#f7f9fb;padding:6px 8px;display:flex;flex-direction:column;justify-content:center;gap:1px}.operation-scan-status label{font-size:8px!important;text-transform:uppercase;color:#687280;margin:0!important;height:auto!important}.operation-scan-status b{font-size:11px;color:#586575}.operation-scan-status small{display:block;font-size:7.5px;color:#687280}.operation-scan-status.active{border-color:#f0a15f;background:#fff7ed}.operation-scan-status.active b{color:#a64b00}.operation-scan-status.complete{border-color:#8cc9a5;background:#effaf3}.operation-scan-status.complete b{color:#236b43}.csv-import-btn{position:relative;overflow:hidden}.csv-import-btn input{position:absolute;inset:0;opacity:0;cursor:pointer}@media(max-width:1350px){.machine-rate-card-head{grid-template-columns:1fr}.machine-rate-commercial{grid-template-columns:repeat(4,1fr)}.machine-rate-card-head .row-actions{justify-content:flex-start}.routing-line-v19{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.cost-settings-grid,.machine-rate-commercial{grid-template-columns:1fr 1fr}.dispatch-fields{grid-template-columns:1fr}}@media(max-width:600px){.cost-settings-grid,.machine-rate-commercial{grid-template-columns:1fr}}.operations-stations-modal .operations-clean-table{border-collapse:collapse;border:0!important;box-shadow:none!important}.operations-stations-modal .operations-clean-table td,.operations-stations-modal .operations-clean-table th{border-left:0!important;border-right:0!important;border-top:0!important}.operations-stations-modal .operations-clean-table tbody tr:last-child td{border-bottom:0!important}.operations-stations-modal .operations-clean-table td{background:transparent}.operations-stations-modal .operations-clean-table tr:hover td{background:#f7f9fb}.operations-stations-modal .operations-clean-table .cell-input,.operations-stations-modal .operations-clean-table .cell-select{border:1px solid #cfd8e2!important;background:#fff}.machine-rate-commercial{grid-template-columns:minmax(145px,1fr) minmax(150px,1fr) minmax(160px,1fr) minmax(145px,.9fr) minmax(105px,.72fr) minmax(120px,.8fr)}.machine-rate-operation-link,.machine-rate-set-field{border:1px solid #dce4ec;border-radius:6px;background:#fff;padding:7px 9px;display:flex;flex-direction:column;justify-content:center;gap:3px}.machine-rate-operation-link>span,.machine-rate-set-field>span{font-size:8px;color:#687280;text-transform:uppercase;letter-spacing:.25px}.machine-rate-operation-link b,.machine-rate-set-field b{font-size:15px;color:#102b52}.machine-rate-set-field small{font-size:8px;color:#7a8794}.machine-rate-set-field{cursor:text}.machine-rate-quoted-field .input{height:30px;font-weight:800;color:#102b52}.machine-rate-quoted-field{cursor:default}.barcode-ready-status{margin-left:12px;display:flex;align-items:center;gap:6px;color:#236b43;font-size:9px;font-weight:800;white-space:nowrap}.barcode-ready-status span{width:7px;height:7px;border-radius:50%;background:#2fa866;box-shadow:0 0 0 3px #e4f6eb}.last-scan-cell b,.last-scan-cell small{display:block}.last-scan-cell small{margin-top:2px;color:#687280;font-size:9px}.job-last-scan{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;grid-gap:10px;gap:10px;margin:8px 0;padding:8px 10px;border:1px solid #b9d9c5;border-radius:6px;background:#f1faf4;color:#236b43}.job-last-scan span{font-size:9px;text-transform:uppercase;font-weight:800}.job-last-scan strong{color:#343b40}.job-last-scan small{color:#687280}.machine-rate-cost-warning{margin-bottom:10px}@media(max-width:1250px){.machine-rate-commercial{grid-template-columns:repeat(3,1fr)}}@media(max-width:850px){.machine-rate-commercial{grid-template-columns:1fr 1fr}}@media(max-width:580px){.machine-rate-commercial{grid-template-columns:1fr}}.operation-cost-grid{display:grid;grid-template-columns:repeat(2,minmax(320px,1fr));grid-gap:8px;gap:8px;padding:12px}.operation-cost-row{display:grid;grid-template-columns:minmax(160px,1fr) 180px;grid-gap:10px;gap:10px;align-items:center;padding:8px 9px;border:1px solid #e2e8ef;border-radius:6px;background:#fff}.operation-cost-row>div:first-child{display:flex;flex-direction:column;gap:2px}.operation-cost-row b{font-size:10px;color:#102b52}.operation-cost-row small{font-size:8.5px;color:#7b8793}.operations-stations-modal .operations-clean-table .drag-col{width:44px}.operations-stations-modal .operations-clean-table tr{transition:background .12s ease}.operations-stations-modal .operations-clean-table tr.row-dragging td{opacity:.55;background:#eef3f8}.operations-stations-modal .operations-clean-table .drag-handle{cursor:-webkit-grab;cursor:grab}.operations-stations-modal .operations-clean-table .drag-handle:active{cursor:-webkit-grabbing;cursor:grabbing}.machine-rate-addbar{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.machine-rate-addbar .field{min-width:210px}.machine-rate-card{transition:box-shadow .15s ease}.machine-rate-card-head{position:relative}.machine-rate-card .row-actions{flex-wrap:wrap}.quote-operation-table td,.quote-operation-table th{vertical-align:middle}.quote-operation-table .cell-input,.quote-operation-table .cell-select{min-width:120px}@media(max-width:900px){.operation-cost-grid,.operation-cost-row{grid-template-columns:1fr}}.sidebar-direct-drag .sidebar-nav-slot,.sidebar-direct-drag .sidebar-sub-slot{cursor:-webkit-grab;cursor:grab}.sidebar-direct-drag .sidebar-nav-slot:active,.sidebar-direct-drag .sidebar-sub-slot:active{cursor:-webkit-grabbing;cursor:grabbing}.sidebar-direct-drag .dragging{opacity:.5}.operations-stations-modal .operations-clean-table tbody tr{cursor:-webkit-grab;cursor:grab}.operations-stations-modal .operations-clean-table tbody tr:active{cursor:-webkit-grabbing;cursor:grabbing}.machine-rate-head-actions{margin-left:auto;position:relative;padding-right:38px}.machine-rate-chevron{position:absolute;right:0;top:50%;transform:translateY(-50%);width:30px;height:30px;border:0;background:transparent;border-radius:50%;font-size:20px;line-height:1;color:#36536f;cursor:pointer}.machine-rate-chevron:hover{background:#eef3f8;color:#102b52}.register-open-link{border:0;background:transparent;padding:0;color:#245a91;font:inherit;font-weight:800;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.register-open-link:hover{color:#102b52}.backup-health-ok{margin-bottom:10px;border-color:#b9dcc8;background:#f4fbf7}.reports-page .report-tabs{margin-bottom:12px}.reports-page .report-section{background:#fff;border:1px solid #dce4ec;border-radius:8px;padding:12px}.reports-page .report-section h3{margin:6px 0 9px;color:#102b52}.report-kpis{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr));grid-gap:9px;gap:9px;margin-bottom:14px}.report-kpis>div{border:1px solid #dce4ec;border-radius:7px;padding:10px;background:#f8fafc;display:flex;flex-direction:column;gap:3px}.report-kpis span{font-size:8px;text-transform:uppercase;color:#687280}.report-kpis b{font-size:17px;color:#102b52}.report-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:10px}.report-toolbar label{font-size:10px;font-weight:800;color:#29445f}.report-toolbar .select{width:220px}@media(max-width:900px){.report-kpis{grid-template-columns:1fr}.reports-page .manager-head{align-items:flex-start;flex-direction:column}.reports-page .manager-head>.row-actions{flex-wrap:wrap}}.manager-detail-full{width:100%;min-width:0}.manager-detail-full>.empty-state{min-height:240px;display:flex;align-items:center;justify-content:center}.estimator-total-row td{border-top:2px solid #9eabb9!important;font-weight:700;color:#102b52;white-space:nowrap}.estimator-total-row td,.quote-table tfoot td{background:#f3f6f9!important}.bending-rules-grid{align-items:start}.bending-rule-section .compact-section-head{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-bottom:7px}.bending-rule-section .compact-section-head small{font-size:8.5px;color:#758391}@media(max-width:900px){.bending-rules-grid{grid-template-columns:1fr!important}}.quote-table .quote-child-row td{background:#f8fafc;color:#647384;font-size:9.5px}.quote-table .quote-child-row td:first-child{padding-left:18px}.quote-table .quote-child-row:hover td{background:#f3f6f9}.bending-rules-grid .bending-rule-section{border:0!important;background:transparent!important;box-shadow:none!important}.bending-rules-grid .est-table{border:0!important;border-collapse:collapse!important;box-shadow:none!important}.bending-rules-grid .est-table th{background:#f7f9fb}.bending-rules-grid .est-table td,.bending-rules-grid .est-table th{border-left:0!important;border-right:0!important;border-top:0!important}.bending-rules-grid .est-table td{background:transparent}.bending-rules-grid .est-table tr:last-child td{border-bottom:0!important}.bending-rules-grid .cell-input.editing{border:0!important;border-bottom:1px solid transparent!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding-left:2px}.bending-rules-grid .cell-input.editing:focus{border-bottom-color:#3f6098!important;background:#fff!important}.bending-rules-grid .btn.danger{padding:4px 7px}.nesting-page .nest-controls{display:flex;align-items:end;gap:10px;flex-wrap:wrap;background:#fff;border:1px solid #dce4ec;border-radius:8px;padding:12px;margin-bottom:10px}.nesting-page .nest-controls .field{min-width:260px;margin:0}.nesting-page .nest-controls .field.small{min-width:110px;max-width:130px}.nest-check{display:flex;align-items:center;gap:6px;padding:0 4px 9px;font-size:10px;font-weight:700;color:#29445f}.nest-summary{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));grid-gap:9px;gap:9px;margin:10px 0}.nest-summary>div{background:#fff;border:1px solid #dce4ec;border-radius:7px;padding:10px;display:flex;flex-direction:column;gap:3px}.nest-summary span{font-size:8px;text-transform:uppercase;color:#687280}.nest-summary b{font-size:14px;color:#102b52}.nest-sheet-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.nest-workspace{background:#edf1f5;border:1px solid #cfd9e4;border-radius:8px;padding:12px;min-height:520px;display:flex;align-items:center;justify-content:center;overflow:auto}.nest-svg{width:100%;max-width:1200px;max-height:680px;background:#fff;box-shadow:0 2px 8px rgba(16,43,82,.12)}.nest-sheet-bg{fill:#fff;stroke:#102b52;stroke-width:4}.nest-part,.nest-sheet-bg{vector-effect:non-scaling-stroke}.nest-part{fill:#eef4fa;stroke:#3f6098;stroke-width:2}.nest-part.oversize{fill:#fff0ee;stroke:#d84b3e}.nest-label{font-size:24px}.nest-actions{display:flex;gap:8px;justify-content:flex-end;margin:10px 0}@media(max-width:900px){.nest-summary{grid-template-columns:1fr 1fr}.nesting-page .nest-controls .field{min-width:100%}}@media(max-width:560px){.nest-summary{grid-template-columns:1fr}}.nest-geometry{fill:rgba(63,96,152,.07);stroke:#3f6098;stroke-width:1.8;vector-effect:non-scaling-stroke}.nest-geometry.oversize{stroke:#d84b3e;fill:rgba(216,75,62,.07)}.nest-small-label circle{fill:#102b52;stroke:#fff;stroke-width:1;vector-effect:non-scaling-stroke}.nest-small-label text{fill:#fff}.nest-label,.nest-small-label text{font-weight:800;pointer-events:none}.nest-label{fill:#102b52;paint-order:stroke;stroke:#fff;stroke-width:2px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.nest-label-legend{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:8px 0 0;padding:8px 10px;border:1px solid #dce4ec;border-radius:7px;background:#fff;font-size:9px}.nest-label-legend>b{color:#102b52;margin-right:3px}.nest-label-legend span{display:flex;align-items:center;gap:4px;color:#42576d}.nest-label-legend em{font-style:normal;background:#102b52;color:#fff;border-radius:50%;min-width:18px;height:18px;padding:0 4px;display:inline-flex;align-items:center;justify-content:center;font-weight:800}.nest-part-group{cursor:-webkit-grab;cursor:grab}.nest-part-group.active,.nest-part-group:active{cursor:-webkit-grabbing;cursor:grabbing}.nest-part-group.active .nest-geometry{stroke:#ff7a32;stroke-width:2.6}.nest-svg.dragging-part{cursor:-webkit-grabbing;cursor:grabbing;touch-action:none}.nest-svg{touch-action:none}.nest-manual-hint{padding:8px 10px;margin:6px 0;background:#eef5fb;border:1px solid #c9dceb;border-radius:6px;color:#38546e;font-size:10px}.nest-message{padding:7px 10px;margin:6px 0;background:#fff7e8;border:1px solid #efd4a5;border-radius:6px;color:#805615;font-size:10px}.nest-commercial-card{display:grid;grid-template-columns:minmax(170px,1fr) minmax(190px,1fr) minmax(210px,1fr) auto;grid-gap:10px;gap:10px;align-items:stretch;background:#fff;border:1px solid #d3dde7;border-radius:8px;padding:10px 12px;margin:10px 0}.nest-commercial-card>div:not(.row-actions){display:flex;flex-direction:column;justify-content:center;gap:3px}.nest-commercial-card span{font-size:8px;text-transform:uppercase;letter-spacing:.25px;color:#687280}.nest-commercial-card b{font-size:16px;color:#102b52}.nest-commercial-card small{font-size:8.5px;color:#73818e}.nest-charge-edit .input{width:110px;font-size:15px;font-weight:800;color:#102b52}.nest-commercial-card>.row-actions{align-items:center;justify-content:flex-end;flex-wrap:wrap}@media(max-width:1100px){.nest-commercial-card{grid-template-columns:1fr 1fr}.nest-commercial-card>.row-actions{justify-content:flex-start}}@media(max-width:650px){.nest-commercial-card{grid-template-columns:1fr}}.nest-strategy-label{font-size:9px;font-weight:800;color:#607386;text-transform:uppercase;letter-spacing:.35px;align-self:center}.nest-strategy-select{min-width:145px}.nest-part-group.selected .nest-geometry{stroke:#ff7a32!important;stroke-width:3!important;fill:rgba(255,122,50,.1)}.nest-part-group.selected .nest-label{fill:#0c2c50}.nest-part-group.selected .nest-small-label circle{fill:#ff7a32}.nest-rc-menu{min-width:205px}.nest-rc-menu .rc-item,.nest-rc-menu>button{white-space:nowrap}.nest-rc-menu .rc-danger{color:#b42318!important}.nest-rc-menu button:disabled{opacity:.42;cursor:not-allowed}.nest-rc-menu .rc-has-sub{position:relative}.nest-rc-menu .rc-has-sub>.rc-submenu{display:none;position:absolute;left:100%;top:-5px;min-width:155px}.nest-rc-menu .rc-has-sub:hover>.rc-submenu{display:block}.nesting-recalc-hint{margin-left:12px;color:#8a641f;font-weight:700;font-size:10px}.nest-head-actions{flex-wrap:wrap;align-items:center}.nesting-page .nest-controls{row-gap:12px;column-gap:14px}.nest-rotation-control{display:flex;align-items:flex-end;min-width:175px;flex:0 0 auto}.nest-rotation-control .nest-check{margin:0;padding:8px 10px;min-height:35px;border:1px solid #cfd9e4;border-radius:5px;background:#fff;white-space:nowrap;display:flex;align-items:center;gap:7px}.nest-view-toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:7px 0 8px;padding:7px 9px;background:#fff;border:1px solid #d6e0e9;border-radius:6px}.nest-view-toolbar .btn{min-width:36px}.nest-view-toolbar>span{min-width:48px;text-align:center;font-weight:800;color:#102b52;font-size:10px}.nest-view-toolbar small{margin-left:4px;color:#758391;font-size:8.5px}.nest-workspace.pan-mode{cursor:-webkit-grab;cursor:grab}.nest-svg.panning,.nest-svg.panning .nest-part-group,.nest-workspace.pan-mode:active{cursor:-webkit-grabbing;cursor:grabbing}.nest-workspace{position:relative}@media(max-width:900px){.nest-rotation-control{min-width:100%}.nest-head-actions{width:100%;justify-content:flex-start}}