/* A single canvas with contextual editing, using the complete viewport. */
:root{--canvas:#f4f6f9;--navy:#12243f;--line:#dae2ec;--panel:420px}
html,body{height:100%;margin:0}body{overflow:hidden}#app{height:100dvh;min-width:0;display:flex;flex-direction:row}
.sidebar{position:relative;inset:auto;flex:0 0 68px;width:68px;padding:18px 9px 12px;display:flex;flex-direction:column;gap:0;height:100dvh;overflow:hidden}
.brand{padding:0 8px 25px;gap:9px;font-size:21px;letter-spacing:-.6px}.brand img{height:28px;width:28px}.brand>span{display:none}
.sidebar nav{display:flex;flex-direction:column;gap:4px;margin:0;overflow:auto;scrollbar-width:none}.sidebar .nav-item{display:flex;align-items:center;justify-content:center;min-height:42px;width:48px;margin:0;padding:11px;border-radius:6px;font-size:0;flex-shrink:0}.sidebar .nav-item>span{display:none}.sidebar .nav-item .icon{height:19px;width:19px}.sidebar .nav-item.active{background:#294563;color:#edf5ff}.sidebar .process-shortcut{margin-top:2px}.sidebar-bottom{display:flex;flex-direction:column;gap:4px;padding-top:10px;margin-top:auto;border-color:#29415e}
.workspace{margin:0;width:calc(100% - 68px);flex:1;min-width:0;display:flex;flex-direction:column;height:100dvh;overflow:hidden}.topbar{height:49px;min-height:49px;flex-shrink:0;padding:0 24px}.breadcrumb{min-width:0;white-space:nowrap}.breadcrumb>span{overflow:hidden;text-overflow:ellipsis;max-width:45vw}.breadcrumb-link{flex-shrink:0}.topbar-actions{gap:17px}.search-button kbd{display:inline-block}
.topbar{gap:24px}.app-name{font-size:17px;font-weight:650;letter-spacing:-.55px;color:#213f61;flex-shrink:0}.breadcrumb{margin-right:auto}.topbar .breadcrumb>span{max-width:33vw}
main#main{flex:1;width:100%;min-width:0;min-height:0;max-width:none;overflow:auto;padding:28px 32px;background:#f6f8fb}
body[data-view=process] main#main{padding:0;display:flex;flex-direction:column;overflow:hidden;background:#fff}
.designer-heading{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:92px;padding:17px 26px;border-bottom:1px solid var(--line);background:#fff}.designer-heading>div:first-child{min-width:0}.designer-heading h1{margin:4px 0 0;font-size:23px;line-height:1.35;font-weight:620;letter-spacing:-.45px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.designer-category{font-size:11px;color:#5d7089}.designer-category>span{margin:0 7px;color:#b7c3d2}.designer-heading-actions{display:flex;gap:9px;flex-shrink:0}.designer-heading-actions .btn{font-size:12px;padding:8px 12px;min-height:35px}
.designer-workspace{position:relative;display:flex;flex:1;min-height:0;min-width:0;overflow:hidden;background:var(--canvas)}
.designer-workspace>.graph-panel{position:relative;flex:1;min-width:0;height:auto;min-height:0;display:flex;flex-direction:column;border:0;border-radius:0;background:var(--canvas);overflow:hidden;box-shadow:none}
.graph-panel-header{height:55px;min-height:55px;padding:11px 24px;background:#fafbfd;border-bottom:1px solid #e0e6ef;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:10px}.canvas-caption{display:flex;align-items:center;gap:8px}.canvas-caption>.icon{width:16px;height:16px;color:#547294}.canvas-caption h2{font-size:13px;font-weight:600;margin:0;color:#344e6e}.map-jumps{display:flex;align-items:center;gap:9px}.btn.map-jump{font-size:11px;color:#4b6586;padding:5px 8px;min-height:28px}.map-jumps .secondary{min-height:30px;padding:5px 9px;font-size:11px;margin-left:7px}.graph-panel-header .btn .icon{width:13px;height:13px}
.designer-workspace .vertical-viewport{position:relative;flex:1;height:auto;min-height:0;overflow:auto;background-color:#f4f6f9;background-image:radial-gradient(#ced8e5 .8px,transparent .8px);background-size:20px 20px;overscroll-behavior:contain;padding:0;cursor:grab;touch-action:pan-x pan-y;scrollbar-width:thin;scrollbar-color:#bac9da transparent;outline-offset:-3px}
.vertical-viewport.panning{cursor:grabbing;user-select:none}.vertical-scroll-size{position:relative;min-width:100%;margin:0}.vertical-stage{position:absolute;top:0;transform-origin:top left}.vertical-connections{position:absolute;inset:0;overflow:visible;pointer-events:none}
.designer-workspace .process-node{display:flex;flex-direction:column;align-items:stretch;text-align:left;padding:18px 20px 16px;background:#fff;border:1px solid #cbd6e4;border-radius:7px;box-shadow:0 2px 4px #1d365608;overflow:hidden;cursor:pointer;transition:border-color .12s,box-shadow .12s;font:inherit;gap:0}
.designer-workspace .process-node:hover{border-color:#7298c8;box-shadow:0 3px 10px #19395a12}.designer-workspace .process-node.selected{border:2px solid #326bac;padding:17px 19px 15px;box-shadow:0 0 0 3px #326bac16}.process-node-type{display:flex;align-items:center;gap:6px;margin:0 0 10px;font-size:10px;font-weight:550;letter-spacing:.15px;color:#5f7490}.process-node-type>.icon{height:13px;width:13px}.node-edit-icon{display:flex;margin-left:auto;color:#8399b3}.node-edit-icon>.icon{height:13px;width:13px}.designer-workspace .process-node>strong{font-size:15px;font-weight:610;line-height:1.4;min-height:42px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 5px;letter-spacing:-.15px;color:#203d60}
.canvas-node-description{font-size:11px;line-height:1.5;color:#5b6f88;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;height:33px;margin-bottom:8px}.designer-workspace .process-node-owner{height:18px;min-height:18px;display:flex;align-items:center;gap:5px;font-size:10px;color:#5b708b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0 0 9px}.process-node-owner>.icon{height:12px;width:12px;flex-shrink:0}
.designer-workspace .node-flows{display:flex;flex-direction:column;gap:5px;margin-top:auto;padding-top:10px;border-top:1px solid #e3e9f1;width:100%}.designer-workspace .node-flow{display:grid;grid-template-columns:42px minmax(0,1fr);gap:8px;align-items:baseline;font-size:10px;line-height:1.4;margin:0}.designer-workspace .flow-label{font-size:9px;letter-spacing:0;text-transform:none;font-weight:550;color:#587497;background:none;padding:0;border:0;min-width:0;border-radius:0}.designer-workspace .flow-names{font-size:10px;color:#4b6585;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.designer-workspace .process-node.goal{background:#193958;border-color:#193958}.designer-workspace .process-node.goal.selected{border-color:#659cdb}.designer-workspace .process-node.goal>strong{color:#f3f7fe}.designer-workspace .process-node.goal .process-node-type,.designer-workspace .process-node.goal .process-node-owner,.process-node.goal .node-edit-icon{color:#b8cee8}.process-node.goal .canvas-node-description,.designer-workspace .process-node.goal .flow-names{color:#d0def0}.designer-workspace .process-node.goal .flow-label{color:#b9cfe9;background:none}.designer-workspace .process-node.goal .node-flows{border-color:#42607e}
.canvas-add{position:absolute;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1px solid #c5d4e5;background:#fff;color:#3d6fa8;z-index:1;cursor:pointer;box-shadow:0 1px 2px #213d5e12}.canvas-add .icon{width:14px;height:14px}.canvas-add:hover{color:#fff;background:#285e9e;border-color:#285e9e}.canvas-add:focus-visible{outline:2px solid #326bac;outline-offset:3px}
.designer-workspace .graph-panel-footer{height:48px;min-height:48px;padding:8px 20px;display:flex;align-items:center;gap:12px;justify-content:space-between;background:#fafbfd;border-top:1px solid #dfe6ef}.canvas-instruction{font-size:10px;color:#60758f}.graph-panel-footer .save-state{margin-left:auto;font-size:10px}.graph-panel-footer .zoom-controls{position:static;background:#fff;border:1px solid #d6e0ec;border-radius:5px;box-shadow:none;height:30px;display:flex;align-items:center}.zoom-controls button{height:28px;min-width:29px;width:auto;padding:5px 7px;color:#526f91;font:inherit;font-size:10px;background:none;border:0;border-radius:0}.zoom-controls button:hover{background:#edf2f8}.zoom-controls button .icon{height:13px;width:13px}#zoom-label{font-size:10px;min-width:43px}
.designer-workspace>.step-editor{position:relative;display:flex;flex-direction:column;flex:0 0 var(--panel);width:var(--panel);height:100%;min-height:0;border:0;border-left:1px solid #d5dfeb;border-radius:0;background:#fff;box-shadow:-4px 0 15px #1e3c5f06;z-index:4;overflow:hidden}
.designer-workspace .step-editor-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:17px 21px;min-height:76px;border-bottom:1px solid #e0e7f0;background:#fff}.step-editor-header>div{margin-right:auto}.pane-context{font-size:10px;color:#69809d}.step-editor-header h2{font-size:18px;line-height:1.4;margin:2px 0 0;color:#254668;font-weight:600}.step-editor-header .icon-btn{width:27px;height:27px;flex-shrink:0}.draft-state{font-size:10px;white-space:nowrap}.draft-state:empty{display:none}
.pane-navigation{display:flex;gap:20px;padding:0 22px;border-bottom:1px solid #e1e7ef;background:#fff;flex-shrink:0}.pane-navigation button{padding:12px 0;border:0;background:none;font:inherit;font-size:11px;color:#526f90;cursor:pointer}.pane-navigation button:hover{color:#194a81}.pane-navigation button:focus-visible{outline-offset:-1px}
.step-editor form{display:flex;flex-direction:column;min-height:0;flex:1;overflow:hidden}.designer-workspace .step-editor-body{padding:22px;overflow:auto;min-height:0;flex:1;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#b7c9df transparent;overscroll-behavior:contain}.step-editor-body label{display:flex;flex-direction:column;gap:7px;color:#405d7f;font-size:12px;line-height:1.5;margin:0 0 19px}.step-editor-body input,.step-editor-body textarea,.step-editor-body select{font:inherit;font-size:13px;line-height:1.5;color:#284769;background:#fff;padding:10px 11px;border:1px solid #cbd8e8;border-radius:4px;width:100%;min-height:39px}.step-editor-body input:focus,.step-editor-body textarea:focus,.step-editor-body select:focus{outline:2px solid #3b74b42b;border-color:#5782b6}.step-editor-body .compact-grid{grid-template-columns:1fr 1fr;gap:15px;margin:0}.step-editor-body .compact-grid label{font-size:11px}.step-editor-body textarea{resize:vertical;min-height:88px}.step-editor-body .field-hint{font-size:11px;color:#60738b;line-height:1.6}.step-editor-body .inline-section{padding:22px 0;margin-top:3px;border-top:1px solid #e0e7f0;scroll-margin-top:15px}.step-editor-body .inline-section-title h3{font-size:13px;color:#304f75}.step-editor-body .inline-section-title>span{font-size:10px;color:#5c7596;background:#f0f4f9;border:0}.step-editor-body .assigned-resource{border:1px solid #d3dfed;background:#fafcfe;border-radius:5px;padding:13px}.assigned-resource-title strong{font-size:12px;color:#355a83}.assigned-resource-title small{font-size:10px;color:#5f7694}.assigned-resource-editor>summary{color:#4b6f99;font-size:10px}.step-editor-body .assigned-resource select{margin-top:11px;background:#fff;font-size:12px}.step-editor-body .attach-existing{align-items:flex-end;gap:8px}.step-editor-body .attach-existing label{margin:0}.step-editor-body .create-resource-box{background:#f6f9fd;border:1px dashed #bacde5;border-radius:5px;margin-top:14px}.create-resource-box>summary{font-size:11px;color:#3b608e}.step-editor-body .step-editor-footer{margin:0}.designer-workspace .step-editor-footer{min-height:65px;padding:13px 20px;background:#fff;border-top:1px solid #dfe7f0;display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-shrink:0}.step-editor-footer .btn{font-size:12px;min-height:35px}.step-editor-footer .ghost{margin-right:auto}.process-management{padding-top:20px;border-top:1px solid #e1e7ef;display:flex;flex-wrap:wrap;gap:10px}.inline-form-error:empty{display:none}.inline-form-error{display:block;font-size:12px;line-height:1.5;color:#a13c42;margin-bottom:12px}.unsaved-prompt{border:1px solid #d8bb87;background:#fff9ec;padding:13px;border-radius:4px;margin-bottom:17px}.unsaved-prompt strong{font-size:12px}.unsaved-prompt p{font-size:11px}.unsaved-prompt .button-row{gap:6px}.unsaved-prompt .btn{font-size:10px;padding:6px 8px;min-height:29px}.settings-card h2{font-size:17px}
#print-root{display:none}.settings-grid{max-width:1000px}.settings-card>p{max-width:850px;line-height:1.7}.library-table .library-owner,.library-table .library-date{display:table-cell}
.topbar .app-name:focus-visible{outline:2px solid #557eaf;outline-offset:4px}
@media(max-width:760px){.topbar{gap:18px}.app-name{font-size:16px}.topbar .breadcrumb{max-width:calc(100% - 190px)}.topbar .breadcrumb>span{max-width:21vw}}
@media(max-width:480px){.topbar{gap:13px}.topbar .breadcrumb{display:none}.topbar-actions{margin-left:auto}}
@media(min-width:1500px){.designer-heading{padding-inline:32px}.graph-panel-header{padding-inline:30px}:root{--panel:450px}.designer-workspace .step-editor-body{padding:25px}}
@media(max-width:1099px){.designer-workspace>.step-editor{position:absolute;right:0;top:0;bottom:0;width:min(420px,calc(100% - 38px));height:100%;box-shadow:-10px 0 28px #1538571c}.canvas-instruction{font-size:9px}.designer-heading{padding:15px 22px;min-height:87px}.designer-heading h1{font-size:21px}.designer-heading-actions{gap:6px}.designer-heading-actions .btn{font-size:11px;padding:8px 10px}.topbar{padding-inline:22px}.brand{padding-bottom:20px}}
@media(max-width:760px){#app{display:flex}.sidebar{position:relative;flex:0 0 52px;width:52px;min-height:0;height:100dvh;padding:15px 5px 8px;flex-direction:column}.brand{padding:0 6px 18px;font-size:0}.brand>span{display:none}.brand img{height:26px;width:26px}.sidebar nav{margin:0;display:flex;flex-direction:column}.sidebar .nav-item{height:38px;min-height:38px;width:42px;padding:10px}.sidebar .nav-item .icon{width:17px;height:17px}.sidebar-bottom{display:flex;flex-direction:column;padding-top:8px;margin-top:auto}.sidebar .process-shortcut:nth-of-type(n+6){display:none}.workspace{width:calc(100% - 52px);margin:0}.topbar{height:43px;min-height:43px;padding:0 17px}.topbar .breadcrumb{display:flex;max-width:calc(100% - 74px);gap:7px;font-size:11px}.breadcrumb-link{font-size:11px}.breadcrumb>span{max-width:36vw}.topbar-actions{width:auto;gap:9px;margin-left:auto}.search-button{font-size:0}.search-button span,.search-button kbd{display:none}main#main{padding:23px 19px}.designer-heading{padding:13px 17px;min-height:86px;gap:12px}.designer-heading h1{font-size:20px}.designer-category{font-size:10px}.designer-heading-actions .btn{font-size:0;min-height:33px;width:33px;padding:8px;gap:0}.designer-heading-actions .btn .icon{width:15px;height:15px}.graph-panel-header{padding:10px 16px;height:49px;min-height:49px}.canvas-caption{gap:6px}.canvas-caption h2{font-size:12px}.map-jumps{gap:4px}.btn.map-jump{padding:4px 5px;font-size:10px}.map-jumps .secondary{margin-left:2px;font-size:10px;padding:5px 7px}.graph-panel-footer{padding-inline:12px!important}.canvas-instruction{display:none}.graph-panel-footer .zoom-controls{margin-left:auto}.designer-workspace .step-editor-header{padding:14px 19px;min-height:69px}.designer-workspace .step-editor-body{padding:20px}.step-editor-header h2{font-size:17px}.step-editor-body .compact-grid{grid-template-columns:1fr 1fr}.pane-navigation{padding-inline:20px}.designer-workspace .step-editor-footer{padding:12px 18px;min-height:61px}.library-table .library-owner,.library-table .library-date{display:none}.settings-card{padding:22px}.settings-card .button-row{gap:9px}}
@media(max-width:480px){.designer-workspace>.step-editor{width:100%;border-left:0;box-shadow:none}.designer-heading h1{font-size:18px}.topbar .breadcrumb>span{display:none}.designer-heading{min-height:79px}.graph-panel-header .canvas-caption>.icon{display:none}.map-jumps{gap:0}.map-jumps .secondary{font-size:0;gap:0;padding:6px;min-height:27px}.map-jumps .secondary .icon{width:13px}.designer-workspace .step-editor-body{padding:18px}.designer-workspace .process-node>strong{font-size:15px}.settings-card .btn{font-size:11px}.settings-grid{gap:15px}}
@media print{html,body{height:auto!important;overflow:visible!important}#app,#modal,#toast,#import-file{display:none!important}#print-root{display:block!important}#print-root main{padding:0!important;width:auto!important;height:auto!important;display:block!important;overflow:visible!important;max-width:none!important;background:#fff!important}#print-root .report-step{break-inside:avoid}}
