:root{font-family:Arial,Helvetica,sans-serif;color:#242424;background:#efefef;font-size:14px;color-scheme:light}*{box-sizing:border-box}body{margin:0}header{display:flex;align-items:center;gap:14px;padding:15px 22px;border-bottom:1px solid #b9b9b9;background:#e2e2e2}header strong{font-size:19px}.header-actions{margin-left:auto;display:flex;gap:8px}main{max-width:1440px;margin:0 auto;padding:15px 20px 24px}button,input,select,textarea{font:inherit}button{background:linear-gradient(#fafafa,#e3e3e3);border:1px solid #aaa;border-radius:3px;padding:7px 12px;cursor:pointer;color:#222}button:hover{background:#dce7ef;border-color:#7d98aa}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #1976d2;outline-offset:2px}button:disabled,input:disabled,select:disabled,textarea:disabled{opacity:.47;cursor:default}input:not([type=checkbox]):not([type=radio]),select,textarea{min-width:0;max-width:100%;border:1px solid #aaa;border-radius:2px;padding:6px 7px;background:white;color:#222}input[type=checkbox],input[type=radio]{accent-color:#1976d2;width:16px;height:16px;flex-shrink:0}textarea{resize:vertical;width:100%;min-height:105px;line-height:1.5}label{display:flex;flex-direction:column;gap:5px}.check{display:flex;flex-direction:row;align-items:center;gap:8px}.context{display:flex;justify-content:space-between;gap:15px;align-items:center;margin:3px 0 12px}.context strong{font-size:18px}#save-state{font-size:12px;color:#46684b}.notebook{min-width:0}.tabs{display:flex;flex-wrap:wrap;gap:3px;border-bottom:1px solid #a9a9a9;padding:0 3px}.tabs button{border-radius:4px 4px 0 0;font-weight:bold;padding:10px 17px;border-bottom:0}.tabs button[aria-selected=true]{background:#f8f8f8;box-shadow:inset 0 3px #1976d2;color:#145185}.tab-panel{background:#f6f6f6;border:1px solid #aaa;border-top:0;padding:12px;min-width:0}.tab-panel[hidden]{display:none}fieldset{min-width:0;border:1px solid #b9b9b9;border-radius:3px;margin:8px 0;padding:12px;background:#f4f4f4}legend{font-weight:600;padding:0 6px}.tk-container{min-width:0;gap:7px;align-items:center}.tk-grid{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:7px 9px}.tk-pack{display:flex;flex-direction:column;align-items:stretch;gap:6px}.tk-pack.inline-pack{flex-direction:row;flex-wrap:wrap;align-items:center}.tk-label{line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere}.tk-grid>.tk-label{font-size:13px}.tk-control{width:100%;min-width:0}.tk-radio,.tk-check{display:flex;align-items:center;gap:5px}.tk-button{white-space:normal}.tk-separator{height:1px;background:#bbb;margin:6px 0}.channel-table{border-collapse:collapse;width:100%;background:#fff}.channel-table td,.channel-table th{padding:10px;border-bottom:1px solid #ddd;text-align:left}.channel-table tr.selected{background:#d7eafd}.channel-table tbody tr{cursor:pointer}.channel-table small{color:#656565}.extra{border:1px solid #b9b9b9;margin:13px 0;background:#f6f6f6;border-radius:3px}.extra summary{padding:11px 13px;cursor:pointer;font-weight:600}.extra>form,.extra>div{padding:8px 13px}.inline{display:flex;gap:12px;flex-wrap:wrap;align-items:end}.inline>label{flex:1;min-width:180px}.inline>label.check{flex:1.4;align-self:center}.extra p{font-size:13px;line-height:1.55;color:#555}.main-actions{display:flex;gap:10px;margin:14px 0}.start{flex:1;background:#4caf50;color:#fff;font-size:19px;font-weight:bold;border-color:#388e3c;padding:14px}.start:hover{background:#43a047}.primary{background:#1976d2;color:white;border-color:#145caa}progress{width:100%;height:18px;accent-color:#4caf50}.progress-area>div{display:flex;gap:12px;align-items:center;justify-content:center;margin:7px}#percent{color:#1976d2}#cancel-job{font-size:12px;color:#a22;margin-left:auto}.trackers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.trackers>fieldset>div{max-height:270px;overflow:auto}.tracker{background:#2b2b2b;color:#eee;border:1px solid #111;padding:8px;margin:5px 0;font-size:12px;border-radius:2px}.tracker p{margin:4px 0;overflow-wrap:anywhere}.tracker progress{height:12px}.log-controls{padding:6px 12px!important}.log-controls label{max-width:420px}#log{white-space:pre-wrap;overflow-wrap:anywhere;background:#2b2b2b;color:#e4e4e4;font:12px/1.5 Consolas,monospace;padding:14px;margin:0;min-height:220px;max-height:460px;overflow:auto}.log-error{color:#ff8484}.log-success{color:#83d988}.log-warning{color:#ffd166}.log-progress{color:#ffb74d}.log-detail{color:#bdbdbd}dialog{width:min(1060px,94vw);max-height:88vh;border:1px solid #aaa;border-radius:5px;padding:0;box-shadow:0 12px 70px #0005;background:#f7f7f7}dialog::backdrop{background:#0006}.modal-head{position:sticky;top:0;z-index:1;background:#e8e8e8;border-bottom:1px solid #bbb;display:flex;align-items:center;justify-content:space-between;padding:10px 16px}.modal-head button{font-size:22px;padding:0 10px}#modal-body{padding:16px;overflow:auto}#modal-body pre{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}.file-table{width:100%;border-collapse:collapse;margin:12px 0}.file-table td{padding:7px;border-bottom:1px solid #ddd;overflow-wrap:anywhere}.file-table button{font-size:12px}.upload-box{padding:12px;border:1px dashed #999;margin:12px 0;background:#fff}.login{max-width:420px;margin:9vh auto;padding:28px;background:#fafafa;border:1px solid #bbb;border-radius:5px;display:flex;flex-direction:column;gap:16px}.login h1{font-size:22px;margin:0}.login p{line-height:1.5}#login-error{color:#b11}#toast{position:fixed;bottom:20px;right:20px;max-width:min(560px,90vw);padding:13px 20px;background:#193e2d;color:white;border-radius:5px;box-shadow:0 5px 25px #0004;z-index:10;white-space:pre-wrap}#toast.error{background:#7e2626}.muted{color:#666;font-size:12px}.badge{font-size:11px;background:#ddd;padding:3px 6px;border-radius:3px}.status-good{color:#287b32}.status-bad{color:#a54022}.secret-output{overflow-wrap:anywhere;user-select:all;background:#fff4cc;padding:12px}.receipt{border-bottom:1px solid #ccc;padding:12px 0}.receipt a{color:#126ac1}.model-search{margin:12px 0;display:flex;gap:10px}.model-search input{flex:1}#service-health{font-size:12px}[hidden]{display:none!important}@media(max-width:850px){main{padding:10px}.tk-grid{display:flex;flex-direction:column;align-items:stretch}.tk-grid>.tk-label{margin-top:6px}.tk-grid>.tk-container{width:100%}.trackers{grid-template-columns:1fr}.main-actions{flex-wrap:wrap}.start{flex-basis:100%;font-size:16px}.context{align-items:start;flex-direction:column}header>span{display:none}.tabs button{padding:9px 11px}.channel-table th:nth-child(3),.channel-table td:nth-child(3){display:none}}
.model-field{display:flex;flex-direction:column;gap:4px;min-width:0}.model-field button{font-size:11px;padding:4px 6px}

/* Original Tk tracker colors come from the worker state, including each label. */
.tracker-progress{display:flex;align-items:center;gap:5px}.tracker-progress progress{flex:1;min-width:0}.tracker-percent_label{min-width:6ch;text-align:right;font-weight:bold}.tracker-title_label{display:block;margin-bottom:2px}.tracker-phase_label,.tracker-size_label,.tracker-status_label{white-space:pre-wrap}.history-controls{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:8px 12px}.history-controls a{color:#1976d2}.history-entry{border:1px solid #bbb;padding:8px;margin:8px 0}.history-entry summary{cursor:pointer;white-space:pre-wrap}.log-info{color:#2196F3}.log-success{color:#4CAF50}.log-error{color:#F44336}.log-progress{color:#FF9800}.log-detail{color:#757575}.log-warning{color:#FFC107}#queue-status{font-weight:bold}#job-state{font-weight:bold}
.log-dialog {margin-left:12px;padding:2px 8px;font:inherit;color:#111}
