@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600&display=swap";:root{color:#222927;font-synthesis:none;letter-spacing:0;background:#f7f9f8;font-family:IBM Plex Sans,Arial,sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,summary{touch-action:manipulation}button,.button{min-height:34px;color:inherit;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #d5deda;border-radius:5px;justify-content:center;align-items:center;gap:6px;padding:6px 10px;display:inline-flex}button:hover,.button:hover{background:#eff6f2}button:disabled{opacity:.4;cursor:not-allowed}input,select,textarea{color:#222927;background:#fff;border:1px solid #ced7d2;border-radius:4px;min-width:0;padding:8px 10px}textarea{resize:vertical;width:100%;line-height:1.6}input:focus,select:focus,textarea:focus{outline-offset:1px;outline:2px solid #91cfb7}label{flex-direction:column;gap:7px;margin:10px 0;display:flex}label.check{white-space:nowrap;flex-direction:row;align-items:center;gap:6px;margin:0}.primary{color:#fff;background:#176448;border-color:#176448}.primary:hover{background:#114d37}.app{grid-template-columns:238px minmax(0,1fr);min-height:100vh;display:grid}.app.with-assistant{grid-template-columns:210px minmax(0,1fr) 340px}.app.with-assistant:has(.dataset-assistant.collapsed){grid-template-columns:210px minmax(0,1fr) 64px}.dataset-assistant{background:#fff;border-left:1px solid #dbe2de;flex-direction:column;min-width:0;height:100vh;display:flex;position:sticky;top:0}.dataset-assistant>header{border-bottom:1px solid #e2e8e5;justify-content:space-between;align-items:start;gap:8px;padding:18px 14px;display:flex}.dataset-assistant small{overflow-wrap:anywhere;color:#65736d;font-size:12px;display:block}.dataset-assistant.collapsed strong{display:none}.dataset-assistant.collapsed>header{padding:14px}.assistant-messages{flex:1;min-height:0;padding:14px;overflow:auto}.assistant-message{border-bottom:1px solid #e8ece9;padding:12px 0}.assistant-message.user{background:#f5f8f6;padding:12px 10px}.assistant-message small{justify-content:space-between;gap:8px;display:flex}.assistant-message p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}.dataset-assistant form{border-top:1px solid #e2e8e5;padding:12px}.dataset-assistant form .actions{justify-content:flex-end;margin-top:8px}.dataset-assistant textarea{max-height:180px}.factory-workspace{min-width:0}.factory-summary{border-block:1px solid #dce4df;flex-wrap:wrap;gap:12px 18px;padding:16px 0;display:flex}.run-reason{color:#6e6754;overflow-wrap:anywhere;font-size:12px}.queue-table table{table-layout:fixed;width:100%;min-width:640px}.queue-table th:first-child{width:30%}.queue-table th:nth-child(2){width:22%}.queue-table th:nth-child(3){width:20%}.queue-table th:nth-child(4){width:12%}.queue-table th:nth-child(5){width:16%}.queue-table td{vertical-align:top;overflow-wrap:anywhere;white-space:normal}.queue-table td p{white-space:pre-wrap;max-height:150px;margin:8px 0;overflow:auto}.queue-table td a{margin-top:8px;font-size:12px;display:block}.queue-table pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:220px;font-size:11px;overflow:auto}.queue-table .actions{flex-wrap:wrap;gap:4px}.queue-table .actions button{padding:5px}.queue-edit{width:650px;max-width:90vw}.queue-events{max-height:540px;overflow:auto}.queue-events pre{white-space:pre-wrap;overflow-wrap:anywhere}aside{background:#fff;border-right:1px solid #dbe2de;flex-direction:column;gap:20px;height:100vh;padding:26px 18px;display:flex;position:sticky;top:0;overflow:auto}.brand{font-size:25px;font-weight:600;line-height:1.3}.brand span{color:#64776e;margin-top:3px;font-size:10px;display:block}.brand:before{content:"";vertical-align:baseline;background:#2f8766;width:10px;height:19px;margin-right:9px;display:inline-block}nav{flex-direction:column;gap:5px;display:flex}nav button{background:0 0;border:0;justify-content:flex-start;min-height:41px;padding:11px}.active{color:#155b42!important;background:#e8f3ed!important}.dataset-nav{border-top:1px solid #e3e9e5;flex-direction:column;gap:5px;padding-top:18px;display:flex}.dataset-nav button{white-space:normal;overflow-wrap:anywhere;text-align:left;background:0 0;border:0;justify-content:flex-start;font-size:12px}.dataset-nav .selected{background:#edf2ef}.dataset-nav svg{flex-shrink:0}.dataset-nav button span{overflow-wrap:anywhere;min-width:0}.version-note{border-top:1px solid #e3e9e5;border-bottom:1px solid #e3e9e5;align-items:flex-start;gap:14px;margin-bottom:18px;padding:12px 0;display:flex}.version-note-label{color:#697970;flex:0 0 72px;font-size:12px;line-height:24px}.version-note>p{white-space:pre-wrap;overflow-wrap:anywhere;flex:1;min-width:0;max-height:144px;margin:0;font-size:13px;line-height:24px;overflow:auto}.version-note>button{flex:0 0 34px;width:34px;height:34px;padding:0}.version-note form{flex:1;min-width:0}.version-note textarea{resize:vertical;width:100%;min-height:84px;max-height:240px}.version-note .actions{justify-content:flex-end;margin-top:8px}.version-note .actions button{width:34px;height:34px;padding:0}.source-version-note{color:#697970;white-space:pre-wrap;overflow-wrap:anywhere;max-height:100px;font-size:12px;overflow:auto}.account{justify-content:space-between;align-items:center;margin-top:auto;font-size:13px;display:flex}small{color:#697970;overflow-wrap:anywhere;margin-top:5px;font-size:11px;display:block}.account button{border:0}main{min-width:0;padding:28px 32px}header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;display:flex}.crumb{color:#697970;overflow-wrap:anywhere;margin-bottom:8px;font-size:11px}h1{margin:0;font-size:25px;font-weight:500}h2{margin:0 0 15px;font-size:17px;font-weight:500}h3{margin:24px 0 12px;font-size:14px}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.toolbar{flex-wrap:wrap;justify-content:space-between;gap:16px;margin:0 0 18px;display:flex}.toolbar select{max-width:280px}.search{background:#fff;border:1px solid #ced7d2;border-radius:4px;align-items:center;gap:7px;padding-left:10px;display:flex}.search input{border:0;width:210px}.table-wrap{background:#fff;border-top:1px solid #dbe3de;border-bottom:1px solid #dbe3de;width:100%;overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;color:#53675d;white-space:nowrap;background:#f0f4f1;padding:13px 12px;font-weight:500}td{vertical-align:middle;overflow-wrap:anywhere;border-top:1px solid #e8ede9;max-width:360px;padding:14px 12px}tr:hover td{background:#f9fcfa}.text{color:#176448;text-align:left;white-space:normal;border:0;justify-content:flex-start;min-height:20px;padding:0;background:0 0!important}.mono{font-family:ui-monospace,monospace;font-size:11px}.badge{color:#52645a;white-space:nowrap;background:#eef1ef;border-radius:3px;padding:4px 7px;font-size:11px;display:inline-block}.badge.pass,.badge.approved,.badge.completed,.badge.ready{color:#1f6a42;background:#e2f2e8}.badge.fail,.badge.failed,.badge.rejected,.badge.invalid{color:#a23e3e;background:#f9e5e5}.badge.pending,.badge.rework,.badge.paused,.badge.partial{color:#805c13;background:#fff1d5}.badge.running{color:#226b7b;background:#e0f3f7}.badge.legacy{color:#71558a;background:#eee9f4}footer{color:#63776a;justify-content:space-between;align-items:center;padding:16px 0;font-size:12px;display:flex}.empty{text-align:center;color:#697970;padding:65px}.metrics{color:#64766a;align-items:center;gap:25px;display:flex}.metrics b{color:#28362d;margin-left:6px;font-size:19px}.error,.notice{overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:12px 15px;display:flex}.error{color:#92372d;background:#fae9e7}.notice{color:#245e42;background:#e7f3ec}.error button,.notice button{background:0 0;border:0;flex-shrink:0}.overlay{z-index:10;background:#192c2455;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{background:#fff;flex-direction:column;width:min(850px,94vw);min-width:0;height:100%;display:flex;box-shadow:-10px 0 35px #142b2420}.drawer-head{border-bottom:1px solid #e1e8e3;justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 24px;display:flex}.drawer-head h2{overflow-wrap:anywhere;margin:0}.drawer-head button{flex-shrink:0}.drawer-body{flex:1;min-height:0;padding:20px 24px;overflow:auto}.tabs{border-bottom:1px solid #e1e8e3;gap:3px;padding:8px 20px;display:flex;overflow:auto}.tabs button{border:0;font-size:12px}.drawer-foot{background:#f8faf9;border-top:1px solid #e1e8e3;flex-direction:column;gap:10px;padding:14px 24px;display:flex}.drawer-foot textarea{min-height:54px;max-height:140px}.drawer-foot .actions{gap:6px}.drawer-foot button{font-size:12px}pre{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;background:#f4f7f5;border-left:2px solid #d6e4dc;max-height:600px;padding:14px;font-family:ui-monospace,monospace;font-size:12px;line-height:1.7;overflow:auto}details{border-bottom:1px solid #e1e8e3;padding:10px 0}summary{cursor:pointer;font-size:13px;line-height:1.8}.source{color:#2f7253;overflow-wrap:anywhere;align-items:center;gap:7px;margin:8px 0;font-size:11px;display:flex}.row{border-bottom:1px solid #e1e8e3;justify-content:space-between;align-items:center;gap:12px;padding:16px 0;display:flex}section{border-bottom:1px solid #dce5df;margin:0 0 30px;padding:0 0 20px}iframe{border:1px solid #d9e4dc;width:100%;height:65vh;margin-top:15px}.icon{color:#38684c;justify-content:center;align-items:center;min-width:32px;min-height:32px;display:inline-flex}.modal-overlay{z-index:20;justify-content:center;align-items:center}.modal{background:#fff;border-radius:6px;width:min(640px,92vw);max-height:90vh;padding:0 24px 24px;overflow:auto}.modal .drawer-head{margin:0 -24px 15px}.modal>.primary{margin-top:12px}.modal.run-modal{width:960px}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 18px;display:grid}.form-grid label{min-width:0}.form-grid select{width:100%}.material-picker{height:260px;margin-top:12px}.material-picker th{position:sticky;top:0}.material-picker td{padding:9px 12px}.run-fields h3{justify-content:space-between;gap:12px;display:flex}.login,.loading{justify-content:center;align-items:center;min-height:100vh;display:flex}.login form{width:min(380px,90vw);padding:30px 0}.login h1{margin:35px 0 24px;font-size:23px}.login .primary{width:100%;margin-top:20px}.event{border-bottom:1px solid #e1e8e3}.event pre{max-height:220px;font-size:11px}article{border-bottom:1px solid #e1e8e3;padding:12px 0}@media (width<=1000px){.app{grid-template-columns:190px minmax(0,1fr)}aside{padding:20px 12px}main{padding:24px 18px}.metrics{gap:12px}}@media (width<=680px){.app{display:block}aside{border-bottom:1px solid #dbe2de;border-right:0;gap:14px;height:auto;padding:14px;position:relative}.brand{font-size:20px}.brand span{margin-left:12px;display:inline}.account,.dataset-nav{display:none}aside>select{max-width:100%}nav{flex-direction:row;gap:3px;overflow:auto}nav button{flex-direction:column;gap:5px;min-width:64px;padding:8px 10px;font-size:11px}main{padding:20px 14px}header{align-items:flex-start;margin-bottom:20px}h1{font-size:21px}header button{font-size:11px}.toolbar>.actions{width:100%}.toolbar select{max-width:calc(100vw - 32px)}.search,.search input{width:100%}.toolbar input{max-width:100%}.drawer{width:100vw}.drawer-head,.drawer-body,.drawer-foot{padding:16px}.tabs{padding:8px}.metrics{flex-wrap:wrap;font-size:11px}.metrics b{font-size:16px}th,td{padding:11px 9px}table{min-width:650px}.modal{padding:0 16px 20px}.modal .drawer-head{margin:0 -16px 10px}.drawer-foot button{padding:6px 8px;font-size:11px}.drawer-foot .check{font-size:12px}}.configuration-panel .section-head{justify-content:space-between;align-items:center;gap:16px;margin:20px 0 12px;display:flex}.configuration-panel .section-head h2{margin:0;font-size:18px}.configuration-panel .section-head small{font-size:13px;font-weight:400}.configuration-panel .tabs{gap:4px;display:flex}.configuration-panel .tabs .active{color:#155f49;background:#e2ece6}.configuration-panel .toolbar{justify-content:flex-start;align-items:center;gap:12px}.configuration-panel .toolbar>select{width:auto;height:38px;margin:0;padding:8px 12px}.configuration-panel .toolbar>.search{flex-direction:row;align-items:center;gap:8px;width:340px;height:38px;margin:0;padding:0 10px;display:flex}.configuration-panel .search input{background:0 0;border:0;width:100%;min-width:0;height:34px;padding:6px 0}.configuration-panel .section-head h2 small{margin-left:8px;display:inline}.lessons-table{table-layout:fixed;width:100%}.lessons-table th:first-child{width:40%}.lessons-table th:nth-child(2){width:20%}.lessons-table th:nth-child(3){width:10%}.lessons-table th:nth-child(4){width:20%}.lessons-table th:nth-child(5){width:10%}.lessons-table td{white-space:normal;overflow-wrap:anywhere;vertical-align:top}.lessons-table td small{margin-top:8px;display:block}.lessons-table pre{font-size:11px}.config-content{white-space:pre-wrap;max-height:440px;overflow:auto}.config-history{border-top:1px solid #dce5e0;margin-top:24px;padding-top:16px}.config-history section{border-bottom:1px solid #dce5e0;padding-bottom:16px}.config-history pre{max-height:300px;overflow:auto}.lesson-modal{width:760px}.lesson-fields{grid-template-columns:1fr 2fr 1fr;gap:16px;display:grid}.restore-preview{max-height:340px;overflow:auto}.project-assistant{border:0;max-width:1000px;height:calc(100vh - 145px);margin:0 auto;position:static}.project-assistant .assistant-messages{padding:20px 0}.project-assistant form{border-bottom:0}.assistant-operation{border-top:1px solid #dce0e4;margin-top:12px;padding-top:12px}.assistant-operation pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:180px;font-size:12px;overflow:auto}.queue-material-picker{border-block:1px solid #dce0e4;max-height:210px;margin-bottom:16px;overflow:auto}.queue-material-picker .check{overflow-wrap:anywhere;align-items:start;gap:8px;padding:8px;display:flex}.queue-material-picker input{flex:0 0 16px;width:16px;margin-top:3px}.factory-workspace .toolbar{flex-wrap:wrap;gap:10px}.factory-workspace .toolbar .actions{flex-wrap:wrap}.revision-compare{background:#f8fafc;border:1px solid #dce5e0;border-radius:8px;margin:0 0 1rem;padding:.75rem}.revision-compare>label{align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.revision-compare select{min-width:280px}.revision-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.revision-grid>div{background:#fff;border:1px solid #dce5e0;border-radius:6px;min-width:0;padding:.6rem}.revision-grid pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:220px;overflow:auto}.muted{color:#64748b}
