:root{--background: #ffffff;--workspace: #f7f9fb;--surface-alt: #fafafa;--foreground: #1d212a;--secondary-foreground: #4e596a;--muted-foreground: #86909d;--disabled-foreground: #aeb2ba;--primary: #1c69ff;--primary-soft: #e8f0ff;--nav-active-bg: #eaf0fb;--nav-active-text: #285fb3;--muted: #f2f3f5;--destructive: #f43f5e;--destructive-soft: #fff1f2;--success: #18856e;--success-soft: #e2f5ec;--warning: #a76b16;--warning-soft: #fff4df;--info-text: #4376c1;--border: #e5e6eb;--row-border: #eef0f4;--radius: 5px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;color:var(--foreground);font-family:var(--font-sans);font-size:14px}*{box-sizing:border-box}body{margin:0;background:var(--background)}a{color:var(--primary);text-decoration:none}.app{height:100dvh;display:flex;background:var(--background);color:var(--foreground)}.sidenav{width:212px;flex-shrink:0;background:var(--surface-alt);border-right:1px solid #eaecef;display:flex;flex-direction:column;padding:0 12px}.sidenav-brand{height:58px;display:flex;align-items:center;gap:8px;padding:0 12px}.sidenav-logo{width:23px;height:23px;border-radius:5px;background:#2868df;color:#fff;display:grid;place-items:center;font-size:13px;font-weight:600;flex-shrink:0}.sidenav-brand strong{font-size:16px;font-weight:600;line-height:24px}.sidenav-edition{font-size:10px;color:#a0a5ad;font-weight:400;margin-left:auto}.sidenav nav{flex:1;overflow:auto}.sidenav .nav-item{display:flex;align-items:center;width:100%;height:34px;margin:2px 0;padding:6px 12px;gap:11px;border:0;border-radius:4px;background:none;font-size:13px;line-height:20px;color:#666b74;text-align:left;cursor:pointer;text-decoration:none}.sidenav .nav-item svg{color:#838993;flex-shrink:0}.sidenav .nav-item:hover{background:#f0f1f3;color:#2b3038}.sidenav .nav-item.active{background:var(--nav-active-bg);color:var(--nav-active-text);font-weight:500}.sidenav .nav-item.active svg{color:#3b6fbd}.sidenav .nav-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidenav-label{font-size:10px;color:#a0a5ad;line-height:16px;margin:27px 12px 10px}.sidenav-bottom{border-top:1px solid #eceef0;margin-top:14px;padding-top:10px}.sidenav-person{display:flex;align-items:center;gap:9px;padding:15px 12px 16px;color:#656b74;font-size:11px}.avatar{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#eaecef;color:#717985;font-size:10px;flex-shrink:0}.avatar.large{width:30px;height:30px;font-size:12px;background:#e6edf8;color:#4e6486}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:56px;flex-shrink:0;background:var(--background);border-bottom:1px solid var(--border);padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:8px}.topbar>div{display:flex;align-items:center;gap:13px;min-width:0}.topbar strong{font-size:13px;white-space:nowrap}.topbar .icon-btn{position:relative;display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;background:transparent;color:var(--secondary-foreground);cursor:pointer;border-radius:var(--radius)}.topbar .icon-btn:hover{background:var(--primary-soft)}.topbar .icon-btn .dot{position:absolute;top:5px;right:5px;width:5px;height:5px;border-radius:50%;background:var(--destructive)}.page-scroll{flex:1;min-height:0;overflow:auto;position:relative;display:flex;flex-direction:column}.page-heading{position:sticky;top:0;z-index:10;background:var(--background);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:24px 28px 20px;flex-shrink:0}.page-heading>div:first-child{display:flex;align-items:center;gap:16px;min-width:0}.page-heading h1{font-size:20px;font-weight:600;margin:0}.page-heading .page-sub{font-size:12px;color:var(--muted-foreground);white-space:nowrap}.page-heading .heading-tags{display:inline-flex;align-items:center;gap:8px;margin-left:8px}.breadcrumb{display:block;font-size:11px;color:#9197a0;margin-bottom:5px}.heading-stack{display:flex;flex-direction:column;align-items:flex-start!important;gap:0!important}.page-body{padding:0 28px 32px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:32px;padding:5px 11px;border:1px solid var(--border);border-radius:var(--radius);background:var(--background);color:var(--secondary-foreground);font-size:13px;font-family:inherit;cursor:pointer;transition:background .15s;text-decoration:none}.btn:hover{background:var(--workspace);color:var(--foreground)}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover{filter:brightness(.96)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.small{min-height:28px;padding:3px 9px;font-size:12px}.vtabs{display:flex;gap:22px;padding:0 28px;border-bottom:1px solid var(--border);overflow-x:auto;flex-shrink:0}.vtabs button{border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;white-space:nowrap;font-size:13px;font-family:inherit;color:var(--secondary-foreground);padding:10px 0;min-height:43px;cursor:pointer}.vtabs button:hover,.vtabs button:focus-visible{background:transparent;color:var(--primary)}.vtabs button.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:500}.config-nav{display:flex;align-items:center;gap:26px;width:100%;height:45px;min-height:45px;padding:0 30px;border-bottom:1px solid var(--border);background:var(--background);overflow-x:auto;flex-shrink:0}.config-nav>button{position:relative;flex-shrink:0;height:45px;padding:10px 0;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;font-size:12px;font-family:inherit;color:var(--secondary-foreground);cursor:pointer}.config-nav>button:hover{background:transparent;color:var(--primary)}.config-nav>button.active{background:transparent;border-bottom-color:#316bd6;color:#316bd6;font-weight:500}.table-card{background:var(--background);border:1px solid var(--border);border-radius:8px;overflow:hidden}.table-scroll{overflow:auto}.data-table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left;font-size:13px}.data-table th{font-weight:400;color:var(--muted-foreground);background:var(--workspace);height:38px;padding:8px 16px;border-bottom:1px solid var(--border)}.data-table td{padding:11px 16px;border-bottom:1px solid var(--row-border);height:52px;color:var(--foreground)}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover td{background:#fafcff}.data-table tr.clickable{cursor:pointer}.data-table td .cell-sub{display:block;font-size:11px;color:var(--muted-foreground);margin-top:3px}.data-table td.muted,.data-table .muted{color:var(--muted-foreground)}.badge{display:inline-flex;align-items:center;padding:1px 7px;border-radius:4px;font-size:11px;line-height:20px;white-space:nowrap;max-width:100%}.badge.gray{background:var(--muted);color:var(--secondary-foreground)}.badge.blue{background:var(--primary-soft);color:var(--info-text)}.badge.green{background:var(--success-soft);color:var(--success)}.toolbar{display:flex;align-items:center;gap:12px;min-height:58px;padding:12px 28px;border-bottom:1px solid var(--border);flex-wrap:wrap}.toolbar .toolbar-spacer{flex:1}.drawer-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;justify-content:flex-end}.drawer-overlay .backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;border-radius:0;padding:0;background:#131e3121;cursor:default}.drawer{position:relative;width:min(790px,calc(100% - 260px));height:100%;background:var(--background);box-shadow:-6px 0 26px #172d491a;display:flex;flex-direction:column;min-width:0}.drawer>header{height:52px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding:0 24px}.drawer>header>span{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted-foreground)}.drawer-serial{font-size:12px;color:var(--muted-foreground)}.icon-btn{position:relative;display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;background:transparent;color:var(--secondary-foreground);cursor:pointer;border-radius:var(--radius)}.icon-btn:hover{background:var(--primary-soft)}.drawer-title{padding:22px 28px 16px;flex-shrink:0}.drawer-title h2{font-size:20px;font-weight:600;line-height:1.5;margin:0;overflow-wrap:anywhere}.drawer-title .drawer-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:12px;font-size:11px;color:var(--muted-foreground)}.drawer-title .drawer-meta .btn{margin-left:auto}.drawer-body{padding:24px 28px;overflow:auto;flex:1}.drawer-body h3{font-size:14px;font-weight:600;margin:20px 0 14px}.flow-progress{display:flex;align-items:stretch;gap:5px;padding:10px 28px 12px;border-bottom:1px solid var(--border);overflow-x:auto;flex-shrink:0}.flow-progress .flow-node{display:flex;flex-direction:column;justify-content:center;gap:3px;min-width:112px;border:1px solid transparent;background:transparent;border-radius:5px;text-align:left;padding:7px 9px;color:#475363}.flow-progress .flow-node strong{font-size:11px;font-weight:500;white-space:nowrap;display:flex;align-items:center;gap:6px}.flow-progress .flow-node small{font-size:10px;color:var(--muted-foreground);white-space:nowrap}.flow-progress .flow-node .flow-dot{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;border:1px solid var(--border);background:var(--workspace);font-size:10px;font-style:normal;color:var(--muted-foreground);flex-shrink:0}.flow-progress .flow-node.done .flow-dot{background:var(--success-soft);color:var(--success);border-color:var(--success-soft)}.flow-progress .flow-node.current{background:#f4f7fb;border-color:#dce4ef}.flow-progress .flow-node.current strong{color:var(--primary)}.flow-progress .flow-node.current .flow-dot{background:var(--primary);color:#fff;border-color:var(--primary)}.modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;background:#1c2a4140;display:flex;align-items:center;justify-content:center;padding:24px}.modal{width:540px;max-width:100%;max-height:100%;overflow:hidden;background:var(--background);border-radius:8px;box-shadow:0 8px 40px #172d4926;display:flex;flex-direction:column}.modal>header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding:16px 24px;flex-shrink:0}.modal>header h2{font-size:16px;font-weight:600;margin:0}.modal .modal-body{padding:8px 24px 16px;overflow:auto}.modal>footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:14px 24px;border-top:1px solid var(--border);flex-shrink:0}.form-group{margin-bottom:16px}.form-group label,.form-label{display:block;font-size:12px;color:var(--secondary-foreground);margin-bottom:6px}label.form-label{margin:16px 0}.form-label>input:not([type=checkbox]),.form-label>select,.form-label>textarea,.form-label>.readonly-value{display:block;width:100%;margin-top:7px;font-size:14px;color:var(--foreground)}.form-label>input:not([type=checkbox]),.form-label>select,.form-label>textarea{border:1px solid var(--border);border-radius:var(--radius);padding:7px 10px;font-family:inherit;background:var(--background);outline:none}.form-label>input:focus,.form-label>select:focus,.form-label>textarea:focus{border-color:var(--primary)}.form-label>textarea{min-height:88px;resize:vertical}.form-label .meta{display:block;margin-top:6px;font-size:11px}.form-group label .required,.form-label .required{color:var(--destructive);margin-left:2px}.form-group input,.form-group textarea,.form-group select,.handle-form textarea,.handle-form select{width:100%;border:1px solid var(--border);border-radius:var(--radius);padding:7px 10px;font-size:14px;font-family:inherit;color:var(--foreground);background:var(--background);outline:none}.form-group input:focus,.form-group textarea:focus,.form-group select:focus,.handle-form textarea:focus,.handle-form select:focus{border-color:var(--primary)}.form-group textarea{min-height:88px;resize:vertical}.readonly-value{padding:7px 0;color:var(--secondary-foreground);font-size:14px}.form-narrow{max-width:360px}.form-actions{display:flex;align-items:center;gap:12px;margin-top:8px}.form-actions.flush{margin-top:0}.form-actions .cell-name{width:220px}.page-body .vtabs{padding:0;margin-bottom:16px}.form-actions select{border:1px solid var(--border);border-radius:var(--radius);padding:7px 10px;font-size:14px;font-family:inherit;color:var(--foreground);background:var(--background);outline:none}.card{background:var(--background);border:1px solid var(--border);border-radius:8px;padding:16px 20px;margin-bottom:16px}.card h2{font-size:15px;font-weight:600;margin:0 0 12px;color:var(--foreground)}.field-grid{display:grid;grid-template-columns:1fr;gap:0}.field-grid.columns-2{grid-template-columns:1fr 1fr;column-gap:32px}.field-line{display:flex;padding:8px 0;border-bottom:1px solid var(--workspace)}.field-line .field-name{width:120px;flex-shrink:0;color:var(--muted-foreground)}.field-line .field-value{flex:1;color:var(--foreground);white-space:pre-wrap;word-break:break-word}.error-box{background:var(--destructive-soft);border:1px solid #f5b7ae;color:#cb3223;border-radius:var(--radius);padding:10px 14px;margin-bottom:16px;font-size:13px}.error-box .btn{margin-left:12px}.info-box{background:var(--muted);border:1px solid var(--border);color:var(--secondary-foreground);border-radius:var(--radius);padding:10px 14px;margin-top:12px;font-size:13px}.info-box.flush{margin-top:0;margin-bottom:12px}.loading{color:var(--muted-foreground);padding:40px 0;text-align:center}.empty{min-height:160px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:13px;color:var(--muted-foreground)}.meta{color:var(--muted-foreground);font-size:13px}.meta-line{color:var(--muted-foreground);font-size:12px;padding:2px 0}.metric-link{border:none;background:none;padding:0;font-size:13px;font-family:inherit;color:var(--primary);cursor:pointer}.metric-link:hover{text-decoration:underline}.metric-link.overdue{color:var(--destructive)}.step-panel{border:1px solid var(--border);border-radius:6px;background:var(--background);padding:12px 16px;margin:4px 0 12px 24px}.property-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:#f2f4f7;border-radius:6px;padding:2px;margin-bottom:12px}.property-tabs button{border:none;background:transparent;border-radius:5px;padding:6px 0;font-size:12px;font-family:inherit;color:var(--secondary-foreground);cursor:pointer}.property-tabs button.active{background:var(--background);color:var(--foreground);font-weight:500;box-shadow:0 1px 2px #1018280f}.step-panel-body .form-label{margin-bottom:10px}.config-row.selected{background:var(--primary-soft);border-radius:5px}.event-editor .config-subtitle{margin:0 0 8px;font-size:13px}.event-action{border:1px solid var(--border);border-radius:6px;padding:10px 12px;margin-bottom:8px}.event-empty{border:1px dashed var(--border);border-radius:6px;padding:18px 0;text-align:center;color:var(--muted-foreground);font-size:12px;margin-bottom:8px}.drill-panel{margin-top:12px;border:1px solid var(--border);border-radius:6px;background:var(--background);padding:12px 16px}.drill-title{font-size:13px;font-weight:500;margin-bottom:8px}.drill-items{display:flex;flex-wrap:wrap;gap:8px}.drill-chip{border:1px solid var(--border);border-radius:4px;background:var(--background);padding:4px 10px;font-size:12px;font-family:inherit;color:var(--foreground);cursor:pointer}.drill-chip:hover{border-color:var(--primary);color:var(--primary)}.process-facts{margin:0 0 12px;padding:0;display:grid;grid-template-columns:120px 1fr;row-gap:8px}.process-facts dt{color:var(--muted-foreground)}.process-facts dd{margin:0}.handle-form{margin-top:16px;padding-top:16px;border-top:1px solid var(--muted);display:flex;flex-direction:column;gap:12px}.handle-form .field-line{display:flex;flex-direction:column;gap:6px;border-bottom:0}.handle-form .field-name{width:auto}.related-list{list-style:none;margin:0;padding:0}.related-list li{padding:8px 0;border-bottom:1px solid var(--workspace)}.related-list li:last-child{border-bottom:none}.related-list .relation{color:var(--muted-foreground);margin-right:8px;font-size:13px}.provider-card{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--workspace)}.provider-card:last-child{border-bottom:none}.provider-card .provider-name{width:140px;font-weight:500}.provider-card .provider-desc{color:var(--muted-foreground);font-size:13px}.history-title{margin:20px 0 8px;font-size:14px;color:var(--secondary-foreground);border-top:1px solid var(--muted);padding-top:16px}.history-list{list-style:none;margin:0;padding:0}.history-line{display:flex;align-items:baseline;gap:12px;padding:7px 0;border-bottom:1px solid var(--workspace);font-size:13px;color:var(--secondary-foreground)}.history-line.warn .history-action{color:#d4380d}.history-stage{min-width:96px;font-weight:500;color:var(--foreground)}.history-action{min-width:56px}.history-actor{min-width:76px;color:var(--muted-foreground)}.history-detail{flex:1}.history-time{color:var(--muted-foreground);white-space:nowrap}.unread-badge{display:inline-block;min-width:16px;padding:0 4px;margin-left:4px;border-radius:8px;background:var(--destructive);color:#fff;font-size:11px;line-height:16px;text-align:center}.unread-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--destructive);margin-right:6px;vertical-align:middle}tr.unread .cell-title{font-weight:600}.config-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 0}.config-row input[type=text],.config-row textarea,.config-row select{border:1px solid var(--border);border-radius:var(--radius);padding:6px 10px;font-size:13px;font-family:inherit;color:var(--foreground);background:var(--background);outline:none}.config-row input[type=text]:focus,.config-row textarea:focus,.config-row select:focus{border-color:var(--primary)}.config-row .cell-id{width:110px;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:12px;color:var(--muted-foreground);align-self:center}.config-row .cell-name{width:180px}.config-row .cell-external{width:150px}.config-row .cell-options{width:100%;margin-top:4px}.config-row .cell-equals{width:140px}.config-row .cell-index{width:20px;text-align:right}.cell-check{display:inline-flex;align-items:center;gap:4px;color:var(--secondary-foreground);font-size:13px;white-space:nowrap}.cell-check input[type=checkbox]{accent-color:var(--primary);width:15px;height:15px}.row-actions{display:inline-flex;gap:6px;margin-left:auto}.config-entry{border-top:1px solid var(--workspace);padding:6px 0}.config-entry .entry-props{padding-left:16px}.entry-field{min-width:160px;color:var(--foreground)}.config-subtitle{margin:16px 0 8px;font-size:14px;color:var(--secondary-foreground)}.column-picker{display:flex;flex-wrap:wrap;gap:8px 20px;padding:4px 0}
