@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/dmmono/v16/aFTU7PB1QTsUX8KYthSQBLyM.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/dmmono/v16/aFTU7PB1QTsUX8KYthqQBA.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/dmmono/v16/aFTR7PB1QTsUX8KYvumzEY2tbZX9.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/dmmono/v16/aFTR7PB1QTsUX8KYvumzEYOtbQ.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggqxSuXd.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggOxSuXd.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggSxSuXd.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggixSuXd.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggmxSuXd.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggexSg.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggqxSuXd.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggOxSuXd.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggSxSuXd.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggixSuXd.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggmxSuXd.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggexSg.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggqxSuXd.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggOxSuXd.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggSxSuXd.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggixSuXd.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggmxSuXd.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggexSg.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggqxSuXd.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggOxSuXd.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggSxSuXd.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggixSuXd.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggmxSuXd.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggexSg.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggqxSuXd.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggOxSuXd.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggSxSuXd.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggixSuXd.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggmxSuXd.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v20/xn7gYHE41ni1AdIRggexSg.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.app-shell{min-height:100vh}.topbar{height:68px;padding:0 34px;display:flex;align-items:center;justify-content:space-between;background:var(--forest);color:#fff}.brand-lockup{display:inline-flex;align-items:center;gap:11px;color:inherit;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:0;text-decoration:none}.brand-mark{width:30px;height:30px;display:grid;place-items:center;background:var(--lime);color:var(--forest);font-size:10px;font-weight:500}.topbar-context,.rail-label,.rail-bottom,.eyebrow,.section-meta,.detail-kicker,.axis-unit,.gantt-foot,.field-label>span,.login-footnote{font-family:var(--mono);letter-spacing:0}.topbar-context{display:flex;align-items:center;gap:9px;color:#b9c9c1;font-size:10px}.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 3px #d9ed7526}.account-menu{display:flex;align-items:center;gap:18px}.account-name{color:#d5e0da;font-size:12px}.workspace{display:grid;grid-template-columns:218px minmax(0,1fr);min-height:calc(100vh - 68px)}.rail{display:flex;flex-direction:column;min-height:calc(100vh - 68px);padding:34px 18px 21px;background:#e9ece5;border-right:1px solid #dce2da}.rail-label,.eyebrow,.section-meta,.detail-kicker{margin:0;color:#7a867f;font-size:9px;line-height:1.5}.rail-label{padding:0 12px}.main-nav{display:grid;gap:5px;margin-top:15px}.main-nav a{min-height:45px;padding:0 11px;display:grid;grid-template-columns:23px 1fr auto;align-items:center;gap:6px;color:#52615a;text-align:left;text-decoration:none;font-size:12px}.main-nav a:hover{background:#fff9}.main-nav a.active{background:#fff;color:var(--forest);box-shadow:inset 2px 0 var(--coral)}.nav-index,.nav-count{color:#8d9992;font-family:var(--mono);font-size:9px}.nav-count{text-align:right}.rail-bottom{display:flex;flex-direction:column;gap:19px;margin-top:auto;color:#78847e;font-size:9px;line-height:1.8}.rail-status{display:flex;align-items:center;gap:8px;color:var(--forest-soft)}.rail-status .live-dot{width:6px;height:6px;background:#6eaa77;box-shadow:none}.rail-bottom p{margin:0}.main-content{width:100%;max-width:1580px;padding:34px 42px 56px;margin:0 auto}.page-heading{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:25px}.page-heading h1{margin:5px 0 0;color:var(--forest);font-size:29px;font-weight:600;line-height:1.2}.heading-actions{display:flex;align-items:center;gap:10px}.button{min-height:38px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid transparent;border-radius:3px;cursor:pointer;font-size:11px;font-weight:700;white-space:nowrap;transition:background .16s,border-color .16s,transform .16s}.button:disabled{opacity:.5;cursor:not-allowed}.button:not(:disabled):active{transform:translateY(1px)}.button-primary{background:var(--forest);color:#fff}.button-primary:hover:not(:disabled){background:#285347}.button-secondary{background:#fff;border-color:var(--line);color:var(--forest)}.button-secondary:hover:not(:disabled){border-color:#9eafa5}.button-quiet{min-height:32px;padding:0 9px;background:transparent;color:inherit}.button-quiet:hover{background:#ffffff1f}.button-small{min-height:32px;padding:0 10px;font-size:10px}.search-field{width:205px;height:38px;padding:0 10px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;color:#84918a}.search-field>span{font-size:18px;line-height:1}.search-field input{width:100%;min-width:0;border:0;outline:0;color:var(--ink);font-size:11px}.search-field input::placeholder{color:#98a39d}.message{min-height:42px;padding:10px 12px;display:flex;justify-content:space-between;align-items:center;gap:15px;margin:-8px 0 17px;border:1px solid;font-size:11px}.message button{border:0;background:transparent;cursor:pointer;font-size:10px;text-decoration:underline}.message-error{border-color:#e8c5bd;background:#fff5f2;color:#843e31}.message-success{border-color:#c9d9bc;background:#f5f8ed;color:#365e40}.section-meta{min-height:37px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);font-size:9px}.table-section,.solver-panel,.results-panel,.gantt-section,.jobs-list-panel,.job-detail-panel{background:#fff}.table-section{padding:0 19px}.data-table{width:100%}.table-head{min-height:37px;display:grid;align-items:center;color:#7b8781;font-family:var(--mono);font-size:9px}.table-row{min-height:65px;display:grid;align-items:center;border-top:1px solid #edf0eb}.machine-columns{grid-template-columns:minmax(180px,1.8fr) minmax(110px,.8fr) minmax(135px,1fr) 130px;gap:12px}.table-row:first-of-type{border-top:0}.entity-cell{display:flex;flex-direction:column;gap:3px}.entity-code{color:var(--forest);font-family:var(--mono);font-size:11px}.entity-cell strong{color:#7a867f;font-size:10px;font-weight:500}.state-label{display:inline-flex;align-items:center;gap:7px;color:#477852;font-size:10px}.state-label i{width:6px;height:6px;border-radius:50%;background:#6eaa77}.state-label.state-inactive{color:#a26c3d}.state-label.state-inactive i{background:#d5a14e}.muted-cell{color:#7f8a84;font-size:10px}.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:11px}.text-button{padding:5px 0;border:0;background:transparent;color:#3b7666;cursor:pointer;font-size:10px;font-weight:700;white-space:nowrap}.text-button:hover{color:var(--forest);text-decoration:underline}.text-button.text-danger,.danger-quiet{color:#a35144}.empty-table,.empty-list{min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:25px;text-align:center}.empty-table strong,.empty-list strong{color:var(--forest);font-size:12px}.empty-table p,.empty-list p{max-width:280px;margin:0;color:#87938c;font-size:10px;line-height:1.7}.empty-glyph{width:34px;height:34px;display:grid;place-items:center;margin-bottom:3px;background:#eef2e8;color:var(--forest);font-family:var(--mono);font-size:10px}.jobs-layout{display:grid;grid-template-columns:minmax(230px,.72fr) minmax(0,1.85fr);align-items:stretch;gap:15px}.jobs-list-panel{display:flex;flex-direction:column;min-height:510px;padding:0 15px}.job-list{flex:1}.job-list-item{width:100%;min-height:63px;padding:0 9px;display:grid;grid-template-columns:9px minmax(0,1fr) 34px;align-items:center;gap:10px;border:0;border-bottom:1px solid #edf0eb;background:transparent;text-align:left;cursor:pointer}.job-list-item:hover{background:#f8f9f5}.job-list-item.selected{background:#f1f5ed;box-shadow:inset 2px 0 var(--coral)}.job-color-dot{width:8px;height:8px;flex:0 0 8px;border-radius:50%}.job-list-main{min-width:0;display:flex;flex-direction:column;gap:4px}.job-list-main strong,.job-check strong{color:var(--forest);font-family:var(--mono);font-size:10px;font-weight:500}.job-list-main small{overflow:hidden;color:#87918b;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.job-op-count{display:flex;flex-direction:column;align-items:flex-end;color:var(--forest);font-family:var(--mono);font-size:12px}.job-op-count small{color:#99a39d;font-size:8px}.list-foot{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--line);color:#89948e;font-family:var(--mono);font-size:8px}.legend-indicator{display:inline-flex;align-items:center;gap:5px;color:#56795b}.legend-indicator i{width:5px;height:5px;border-radius:50%;background:#73a67a}.job-detail-panel{min-width:0;padding:0 21px 20px}.detail-heading{min-height:81px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}.detail-title h2{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin:4px 0 0;color:var(--forest);font-size:16px;font-weight:700}.detail-title h2 span{color:#75817b;font-size:11px;font-weight:500}.detail-actions{display:flex;align-items:center;gap:7px}.detail-actions .button{min-height:31px;font-size:10px}.operation-heading{min-height:74px;display:flex;justify-content:space-between;align-items:center;gap:10px}.operation-heading-actions{display:flex;align-items:center;gap:6px}.operation-heading h3{margin:3px 0 0;color:var(--forest);font-size:13px;font-weight:700}.subtle-count{margin-left:4px;color:#94a099;font-family:var(--mono);font-size:10px;font-weight:400}.operation-columns{grid-template-columns:43px minmax(130px,1.4fr) minmax(80px,.7fr) 62px 110px;gap:7px}.operation-table .table-head{border-bottom:1px solid var(--line)}.operation-table .table-row{min-height:62px}.step-number{color:#89958e;font-family:var(--mono);font-size:11px}.operation-resource{min-width:0;display:flex;flex-direction:column;gap:4px}.operation-resource strong{overflow:hidden;color:var(--forest);font-size:10px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.operation-resource small,.duration-value small{color:#96a19b;font-family:var(--mono);font-size:8px}.duration-value{color:var(--ink);font-family:var(--mono);font-size:11px}.order-buttons{display:flex;gap:2px}.order-buttons button,.close-button{width:25px;height:25px;display:grid;place-items:center;border:1px solid var(--line);background:#fff;cursor:pointer}.order-buttons button:hover:not(:disabled),.close-button:hover{background:#eef2e8}.order-buttons button:disabled{color:#c4ccc6;cursor:not-allowed}.operation-table .row-actions{gap:9px}.empty-operations{min-height:174px}.job-validation{min-height:63px;padding:11px 12px;display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:15px;background:#fff4ea;color:#895d3c}.validation-ready{background:#f2f6e9;color:#4d6e4c}.validation-mark{width:20px;height:20px;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;font-size:10px}.job-validation strong{font-size:10px}.job-validation p{margin:3px 0 0;color:#78857c;font-size:9px}.detail-empty{min-height:485px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:20px 9%}.detail-empty .empty-glyph{width:44px;height:44px;margin-bottom:27px;background:var(--lime);font-size:12px}.detail-empty h2{margin:10px 0;color:var(--forest);font-size:25px;font-weight:600;line-height:1.2}.detail-empty>p:not(.eyebrow){max-width:310px;margin:0 0 18px;color:#7f8b84;font-size:11px;line-height:1.7}.optimization-layout{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(290px,1fr);gap:15px;align-items:stretch}.solver-panel,.results-panel{min-width:0}.solver-panel .section-meta,.results-panel .section-meta{padding:0 17px}.solver-body{padding:19px 18px 17px}.solver-intro{display:flex;align-items:flex-start;gap:12px;margin-bottom:20px}.solver-index{width:26px;height:26px;display:grid;flex:0 0 26px;place-items:center;background:var(--lime);color:var(--forest);font-family:var(--mono);font-size:9px}.solver-intro h2{margin:1px 0 3px;color:var(--forest);font-size:15px}.solver-intro p{margin:0;color:#819087;font-size:10px}.field-label{display:flex;flex-direction:column;gap:7px;color:#76827c;font-family:var(--mono);font-size:9px}.field-label>span{margin-left:auto;color:#9aa59f;font-size:8px}.field-label input,.field-label select{width:100%;height:38px;padding:0 10px;border:1px solid var(--line);border-radius:0;background:#fff;color:var(--ink);font-family:var(--sans);font-size:11px}.field-label input[type=number]{font-family:var(--mono)}.selection-heading{display:flex;align-items:center;justify-content:space-between;margin:20px 0 8px;color:var(--forest);font-size:10px}.job-checklist{max-height:220px;overflow-y:auto;border-top:1px solid #edf0eb}.job-check{min-height:48px;display:grid;grid-template-columns:14px 8px minmax(0,1fr) auto;align-items:center;gap:8px;border-bottom:1px solid #edf0eb;cursor:pointer}.job-check input{width:13px;height:13px;margin:0;accent-color:var(--forest)}.job-check>span:nth-of-type(2){min-width:0;display:flex;flex-direction:column;gap:3px}.job-check small{overflow:hidden;color:#89948e;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.job-check>i{color:#5d8a61;font-family:var(--mono);font-size:8px;font-style:normal}.job-check-invalid>i{color:#b2753f}.solve-button{width:100%;min-height:42px;justify-content:space-between;margin-top:15px;padding:0 13px}.solver-footnote{margin:9px 0 0;color:#929d96;font-size:9px;line-height:1.6}.run-history{padding:0 14px}.run-item{width:100%;min-height:60px;display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:9px;border:0;border-bottom:1px solid #edf0eb;background:#fff;text-align:left;cursor:pointer}.run-item:hover,.run-selected{background:#f5f7f1}.run-id{color:#718078;font-family:var(--mono);font-size:10px}.run-info{min-width:0;display:flex;flex-direction:column;gap:4px}.run-info strong{color:var(--forest);font-size:10px;font-weight:600}.run-info small{color:#89948e;font-size:9px}.status-pill{width:max-content;max-width:100%;padding:4px 7px;background:#edf0eb;color:#65716b;font-family:var(--mono);font-size:8px;line-height:1;text-transform:uppercase}.status-good{background:#eaf2dc;color:#4d7149}.status-error{background:#fae9e4;color:#994b3d}.history-empty{min-height:170px}.gantt-section{margin-top:15px;padding:0 20px 15px}.gantt-heading{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line)}.gantt-heading h2{margin:3px 0 0;color:var(--forest);font-size:14px}.gantt-summary{display:flex;align-items:center;gap:14px}.makespan-value{display:flex;align-items:baseline;gap:6px;color:var(--forest);font-family:var(--mono);font-size:16px}.makespan-value small{color:#87938c;font-size:8px}.gantt-legend{min-height:40px;display:flex;flex-wrap:wrap;align-items:center;gap:13px}.gantt-legend .section-meta{min-height:auto;border:0}.legend-job{display:inline-flex;align-items:center;gap:6px;color:#68766e;font-family:var(--mono);font-size:9px}.legend-job i{width:8px;height:8px;border-radius:2px}.gantt-scroll{overflow-x:auto;padding-bottom:3px}.gantt-chart{min-width:720px}.gantt-axis,.gantt-row{display:grid;grid-template-columns:148px minmax(0,1fr)}.gantt-axis{min-height:39px;align-items:end}.machine-label-spacer{padding-bottom:9px;color:#8b9790;font-family:var(--mono);font-size:8px}.axis-track{position:relative;height:34px;border-bottom:1px solid var(--line)}.axis-unit{position:absolute;left:0;top:0;color:#a0aaa4;font-size:7px}.axis-tick{position:absolute;bottom:3px;color:#78857e;font-family:var(--mono);font-size:8px;transform:translate(-50%)}.axis-tick:first-of-type{transform:none}.axis-tick i{position:absolute;top:12px;left:50%;height:8px;border-left:1px solid #dce1db}.gantt-row{min-height:54px;align-items:stretch}.machine-label{display:flex;flex-direction:column;justify-content:center;gap:3px;border-bottom:1px solid #edf0eb}.machine-label strong{color:var(--forest);font-family:var(--mono);font-size:9px;font-weight:500}.machine-label span{overflow:hidden;color:#89958e;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.gantt-lane{position:relative;min-height:54px;border-bottom:1px solid #edf0eb;background-color:#fbfcf9;background-image:linear-gradient(90deg,transparent calc(100% - 1px),#edf0eb calc(100% - 1px));background-size:20% 100%}.lane-inactive{background-color:#f4f5f2}.lane-guide{position:absolute;z-index:0;top:0;bottom:0;border-left:1px dashed #e3e7e1;pointer-events:none}.gantt-block{position:absolute;z-index:1;top:9px;min-width:3px;height:36px;padding:0 7px;display:flex;flex-direction:column;justify-content:center;overflow:hidden;border:0;border-radius:2px;color:#fff;text-align:left;cursor:help}.gantt-block:hover,.gantt-block:focus-visible{filter:brightness(.92)}.gantt-block strong{overflow:hidden;font-size:9px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.gantt-block small{overflow:hidden;font-family:var(--mono);font-size:7px;opacity:.88;text-overflow:ellipsis;white-space:nowrap}.gantt-foot{min-height:28px;display:flex;align-items:end;justify-content:space-between;gap:12px;color:#9aa59e;font-size:7px}.chart-state{min-height:190px;display:flex;align-items:center;gap:14px;padding:20px 8%;border-bottom:1px solid #edf0eb}.chart-state strong{color:var(--forest);font-size:12px}.chart-state p{margin:5px 0 0;color:#849087;font-size:10px;line-height:1.6}.elapsed-label{margin-left:auto;color:#98a39d;font-family:var(--mono);font-size:8px}.working-spinner{width:22px;height:22px;flex:0 0 22px;border:2px solid #e6ebdf;border-top-color:#508570;border-radius:50%;animation:spin 1s linear infinite}.chart-state-empty{min-height:210px}.state-symbol{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;background:#f0f2ed;color:#78877f;font-family:var(--mono)}@keyframes spin{to{transform:rotate(360deg)}}.modal-backdrop{position:fixed;z-index:10;inset:0;display:grid;place-items:center;overflow-y:auto;padding:20px;background:#1427207a;animation:veil-in .15s ease-out}.edit-dialog{width:min(100%,430px);padding:20px 22px 18px;background:#fff;box-shadow:0 18px 70px #0c1f1833;animation:dialog-in .18s ease-out}.dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.dialog-heading h2{margin:4px 0 0;color:var(--forest);font-size:18px}.dialog-error{padding:9px 10px;margin:-6px 0 14px;border:1px solid #e8c5bd;background:#fff5f2;color:#843e31;font-size:10px;line-height:1.5}.close-button{width:29px;height:29px;color:#748179;font-size:18px}.edit-dialog form{display:grid;gap:15px}.edit-dialog .field-label{gap:6px}.toggle-field{display:flex;align-items:center;gap:9px;cursor:pointer}.toggle-field input{width:14px;height:14px;accent-color:var(--forest)}.toggle-field span{display:flex;flex-direction:column;gap:3px}.toggle-field strong{color:var(--forest);font-size:10px}.toggle-field small,.form-note{margin:0;color:#8b9690;font-size:9px}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:5px}.dialog-actions .button-quiet{border:1px solid var(--line);color:#6f7b74}@keyframes veil-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.auth-state{min-height:100vh;padding:28px;display:grid;place-items:center;background:var(--forest);color:#fff}.auth-state-panel{width:min(100%,460px)}.auth-state-panel .brand-lockup{margin-bottom:58px}.auth-state-panel .eyebrow{color:#b4c7bd}.auth-state-panel h1{margin:12px 0;color:#fff;font-size:30px;font-weight:600;line-height:1.2}.auth-state-message{color:#c2d0c9;font-size:12px;line-height:1.7}.auth-state-panel .button{margin-top:12px}.auth-pending{min-height:100vh;display:grid;place-items:center;color:var(--muted);font-family:var(--mono);font-size:12px}@media(max-width:1080px){.main-content{padding-inline:24px}.workspace{grid-template-columns:184px minmax(0,1fr)}.jobs-layout{grid-template-columns:minmax(205px,.7fr) minmax(0,1.55fr);gap:10px}.job-detail-panel{padding-inline:15px}.operation-columns{grid-template-columns:34px minmax(110px,1.2fr) minmax(66px,.6fr) 55px 100px}}@media(max-width:820px){.workspace{display:block}.rail{min-height:0;padding:0 15px;border-right:0;border-bottom:1px solid var(--line)}.rail-label,.rail-bottom{display:none}.main-nav{display:flex;gap:4px;margin:0;overflow-x:auto}.main-nav a{min-width:112px;min-height:43px;grid-template-columns:20px 1fr auto}.main-content{padding:25px 20px 40px}.jobs-layout,.optimization-layout{grid-template-columns:1fr}.jobs-list-panel{min-height:auto}.job-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.job-list-item{border-right:1px solid #edf0eb}.list-foot{padding-inline:5px}.detail-empty{min-height:340px}.optimization-layout{gap:10px}.results-panel{min-height:180px}.gantt-section{padding-inline:15px}}@media(max-width:560px){.topbar{height:58px;padding-inline:14px}.topbar-context{display:none}.account-menu{gap:6px}.account-name{max-width:105px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.account-menu .button{min-height:29px;font-size:10px}.main-content{padding:21px 12px 32px}.page-heading{align-items:flex-start;flex-direction:column;margin-bottom:17px}.page-heading h1{font-size:25px}.heading-actions{width:100%}.search-field{flex:1;min-width:0}.heading-actions>.button{min-width:max-content}.machine-columns{grid-template-columns:minmax(100px,1.25fr) minmax(68px,.7fr) 80px;gap:7px}.machine-columns>:nth-child(3){display:none}.machine-columns>:nth-child(4){grid-column:3;grid-row:1}.machine-table .table-head{font-size:8px}.table-section{padding-inline:11px}.row-actions{gap:8px}.job-list{grid-template-columns:1fr}.jobs-list-panel{padding-inline:10px}.job-detail-panel{padding:0 11px 13px}.detail-heading{min-height:78px}.detail-title h2{font-size:13px}.detail-actions{gap:2px}.detail-actions .button{padding-inline:7px}.operation-columns{grid-template-columns:27px minmax(86px,1fr) 52px 47px;gap:4px}.operation-columns>:nth-child(5){display:none}.operation-table .table-head{font-size:7px}.operation-table .row-actions{display:none}.operation-resource strong,.duration-value{font-size:9px}.order-buttons button{width:21px;height:23px}.job-validation{grid-template-columns:22px minmax(0,1fr)}.job-validation .text-button{grid-column:2;justify-self:start}.solver-body{padding-inline:13px}.gantt-section{padding-inline:11px}.gantt-heading{min-height:67px}.gantt-summary{gap:7px}.gantt-summary .status-pill{font-size:7px}.makespan-value{flex-direction:column;gap:2px;font-size:13px}.gantt-foot{flex-wrap:wrap;font-size:6px}}:root{color-scheme:light;--paper: #f2f3ee;--white: #fff;--ink: #192923;--forest: #18372e;--forest-soft: #24483c;--muted: #78847e;--line: #dce1db;--lime: #d9ed75;--coral: #d5664e;--red: #a84335;--mono: "DM Mono", "Courier New", monospace;--sans: "Manrope", "Avenir Next", sans-serif}*{box-sizing:border-box}app-root{display:block;min-height:100vh}html,body{min-width:320px;min-height:100%;margin:0}body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px}button,input,select{font:inherit}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #4e8f7a;outline-offset:3px}::selection{background:var(--lime);color:var(--ink)}
