:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#171717;--border:#e5e5e5;--muted:#6f6f76;--panel:#fff;--panel-soft:#fafafa;--accent:#111;--accent-soft:#ededed;--green:#0f8a4b;--amber:#9a6700;--red:#c7352b;--blue:#1f5eff;background:#f7f7f8;font-family:Inter,SF Pro Text,PingFang SC,Microsoft YaHei,Arial,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0;font-size:13px}button,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.65}.file-input{display:none}.app-shell{grid-template-columns:216px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--border);background:#fff;padding:18px 12px}.brand{border-bottom:1px solid var(--border);flex-direction:column;gap:8px;padding:0 8px 18px;display:flex}.brand img{width:132px;height:auto}.brand span{color:var(--muted);font-size:12px}nav{gap:4px;margin-top:14px;display:grid}.nav-button,.secondary-button,.primary-button{color:#262626;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:7px;min-height:32px;padding:0 10px;display:inline-flex}.nav-button{justify-content:flex-start;width:100%}.nav-button:hover,.nav-button.active{background:var(--accent-soft)}.secondary-button{border-color:var(--border);background:#fff}.secondary-button:hover{background:#f4f4f5}.primary-button{background:var(--accent);color:#fff}.primary-button:hover{background:#2c2c2c}.main{min-width:0;padding:20px 24px}.topbar{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:16px;display:flex}.eyebrow{color:var(--muted);margin:0 0 5px;font-size:12px}h1,h2,p{margin-top:0}h1{letter-spacing:0;margin-bottom:0;font-size:24px;line-height:1.25}h2{margin-bottom:0;font-size:15px}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.notice{color:#654200;background:#fff9e8;border:1px solid #f0d48a;border-radius:6px;margin-bottom:12px;padding:8px 10px}.workspace{gap:12px;display:grid}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.metric-card,.panel{border:1px solid var(--border);background:var(--panel);border-radius:8px}.metric-card{padding:12px}.metric-card span,.metric-card small{color:var(--muted)}.metric-card strong{margin:5px 0;font-size:24px;line-height:1.2;display:block}.subtle{color:var(--muted);margin:4px 0 0;line-height:1.45}.inline-actions,.filter-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.filter-row label{border:1px solid var(--border);background:#fff;border-radius:6px;align-items:center;gap:6px;min-height:30px;padding:0 10px;display:inline-flex}.filter-row input,.review-form input{min-width:0;font:inherit;background:0 0;border:0;outline:0}.source-file-list{gap:6px;display:grid}.source-file-row{border:1px solid var(--border);background:var(--panel-soft);border-radius:6px;align-items:center;gap:8px;padding:7px 8px;display:flex}.source-file-row.active,.source-file-row:hover{background:#fff;border-color:#111}.source-file-pick{cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:10px;min-width:0;padding:0;display:flex}.selectable-row,.source-file-pick{width:100%;color:inherit;text-align:left}.selectable-row:hover,.selectable-row.active{background:#fff;border-color:#111}.source-file-row div,.source-file-pick div{flex:1;gap:2px;min-width:0;display:grid}.source-file-row strong,.source-file-row span,.source-file-pick strong,.source-file-pick span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.source-file-row span,.source-file-pick span{color:var(--muted);font-size:12px}.split-layout,.graph-layout,.classification-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.classification-layout{grid-template-columns:320px minmax(0,1fr);align-items:start}.panel{padding:12px}.panel-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.compact-header{margin-bottom:10px}select{border:1px solid var(--border);background:#fff;border-radius:6px;height:30px;padding:0 8px}.service-list,.task-list,.step-list,.classification-tree{gap:8px;display:grid}.service-row,.task-row,.step-row{border:1px solid var(--border);background:var(--panel-soft);border-radius:6px;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;display:flex}.task-row p,.step-row p,.body-copy{color:var(--muted);margin-bottom:0;line-height:1.45}.task-row .secondary-button{min-width:58px}.step-row{justify-content:flex-start}.step-row>span{color:#fff;background:#111;border-radius:17px;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;display:inline-flex}.tree-row{border:1px solid var(--border);background:var(--panel-soft);text-align:left;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:50px;padding:8px 10px;display:flex}.tree-row:hover,.tree-row.active{background:#fff;border-color:#111}.tree-row div{gap:4px;min-width:0;display:grid}.tree-row strong,.tree-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tree-row span{color:var(--muted);font-size:12px}.tree-row em{background:var(--accent-soft);color:#333;border-radius:12px;justify-content:center;align-items:center;min-width:28px;height:24px;font-size:12px;font-style:normal;display:inline-flex}.status-badge{white-space:nowrap;color:#444;background:#eee;border-radius:999px;align-items:center;padding:3px 7px;font-size:11px;display:inline-flex}.status-badge.ok,.status-badge.ready,.status-badge.generated,.status-badge.split,.status-badge.done,.status-badge.completed{color:var(--green);background:#e7f7ee}.status-badge.needs_review,.status-badge.queued,.status-badge.pending,.status-badge.uploaded,.status-badge.running{color:var(--amber);background:#fff2cc}.status-badge.error,.status-badge.failed{color:var(--red);background:#fdebea}.batch-bar{min-height:34px;color:var(--muted);align-items:center;gap:10px;margin-bottom:8px;font-size:12px;display:flex}.row-count{color:var(--muted);flex:none;font-size:12px}.mini-button{width:30px;min-width:30px;height:30px;padding:0}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:8px 9px;font-size:13px}th{color:var(--muted);background:#fafafa;font-weight:500}.empty-state{min-height:220px;color:var(--muted);text-align:center;border:1px dashed #d8d8d8;border-radius:8px;place-items:center;padding:20px;display:grid}.empty-state.compact{min-height:80px}.compact-button{min-width:96px}.drawer-backdrop{z-index:20;background:#00000047;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{border-left:1px solid var(--border);background:#fff;grid-template-rows:auto minmax(0,1fr);width:min(1120px,100vw - 40px);height:100vh;display:grid;box-shadow:-20px 0 50px #0000001f}.drawer-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 22px;display:flex}.drawer-header h2{max-width:820px;line-height:1.45}.icon-button{width:36px;padding:0}.drawer-body{grid-template-columns:minmax(0,1fr) 360px;gap:0;min-height:0;display:grid}.pdf-frame{background:#f1f1f1;border:0;width:100%;height:100%}.review-form{border-left:1px solid var(--border);align-content:start;gap:14px;padding:18px;display:grid;overflow:auto}.review-form label{color:var(--muted);gap:7px;font-size:13px;display:grid}.review-form input,.review-form select{border:1px solid var(--border);color:#171717;background:#fff;border-radius:6px;width:100%;height:36px;padding:0 10px}.form-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.title-block-preview{border:1px solid var(--border);background:var(--panel-soft);border-radius:6px;padding:12px}.title-block-preview p{max-height:130px;color:var(--muted);word-break:break-all;margin:8px 0 0;font-size:12px;line-height:1.6;overflow:auto}.graph-panel{background-color:#fff;background-image:linear-gradient(#f3f3f3 1px,#0000 1px),linear-gradient(90deg,#f3f3f3 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;min-height:360px;position:relative}.graph-node{border:1px solid var(--border);background:#fff;border-radius:8px;place-items:center;min-width:92px;min-height:44px;display:grid;position:absolute;box-shadow:0 8px 20px #0000000f}.graph-node.root{border-color:#111;top:38px;left:38%}.graph-node.device{top:160px;left:15%}.graph-node.cable{top:158px;right:14%}.graph-node.drawing{bottom:38px;left:40%}.graph-icon{color:var(--blue);position:absolute;top:calc(50% - 14px);left:calc(50% - 14px)}@media (width<=980px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--border)}.brand{padding-bottom:16px}nav{grid-template-columns:repeat(5,minmax(0,1fr))}.nav-button{justify-content:center}.metric-grid,.split-layout,.graph-layout,.classification-layout{grid-template-columns:1fr}.topbar{flex-direction:column}.topbar-actions{justify-content:flex-start}.drawer-body{grid-template-columns:1fr}.pdf-frame{min-height:60vh}.review-form{border-left:0;border-top:1px solid var(--border)}}@media (width<=640px){.main{padding:18px}nav{grid-template-columns:1fr 1fr}.nav-button{justify-content:flex-start}.topbar-actions{width:100%}.topbar-actions button{flex:120px}.filter-row,.inline-actions{justify-content:stretch}.filter-row>*,.inline-actions>*{flex:160px}.drawer{width:100vw}h1{font-size:23px}}
