:root{--bg:#0d0f0d;--panel:#151815;--panel2:#1a1e1a;--line:#303730;--line2:#424b42;--text:#edf0e8;--muted:#9da69b;--faint:#667064;--green:#9bdd60;--green2:#6eb63d;--cyan:#5bc8bd;--amber:#e0ae54;--red:#e16d6d;--blue:#79aef2;--shadow:0 24px 70px rgba(0,0,0,.38)}
*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;background:radial-gradient(circle at 60% -20%,rgba(155,221,96,.1),transparent 35%),linear-gradient(rgba(155,221,96,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(155,221,96,.025) 1px,transparent 1px),var(--bg);background-size:auto,32px 32px,32px 32px,auto;color:var(--text);font:14px/1.6 Inter,"PingFang SC","Microsoft YaHei",sans-serif}button,input,select{font:inherit}.muted{color:var(--muted)}.eyebrow{margin:0 0 5px;color:var(--green);font:700 11px/1.2 ui-monospace,monospace;letter-spacing:.14em}.hidden{display:none!important}
.topbar{position:sticky;z-index:20;top:0;height:66px;display:flex;align-items:center;justify-content:space-between;padding:0 26px;border-bottom:1px solid var(--line);background:rgba(13,15,13,.92);backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:11px}.brand b{display:block;font-size:15px}.brand small{display:block;margin-top:1px;color:var(--faint);font:10px ui-monospace,monospace;letter-spacing:.11em}.brand-mark{width:52px;height:52px;display:grid;place-items:center;border:1px solid var(--line2);border-radius:11px;background:#0a0c0a;color:var(--green);font:bold 15px ui-monospace,monospace;box-shadow:inset 0 0 0 1px rgba(155,221,96,.08)}.brand-mark.small{width:38px;height:38px;border-radius:8px;font-size:12px}.top-actions{display:flex;align-items:center;gap:9px}.health-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 12px rgba(155,221,96,.7)}
.app-shell{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:calc(100vh - 66px)}.sidebar{position:sticky;top:66px;height:calc(100vh - 66px);display:flex;flex-direction:column;padding:18px 12px;border-right:1px solid var(--line);background:rgba(14,16,14,.82)}.nav-item{width:100%;display:flex;align-items:center;gap:11px;padding:11px 12px;margin:2px 0;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);text-align:left;text-decoration:none;cursor:pointer}.nav-item span{width:20px;color:var(--faint);font-size:17px}.nav-item:hover{color:var(--text);background:var(--panel)}.nav-item.active{border-color:var(--line2);background:linear-gradient(90deg,rgba(155,221,96,.12),rgba(155,221,96,.03));color:var(--green)}.nav-item.bottom{margin-top:auto}.nav-item i{min-width:18px;padding:0 5px;border-radius:10px;background:var(--amber);color:#19140b;font:700 10px/18px ui-monospace,monospace;text-align:center}.nav-item i:empty{display:none}.content{width:100%;max-width:1700px;padding:28px clamp(18px,3vw,46px) 60px}.view{display:none}.view.active{display:block}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.page-head h1{margin:0;font-size:30px;line-height:1.2}.page-head p:last-child{margin:7px 0 0}.head-actions{display:flex;gap:9px}
.btn{min-height:36px;padding:7px 13px;border:1px solid var(--line2);border-radius:7px;background:var(--panel2);color:var(--text);cursor:pointer;transition:.15s}.btn:hover:not(:disabled){border-color:#637062;transform:translateY(-1px)}.btn.primary{border-color:#78b84a;background:linear-gradient(180deg,#a6e26e,#8dcc58);color:#11170d;font-weight:800}.btn.ghost{background:transparent;color:var(--muted)}.btn.danger{border-color:#744040;color:#f09b9b}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.icon-btn{width:38px;height:38px;border:1px solid var(--line);border-radius:7px;background:transparent;color:var(--muted);font-size:24px;cursor:pointer}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.stat{position:relative;min-height:110px;padding:16px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(145deg,rgba(155,221,96,.045),transparent 55%),var(--panel)}.stat span{display:block;color:var(--muted);font-size:12px}.stat strong{display:inline-block;margin-top:7px;font:800 30px/1.1 ui-monospace,monospace}.stat small{margin-left:7px;color:var(--faint)}.panel{border:1px solid var(--line);border-radius:10px;background:rgba(21,24,21,.94);box-shadow:0 10px 30px rgba(0,0,0,.14)}.filter-panel{padding:15px;margin-bottom:14px}.filter-grid{display:grid;grid-template-columns:1.35fr repeat(6,minmax(120px,1fr));gap:10px;align-items:end}.filter-grid label,.advanced-filters label,.settings-card label,.login-form label{display:grid;gap:5px;color:var(--muted);font-size:11px;font-weight:700}.filter-buttons{display:flex;gap:6px}.advanced-filters{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:13px;padding-top:13px;border-top:1px solid var(--line)}input,select{width:100%;height:37px;padding:7px 10px;border:1px solid var(--line);border-radius:6px;background:#101310;color:var(--text);outline:none}input:focus,select:focus{border-color:var(--green2);box-shadow:0 0 0 3px rgba(155,221,96,.08)}
.table-panel{overflow:hidden}.bulkbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-bottom:1px solid var(--line)}.bulkbar>div{display:flex;gap:7px}.inline{display:flex;align-items:center;gap:7px;color:var(--muted)}.inline select{width:74px}.table-wrap{width:100%;overflow:auto}table{width:100%;border-collapse:collapse;min-width:980px}th{padding:11px 12px;border-bottom:1px solid var(--line);background:#111411;color:var(--faint);font-size:11px;text-align:left;white-space:nowrap}td{padding:13px 12px;border-bottom:1px solid #262c26;vertical-align:top}tbody tr:hover{background:rgba(155,221,96,.025)}th:first-child,td:first-child{width:38px;text-align:center}td input[type=checkbox],th input[type=checkbox]{width:16px;height:16px;accent-color:var(--green)}.work-main{max-width:420px}.work-title{display:-webkit-box;overflow:hidden;margin-bottom:6px;font-weight:700;-webkit-line-clamp:2;-webkit-box-orient:vertical}.work-meta{display:flex;flex-wrap:wrap;gap:6px;color:var(--muted);font-size:11px}.topic{padding:1px 6px;border:1px solid var(--line);border-radius:4px;color:var(--cyan)}.metrics{display:grid;grid-template-columns:repeat(2,max-content);gap:5px 12px;color:var(--muted);font:11px ui-monospace,monospace}.date-stack{color:var(--muted);font-size:11px;white-space:nowrap}.date-stack b{display:block;color:var(--text);font-weight:500}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:11px;white-space:nowrap}.status-pill:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--faint)}.status-pill.succeeded{color:#b8e88d}.status-pill.succeeded:before{background:var(--green)}.status-pill.running,.status-pill.queued{color:#f0c87f}.status-pill.running:before,.status-pill.queued:before{background:var(--amber)}.status-pill.failed{color:#f1a0a0}.status-pill.failed:before{background:var(--red)}.row-actions{display:flex;flex-wrap:wrap;gap:6px;min-width:210px}.row-actions .btn{min-height:30px;padding:4px 8px;font-size:11px}.pagination{display:flex;align-items:center;justify-content:center;gap:13px;padding:12px;border-top:1px solid var(--line);color:var(--muted)}.progress{width:160px;height:7px;overflow:hidden;border-radius:10px;background:#0c0e0c}.progress i{display:block;height:100%;background:var(--green)}
.two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:14px}.prose,.settings-card,.code-card{padding:22px}.prose h2,.settings-card h2{margin:0 0 16px;font-size:18px}.prose ol{padding-left:20px;color:var(--muted)}code,pre{font-family:"SFMono-Regular",Consolas,monospace}.notice{padding:11px 13px;border-left:3px solid var(--amber);background:rgba(224,174,84,.07);color:#c7b58f}.code-card{padding:0;overflow:hidden}.code-head{display:flex;align-items:center;justify-content:space-between;padding:10px 13px;border-bottom:1px solid var(--line);color:var(--muted);font:11px ui-monospace,monospace}.code-card pre{overflow:auto;margin:0;padding:18px;color:#b9d5ae;font-size:12px;line-height:1.75}.settings-card{display:grid;gap:15px}.setting-status{display:flex;flex-wrap:wrap;gap:8px}.setting-status span{padding:5px 8px;border:1px solid var(--line);border-radius:5px;color:var(--muted);font-size:11px}.form-message{min-height:20px;margin:0;color:var(--green)}.kv{display:grid;gap:0;margin:0}.kv div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}.kv dt{color:var(--muted)}.kv dd{margin:0;color:var(--text);font-family:ui-monospace,monospace}
.drawer{width:min(820px,96vw);max-width:none;height:100vh;max-height:none;margin:0 0 0 auto;padding:0;border:0;border-left:1px solid var(--line2);background:var(--panel);color:var(--text);box-shadow:var(--shadow)}.drawer::backdrop{background:rgba(0,0,0,.58);backdrop-filter:blur(3px)}.drawer-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:19px 22px;border-bottom:1px solid var(--line);background:rgba(21,24,21,.96)}.drawer-head h2{margin:0}.drawer-body{padding:20px 22px 60px}.detail-section{margin-bottom:16px;padding:17px;border:1px solid var(--line);border-radius:8px;background:#111411}.detail-section h3{margin:0 0 12px;font-size:14px}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px 18px}.detail-grid div{min-width:0}.detail-grid small{display:block;color:var(--faint)}.detail-grid span{display:block;overflow-wrap:anywhere}.long-text{white-space:pre-wrap;color:#d9ded4;line-height:1.9}.segment{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}.segment time{color:var(--cyan);font:11px ui-monospace,monospace}.comment{padding:12px 0;border-bottom:1px solid var(--line)}.comment-head{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.comment p{margin:5px 0}.reply{margin:8px 0 0 18px;padding:8px 10px;border-left:2px solid var(--line2);background:rgba(255,255,255,.02)}.empty{padding:35px;text-align:center;color:var(--faint)}.toast{position:fixed;z-index:100;right:22px;bottom:22px;max-width:380px;padding:11px 15px;border:1px solid var(--line2);border-radius:8px;background:#202620;box-shadow:var(--shadow);opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:none}.toast.error{border-color:#744040;color:#ffc0c0}
.login-body{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:min(430px,100%);padding:34px;border:1px solid var(--line2);border-radius:12px;background:rgba(21,24,21,.96);box-shadow:var(--shadow)}.login-card h1{margin:14px 0 4px;font-size:28px}.login-form{display:grid;gap:15px;margin-top:24px}.login-form input{height:43px}.login-form .btn{height:43px}.form-error{min-height:20px;margin:0;color:var(--red)}
.password-dialog{width:min(460px,calc(100vw - 28px));padding:0;border:1px solid var(--line2);border-radius:12px;background:var(--panel);color:var(--text);box-shadow:var(--shadow)}.password-dialog::backdrop{background:rgba(0,0,0,.66);backdrop-filter:blur(3px)}.password-body{display:grid;gap:15px;padding:22px}.password-body label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:700}.password-actions{display:flex;justify-content:flex-end;gap:9px}
.work-meta a{color:var(--cyan)}.source-flag{padding:1px 6px;border-radius:4px;border:1px solid var(--line)}.source-flag.ready{color:var(--green)}.source-flag.legacy{color:var(--amber)}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.section-heading h3{margin:0}.source-badge{padding:3px 7px;border:1px solid var(--line);border-radius:5px;font:700 10px ui-monospace,monospace}.source-badge.oilmonkey{color:var(--cyan)}.source-badge.input{color:var(--amber)}.source-badge.parser{color:var(--green)}.source-badge.asr{color:var(--blue)}.payload-grid>div{padding:8px;border:1px solid #252b25;border-radius:6px;background:rgba(255,255,255,.018)}.share-content{margin-top:14px}.share-content small{display:block;margin-bottom:5px;color:var(--faint)}.share-content pre,.raw-details pre{overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:12px;border:1px solid var(--line);border-radius:6px;background:#0c0f0c;color:#cbd4c6;font:12px/1.75 ui-monospace,monospace}.raw-details{margin-top:14px}.raw-details summary{cursor:pointer;color:var(--muted);margin-bottom:8px}
.video-player{margin-top:14px}.video-player video{display:block;width:100%;max-height:480px;border:1px solid var(--line);border-radius:7px;background:#000}.video-player small{display:block;margin-top:7px;color:var(--faint)}
.workflow-contract{display:grid;grid-template-columns:max-content 1fr;gap:7px 12px;padding:12px;border:1px solid var(--line);border-radius:7px;background:#101310}.workflow-contract small{grid-column:1/-1;color:var(--faint)}.workflow-contract code{color:var(--cyan)}.workflow-contract span{color:var(--muted)}
.time-cost{display:grid;min-width:120px}.time-cost b{color:var(--green);font:700 13px ui-monospace,monospace}.time-cost small{color:var(--faint)}.job-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.job-summary div{display:grid}.job-summary small{color:var(--faint)}.job-summary b{font:600 13px ui-monospace,monospace}.item-timing{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:8px;color:var(--faint);font-size:11px}.item-timing b{color:var(--green)}
.bulkbar>div{align-items:center;flex-wrap:wrap}.parse-option{display:flex;align-items:center;gap:7px;margin-left:5px;padding:6px 9px;border:1px solid var(--line);border-radius:6px;color:var(--muted);font-size:11px;cursor:pointer;white-space:nowrap}.parse-option input{width:16px;height:16px;accent-color:var(--green)}
.debug-action{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.debug-action a{display:inline-flex;align-items:center;text-decoration:none;color:var(--cyan)}.debug-action code{color:var(--faint);font-size:11px;overflow-wrap:anywhere}
.attempt-history{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}.attempt-history summary{cursor:pointer;color:var(--muted);font-size:12px}.attempt-row{margin-top:10px;padding:10px;border:1px solid var(--line);border-radius:6px;background:#0d100d}.attempt-row>div{display:flex;flex-wrap:wrap;gap:8px 14px;color:var(--faint);font-size:11px}.attempt-row b{color:var(--amber)}.attempt-row p{margin:7px 0;color:#e5a1a1}.attempt-row a{color:var(--cyan);font-size:12px}
.status-pill.blocked,.status-pill.retry_wait,.status-pill.paused{color:#f0c87f}.status-pill.blocked:before,.status-pill.retry_wait:before,.status-pill.paused:before{background:var(--amber)}
@media(max-width:1180px){.filter-grid{grid-template-columns:repeat(4,1fr)}.advanced-filters{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.topbar{padding:0 14px}.desktop-only{display:none}.app-shell{display:block}.sidebar{position:fixed;z-index:15;top:auto;bottom:0;left:0;right:0;height:62px;display:grid;grid-template-columns:repeat(4,1fr);padding:6px;border:0;border-top:1px solid var(--line);background:#0f120f}.nav-item{justify-content:center;flex-direction:column;gap:0;margin:0;padding:4px;font-size:10px}.nav-item span{width:auto;font-size:15px}.nav-item.bottom{display:none}.content{padding:20px 12px 82px}.page-head{align-items:flex-start}.stats-grid{grid-template-columns:repeat(2,1fr)}.filter-grid,.advanced-filters{grid-template-columns:repeat(2,1fr)}.filter-buttons{grid-column:1/-1}.two-col{grid-template-columns:1fr}.bulkbar{align-items:flex-start;flex-direction:column}.drawer{width:100vw}.detail-grid{grid-template-columns:1fr}.head-actions{flex-direction:column}.page-head h1{font-size:25px}}
@media(max-width:480px){.filter-grid,.advanced-filters{grid-template-columns:1fr}.stats-grid{gap:7px}.stat{min-height:92px;padding:12px}.stat strong{font-size:24px}.page-head{flex-direction:column}.head-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.bulkbar>div:first-child{display:grid;grid-template-columns:1fr 1fr;width:100%}}
