:root{font-family:Inter,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:#202522;background:#f4f5f2;font-synthesis:none;text-rendering:optimizeLegibility;letter-spacing:0}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f4f5f2}button,input,select,textarea{font:inherit;letter-spacing:0}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.app-shell{min-height:100vh}.topbar{height:58px;padding:0 22px;display:flex;align-items:center;gap:11px;border-bottom:1px solid #d9ddd7;background:#fafbf8f5;position:sticky;top:0;z-index:20}.brand-mark,.dialog-icon{width:34px;height:34px;display:grid;place-items:center;background:#202522;color:#fff;border-radius:6px}.brand-copy{display:flex;align-items:baseline;gap:9px}.brand-copy strong{font-size:14px}.brand-copy span{color:#778079;font-size:12px}.environment{margin-left:auto;display:flex;align-items:center;gap:7px;color:#5f6962;font-size:12px}.live-dot{width:7px;height:7px;border-radius:50%;background:#32945e;box-shadow:0 0 0 3px #dceee3}.icon-button{width:34px;height:34px;display:grid;place-items:center;border:1px solid #d8ddd7;background:#fff;color:#454e48;border-radius:5px}.icon-button:hover{border-color:#aab3ac;color:#111}.page-grid{min-height:calc(100vh - 58px);display:grid;grid-template-columns:348px minmax(0,1fr)}.create-pane{padding:25px 24px 36px;border-right:1px solid #d9ddd7;background:#fafbf8}.workspace{min-width:0;padding:18px 20px 30px}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.section-heading.compact{align-items:center;margin-bottom:14px}.eyebrow{display:block;margin-bottom:5px;color:#778079;font-size:10px;font-weight:700;text-transform:uppercase}h1,h2{margin:0;letter-spacing:0}h1{font-size:22px;line-height:1.25}h2{font-size:16px;line-height:1.3}.create-form{display:flex;flex-direction:column;gap:17px}.field-label,fieldset legend{color:#58615b;font-size:11px;font-weight:700}.field-label{display:grid;gap:7px}input,select,textarea{width:100%;border:1px solid #cfd5cf;border-radius:5px;background:#fff;color:#202522;outline:none}input,select{min-height:38px;padding:0 10px}textarea{padding:9px 10px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:#0f5b78;box-shadow:0 0 0 2px #0f5b781f}fieldset{min-width:0;margin:0;padding:0;border:0}fieldset legend{margin-bottom:7px}.segmented{display:grid;grid-template-columns:repeat(2,1fr);padding:3px;border:1px solid #d3d8d2;background:#ecefeb;border-radius:6px}.segmented.roles{grid-template-columns:repeat(3,1fr)}.segmented button{min-height:31px;border:0;border-radius:4px;color:#69736c;background:transparent;font-size:12px}.segmented button.selected{color:#202522;background:#fff;box-shadow:0 1px 3px #1c251f1a;font-weight:700}.upload-stack{display:grid;gap:8px}.file-tile{min-height:54px;padding:7px 10px;display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;border:1px dashed #b9c1ba;border-radius:5px;background:#f7f9f6;color:#6b756e;cursor:pointer;overflow:hidden}.file-tile:hover{border-color:#0f5b78;background:#f2f7f8}.file-tile.has-file{border-style:solid;background:#fff}.file-tile img{width:38px;height:38px;object-fit:cover;border-radius:3px;background:#e7eae6}.file-tile span{min-width:0;display:grid;gap:2px}.file-tile strong{color:#323934;font-size:11px;text-transform:uppercase}.file-tile small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.file-tile input{display:none}.file-tile button{width:28px;height:28px;display:grid;place-items:center;border:0;color:#69736c;background:transparent;border-radius:4px}.primary-button,.secondary-button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:5px;font-size:12px;font-weight:700}.primary-button{border:1px solid #202522;background:#202522;color:#fff}.primary-button:hover:not(:disabled){background:#0f5b78;border-color:#0f5b78}.secondary-button{padding:0 12px;border:1px solid #d1d6d1;background:#fff;color:#3e4741}.secondary-button:hover:not(:disabled){border-color:#8d9790}.metrics-band{min-height:48px;display:flex;align-items:center;gap:24px;padding:0 2px 14px;border-bottom:1px solid #d9ddd7}.metrics-band .icon-button{margin-left:auto}.metric{display:flex;align-items:center;gap:7px;color:#69736c;font-size:11px}.metric strong{min-width:16px;color:#252b27;font-size:15px}.metric.active svg{color:#0f5b78}.notice{margin-top:12px;min-height:40px;padding:8px 10px;display:flex;align-items:center;gap:8px;border:1px solid;border-radius:5px;font-size:12px}.notice.error{border-color:#e6b4aa;background:#fff3f0;color:#9c3524}.notice.success{border-color:#b5d9c1;background:#f0faf3;color:#266b42}.notice-close{margin-left:auto;width:26px;height:26px;display:grid;place-items:center;border:0;background:transparent;color:currentColor}.work-columns{display:grid;grid-template-columns:minmax(520px,1fr) 310px;gap:18px;padding-top:20px}.queue-pane,.detail-pane{min-width:0}.detail-pane{border-left:1px solid #d9ddd7;padding-left:18px}.count-label{min-width:28px;padding:3px 7px;border:1px solid #d6dbd5;border-radius:4px;background:#fff;color:#69736c;font-size:11px;text-align:center}.table-wrap{overflow-x:auto;border:1px solid #d9ddd7;border-radius:6px;background:#fff}table{width:100%;border-collapse:collapse;table-layout:fixed}th{height:34px;padding:0 11px;border-bottom:1px solid #e1e4df;background:#f7f8f6;color:#7a837d;font-size:10px;text-align:left;text-transform:uppercase}th:nth-child(1){width:31%}th:nth-child(2){width:19%}th:nth-child(3){width:20%}th:nth-child(4){width:21%}th:nth-child(5){width:30px}td{height:64px;padding:8px 11px;border-bottom:1px solid #edf0ec;color:#4f5952;font-size:11px;vertical-align:middle}tbody tr{cursor:pointer}tbody tr:last-child td{border-bottom:0}tbody tr:hover,.selected-row{background:#f3f7f5}td strong,td small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}td strong{color:#252b27;font-size:12px;margin-bottom:4px}td small{color:#89918b;font-size:10px}.status-badge{display:inline-flex;min-height:22px;align-items:center;padding:0 7px;border:1px solid;border-radius:4px;font-size:10px;font-weight:700;white-space:nowrap}.status-badge.success{color:#286e45;border-color:#add4ba;background:#edf8f0}.status-badge.active{color:#0f5b78;border-color:#a7ccd9;background:#eff8fa}.status-badge.queued{color:#805f16;border-color:#dfcc9a;background:#fff9e9}.status-badge.danger{color:#a23a29;border-color:#e2b2a9;background:#fff2ef}.status-badge.neutral{color:#616a64;border-color:#d3d8d3;background:#f7f8f6}.mini-progress,.full-progress{overflow:hidden;background:#e4e8e3;border-radius:2px}.mini-progress{width:64px;height:4px;margin-bottom:5px}.mini-progress span,.full-progress span{display:block;height:100%;background:#0f5b78;transition:width .25s ease}.job-detail{display:flex;flex-direction:column;gap:15px}.detail-visual{position:relative;aspect-ratio:16 / 10;overflow:hidden;border-radius:6px;background:#dfe4df}.detail-visual img{width:100%;height:100%;object-fit:cover}.preview-frame{width:100%;height:100%;display:block;border:0;background:#1d2320}.preview-placeholder{aspect-ratio:16 / 10;display:grid;place-items:center;border-radius:6px;background:#dfe4df;color:#6c766f}.preview-placeholder.error{padding:14px;align-content:center;gap:8px;color:#9d3928;font-size:11px;text-align:center}.detail-visual span{position:absolute;left:8px;bottom:8px;padding:4px 6px;background:#181e1ac7;color:#fff;border-radius:3px;font-size:9px;text-transform:uppercase}.detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.detail-header h2{overflow-wrap:anywhere}.full-progress{height:6px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #dde1dc;border-left:1px solid #dde1dc}.detail-grid span{min-height:52px;padding:8px;display:grid;align-content:center;gap:4px;border-right:1px solid #dde1dc;border-bottom:1px solid #dde1dc;color:#7b847e;font-size:9px;text-transform:uppercase}.detail-grid strong{overflow:hidden;color:#343b36;font-size:11px;text-overflow:ellipsis;white-space:nowrap;text-transform:none}.stage-line{min-height:36px;padding:0 10px;display:flex;align-items:center;gap:8px;border:1px solid #d8ddd7;border-radius:5px;background:#fff;color:#4c554f;font-size:11px}.pulse-dot,.static-dot{width:7px;height:7px;border-radius:50%;background:#0f5b78}.pulse-dot{animation:pulse 1.2s infinite}.failure-box{display:flex;align-items:flex-start;gap:8px;padding:9px;border:1px solid #e2b2a9;border-radius:5px;background:#fff2ef;color:#9d3928;font-size:11px}.detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.artifact-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.artifact-actions .secondary-button{min-width:0;padding:0 7px;font-size:10px}.report-summary{display:grid;gap:9px;padding:10px;border:1px solid #d5dad5;border-radius:5px;background:#fff;font-size:10px}.report-summary.loading,.report-summary.error{min-height:38px;display:flex;align-items:center;color:#68726b}.report-summary.error{color:#9d3928;border-color:#e2b2a9;background:#fff2ef}.report-heading{display:flex;align-items:center;justify-content:space-between}.report-heading>span{display:flex;align-items:center;gap:6px;color:#505a53;font-weight:700}.report-heading>strong{padding:3px 6px;border-radius:3px}.report-heading>strong.passed{color:#286e45;background:#edf8f0}.report-heading>strong.failed{color:#a23a29;background:#fff2ef}.view-confidence,.report-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #e4e7e3;border-left:1px solid #e4e7e3}.view-confidence span,.report-meta span{min-height:36px;padding:6px;display:grid;gap:2px;border-right:1px solid #e4e7e3;border-bottom:1px solid #e4e7e3;color:#7b847e;text-transform:uppercase}.view-confidence strong,.report-meta strong{overflow:hidden;color:#343b36;text-overflow:ellipsis;white-space:nowrap;text-transform:none}.timestamp-row{display:flex;justify-content:space-between;color:#8a928d;font-size:10px}.timestamp-row time{color:#59625c}.empty-queue{min-height:300px;display:grid;place-items:center;align-content:center;gap:7px;border:1px dashed #cbd1ca;border-radius:6px;color:#89918b}.empty-queue strong,.empty-detail strong{color:#414943;font-size:12px}.empty-queue span,.empty-detail span{font-size:10px}.empty-detail{position:relative;min-height:420px;overflow:hidden;border-radius:6px;background:#e1e5e1}.empty-detail>div{position:absolute;inset:auto 12px 12px;padding:12px;display:grid;gap:5px;background:#fafbf8f0;border-radius:5px}.dialog-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px;background:#1c221e7a;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.token-dialog{position:relative;width:min(360px,100%);padding:26px;display:grid;gap:13px;border:1px solid #d3d8d2;border-radius:7px;background:#fafbf8;box-shadow:0 18px 50px #141b1633}.token-dialog h2{font-size:18px}.token-dialog p{margin:-7px 0 3px;color:#778079;font-size:11px}.dialog-close{position:absolute;right:10px;top:10px;width:30px;height:30px;display:grid;place-items:center;border:0;background:transparent;color:#69736c}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.35;box-shadow:0 0 0 4px #0f5b781f}}@media(max-width:1180px){.work-columns{grid-template-columns:1fr}.detail-pane{padding:18px 0 0;border-left:0;border-top:1px solid #d9ddd7}.job-detail{display:grid;grid-template-columns:minmax(230px,320px) 1fr;align-items:start}.detail-visual,.preview-placeholder{grid-row:span 7}}@media(max-width:820px){.page-grid{grid-template-columns:1fr}.create-pane{border-right:0;border-bottom:1px solid #d9ddd7}.brand-copy span,.environment{display:none}.topbar .icon-button{margin-left:auto}.workspace{padding:16px 12px 24px}.metrics-band{gap:14px}.work-columns{grid-template-columns:minmax(0,1fr)}.job-detail{display:flex}.table-wrap{min-width:0}table{min-width:620px}}
