.automation-head{display:flex;justify-content:space-between;align-items:center;padding:22px 26px;border-bottom:1px solid #294267;background:#0b1b32}.automation-head h1{font-size:23px;margin:7px 0}.automation-head p{color:#9ab0cd;margin:0}.automation-tabs{display:flex;gap:20px;padding:15px 26px;border-bottom:1px solid #294267;flex-wrap:wrap}.automation-tabs a{color:#9ab0cd}.automation-tabs a.active{color:#81b7ff;border-bottom:2px solid #639eff}.automation-alert{padding:14px 24px;background:#233d60;color:#e0ecff}.automation-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,1fr);gap:18px;padding:20px}.automation-grid>.panel{min-width:0;margin:0}.automation-grid+.panel{margin:0 20px 20px}.automation-grid small{display:block;color:#8ea7ca;margin-top:6px}.automation-grid table{width:100%}.automation-grid pre{white-space:pre-wrap;word-break:break-word;max-height:560px;overflow:auto;font:13px/1.7 monospace}.automation-tabs~.panel{margin:20px}.workflow-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.workflow-card{padding:22px;border:1px solid #294267;background:#10243d;border-radius:12px}.workflow-card .btn{margin:6px 5px 0 0}.canvas-toolbar{display:flex;align-items:center;gap:12px;padding:14px 20px;flex-wrap:wrap}.canvas-toolbar>input{width:270px}.canvas-toolbar label{display:flex;align-items:center;gap:6px;white-space:nowrap}.canvas-toolbar input[type=checkbox]{width:auto}.canvas-toolbar span{color:#91aaca;font-size:12px}.workflow-editor{display:grid;grid-template-columns:155px minmax(0,1fr) 245px;height:calc(100vh - 300px);min-height:500px;border-block:1px solid #294267}.node-palette,.node-config{background:#0d1d34;padding:16px;overflow:auto}.node-palette button{display:block;width:100%;margin-bottom:10px;padding:10px 6px;border:1px solid #31517c;background:#142d4e;color:#c3dcff;border-radius:7px;cursor:grab}.node-palette p,.node-config p{font-size:12px;color:#8ea7ca;line-height:1.8}.node-config label{display:block;margin:14px 0}.node-config textarea{min-height:160px}#canvasViewport{position:relative;overflow:hidden;background-color:#09172a;background-image:radial-gradient(#294567 1px,transparent 1px);background-size:22px 22px;touch-action:none}#canvasSurface{position:absolute;left:0;top:0;width:0;height:0;transform-origin:0 0}#canvasEdges{position:absolute;left:0;top:0;width:1px;height:1px;overflow:visible;pointer-events:none}#canvasEdges path{fill:none;stroke:#5b9bea;stroke-width:3;pointer-events:stroke;cursor:pointer}#canvasEdges path[data-port=rejected]{stroke:#e79572}#canvasEdges path[data-port=needs_human]{stroke:#c5ae70}.workflow-node{position:absolute;width:205px;min-height:112px;border:1px solid #365d8d;background:#112b49;border-radius:10px;box-shadow:0 6px 24px #0003;user-select:none}.workflow-node.selected{outline:2px solid #78b8ff}.workflow-node header{padding:12px 16px;border-bottom:1px solid #305174;cursor:move}.workflow-node header small{display:block;color:#8eb0db;font-size:10px;margin-bottom:5px}.node-ports{display:flex;justify-content:space-between;padding:10px 0}.port-in,.port-out{border:0;border-radius:6px;background:#224775;color:#e0eeff;cursor:crosshair;padding:5px;font-size:11px}.port-in{margin-left:-7px}.node-outputs{display:flex;flex-direction:column;gap:7px;margin-right:-7px}.port-out[data-port=rejected]{background:#704732}.port-out[data-port=needs_human]{background:#65572e}.artifact-images{display:flex;gap:12px;flex-wrap:wrap;margin:15px 0}.artifact-images img{max-width:220px;max-height:220px;object-fit:contain;border:1px solid #355782;border-radius:8px}.sidebar nav details{margin:5px 0}.sidebar nav summary{cursor:pointer;padding:10px 12px;color:#b9cfea;font-size:13px;list-style:none}.sidebar nav summary:before{content:'›';display:inline-block;margin-right:9px}.sidebar nav details[open]>summary:before{transform:rotate(90deg)}.sidebar nav details a{padding-left:21px;font-size:12px}.sidebar .nav-section-label{padding:10px 14px 2px;font-size:11px;color:#7d9aba}@media(max-width:1100px){.automation-grid{grid-template-columns:1fr}.workflow-editor{grid-template-columns:125px minmax(300px,1fr) 210px;overflow:auto}}@media(max-width:700px){.automation-head{padding:16px}.workflow-editor{grid-template-columns:115px 600px 220px}.automation-tabs{gap:12px;padding:12px}.automation-grid{padding:10px}.automation-head h1{font-size:19px}}
/* 画布占据主要工作区，配置面板在常见窄窗口中按需浮出。 */
.canvas-page .content{padding:0!important;overflow:hidden}.canvas-page .automation-head{display:none}.canvas-page .automation-tabs{padding:12px 20px}.canvas-page .canvas-toolbar>input{width:260px!important;flex:0 1 260px}.canvas-page .canvas-toolbar{padding:10px 18px}.canvas-page .workflow-editor{height:calc(100vh - 185px);min-height:420px;position:relative}.canvas-page .node-palette{padding:12px}.canvas-page .node-palette button{font-size:12px}.canvas-page .workflow-editor{grid-template-columns:130px minmax(0,1fr) 235px}.canvas-page .node-config{border-left:1px solid #294267}.canvas-page #canvasViewport{min-width:0}.canvas-page .canvas-toolbar button{flex-shrink:0}@media(max-width:1250px){.canvas-page .workflow-editor{grid-template-columns:120px minmax(0,1fr)}.canvas-page .node-config{position:absolute;right:0;top:0;width:235px;height:100%;z-index:5;box-shadow:-12px 0 30px #0005;display:none}.canvas-page .node-config:has(#nodeConfig:not([hidden])){display:block}}.canvas-page .node-config #closeNodeConfig{float:right;background:transparent;border:0;color:#bad4f7;font-size:22px;cursor:pointer}
.canvas-zoom{display:flex;gap:6px;align-items:center;margin-left:auto}.canvas-zoom button{background:#183455;border:1px solid #31517c;color:#c4ddff;padding:7px 10px;border-radius:5px;cursor:pointer}
.node-config [hidden]{display:none!important}.canvas-page .canvas-toolbar{position:relative}.canvas-page .workflow-editor{height:calc(100vh - 225px)}
#canvasViewport.pan-ready,#canvasViewport.pan-ready *{cursor:grab!important}#canvasViewport.is-panning,#canvasViewport.is-panning *{cursor:grabbing!important}#canvasViewport.pan-ready{user-select:none}

#nodeDeleteHint{color:#e8ba87}#deleteNode.delete-attention{animation:node-delete-shake .55s ease-in-out 2;box-shadow:0 0 0 3px #eb945d55}@keyframes node-delete-shake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}@media(prefers-reduced-motion:reduce){#deleteNode.delete-attention{animation:none}}
.canvas-page .workflow-editor{grid-template-columns:200px minmax(0,1fr) 235px}.node-palette h4{margin:18px 0 10px;color:#d9e9ff}.palette-category{margin:10px 0;border-top:1px solid #294267;padding-top:8px}.palette-category summary{cursor:pointer;font-size:12px;color:#b9cfea;margin-bottom:10px;line-height:1.7}.palette-category summary small{color:#8ea7ca}.node-palette button small{display:block;font-size:10px;color:#8ea7ca;margin-top:5px}.node-palette button{overflow-wrap:anywhere;text-align:left}.node-config #skillHint{display:block;color:#8ea7ca;line-height:1.7;font-size:12px;margin-top:6px}@media(max-width:1250px){.canvas-page .workflow-editor{grid-template-columns:180px minmax(0,1fr)}}
/* Management pages share the personnel directory header and flat content area. */
body:has(.feature-header) .content{padding:0;overflow:auto;display:block;min-height:0}
body:has(.feature-header) .feature-header{min-height:96px}
body:has(.feature-header) .automation-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:0;padding:0;margin:0}
body:has(.feature-header) .content>.panel,body:has(.feature-header) .automation-grid>.panel{margin:0;padding:20px 18px;border:0;border-bottom:1px solid #294267;border-radius:0;box-shadow:none;background:transparent;min-width:0}
body:has(.feature-header) .content>.panel>h2,body:has(.feature-header) .automation-grid>.panel>h2{font-size:15px;margin:10px 0 24px}
body:has(.feature-header) h2:before{display:none}
body:has(.feature-header) .panel h2{border-bottom:0;padding-bottom:0}
body:has(.feature-header) .panel-head{border:0;padding:0;margin-bottom:20px;min-height:40px}
body:has(.feature-header) .panel-head h2{margin:0;font-size:15px}
body:has(.feature-header) table{width:100%}
body:has(.feature-header) .panel{overflow-x:auto}
body:has(.feature-header) .feature-form summary{cursor:pointer;font-size:15px;font-weight:600;color:#dceaff;padding:8px 0}
body:has(.feature-header) .feature-form[open] summary{margin-bottom:20px}
body:has(.feature-header) .workflow-card{background:#102139;border-color:#294267;border-radius:6px;box-shadow:none}
body:has(.feature-header) .workflow-card h3{overflow-wrap:anywhere}
body:has(.feature-header) .lab-metrics strong{font-size:15px}
body:has(.feature-header) .feature-header+.automation-alert{margin:0}
@media(min-width:1101px){body:has(.feature-header) .content{flex:1;overflow:auto;display:block}body:has(.feature-header) .automation-grid:has(.artifact-images){grid-template-columns:minmax(0,1.3fr) minmax(300px,1fr)}}
@media(max-width:700px){body:has(.feature-header) .feature-header .lab-hero{flex-direction:row;flex-wrap:wrap}body:has(.feature-header) .lab-metrics{display:flex;flex-wrap:wrap;gap:12px}body:has(.feature-header) .content>.panel,body:has(.feature-header) .automation-grid>.panel{padding:16px 12px}}
.sidebar nav .nav-row{box-sizing:border-box;display:flex;align-items:center;justify-content:flex-start;gap:10px;margin:0;min-height:40px;padding:10px 12px!important;font-size:13px;line-height:20px;list-style:none}
.sidebar nav .nav-level-1{padding-left:12px!important}
.sidebar nav .nav-level-2{padding-left:22px!important}
.sidebar nav .nav-level-3{padding-left:16px!important}
.sidebar nav .nav-row svg{width:17px;height:17px;flex:0 0 17px}
.sidebar nav summary.nav-row::-webkit-details-marker{display:none}
.sidebar nav summary.nav-level-1:before{content:'›';width:17px;flex:0 0 17px;margin:0;text-align:center}
.sidebar nav .nav-branch:before,.sidebar nav .nav-leaf:before{content:'';display:block;width:0;height:0;flex:0 0 auto;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:6px solid currentColor;margin:0 11px 0 0;transform:none}
.sidebar nav a.nav-leaf:before{display:block!important;position:static!important;inset:auto!important;background:none!important;border-radius:0!important;width:0!important;height:0!important;opacity:1!important;border-top:4px solid transparent!important;border-bottom:4px solid transparent!important;border-left:6px solid #64748b!important;box-shadow:none!important;transform:none!important}
.sidebar nav details[open]>.nav-branch:before{transform:rotate(90deg)}
.sidebar nav summary.nav-level-2:after{display:none}
.sidebar nav details details{margin:0}
.sidebar nav .nav-level-2.nav-branch,.sidebar nav .nav-level-2.nav-leaf{padding-left:28px!important}
.sidebar nav .nav-level-3{padding-left:32px!important}
.sidebar nav .nav-level-3 svg{width:8.5px;height:8.5px;flex:0 0 8.5px}

/* Primary category icons carry more weight than the functional child icons. */
.sidebar nav summary.nav-level-1{gap:10px;font-weight:600;color:#dce9fa}
.sidebar nav a.nav-level-1{gap:10px;font-weight:600;color:#dce9fa}
.sidebar nav a.nav-level-1:before{display:none!important}
.sidebar nav summary.nav-level-1:before{content:none;display:none}
.sidebar nav summary.nav-level-1:after{content:'';display:block;width:6px;height:6px;flex:0 0 6px;margin-left:auto;margin-right:3px;border-right:1.5px solid #8ba3c0;border-bottom:1.5px solid #8ba3c0;transform:rotate(-45deg)}
.sidebar nav details[open]>summary.nav-level-1:after{transform:rotate(45deg)}
.sidebar nav .nav-group-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex:0 0 24px;color:#b9d8ff}
.sidebar nav .nav-group-icon svg{width:18px;height:18px;flex:0 0 18px}
.sidebar nav details[open]>summary.nav-level-1 .nav-group-icon{color:#d4e7ff}

/* 接口配置包含两张同级列表，采用整页滚动，避免既有单工作区flex挤压。 */
body:has(#media-services) .content{display:block;overflow:auto;min-height:0}
body:has(#media-services) .management-workspace{min-height:0}
#media-services{margin:0;padding:20px 18px;border:0;border-top:1px solid #294267;border-radius:0;box-shadow:none;background:rgba(8,20,39,.76);overflow:auto}
#media-services .panel-head h2{font-size:15px}
#media-services .panel-head h2:before{display:none}
.service-list-tabs{display:flex;flex:none;gap:24px;padding:14px 18px;border-bottom:1px solid #294267;background:#0b192d}
.service-list-tabs a{color:#98aecb;padding:4px 0}
.service-list-tabs a.active{color:#cbe2ff;border-bottom:2px solid #72acff;font-weight:600}
