:root{--primary:#0d9488;--primary-light:#ccfbf1;--primary-dark:#0f766e;--bg:#f1f5f9;--card:#fff;--border:#e2e8f0;--text:#0f172a;--text-sub:#475569;--text-muted:#94a3b8;--sidebar-bg:#0f172a;--sidebar-text:#94a3b8;--sidebar-active-bg:#0d94882e;--ok:#16a34a;--warn:#d97706;--danger:#dc2626;--skip:#9333ea;--radius:12px;--radius-sm:8px}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--text);background:var(--bg);font-family:PingFang SC,Microsoft YaHei,Segoe UI,system-ui,sans-serif;font-size:14px}#app{min-height:100vh;display:flex}.sidebar{background:var(--sidebar-bg);flex-direction:column;flex:none;width:180px;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.logo{border-bottom:1px solid #94a3b826;align-items:center;gap:10px;height:64px;padding:0 20px;display:flex}.logo-mark{background:var(--primary);border-radius:8px;flex:none;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.logo-mark svg{width:16px;height:16px}.logo-text{color:#f8fafc;white-space:nowrap;font-size:15px;font-weight:600}.logo-text small{color:var(--sidebar-text);margin-top:1px;font-size:11px;font-weight:400;display:block}.menu{flex:1;padding:12px 10px}.menu-group-title{color:#c9d4e2;letter-spacing:1px;white-space:nowrap;align-items:center;height:48px;padding:0 12px;font-size:14px;display:flex}.menu-item{border-radius:var(--radius-sm);color:#9aa7b8;cursor:pointer;white-space:nowrap;align-items:center;gap:9px;height:48px;padding:0 10px 0 18px;font-size:12.5px;transition:background .15s,color .15s;display:flex;position:relative}.menu-item:hover{color:#e2e8f0;background:#94a3b814}.menu-item.active{color:#5eead4;background:var(--sidebar-active-bg)}.menu-item.active:before{content:"";background:var(--primary);border-radius:2px;width:3px;position:absolute;top:12px;bottom:12px;left:0}.menu-item .mi{opacity:.85;flex:none;width:15px;height:15px}.menu-item .tag-admin{color:#fbbf24;white-space:nowrap;border:1px solid #fbbf2473;border-radius:999px;margin-left:auto;padding:1px 6px;font-size:10px}.sidebar-footer{color:#475569;white-space:nowrap;border-top:1px solid #94a3b826;padding:14px 20px;font-size:11px}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{background:var(--card);border-bottom:1px solid var(--border);z-index:10;align-items:center;height:64px;padding:0 24px;display:flex;position:sticky;top:0}.breadcrumb{color:var(--text-muted);white-space:nowrap;align-items:center;gap:8px;font-size:13px;display:flex}.breadcrumb b{color:var(--text);font-weight:600}.topbar-right{align-items:center;gap:16px;margin-left:auto;display:flex}.env-chip{color:var(--primary-dark);background:var(--primary-light);white-space:nowrap;border:1px solid #0d94884d;border-radius:999px;padding:3px 10px;font-size:12px}.user-info{white-space:nowrap;align-items:center;gap:8px;display:flex}.avatar{background:var(--primary-light);width:32px;height:32px;color:var(--primary-dark);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.user-name{font-size:13px;font-weight:500}.user-role{color:var(--text-muted);font-size:11px}.content{flex:1;padding:24px}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:20px;padding:20px}.card-head{align-items:center;gap:10px;margin-bottom:16px;display:flex}.card-title{white-space:nowrap;font-size:15px;font-weight:600}.card-title:before{content:"";background:var(--primary);vertical-align:-2px;border-radius:2px;width:3px;height:14px;margin-right:8px;display:inline-block}.card-head .sub{color:var(--text-muted);white-space:nowrap;margin-left:2px;font-size:12px}.card-head .spacer{flex:1}.btn{border:1px solid var(--border);background:var(--card);color:var(--text-sub);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;padding:7px 14px;font-size:13px}.btn:hover{border-color:var(--primary);color:var(--primary)}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark);color:#fff}.btn-link{color:var(--primary);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:0;font-size:13px}.btn-link:hover{text-decoration:underline}.btn-link+.btn-link{margin-left:12px}.search-input{border:1px solid var(--border);border-radius:var(--radius-sm);width:220px;color:var(--text);outline:none;padding:7px 12px;font-size:13px}.search-input:focus{border-color:var(--primary)}.select{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-sub);cursor:pointer;background:#fff;outline:none;padding:7px 10px;font-size:13px}.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:2px 10px;font-size:12px;line-height:18px;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.b-ok{color:var(--ok);background:#f0fdf4}.b-doing{color:var(--primary-dark);background:var(--primary-light)}.b-warn{color:var(--warn);background:#fffbeb}.b-danger{color:var(--danger);background:#fef2f2}.b-done{color:#475569;background:#f1f5f9}.b-skip{color:var(--skip);background:#faf5ff}.tag{white-space:nowrap;border-radius:4px;padding:1px 6px;font-size:11px;line-height:18px;display:inline-block}.t-auto{color:var(--primary-dark);background:var(--primary-light)}.t-manual{color:var(--text-sub);background:#f1f5f9}.t-mixed{color:var(--warn);background:#fffbeb}.table-wrap{border:1px solid var(--border);border-radius:var(--radius-sm);overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:900px}thead th{color:var(--text-sub);text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;background:#f8fafc;padding:10px 14px;font-size:12px;font-weight:500}tbody td{white-space:nowrap;text-overflow:ellipsis;max-width:220px;color:var(--text);border-bottom:1px solid #f1f5f9;padding:12px 14px;font-size:13px;overflow:hidden}tbody tr:last-child td{border-bottom:none}tbody tr:hover{cursor:pointer;background:#f8fafc}.mono{color:var(--text-sub);font-family:JetBrains Mono,Consolas,monospace;font-size:12px}.stat-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px;display:grid}.stat-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px}.stat-label{color:var(--text-muted);white-space:nowrap;font-size:12px}.stat-value{margin-top:6px;font-family:DIN Alternate,Inter,sans-serif;font-size:26px;font-weight:700}.stat-value small{color:var(--text-muted);margin-left:4px;font-size:12px;font-weight:400}.stat-foot{color:var(--text-muted);white-space:nowrap;margin-top:8px;font-size:11px}.stat-foot .up{color:var(--ok)}.stat-foot .down{color:var(--danger)}.dash-grid{grid-template-columns:1.2fr 1fr;gap:20px;display:grid}.alert-item{border-bottom:1px solid #f1f5f9;align-items:center;gap:12px;padding:12px 4px;display:flex}.alert-item:last-child{border-bottom:none}.alert-level{border-radius:var(--radius-sm);flex:none;justify-content:center;align-items:center;width:34px;height:34px;font-size:12px;font-weight:600;display:flex}.al-danger{color:var(--danger);background:#fef2f2}.al-warn{color:var(--warn);background:#fffbeb}.alert-main{flex:1;min-width:0}.alert-title{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.alert-desc{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:12px;overflow:hidden}.event-item{border-bottom:1px solid #f1f5f9;align-items:center;gap:10px;padding:10px 4px;font-size:13px;display:flex}.event-item:last-child{border-bottom:none}.event-dot{background:var(--primary);border-radius:50%;flex:none;width:8px;height:8px}.event-time{color:var(--text-muted);flex:none;width:62px;font-size:12px}.event-text{white-space:nowrap;text-overflow:ellipsis;color:var(--text-sub);overflow:hidden}.event-text b{color:var(--text);font-weight:500}.customer-hero{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.customer-avatar{background:var(--primary-light);width:56px;height:56px;color:var(--primary-dark);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:20px;font-weight:600;display:flex}.customer-meta{flex-wrap:wrap;gap:28px;display:flex}.cm-item{min-width:0}.cm-label{color:var(--text-muted);white-space:nowrap;font-size:11px}.cm-value{white-space:nowrap;margin-top:3px;font-size:14px;font-weight:500}.stage-bar{gap:6px;margin-top:4px;display:flex}.stage-seg{background:#e2e8f0;border-radius:4px;flex:1;height:8px;position:relative;overflow:hidden}.stage-seg .fill{background:var(--primary);border-radius:4px;position:absolute;top:0;bottom:0;left:0}.stage-legend{flex-wrap:wrap;gap:18px;margin-top:10px;display:flex}.sl-item{color:var(--text-sub);white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:flex}.sl-item:before{content:"";background:#e2e8f0;border-radius:2px;width:8px;height:8px}.sl-item.done:before{background:var(--primary)}.sl-item.doing:before{background:var(--warn)}.timeline{position:relative}.tl-row{gap:16px;padding-bottom:4px;display:flex;position:relative}.tl-col-time{text-align:right;flex:none;width:88px;padding-top:14px}.tl-time{color:var(--text-sub);white-space:nowrap;font-family:Consolas,monospace;font-size:12px}.tl-date{color:var(--text-muted);font-size:11px}.tl-col-dot{flex-direction:column;flex:none;align-items:center;width:20px;display:flex}.tl-dot{z-index:1;background:#fff;border:2px solid #cbd5e1;border-radius:50%;flex:none;width:12px;height:12px;margin-top:16px}.tl-row.done .tl-dot{border-color:var(--ok);background:var(--ok)}.tl-row.doing .tl-dot{border-color:var(--primary);background:var(--primary);box-shadow:0 0 0 4px var(--primary-light)}.tl-row.warn .tl-dot{border-color:var(--danger);background:#fff}.tl-row.pending .tl-dot{background:#fff;border-color:#e2e8f0}.tl-line{background:#e2e8f0;flex:1;width:2px;margin-top:2px}.tl-row.done .tl-line{background:var(--ok)}.tl-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);flex:1;min-width:0;margin-bottom:10px;padding:12px 16px}.tl-row.pending .tl-card{background:#fafbfc;border-style:dashed}.tl-row.doing .tl-card{border-color:var(--primary);box-shadow:0 1px 6px #0d94881f}.tl-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tl-name{white-space:nowrap;font-size:14px;font-weight:600}.tl-row.pending .tl-name{color:var(--text-muted);font-weight:500}.tl-body{flex-wrap:wrap;gap:24px;margin-top:8px;display:flex}.tl-attr{color:var(--text-sub);white-space:nowrap;font-size:12px}.tl-attr b{color:var(--text);font-weight:500}.drive-banner{border-radius:var(--radius-sm);background:#f0fdfa;border:1px solid #0d948840;align-items:center;gap:14px;margin-bottom:16px;padding:12px 16px;display:flex}.drive-banner svg{flex:none;width:20px;height:20px}.drive-text{color:var(--primary-dark);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.admin-note{border-radius:var(--radius-sm);color:#92400e;white-space:nowrap;text-overflow:ellipsis;background:#fffbeb;border:1px solid #d977064d;align-items:center;gap:10px;margin-bottom:16px;padding:10px 14px;font-size:12.5px;display:flex;overflow:hidden}.minimap{align-items:center;gap:0;padding:8px 0;display:flex;overflow-x:auto}.mm-node{border:1px solid var(--border);color:var(--text-sub);white-space:nowrap;background:#fff;border-radius:6px;flex:none;padding:6px 10px;font-size:11px}.mm-arrow{background:var(--text-muted);flex:none;width:14px;height:1px;position:relative}.mm-arrow:after{content:"";border-left:5px solid var(--text-muted);border-top:3px solid #0000;border-bottom:3px solid #0000;position:absolute;top:-2.5px;right:0}.dept-tabs{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px;display:grid}.dept-tab{cursor:pointer;border:1.5px solid var(--border);border-radius:var(--radius);background:#fff;align-items:center;gap:12px;padding:14px 16px;transition:border-color .15s,box-shadow .15s,background .15s;display:flex}.dept-tab:hover{border-color:var(--text-muted)}.dept-tab.active{box-shadow:0 4px 14px #0f172a12}.dept-ico{color:#fff;border-radius:10px;flex:none;justify-content:center;align-items:center;width:40px;height:40px;font-size:17px;font-weight:600;display:flex}.dept-info{flex-direction:column;gap:3px;min-width:0;display:flex}.dept-info b{color:var(--text);white-space:nowrap;font-size:14px}.dept-info i{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;font-style:normal;overflow:hidden}.dept-meta{flex-direction:column;align-items:flex-end;gap:3px;margin-left:auto;display:flex}.dept-meta i{color:var(--text-muted);white-space:nowrap;font-size:11px;font-style:normal}.stage-chip{white-space:nowrap;border:1px solid;border-radius:999px;margin-left:6px;padding:2px 9px;font-size:11.5px}.flow-svg{width:100%;height:auto;display:block}.flow-node{cursor:default}.flow-node rect{transition:stroke-opacity .15s}.flow-node:hover rect{stroke-opacity:1;stroke-width:1.8px}.flow-edge{stroke-width:1.6px;stroke-linecap:round}.fn-num{font-family:JetBrains Mono,Consolas,monospace;font-size:11px;font-weight:600}.fn-name{fill:var(--text);font-size:12.5px;font-weight:500}.fn-skip{fill:var(--text-muted);letter-spacing:1px;font-size:8.5px}.flow-legend-note{color:var(--text-muted);background:var(--bg);border-radius:var(--radius-sm);margin-top:12px;padding:8px 12px;font-size:12px}.editor-drawer{z-index:60;background:var(--bg);flex-direction:column;animation:.18s ease-out drawerIn;display:flex;position:fixed;inset:64px 0 0 232px;box-shadow:-8px 0 24px #0f172a1f}@keyframes drawerIn{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}.editor-drawer-head{background:var(--card);border-bottom:1px solid var(--border);flex:none;align-items:center;gap:12px;height:52px;padding:0 18px;display:flex}.ed-title{color:var(--text);font-size:14px;font-weight:600}.ed-sub{color:var(--text-muted);font-size:12px}.editor-drawer-body{background:#f1f5f9;flex:1;justify-content:center;align-items:flex-start;min-height:0;display:flex;overflow:auto}.editor-drawer-body img{-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}@media (width<=1280px){.dept-tabs{grid-template-columns:repeat(2,1fr)}}.conn-item{border-bottom:1px solid #f1f5f9;align-items:center;gap:14px;padding:14px 4px;display:flex}.conn-item:last-child{border-bottom:none}.conn-dot{border-radius:50%;flex:none;width:10px;height:10px}.c-ok{background:var(--ok);box-shadow:0 0 0 3px #f0fdf4}.conn-name{white-space:nowrap;font-size:13.5px;font-weight:500}.conn-desc{color:var(--text-muted);white-space:nowrap;margin-top:2px;font-size:12px}.conn-stat{color:var(--text-sub);white-space:nowrap;margin-left:auto;font-size:12px}.pm-note{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;align-items:center;gap:10px;margin-bottom:14px;padding:10px 16px;font-size:12.5px;display:flex}.pm-note svg{flex:none}.pm-pane{align-items:stretch;gap:14px;min-height:0;display:flex}.pm-left{flex-direction:column;flex:none;width:280px;min-height:0;display:flex}.pm-mid{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.pm-right{flex-direction:column;flex:none;gap:14px;width:280px;min-height:0;display:flex}.pm-col{flex-direction:column;min-height:0;display:flex}.pm-body{flex:1;min-height:0;overflow:auto}.pm-tabs{gap:4px;padding:10px 14px 0;display:flex}.pm-tab{cursor:pointer;color:var(--text-muted);border:1px solid #0000;border-bottom:none;border-radius:8px 8px 0 0;padding:6px 14px;font-size:12.5px}.pm-tab.active{color:var(--primary-dark);background:#f0fdf4;border-color:#bbf7d0;font-weight:600}.pm-search{gap:8px;padding:10px 14px;display:flex}.pm-search input{flex:1;min-width:0}.pm-tree{padding:4px 10px 12px;font-size:13px}.tnode{cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:4px;padding:5px 6px;display:flex}.tnode:hover{background:#f0fdf4}.tnode.active{background:var(--primary-light);color:var(--primary-dark);font-weight:600}.tnode .tw{text-align:center;width:20px;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;flex:none;font-size:14px;line-height:1}.tnode .tico{width:14px;height:14px;color:var(--text-muted);flex:none}.tnode .tadd,.tnode .tdel{color:var(--text-muted);visibility:hidden;border-radius:6px;margin-left:auto;padding:3px 7px;font-size:16px;line-height:1}.tnode:hover .tadd,.tnode:hover .tdel{visibility:visible}.tnode .tadd:hover{color:var(--primary-dark);background:#d1fae5}.tnode .tdel:hover{color:#dc2626;background:#fee2e2}.tnode .ds-link{color:var(--primary);border-bottom:1px dashed var(--primary);white-space:nowrap;margin-left:8px;font-size:11px}.tkids{border-left:1px dashed var(--border);margin-left:17px;padding-left:6px}.pm-form{padding:18px 22px}.pm-form-grid{grid-template-columns:repeat(3,1fr);gap:14px 18px;display:grid}.pm-form-item{flex-direction:column;gap:5px;display:flex}.pm-form-item label{color:var(--text-muted);font-size:12px}.pm-form-item label b{color:#dc2626;margin-right:2px;font-weight:400}.pm-input,.pm-select,.pm-search input{border:1px solid var(--border);height:32px;color:var(--text);background:#fff;border-radius:8px;outline:none;padding:0 10px;font-family:inherit;font-size:13px}.pm-input:focus,.pm-select:focus,.pm-search input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0d94881f}.pm-input:disabled{color:var(--text-muted);background:#f8fafc}.pm-section-title{align-items:center;gap:8px;margin:18px 0 10px;font-size:13.5px;font-weight:600;display:flex}.pm-section-title:before{content:"";background:var(--primary);border-radius:2px;width:3px;height:14px}.pm-check-line{border-bottom:1px dashed var(--border);align-items:center;gap:8px;padding:6px 4px;font-size:13px;display:flex}.pm-check-line:last-child{border-bottom:none}.pm-chip{cursor:pointer;border:1px solid var(--border);color:var(--text-sub);background:#fff;border-radius:12px;padding:3px 10px;font-size:11.5px}.pm-chip:hover{border-color:var(--primary);color:var(--primary-dark)}.pm-chip.on{background:var(--primary-light);border-color:var(--primary);color:var(--primary-dark);font-weight:600}.pm-tag{white-space:nowrap;border-radius:4px;padding:1px 8px;font-size:11px;display:inline-block}.pm-tag.ok{color:#16a34a;background:#f0fdf4}.pm-tag.frozen{color:#dc2626;background:#fef2f2}.pm-tag.m{color:#b45309;background:#fef3c7}.pm-tag.c{color:#0369a1;background:#e0f2fe}.pm-tag.f{color:#64748b;background:#f1f5f9}.pm-mini-ops{justify-content:center;gap:10px;display:flex}.pm-mini-ops a{color:var(--primary);cursor:pointer;white-space:nowrap;font-size:12.5px}.pm-mini-ops a.del{color:#dc2626}.pm-pager{color:var(--text-muted);align-items:center;gap:6px;padding:10px 16px;font-size:12px;display:flex}.pm-pager .pg{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:6px;justify-content:center;align-items:center;min-width:26px;height:26px;display:inline-flex}.pm-pager .pg.on{background:var(--primary);border-color:var(--primary);color:#fff}.pm-ds-row{flex-wrap:wrap;gap:26px;padding:4px 0 10px;display:flex}.pm-ds-group{flex-wrap:wrap;gap:8px 16px;font-size:13px;display:flex}.pm-ds-group label{cursor:pointer;white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.pm-work-hos{border:1px solid var(--border);background:#fafdfb;border-radius:10px;padding:4px 14px 12px}.pm-wh-row{grid-template-columns:1fr 1.6fr auto;align-items:end;gap:12px;margin-top:10px;display:grid}@media (width<=1280px){.pm-form-grid{grid-template-columns:repeat(2,1fr)}}.empty{text-align:center;color:var(--text-muted);padding:40px 0;font-size:13px}.tl-attach{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.attach-chip{border:1px solid var(--border);color:var(--text-sub);cursor:pointer;white-space:nowrap;background:#f8fafc;border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:inline-flex}.attach-chip:hover{border-color:var(--primary);color:var(--primary-dark);background:var(--primary-light)}.attach-chip svg{flex:none;width:13px;height:13px}.attach-chip b{color:var(--text);font-weight:600}.modal-mask{z-index:100;background:#0f172a8c;justify-content:center;align-items:center;padding:40px;display:flex;position:fixed;inset:0}.modal{border-radius:var(--radius);background:#fff;flex-direction:column;width:720px;max-width:100%;max-height:82vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #0f172a4d}.modal-head{border-bottom:1px solid var(--border);align-items:center;padding:16px 20px;display:flex}.modal-title{white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;overflow:hidden}.modal-close{width:28px;height:28px;color:var(--text-sub);cursor:pointer;background:#f1f5f9;border:none;border-radius:6px;flex:none;margin-left:auto;font-size:16px;line-height:1}.modal-close:hover{color:var(--text);background:#e2e8f0}.modal-tabs{border-bottom:1px solid var(--border);gap:4px;padding:10px 20px 0;display:flex}.modal-tab{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 14px;font-size:13px}.modal-tab.active{color:var(--primary-dark);border-bottom-color:var(--primary);font-weight:600}.modal-body{padding:20px;overflow-y:auto}.media-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.media-cell{aspect-ratio:4/3;border-radius:var(--radius-sm);border:1px solid var(--border);cursor:pointer;background:linear-gradient(135deg,#e2e8f0 0%,#f1f5f9 100%);flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex;position:relative;overflow:hidden}.media-cell:hover{border-color:var(--primary)}.media-cell video{position:absolute}.mc-icon{width:26px;height:26px;color:var(--text-muted)}.mc-name{color:var(--text-sub);white-space:nowrap;text-overflow:ellipsis;max-width:90%;font-size:11px;overflow:hidden}.mc-play{background:#0f172abf;border-radius:50%;flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.file-row{border-bottom:1px solid #f1f5f9;align-items:center;gap:12px;padding:12px 4px;display:flex}.file-row:last-child{border-bottom:none}.file-icon{border-radius:var(--radius-sm);flex:none;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.file-icon svg{width:18px;height:18px}.fi-pdf{color:var(--danger);background:#fef2f2}.fi-doc{color:#2563eb;background:#eff6ff}.fi-xls{color:var(--ok);background:#f0fdf4}.file-main{flex:1;min-width:0}.file-name{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.file-meta{color:var(--text-muted);white-space:nowrap;margin-top:2px;font-size:11px}.api-group{margin-bottom:20px}.api-row{border:1px solid var(--border);background:#fff;border-top:none;align-items:center;gap:12px;padding:12px 16px;display:flex}.api-row:first-of-type{border-top:1px solid var(--border);border-radius:var(--radius-sm) var(--radius-sm) 0 0}.api-row:last-of-type{border-radius:0 0 var(--radius-sm) var(--radius-sm)}.api-row:hover{background:#f8fafc}.method{text-align:center;letter-spacing:.5px;border-radius:4px;flex:none;width:52px;padding:3px 0;font-family:Consolas,monospace;font-size:11px;font-weight:700}.m-get{color:#2563eb;background:#eff6ff}.m-post{color:var(--ok);background:#f0fdf4}.m-ws{color:#9333ea;background:#faf5ff}.api-path{color:var(--text);white-space:nowrap;font-family:Consolas,monospace;font-size:12.5px}.api-desc{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.api-params{flex:none;gap:4px;margin-left:auto;display:flex}.api-p{color:var(--text-sub);white-space:nowrap;background:#f1f5f9;border-radius:4px;padding:2px 6px;font-family:Consolas,monospace;font-size:11px}.ws-input-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ws-terminal{border-radius:var(--radius-sm);background:#0b1220;border:1px solid #1e293b;min-height:300px;margin-top:16px;padding:16px 18px;font-family:Consolas,JetBrains Mono,monospace;font-size:12.5px}.ws-line{white-space:nowrap;gap:10px;padding:3px 0;display:flex}.ws-t{color:#64748b;flex:none}.ws-tag{flex:none;font-weight:700}.ws-msg{color:#cbd5e1;white-space:pre-wrap;word-break:break-all}.ws-cursor{vertical-align:-2px;background:#5eead4;width:7px;height:14px;display:inline-block}@media (prefers-reduced-motion:no-preference){.ws-cursor{animation:1s step-end infinite blink}}@keyframes blink{50%{opacity:0}}.ws-status{align-items:center;gap:8px;font-size:12.5px;display:flex}.fm-grid{grid-template-columns:repeat(3,1fr);gap:10px 16px;margin-bottom:14px;display:grid}.fm-cell{border:1px solid var(--border);border-radius:var(--radius-sm);background:#f8fafc;padding:8px 12px}.fm-cell .lbl{color:var(--text-muted);margin-bottom:2px;font-size:11px}.fm-cell .val{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.fm-warn{border-radius:var(--radius-sm);color:#92400e;background:#fffbeb;border:1px solid #fde68a;align-items:flex-start;gap:10px;margin-bottom:16px;padding:10px 14px;font-size:12.5px;line-height:1.6;display:flex}.fm-warn svg{flex:none;margin-top:2px}.fm-form{margin-bottom:14px}.fm-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.fm-done{text-align:center;padding:30px 0 10px}.fm-done-ic{width:52px;height:52px;color:var(--ok);background:#ecfdf5;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 14px;display:flex}.pf-item{margin-bottom:14px}.pf-label{margin-bottom:6px;font-size:13px;font-weight:600}.pf-req{color:var(--danger);margin-left:3px}.pf-ctrl{font-size:13px}.pf-input,.pf-select{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);background:#fff;outline:none;padding:8px 10px;font-family:inherit;font-size:13px}.pf-input:focus,.pf-select:focus{border-color:var(--primary)}.pf-opt{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:7px;margin-right:18px;line-height:24px;display:flex}.pf-opt input{accent-color:var(--primary);cursor:pointer;width:15px;height:15px}.pf-upload{border-radius:var(--radius-sm);cursor:pointer;color:var(--text-muted);text-align:center;background:#f8fafc;border:1.5px dashed #cbd5e1;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:18px 10px;font-size:12px;display:flex}.pf-upload:hover{border-color:var(--primary);color:var(--primary-dark);background:var(--primary-light)}.pf-upload svg{width:20px;height:20px}.pf-upload b{color:var(--text-sub);font-size:12.5px;font-weight:600}.formcfg-wrap{grid-template-columns:250px 1fr;align-items:start;gap:18px;display:grid}.fd-node-item{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;align-items:center;gap:8px;margin-bottom:2px;padding:8px 10px;font-size:13px;display:flex}.fd-node-item:hover{background:#f1f5f9}.fd-node-item.active{background:var(--primary-light);border-color:var(--primary);color:var(--primary-dark);font-weight:600}.fd-num{color:var(--text-muted);flex:none;font-family:Consolas,monospace;font-size:11px}.fd-cnt{color:var(--text-sub);background:#e2e8f0;border-radius:8px;flex:none;margin-left:auto;padding:1px 7px;font-size:11px}.fd-cnt.has{background:var(--primary-light);color:var(--primary-dark);font-weight:600}.fd-toolbar{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:12px;display:flex}.fd-add-label{color:var(--text-muted);font-size:12px}.ctrl-chip{border:1px solid var(--border);cursor:pointer;color:var(--text-sub);background:#fff;border-radius:6px;align-items:center;gap:5px;padding:5px 11px;font-size:12px;display:inline-flex}.ctrl-chip:hover{border-color:var(--primary);color:var(--primary-dark);background:var(--primary-light)}.field-op{color:var(--text-muted);cursor:pointer;margin-left:8px;font-size:12px}.field-op:hover{color:var(--primary-dark)}.field-op.del:hover{color:var(--danger)}.type-chip{color:var(--text-sub);white-space:nowrap;background:#f1f5f9;border-radius:4px;padding:2px 8px;font-size:11px}.req-mark{white-space:nowrap;border-radius:4px;padding:2px 8px;font-size:11px}.req-y{color:var(--danger);background:#fef2f2}.req-n{color:var(--text-muted);background:#f1f5f9}.preview-box{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fbfdfe;padding:18px}.report-frame{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;width:100%;height:calc(100vh - 210px);min-height:560px;display:block}.blank-page{min-height:420px;color:var(--text-muted);border-radius:var(--radius-sm);letter-spacing:1px;background:repeating-linear-gradient(45deg,#fafbfc 0 12px,#f4f6f8 12px 24px);justify-content:center;align-items:center;font-size:13px;display:flex}.rp-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.rp-card{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;background:#fff;position:relative;overflow:hidden}.rp-card:hover{border-color:var(--primary);box-shadow:0 6px 18px #0d94881f}.rp-thumb{aspect-ratio:16/10;background:#0b1220;display:block;position:relative}.rp-thumb svg{width:100%;height:100%;position:absolute;inset:0}.rp-dots{z-index:2;gap:5px;display:flex;position:absolute;top:8px;left:10px}.rp-dots i{border-radius:50%;width:7px;height:7px}.rp-dots i.r{background:#f87171}.rp-dots i.g{background:#34d399}.rp-foot{align-items:center;gap:8px;padding:10px 12px;display:flex}.rp-name{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.rp-status{white-space:nowrap;border-radius:4px;flex:none;padding:2px 7px;font-size:11px}.rp-pub{color:var(--ok);background:#ecfdf5}.rp-draft{color:#d97706;background:#fffbeb}.rp-acts{flex:none;gap:2px;margin-left:auto;display:flex}.rp-icon{width:26px;height:26px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:flex}.rp-icon:hover{color:var(--text);background:#f1f5f9}.rp-icon svg{width:14px;height:14px}.rp-menu{border:1px solid var(--border);z-index:30;background:#fff;border-radius:8px;min-width:108px;padding:4px;position:absolute;bottom:44px;right:10px;box-shadow:0 8px 24px #0f172a24}.rp-menu div{cursor:pointer;white-space:nowrap;border-radius:6px;padding:7px 12px;font-size:12.5px}.rp-menu div:hover{background:#f1f5f9}.rp-menu div.danger{color:var(--danger)}.rp-pager{justify-content:flex-end;align-items:center;gap:6px;padding-top:16px;display:flex}.rp-pager .pg{border:1px solid var(--border);min-width:26px;height:26px;color:var(--text-sub);cursor:pointer;background:#fff;border-radius:6px;justify-content:center;align-items:center;font-size:12.5px;display:inline-flex}.rp-pager .pg.cur{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.rp-pager .pg.plain{cursor:default;color:var(--text-muted);background:0 0;border:none}@media (width<=1280px){.rp-grid{grid-template-columns:repeat(3,1fr)}}.rp-edit-wrap{position:relative}.rp-edit-back{z-index:5;color:#e2e8f0;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172aa6;border:1px solid #ffffff40;border-radius:8px;padding:6px 14px;font-size:13px;position:absolute;top:10px;left:10px}.rp-edit-back:hover{color:#fff;background:#0f172ad9}.rp-edit-img{object-fit:cover;border-radius:var(--radius);border:1px solid var(--border);background:#0b1220;width:100%;min-height:calc(100vh - 130px);display:block}.hos-switch{position:relative}.hos-chip{color:var(--primary-dark);background:var(--primary-light);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;border-radius:8px;padding:6px 12px;font-size:12.5px;font-weight:500}.hos-chip:hover{background:#99f6e4}.hos-caret{margin-left:2px;font-size:10px;font-style:normal;transition:transform .15s;display:inline-block}.hos-caret.open{transform:rotate(180deg)}.hos-pop{z-index:70;border:1px solid var(--border);background:#fff;border-radius:12px;width:264px;padding:14px 16px 12px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 12px 32px #0f172a24}.hos-pop-title{margin-bottom:8px;font-size:13px;font-weight:600}.hos-list{flex-direction:column;max-height:302px;display:flex;overflow-y:auto}.hos-item{color:var(--text);cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:8px;padding:7px 8px;font-size:13px;display:flex}.hos-item:hover{background:#f0fdf4}.hos-item input{accent-color:var(--primary)}.hos-item .on{color:var(--primary-dark);font-weight:600}.hos-foot{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding-top:10px;display:flex}.toast{color:#fff;opacity:0;z-index:99;pointer-events:none;white-space:nowrap;background:#2b2328;border-radius:8px;padding:10px 22px;font-size:13.5px;transition:all .3s;position:fixed;top:24px;left:50%;transform:translate(-50%)translateY(-80px);box-shadow:0 6px 20px #0003}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.doc-card{min-height:60vh}.markdown-body{max-width:980px;color:var(--text);margin:0 auto;padding:8px 34px 34px;font-size:14px;line-height:1.85}.markdown-body h1{border-bottom:2px solid var(--primary-light);color:var(--primary-dark);margin:10px 0 18px;padding-bottom:12px;font-size:22px;font-weight:700}.markdown-body h2{border-left:4px solid var(--primary);margin:28px 0 12px;padding-left:10px;font-size:17px;font-weight:700}.markdown-body h3{margin:20px 0 10px;font-size:15px;font-weight:600}.markdown-body p{margin:10px 0}.markdown-body ul,.markdown-body ol{margin:10px 0;padding-left:24px}.markdown-body li{margin:5px 0}.markdown-body blockquote{border-left:4px solid var(--primary);color:#166534;background:#f0fdf4;border-radius:0 8px 8px 0;margin:14px 0;padding:10px 16px}.markdown-body blockquote p{margin:4px 0}.markdown-body code{border:1px solid var(--border);color:#b45309;background:#f1f5f9;border-radius:4px;padding:1px 6px;font-family:JetBrains Mono,Consolas,monospace;font-size:12.5px}.markdown-body pre{color:#e2e8f0;background:#0f172a;border-radius:10px;margin:14px 0;padding:16px 18px;overflow-x:auto}.markdown-body pre code{color:inherit;background:0 0;border:none;padding:0}.markdown-body table{border-collapse:collapse;width:100%;margin:14px 0;font-size:13px}.markdown-body th{text-align:left;border:1px solid var(--border);white-space:nowrap;background:#f8fafc;padding:9px 12px;font-weight:600}.markdown-body td{vertical-align:top;border:1px solid #e8eef3;padding:9px 12px}.markdown-body tr:hover td{background:#f8fafc}.markdown-body hr{border:none;border-top:1px dashed var(--border);margin:22px 0}.markdown-body strong{color:var(--primary-dark);font-weight:600}.login-page{background:radial-gradient(1200px 600px at 75% -10%,#134e4a 0%,#0000 55%),radial-gradient(1000px 700px at -10% 110%,#0f766e 0%,#0000 50%),#0b1220;justify-content:center;align-items:center;width:100%;height:100vh;display:flex;position:relative;overflow:hidden}.login-grid{opacity:.25;background-image:linear-gradient(#94a3b814 1px,#0000 1px),linear-gradient(90deg,#94a3b814 1px,#0000 1px);background-size:44px 44px;position:absolute;inset:0}.login-glow{filter:blur(90px);opacity:.35;border-radius:50%;width:420px;height:420px;position:absolute}.login-glow.a{background:#14b8a6;top:-120px;right:-80px}.login-glow.b{background:#0ea5e9;bottom:-140px;left:-100px}.login-card{z-index:2;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff0a;border:1px solid #94a3b833;border-radius:18px;width:420px;padding:38px 40px 26px;position:relative;box-shadow:0 30px 80px #00000073}.login-logo{justify-content:center;margin-bottom:14px;display:flex}.login-logo svg{width:44px;height:44px}.login-title{text-align:center;color:#f1f5f9;font-size:20px;font-weight:700}.login-sub{text-align:center;color:#94a3b8;margin:6px 0 24px;font-size:12.5px}.login-field{color:#64748b;background:#0f172a99;border:1px solid #94a3b840;border-radius:10px;align-items:center;gap:10px;height:44px;margin-bottom:14px;padding:0 14px;display:flex;position:relative}.login-field:focus-within{border-color:var(--primary)}.login-field svg{flex:none;width:16px;height:16px}.login-field input{color:#e2e8f0;background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:13.5px}.login-btn{cursor:pointer;color:#fff;letter-spacing:6px;background:linear-gradient(135deg,#14b8a6,#0d9488);border:none;border-radius:10px;width:100%;height:44px;margin-top:6px;font-size:15px;font-weight:600}.login-btn:hover{filter:brightness(1.08)}.login-divider{color:#475569;align-items:center;gap:12px;margin:18px 0;font-size:11.5px;display:flex}.login-divider:before,.login-divider:after{content:"";background:#94a3b840;flex:1;height:1px}.login-crm-btn{cursor:pointer;color:#5eead4;text-align:left;background:#14b8a614;border:1px solid #14b8a673;border-radius:10px;align-items:center;gap:12px;width:100%;padding:12px 16px;display:flex}.login-crm-btn:hover{background:#14b8a629}.login-crm-btn>svg:first-child{flex:none;width:20px;height:20px}.login-crm-btn span{flex-direction:column;flex:1;display:flex}.login-crm-btn b{color:#e2e8f0;font-size:13.5px;font-weight:600}.login-crm-btn i{color:#94a3b8;margin-top:2px;font-size:11px;font-style:normal}.login-crm-btn .arrow{flex:none;width:16px;height:16px}.login-foot{text-align:center;color:#475569;margin-top:20px;font-size:11px}.crm-app{background:#edf1f6;flex-direction:column;width:100%;height:100vh;font-family:Microsoft YaHei,PingFang SC,sans-serif;display:flex}.crm-topbar{color:#c6d2e4;background:#1e3150;flex:none;align-items:center;height:56px;padding:0 20px;font-size:13.5px;display:flex}.crm-brand{align-items:center;gap:10px;margin-right:26px;display:flex}.crm-brand b{color:#fff;font-size:15.5px}.crm-logo{color:#fff;background:#16b394;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;font-size:14px;font-weight:700;display:inline-flex}.crm-fold{width:18px;height:18px}.crm-navs{gap:4px;height:100%;display:flex}.crm-navs span{cursor:pointer;color:#c6d2e4;align-items:center;padding:0 15px;display:inline-flex;position:relative}.crm-navs span:hover{color:#fff}.crm-navs span.active{color:#16b394;background:#16b39414;font-weight:600}.crm-navs span.active:after{content:"";background:#16b394;border-radius:2px 2px 0 0;height:3px;position:absolute;bottom:0;left:14px;right:14px}.crm-top-right{align-items:center;gap:14px;margin-left:auto;display:flex}.crm-top-right .crm-sep{background:#c6d2e44d;width:1px;height:14px}.crm-ava{color:#fff;background:#e8927c;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;margin-right:6px;font-size:12px;display:inline-flex}.crm-tabs{background:#fff;border-bottom:1px solid #dde3ec;flex:none;align-items:flex-end;gap:6px;height:36px;padding:0 16px;display:flex}.crm-tab{color:#5a6b85;cursor:pointer;background:#f5f7fa;border:1px solid #dde3ec;border-bottom:none;border-radius:6px 6px 0 0;padding:6px 14px;font-size:12px}.crm-tab i{color:#a5b3c7;margin-left:4px;font-style:normal}.crm-tab.active{color:#fff;background:#16b394;border-color:#16b394}.crm-tab.active i{color:#ffffffb3}.crm-body{flex:1;min-height:0;display:flex}.crm-side{background:#283a5c;flex:none;width:168px;padding:8px 0;overflow-y:auto}.crm-menu-item{color:#b9c6db;cursor:pointer;white-space:nowrap;justify-content:space-between;align-items:center;padding:12px 18px;font-size:13.5px;display:flex}.crm-menu-item:hover{color:#fff}.crm-menu-item.open{color:#fff;background:#00000026}.crm-menu-item i{font-size:11px;font-style:normal}.crm-sub-item{color:#93a5c2;cursor:pointer;white-space:nowrap;padding:10px 18px 10px 34px;font-size:13px}.crm-sub-item:hover{color:#fff}.crm-sub-item.active{color:#fff;background:#16b394;box-shadow:inset 3px 0 #0e7c68}.crm-flow-entry{color:#5eead4;border-top:1px solid #b9c6db26;gap:8px;margin-top:14px;padding-top:14px}.crm-flow-entry:hover{color:#fff;background:#16b3942e}.crm-flow-entry svg{width:15px;height:15px}.crm-flow-badge{color:#fff;background:#16b394;border-radius:8px;padding:1px 7px;font-size:10px;font-style:normal}.crm-main{flex-direction:column;flex:1;gap:14px;min-width:0;padding:14px 18px;display:flex;overflow-y:auto}.crm-panel{background:#fff;border-radius:4px;padding:16px 24px;position:relative}.crm-panel-title{color:#16b394;border-bottom:1px solid #edeff3;margin-bottom:14px;padding-bottom:10px;font-size:15px;font-weight:600}.crm-btn{cursor:pointer;border:none;border-radius:3px;padding:8px 18px;font-size:12.5px}.crm-btn.primary{color:#fff;background:#16b394}.crm-btn.plain{color:#5a6b85;background:#fff;border:1px solid #d9dee7}.crm-btn.sm{padding:7px 16px}.crm-query-grid{grid-template-columns:repeat(4,1fr);gap:12px 26px;display:grid}.crm-q{color:#5a6b85;align-items:center;gap:10px;font-size:13px;display:flex}.crm-q label{text-align:right;flex:none;width:60px}.crm-q input,.crm-q select{color:#5a6b85;border:1px solid #d9dee7;border-radius:3px;outline:none;flex:1;min-width:0;height:30px;padding:0 8px;font-size:12.5px}.crm-q input:focus,.crm-q select:focus{border-color:#16b394}.crm-list-head{color:#5a6b85;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:12.5px;display:flex}.crm-pager-inline{color:#8a97ab}.crm-table-wrap{overflow-x:auto}.crm-table{border-collapse:collapse;color:#41506b;width:100%;font-size:12.5px}.crm-table th{white-space:nowrap;background:#f5f7fa;border:1px solid #e8ecf2;padding:9px 8px;font-weight:600}.crm-table td{white-space:nowrap;text-align:center;border:1px solid #e8ecf2;padding:8px}.crm-table tbody tr:hover td{background:#f6fbfa}.crm-link{color:#16b394;cursor:pointer;margin-right:8px}.crm-pager{color:#5a6b85;justify-content:flex-end;align-items:center;gap:8px;padding-top:12px;font-size:12.5px;display:flex}.crm-pager b{color:#16b394}.crm-pager span{cursor:pointer}.crm-pager input{text-align:center;border:1px solid #d9dee7;border-radius:3px;width:34px;height:26px}.sso-page{background:radial-gradient(1000px 560px at 50% -8%,#134e4a 0%,#0000 55%),#0b1220;justify-content:center;align-items:center;width:100%;height:100vh;display:flex;position:relative;overflow:hidden}.sso-glow{filter:blur(120px);opacity:.28;background:#14b8a6;border-radius:50%;width:520px;height:520px;position:absolute}.sso-card{z-index:2;text-align:center;width:470px;position:relative}.sso-logo svg{width:52px;height:52px}.sso-title{color:#f1f5f9;margin-top:12px;font-size:24px;font-weight:700}.sso-dots i{font-style:normal;animation:1.2s infinite ssoDot}.sso-dots i:nth-child(2){animation-delay:.2s}.sso-dots i:nth-child(3){animation-delay:.4s}@keyframes ssoDot{0%,60%,to{opacity:.2}30%{opacity:1}}.sso-sub{color:#94a3b8;margin:8px 0 30px;font-size:13px}.sso-steps{text-align:left;flex-direction:column;gap:16px;display:inline-flex}.sso-step{opacity:.32;align-items:center;gap:12px;transition:opacity .3s;display:flex}.sso-step.on{opacity:1}.sso-step.active{opacity:.75}.sso-check{background:#14b8a6;border-radius:50%;flex:none;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex;box-shadow:0 0 0 4px #14b8a626}.sso-check svg{width:14px;height:14px}.sso-step.active .sso-check{background:#334155}.sso-step:not(.on):not(.active) .sso-check{background:#1e293b}.sso-spin{border:2px solid #94a3b8;border-top-color:#0000;border-radius:50%;width:12px;height:12px;animation:.7s linear infinite ssoSpin}@keyframes ssoSpin{to{transform:rotate(360deg)}}.sso-wait{background:#475569;border-radius:50%;width:8px;height:8px}.sso-text{color:#e2e8f0;flex-direction:column;font-size:14.5px;display:flex}.sso-text small{color:#64748b;margin-top:2px;font-size:11.5px}.sso-foot{color:#475569;margin-top:34px;font-size:11.5px}.login-field input:-webkit-autofill{-webkit-text-fill-color:#e2e8f0;caret-color:#e2e8f0;border-radius:8px;transition:background-color 99999s ease-out;-webkit-box-shadow:inset 0 0 0 1000px #131c2e}.login-field input:-webkit-autofill:hover{-webkit-text-fill-color:#e2e8f0;caret-color:#e2e8f0;border-radius:8px;transition:background-color 99999s ease-out;-webkit-box-shadow:inset 0 0 0 1000px #131c2e}.login-field input:-webkit-autofill:focus{-webkit-text-fill-color:#e2e8f0;caret-color:#e2e8f0;border-radius:8px;transition:background-color 99999s ease-out;-webkit-box-shadow:inset 0 0 0 1000px #131c2e}.login-field .login-select-text{color:#e2e8f0;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13.5px;overflow:hidden}.login-field .login-select-text.placeholder{color:#64748b}.login-field .caret{flex:none;width:14px;height:14px;transition:transform .15s}.login-field.open{border-color:var(--primary)}.login-field.open .caret{transform:rotate(180deg)}.login-drop{z-index:30;background:#fff;border-radius:8px;max-height:260px;padding:4px 0;position:absolute;top:calc(100% + 5px);left:0;right:0;overflow-y:auto;box-shadow:0 14px 36px #0b122073}.login-drop:before{content:"";border:5px solid #0000;border-top:none;border-bottom-color:#fff;position:absolute;top:-5px;left:30px}.login-drop::-webkit-scrollbar{width:4px}.login-drop::-webkit-scrollbar-track{background:0 0}.login-drop::-webkit-scrollbar-thumb{background:#c9d4e4;border-radius:2px}.login-drop{scrollbar-width:thin;scrollbar-color:#c9d4e4 transparent}.login-opt{color:#5a6b85;cursor:pointer;white-space:nowrap;padding:11px 18px;font-size:13.5px}.login-opt:hover{color:#2b3a55;background:#e8f1fb}.login-opt.on{color:#2b3a55;background:#dceafb;font-weight:600}.welcome-page{border-radius:var(--radius);background:#eff2f6;flex-direction:column;justify-content:center;align-items:center;height:100%;min-height:60vh;display:flex}.welcome-title{color:#31405c;font-size:26px;font-weight:600}.welcome-sub{color:#8a97ab;margin-top:10px;font-size:13px}.welcome-art{mix-blend-mode:multiply;width:min(780px,80%);margin-top:6px}.ed-state{border-radius:10px;margin-left:12px;padding:2px 10px;font-size:11.5px}.ed-state.ok{color:#16a34a;background:#f0fdf4;border:1px solid #bbf7d0}.ed-state.warn{color:#b45309;background:#fef3c7;border:1px solid #fde68a}.ed-canvas{flex-direction:column;align-items:center;padding:22px 0 10px;display:flex}.ed-node{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:12px;width:340px;padding:12px 16px;box-shadow:0 1px 4px #0f172a0d}.ed-node:hover{border-color:var(--primary)}.ed-node.start{background:var(--primary);border-color:var(--primary);color:#fff;text-align:center;cursor:default;width:220px;font-weight:600}.ed-node.end{color:#fff;text-align:center;cursor:default;background:#16a34a;border-color:#16a34a;width:220px;font-weight:600}.ed-node.n-sys{border-left:3px solid #2563eb}.ed-node.n-man{border-left:3px solid var(--primary)}.ed-node.n-mix{border-left:3px solid #d97706}.ed-node.n-cond{border:1px dashed var(--purple);border-left:3px solid var(--purple)}.ed-head{color:var(--text);justify-content:space-between;align-items:center;font-size:14px;font-weight:600;display:flex}.ed-del{color:#dc2626;cursor:pointer;font-size:12px}.ed-meta{color:var(--text-sub);margin-top:6px;font-size:12.5px}.ed-meta.mt{color:var(--text-muted);margin-top:2px;font-size:11.5px}.ed-skip-tag{color:var(--purple);background:var(--purple-soft);border-radius:4px;padding:1px 6px;font-size:10.5px}.ed-add{background:var(--primary);color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;margin:9px 0;font-size:15px;display:flex}.ed-add:hover{background:var(--primary-dark)}.ed-routes{border-top:1px solid var(--border);width:min(960px,94%);margin:20px auto 0;padding-top:14px}.ed-routes-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.ed-routes-head b{font-size:13.5px}.ed-routes-tip{color:var(--text-muted);margin-bottom:8px;font-size:11.5px;line-height:1.6}.ed-route-row{border-bottom:1px dashed var(--border);color:var(--text-sub);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 0;font-size:12.5px;display:flex}.ed-select{border:1px solid var(--border);height:30px;color:var(--text);background:#fff;border-radius:6px;padding:0 8px;font-size:12.5px}.ed-input{border:1px solid var(--border);width:90px;height:30px;color:var(--text);border-radius:6px;padding:0 8px;font-size:12.5px}.menu-group-title.group-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;justify-content:space-between;align-items:center;margin-top:12px;padding-right:12px;display:flex}.menu-group-title.group-toggle:hover{color:#e2e8f0;border-radius:var(--radius-sm);background:#94a3b814}.gt-caret{flex:none;font-size:16px;font-style:normal;font-weight:600;transition:transform .15s}.gi{opacity:.75;flex:none;width:14px;height:14px}.gt-label{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.menu-group-title.group-toggle{padding-right:10px}.gt-caret.open{transform:rotate(180deg)}.side-collapse-btn{color:#94a3b8;cursor:pointer;background:0 0;border:1px solid #94a3b840;border-radius:6px;justify-content:center;align-items:center;gap:6px;width:calc(100% - 24px);margin-top:8px;margin-left:12px;padding:6px 0;font-size:11px;display:flex}.side-collapse-btn:hover{color:#e2e8f0;border-color:#94a3b8}.side-collapse-btn svg{width:13px;height:13px}.sb-toggle{color:#8a97ab;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;margin-right:8px;padding:4px 8px 4px 0;display:flex}.sb-toggle:hover{color:var(--primary);background:#f8fafc}.sb-toggle svg{width:18px;height:18px}.menu-group-title.group-toggle.expanded{margin-bottom:8px}.sb-icon{width:18px;height:18px;transition:transform .15s}.sb-icon.flip{transform:rotate(180deg)}.menu-top{border-radius:var(--radius-sm);color:#c9d4e2;cursor:pointer;white-space:nowrap;align-items:center;gap:9px;height:48px;padding:0 12px;font-size:14px;transition:background .15s,color .15s;display:flex;position:relative}.menu-top:hover{color:#e2e8f0;background:#94a3b814}.menu-top.active{color:#5eead4;background:var(--sidebar-active-bg)}.menu-top.active:before{content:"";background:var(--primary);border-radius:2px;width:3px;position:absolute;top:12px;bottom:12px;left:0}.menu-top .mi{opacity:.9;flex:none;width:15px;height:15px}.cname .cid{color:var(--ink-3);margin-top:1px;font-family:JetBrains Mono,Consolas,monospace;font-size:10.5px;display:block}.st-status{color:var(--ink-3);font-size:11.5px}
