.page-approval{padding:var(--space-4) 0}.approval-tabs{border-bottom:1px solid var(--color-border);margin-bottom:var(--space-5);gap:0;display:flex}.approval-tabs .tab-item{font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid transparent;padding:10px 18px;font-family:inherit;font-weight:500;text-decoration:none}.approval-tabs .tab-item:hover{color:var(--color-text)}.approval-tabs .tab-item.active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:600}.approval-steps-timeline{gap:var(--space-3);padding:var(--space-2) 0;flex-direction:column;display:flex}.approval-step-item{gap:var(--space-3);align-items:flex-start;display:flex}.step-marker{flex-direction:column;align-items:center;padding-top:4px;display:flex}.step-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px}.step-dot.pending{background:var(--color-border);border:2px solid var(--color-text-tertiary)}.step-dot.approved{background:var(--color-success);border:2px solid var(--color-success)}.step-dot.rejected{background:var(--color-danger);border:2px solid var(--color-danger)}.step-content{flex:1;min-width:0}.step-header{align-items:center;gap:var(--space-2);margin-bottom:4px;display:flex}.step-order{font-size:var(--text-xs);color:var(--color-text-tertiary);font-weight:550}.step-comment{font-size:var(--text-sm);color:var(--color-text-secondary);background:var(--color-bg);border-radius:var(--radius-md);border-left:3px solid var(--color-primary);margin:4px 0;padding:8px 12px}.approval-actions{gap:var(--space-3);padding:var(--space-3) 0;display:flex}.approval-comment-input{resize:vertical;width:100%;min-height:72px;font-size:var(--text-sm)}.biz-task{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);margin-bottom:var(--space-3)}.biz-task-title{font-size:var(--text-sm);color:var(--color-text);margin-bottom:var(--space-2);font-weight:600}.biz-task .info-row{padding:var(--space-1) 0}.placeholder-card{padding:var(--space-16) var(--space-8);text-align:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-top:var(--space-6);flex-direction:column;justify-content:center;align-items:center;display:flex}.placeholder-card .placeholder-icon{margin-bottom:var(--space-4);opacity:.6;font-size:48px}.placeholder-card h3{font-size:var(--text-lg);color:var(--color-text);margin-bottom:var(--space-2);font-weight:600}.placeholder-card .feature-list{margin-top:var(--space-3);text-align:left;padding:0;list-style:none}.placeholder-card .feature-list li{font-size:var(--text-sm);color:var(--color-text-secondary);padding:4px 0}.info-rows{gap:var(--space-2);flex-direction:column;display:flex}.section-title-sm{font-size:var(--text-sm);color:var(--color-text);margin-bottom:var(--space-3);font-weight:600}.modal-close-btn{border-radius:var(--radius-sm);width:32px;height:32px;padding:0;font-size:18px}@media (width<=768px){.stat-grid{grid-template-columns:repeat(2,1fr)}.approval-actions{flex-direction:column}.engine-tabs{overflow-x:auto}.step-editor-card{padding:var(--space-3)}.form-grid-2col{grid-template-columns:1fr}}.engine-tabs{border-bottom:1px solid var(--color-border);margin-bottom:var(--space-5);gap:0;display:flex}.engine-tab{font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);background:0 0;border:none;border-bottom:2px solid transparent;padding:10px 22px;font-family:inherit;font-weight:500}.engine-tab:hover{color:var(--color-text)}.engine-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:600}.steps-editor{gap:var(--space-3);flex-direction:column;display:flex}.step-editor-card{background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:var(--space-4);transition:border-color var(--transition-fast)}.step-editor-card:hover{border-color:var(--color-primary-bg)}.step-editor-header{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.step-editor-title{font-size:var(--text-sm);color:var(--color-text);font-weight:600}.step-editor-actions{gap:2px;display:flex}.sort-btns{flex-direction:column;align-items:center;gap:1px;display:flex}.sort-btn{width:24px;height:20px;color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:1px solid transparent;border-radius:3px;justify-content:center;align-items:center;padding:0;font-size:10px;line-height:1;display:inline-flex}.sort-btn:hover:not(:disabled){color:var(--color-primary);background:var(--color-primary-bg)}.sort-btn:disabled{opacity:.25;cursor:not-allowed}.form-inline-checks{align-items:center;gap:var(--space-5);margin:var(--space-2) 0;flex-wrap:wrap;display:flex}.form-group-inline{align-items:center;gap:var(--space-2);margin-bottom:0;display:flex}.form-label-inline{white-space:nowrap;margin-bottom:0;font-weight:500}.form-input-xs{font-size:var(--text-xs);padding:5px 8px}.form-textarea-mono{font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.6}.m-4{margin:var(--space-4)}.fw-600{font-weight:600}.mx-3{margin-left:var(--space-3);margin-right:var(--space-3)}.strategy-config-panel{background:var(--color-bg-soft);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);padding:var(--space-3)}.strategy-field{gap:var(--space-1);flex-direction:column;display:flex}.strategy-info{align-items:flex-start;gap:var(--space-2);padding:var(--space-2) 0;color:var(--color-text-secondary);font-size:var(--text-sm);line-height:1.5;display:flex}.strategy-info .info-icon{font-size:var(--text-base);flex-shrink:0;margin-top:1px}.form-label-sm{font-size:var(--text-xs);color:var(--color-text-secondary);text-transform:none;letter-spacing:0;margin-bottom:2px;font-weight:500}.condition-presets{gap:var(--space-1);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.condition-preset-btn{font-size:var(--text-xs);border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;padding:3px 10px;font-family:inherit}.condition-preset-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-bg)}.condition-logic-bar{align-items:center;gap:var(--space-3);padding:var(--space-2) 0;margin-bottom:var(--space-2);display:flex}.logic-toggle{border:1px solid var(--color-border);border-radius:var(--radius-sm);display:inline-flex;overflow:hidden}.logic-btn{font-size:var(--text-xs);background:var(--color-bg);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);border:none;padding:4px 14px;font-family:inherit;font-weight:500}.logic-btn.active{background:var(--color-primary);color:#fff}.logic-btn:not(.active):hover{background:var(--color-primary-bg);color:var(--color-primary)}.condition-list{gap:var(--space-3);flex-direction:column;display:flex}.condition-row{border:1px solid var(--color-border-light);border-radius:var(--radius-sm);background:var(--color-bg-soft);overflow:hidden}.condition-row-header{padding:6px var(--space-3);background:var(--color-bg-overlay);border-bottom:1px solid var(--color-border-light);justify-content:space-between;align-items:center;display:flex}.condition-label{font-size:var(--text-xs);color:var(--color-text-secondary);font-weight:600}.condition-row-body{padding:var(--space-3)}.form-inline{gap:var(--space-3);flex-wrap:wrap;align-items:flex-end;display:flex}.form-inline-3col{gap:var(--space-3);grid-template-columns:1fr 1fr 1fr;display:grid}.form-group-sm{margin-bottom:0}.form-label-xs{font-size:var(--text-xs);color:var(--color-text-tertiary);margin-bottom:2px;font-weight:500;display:block}.form-input-sm,.form-select-sm{font-size:var(--text-xs);min-height:30px;padding:5px 8px}.form-textarea-sm{font-size:var(--text-xs);min-height:48px;padding:5px 8px}.form-label-hint{font-size:var(--text-xs);color:var(--color-text-tertiary)}@media (width<=768px){.form-inline-3col{grid-template-columns:1fr}}