.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#555;--xy-background-pattern-lines-color-default:#333;--xy-background-pattern-cross-color-default:#333;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}:root{color:#172033;background:#e8edf3;font-family:Segoe UI,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}button,input{font:inherit}.app-shell{width:100%;height:100%;display:flex}.side-panel{background:#f8fafc;border-right:1px solid #d9e1eb;flex:0 0 300px;width:300px;padding:20px}.brand{letter-spacing:.12em;color:#63748a;font-size:11px;font-weight:800}h1{margin:6px 0 8px;font-size:22px}.muted{color:#64748b;font-size:13px;line-height:1.45}.status-card{background:#fff;border:1px solid #e0e7ef;border-radius:10px;grid-template-columns:auto 1fr;gap:4px 10px;margin-top:24px;padding:14px;display:grid}.status-card strong{font-size:20px}.status-card span{color:#64748b;align-self:center;font-size:12px}.notice{color:#64748b;margin-top:14px;font-size:11px;line-height:1.5}.canvas-wrap{background:#eef2f7;flex:1;min-width:0;position:relative}.org-card{-webkit-user-select:none;user-select:none;width:100%;height:80px;display:flex;position:relative}.org-card-left{background:#f2f2f2;border:1px solid #333;flex:0 0 60px;justify-content:center;align-items:center;width:60px;height:80px;display:flex;overflow:hidden}.org-card.management .org-card-left{background:#f3f3f3;flex-basis:80px;width:80px}.org-card-left img{object-fit:cover;object-position:center top;width:100%;height:100%}.org-card-right{flex-direction:column;flex:1;min-width:0;display:flex}.org-title,.org-name{text-align:center;border:1px solid #333;justify-content:center;align-items:center;height:40px;padding:4px 8px;line-height:1.1;display:flex;overflow:hidden}.org-title{font-size:16px;font-weight:700}.org-name{font-size:15px}.org-card.normal .org-title,.org-card.normal .org-name{background:#dbe5f1}.org-card.coordinator .org-title,.org-card.coordinator .org-name{background:#e6d3c8}.org-card.management .org-title,.org-card.management .org-name{background:#e8ddb4}.project-code{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;font-size:10px;font-weight:800;display:flex}.project-code span+span{border-top:1px solid #33333347;width:100%;margin-top:2px;padding-top:2px}.react-flow__handle{opacity:0;background:0 0;border:0;width:8px;height:8px}.react-flow__attribution{display:none!important}.hidden-file-input{display:none}.primary-btn,.secondary-btn,.ghost-btn{cursor:pointer;border-radius:8px;width:100%;min-height:36px;margin-top:8px;font-weight:700}.primary-btn{color:#fff;background:#2563eb;border:1px solid #1d4ed8}.secondary-btn{color:#1e293b;background:#fff;border:1px solid #cbd5e1}.ghost-btn{color:#475569;background:#eef2f7;border:1px solid #0000}.source-box{background:#fff;border:1px solid #e0e7ef;border-radius:8px;flex-direction:column;gap:2px;margin-top:10px;padding:10px 12px;display:flex}.source-box span{color:#94a3b8;text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:700}.source-box strong{word-break:break-word;font-size:12px}.report-box{background:#fff;border:1px solid #dbe4ee;border-radius:10px;gap:6px;margin-top:14px;padding:12px;display:grid}.report-title{margin-bottom:2px;font-size:12px;font-weight:800}.report-box>div:not(.report-title){color:#64748b;justify-content:space-between;gap:12px;font-size:11px;display:flex}.report-box>div strong{color:#172033}.report-box .warn-row span,.report-box .warn-row strong{color:#b45309}.error-box{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-top:12px;padding:10px;font-size:11px;line-height:1.4}.org-title.compact-long,.org-name.compact-long{padding:3px 6px;font-size:13px;line-height:1.08}.org-title.compact-xlong,.org-name.compact-xlong{padding:2px 5px;font-size:11px;line-height:1.04}.project-code.multi{font-size:9px;line-height:1.05}.route-panel{background:#fff;border:1px solid #cbd5e1;border-radius:10px;margin-top:14px;padding:12px}.route-meta{color:#64748b;justify-content:space-between;gap:10px;margin-top:5px;font-size:11px;display:flex}.route-meta strong{color:#172033;text-align:right;word-break:break-word;max-width:165px}.route-help{color:#64748b;margin:10px 0 6px;font-size:10px;line-height:1.45}.secondary-btn.compact,.ghost-btn.compact{min-height:31px;margin-top:6px;font-size:11px}.route-controls-layer{pointer-events:none;position:absolute;inset:0}.route-segment-hit{pointer-events:all;cursor:grab;z-index:998;background:0 0;border-radius:999px;position:absolute}.route-segment-hit:active{cursor:grabbing}.route-segment-hit.selected{background:#2563eb2e;box-shadow:0 0 0 1px #2563eb47}.route-segment-hit:hover{background:#2563eb1a}.route-add-point,.route-waypoint{pointer-events:all;z-index:1200;position:absolute;transform:translate(-50%,-50%)}.route-add-point{color:#0000;cursor:pointer;opacity:.9;background:#fffffff5;border:1.5px solid #2563eb7a;border-radius:999px;width:20px;height:20px;padding:0;font-size:0;line-height:0;box-shadow:0 2px 8px #0f172a26}.route-add-point:before,.route-add-point:after{content:"";pointer-events:none;background:#2563eb;border-radius:999px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.route-add-point:before{width:9px;height:1.5px}.route-add-point:after{width:1.5px;height:9px}.route-add-point:hover{opacity:1;transform:translate(-50%,-50%)scale(1.08)}.route-waypoint{color:#fff;cursor:pointer;background:#2563eb;border:2px solid #fff;border-radius:999px;min-width:18px;height:18px;padding:0 4px;font-size:9px;font-weight:800;box-shadow:0 1px 6px #00000052}.route-waypoint.selected{background:#f59e0b;transform:translate(-50%,-50%)scale(1.12)}.overlap-segment-menu{z-index:5000;background:#fffffffa;border:1px solid #94a3b861;border-radius:12px;width:286px;max-height:290px;padding:9px;position:fixed;overflow:auto;box-shadow:0 18px 36px #0f172a2e}.overlap-segment-kicker{letter-spacing:.09em;text-transform:uppercase;color:#64748b;font-size:9px;font-weight:800}.overlap-segment-title{color:#0f172a;margin:3px 0 8px;font-size:12px;font-weight:800}.overlap-segment-list{gap:5px;display:grid}.overlap-segment-item{cursor:pointer;text-align:left;background:#fff;border:1px solid #dbe3ec;border-radius:8px;width:100%;padding:8px 9px}.overlap-segment-item:hover{background:#eff6ff;border-color:#93c5fd}.overlap-segment-item strong{color:#1e293b;font-size:10px;line-height:1.3;display:block}.overlap-segment-item span{color:#64748b;margin-top:2px;font-size:9px;line-height:1.25;display:block}.org-card.route-endpoint-selected{outline-offset:4px;z-index:4;outline:3px solid #2563ebb8;box-shadow:0 0 0 8px #2563eb1a}.org-card.route-endpoint-preview{outline-offset:4px;z-index:5;outline:3px solid #f59e0beb;box-shadow:0 0 0 9px #f59e0b21}.overlap-segment-item.previewing{background:#fffbeb;border-color:#f59e0b}.side-panel{overflow-y:auto}.database-box{background:#fff;border:1px solid #dbe4ee;border-radius:10px;margin-top:10px;padding:10px 12px}.database-box.ready{background:#f0fdf4;border-color:#bbf7d0}.database-box.saving,.database-box.loading,.database-box.connecting{background:#eff6ff;border-color:#bfdbfe}.database-box.error{background:#fef2f2;border-color:#fecaca}.database-box.unconfigured{background:#f8fafc;border-color:#e2e8f0}.database-box-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.database-box-head span{color:#64748b;text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:800}.database-box-head strong{color:#172033;text-align:right;font-size:10px}.database-box p{color:#64748b;word-break:break-word;margin:5px 0 2px;font-size:10px;line-height:1.4}.database-actions{grid-template-columns:1fr 1fr;gap:6px;display:grid}.database-actions .primary-btn,.database-actions .secondary-btn{min-width:0;padding:5px 6px;font-size:10px}.primary-btn:disabled,.secondary-btn:disabled,.ghost-btn:disabled{cursor:not-allowed;opacity:.45}.excel-box{background:#fff;border:1px solid #dbe4ee;border-radius:10px;margin-top:10px;padding:10px 12px}.excel-box-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.excel-box-head span{color:#64748b;text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:800}.excel-box-head strong{color:#172033;font-size:10px}.excel-box p{color:#64748b;margin:5px 0 2px;font-size:10px;line-height:1.4}.excel-preview-box{background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;margin-top:12px;padding:12px}.excel-preview-file{color:#1d4ed8;word-break:break-word;margin:3px 0 8px;font-size:10px;font-weight:700}.excel-preview-grid{color:#64748b;grid-template-columns:1fr auto;gap:5px 10px;font-size:10px;display:grid}.excel-preview-grid strong{color:#172033}.excel-preview-note{color:#64748b;margin:9px 0 6px;font-size:9px;line-height:1.4}.excel-warning-list{color:#9a3412;background:#fff7ed;border-radius:7px;max-height:92px;margin:6px 0;padding:7px;font-size:9px;line-height:1.4;overflow:auto}.revision-box{background:#fff;border:1px solid #d7e0ec;border-radius:10px;margin-top:10px;padding:10px}.revision-box.preview{background:#fffaf0;border-color:#d7b45a}.revision-box-head{color:#5b6b82;letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:8px;margin-bottom:5px;font-size:10px;font-weight:800;display:flex}.revision-box-head strong{color:#172033;letter-spacing:0;font-size:10px}.revision-box p{color:#64748b;margin:0 0 8px;font-size:10px;line-height:1.35}.revision-form-grid{grid-template-columns:.72fr 1.28fr;gap:6px;margin-bottom:6px;display:grid}.revision-form-grid label{color:#64748b;text-transform:uppercase;gap:3px;min-width:0;font-size:9px;font-weight:700;display:grid}.revision-form-grid input,.revision-notes{color:#172033;width:100%;font:inherit;background:#fff;border:1px solid #d7e0ec;border-radius:7px;outline:none;font-size:11px}.revision-form-grid input{height:30px;padding:5px 7px}.revision-notes{resize:vertical;min-height:48px;margin-bottom:6px;padding:7px}.revision-list{border-top:1px solid #e6ebf2;gap:5px;margin-top:8px;padding-top:8px;display:grid}.revision-list-item{color:#172033;cursor:pointer;text-align:left;background:#f8fafc;border:1px solid #dbe3ee;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:7px 8px;display:flex}.revision-list-item:hover{background:#eff6ff;border-color:#93b4ec}.revision-list-item>span{gap:1px;display:grid}.revision-list-item>span:last-child{justify-items:end}.revision-list-item strong{font-size:11px}.revision-list-item small{color:#64748b;font-size:9px}.revision-diff-grid{background:#ffffffb8;border-radius:8px;grid-template-columns:1fr auto;gap:4px 10px;margin:8px 0;padding:8px;font-size:10px;display:grid}.revision-diff-grid span{color:#64748b}.revision-diff-grid strong{color:#172033;text-align:right}.revision-readonly-banner{z-index:20;color:#72540b;letter-spacing:.04em;pointer-events:none;background:#fff9e6f0;border:1px solid #d3ae4f;border-radius:999px;padding:7px 12px;font-size:10px;font-weight:800;position:absolute;top:14px;left:50%;transform:translate(-50%);box-shadow:0 5px 16px #42330d1f}.auth-shell{background:radial-gradient(circle at 12% 8%,#fffffff2,#0000 34%),radial-gradient(circle at 88% 92%,#d2e0f1b8,#0000 30%),linear-gradient(145deg,#eef3f8 0%,#e6edf5 56%,#dfe8f2 100%);place-items:center;min-height:100vh;padding:32px 20px;display:grid}.auth-card{background:#fffffffb;border:1px solid #cbd5e1e0;border-radius:20px;width:min(410px,100%);padding:32px 32px 26px;box-shadow:0 24px 70px #0f172a1b,0 2px 8px #0f172a09}.auth-card-loading{min-height:260px}.auth-brand-block{border-bottom:1px solid #edf1f5;justify-content:space-between;align-items:center;gap:16px;min-height:54px;padding-bottom:18px;display:flex}.auth-logo{object-fit:contain;width:116px;height:auto;display:block}.auth-heading{padding:21px 0 19px}.auth-heading h1{color:#142033;letter-spacing:-.025em;margin:0 0 7px;font-size:24px;line-height:1.18}.auth-heading p{color:#64748b;margin:0;font-size:12px;line-height:1.55}.auth-form{gap:14px;display:grid}.auth-form label{color:#46566c;text-transform:uppercase;letter-spacing:.065em;gap:6px;font-size:10px;font-weight:850;display:grid}.auth-label-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.auth-form input{color:#172033;width:100%;height:44px;font:inherit;background:#fff;border:1px solid #ccd7e5;border-radius:10px;outline:none;padding:10px 12px;font-size:13px;transition:border-color .15s,box-shadow .15s,background .15s}.auth-form input::placeholder{color:#9aa8b9}.auth-form input:focus{border-color:#4f83e3;box-shadow:0 0 0 3px #2563eb17}.auth-form input:disabled{color:#94a3b8;background:#f8fafc}.auth-password-wrap{position:relative}.auth-password-wrap input{padding-right:68px}.auth-password-toggle{color:#5270a0;cursor:pointer;background:0 0;border:0;border-radius:7px;height:28px;padding:0 7px;font-size:9px;font-weight:800;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.auth-password-toggle:hover:not(:disabled){color:#1d4ed8;background:#f1f5f9}.auth-password-toggle:disabled{opacity:.45;cursor:not-allowed}.auth-inline-link{color:#315fbe;cursor:pointer;text-transform:none;letter-spacing:0;background:0 0;border:0;padding:0;font-size:9px;font-weight:800}.auth-inline-link:hover:not(:disabled){color:#1d4ed8;text-underline-offset:2px;text-decoration:underline}.auth-inline-link:disabled{opacity:.5;cursor:not-allowed}.auth-submit{letter-spacing:.01em;border-radius:10px;min-height:44px;margin-top:2px;font-size:12px}.auth-secondary-actions{justify-content:center;margin-top:11px;display:flex}.auth-mode-btn{color:#315fbe;cursor:pointer;background:0 0;border:0;border-radius:7px;min-height:30px;padding:4px 9px;font-size:10px;font-weight:750}.auth-mode-btn:hover:not(:disabled){color:#1d4ed8;background:#f3f7fc}.auth-mode-btn:disabled{opacity:.5;cursor:not-allowed}.auth-error,.auth-info{border-radius:9px;margin-top:13px;padding:10px 11px;font-size:10.5px;line-height:1.45}.auth-error{color:#991b1b;background:#fff5f5;border:1px solid #fecaca}.auth-info{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe}.auth-note{color:#7b8798;letter-spacing:.02em;border-top:1px solid #edf1f5;justify-content:center;align-items:center;gap:7px;margin-top:17px;padding-top:15px;font-size:9px;font-weight:650;display:flex}.auth-secure-dot{border:2px solid #8aa1bf;border-radius:50%;width:7px;height:7px;box-shadow:inset 0 0 0 1px #fff}.auth-loading-line{background:#e8eef6;border-radius:999px;height:3px;margin-top:2px;position:relative;overflow:hidden}.auth-loading-line:after{content:"";border-radius:inherit;background:#2563eb;width:38%;animation:1.15s ease-in-out infinite alternate auth-loading;position:absolute;inset:0 auto 0 0}@keyframes auth-loading{0%{transform:translate(-20%)}to{transform:translate(185%)}}@media (width<=520px){.auth-shell{padding:18px 12px}.auth-card{border-radius:16px;padding:26px 22px 22px}.auth-brand-block{align-items:flex-start}.auth-logo{width:108px}.auth-heading h1{font-size:22px}}.user-box{background:#fff;border:1px solid #dbe4ee;border-radius:10px;margin:10px 0;padding:10px 12px}.user-box-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.user-box-top>span{color:#64748b;letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:800}.user-box .user-name{color:#172033;font-size:11px;line-height:1.3;display:block}.user-box small{color:#64748b;word-break:break-all;margin:2px 0 7px;font-size:9px;display:block}.role-badge{letter-spacing:.05em;border-radius:999px;align-items:center;min-height:20px;padding:0 7px;font-size:8px;display:inline-flex}.role-badge.viewer{color:#475569;background:#f1f5f9}.role-badge.editor{color:#1d4ed8;background:#eff6ff}.role-badge.admin{color:#c2410c;background:#fff7ed}.user-admin-box{background:#faf8ff;border:1px solid #ddd6fe;border-radius:10px;margin-top:10px;padding:10px}.user-admin-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.user-admin-head>span{color:#5b4f79;letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:900}.user-admin-box>p{color:#73698a;margin:5px 0 8px;font-size:9px;line-height:1.4}.user-admin-list{gap:6px;max-height:230px;display:grid;overflow:auto}.user-admin-row{background:#fff;border:1px solid #e3ddf2;border-radius:8px;grid-template-columns:minmax(0,1fr) 82px;align-items:center;gap:6px 8px;padding:7px;display:grid}.user-admin-row.inactive{opacity:.58;background:#f8fafc}.user-admin-identity{min-width:0}.user-admin-identity strong{text-overflow:ellipsis;color:#172033;white-space:nowrap;font-size:10px;display:block;overflow:hidden}.user-admin-identity small{text-overflow:ellipsis;color:#64748b;white-space:nowrap;font-size:8px;display:block;overflow:hidden}.user-admin-row select{color:#283347;background:#fff;border:1px solid #d8d2e8;border-radius:6px;width:100%;height:28px;font-size:9px}.user-active-toggle{color:#64748b;grid-column:2;align-items:center;gap:4px;font-size:8px;display:flex}.user-active-toggle input{margin:0}.role-readonly-note{color:#64748b;background:#f8fafc;border-radius:8px;margin:6px 0;padding:8px;font-size:9px;line-height:1.4}.revision-readonly-banner.viewer{color:#475569;background:#f8fafcf2;border-color:#94a3b8}.pdf-box{background:#fff;border:1px solid #dbe4ee;border-radius:10px;margin-top:10px;padding:10px 12px}.pdf-box.exporting{background:#eff6ff;border-color:#bfdbfe}.pdf-box.error{background:#fef2f2;border-color:#fecaca}.pdf-box-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:7px;display:flex}.pdf-box-head span{color:#64748b;text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:800}.pdf-box-head strong{color:#172033;font-size:10px}.pdf-field{gap:4px;margin-top:6px;display:grid}.pdf-field span{color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-size:9px;font-weight:800}.pdf-field input{color:#172033;width:100%;min-width:0;height:30px;font:inherit;background:#fff;border:1px solid #d7dee8;border-radius:7px;padding:5px 7px;font-size:10px}.pdf-field input:disabled{color:#64748b;background:#f1f5f9}.pdf-meta-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:7px;display:grid}.pdf-message{color:#64748b;word-break:break-word;margin:7px 0 0;font-size:9.5px;line-height:1.4}.org-card.node-selected{outline-offset:5px;z-index:6;outline:3px solid #2563ebe0;box-shadow:0 0 0 9px #2563eb1c}.card-editor-box{background:#f8fbff;border:1px solid #bfdbfe;border-radius:10px;margin-top:10px;padding:10px 12px}.card-editor-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.card-editor-head span{color:#64748b;text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:800}.card-editor-head strong{text-overflow:ellipsis;white-space:nowrap;color:#172033;max-width:140px;font-size:10px;overflow:hidden}.card-editor-actions{grid-template-columns:1fr 1fr;gap:6px;margin-bottom:8px;display:grid}.card-editor-actions .secondary-btn{min-width:0;margin-top:0;font-size:10px}.card-editor-field{gap:4px;margin-top:7px;display:grid}.card-editor-field>span,.card-editor-section-label{color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-size:9px;font-weight:800}.card-editor-field input,.card-editor-field textarea,.card-editor-field select,.project-code-add-row input,.project-code-existing-select,.card-editor-coordinate-grid input{box-sizing:border-box;color:#172033;width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #d7dee8;border-radius:7px;font-size:10px}.card-editor-field input,.card-editor-field select,.project-code-add-row input,.project-code-existing-select,.card-editor-coordinate-grid input{height:31px;padding:5px 7px}.card-editor-field textarea{resize:vertical;min-height:48px;padding:7px;line-height:1.3}.card-editor-section-label{margin-top:9px}.project-chip-list{flex-wrap:wrap;gap:5px;margin-top:5px;display:flex}.project-chip{color:#1d4ed8;cursor:pointer;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;align-items:center;gap:5px;padding:4px 7px;font-size:9px;font-weight:800;display:inline-flex}.project-chip span{font-size:12px;line-height:.7}.empty-chip-note{color:#94a3b8;font-size:9px}.project-code-add-row{grid-template-columns:1fr auto;gap:5px;margin-top:6px;display:grid}.project-code-add-row button{color:#1d4ed8;cursor:pointer;background:#eff6ff;border:1px solid #93c5fd;border-radius:7px;min-width:46px;padding:0 8px;font-size:9px;font-weight:800}.project-code-existing-select{margin-top:5px}.card-parent-info{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-top:9px;padding:8px}.card-parent-info>strong{color:#172033;margin-top:3px;font-size:10px;line-height:1.3;display:block}.card-parent-info-head{margin:0 0 3px}.card-parent-info-head>span:first-child{color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-size:9px;font-weight:800}.card-photo-editor{grid-template-columns:72px minmax(0,1fr);align-items:stretch;gap:8px;margin-top:9px;display:grid}.card-photo-preview{background:#f1f5f9;border:1px solid #cbd5e1;border-radius:8px;justify-content:center;align-items:center;width:72px;height:72px;display:flex;overflow:hidden}.card-photo-preview img{object-fit:cover;object-position:center top;width:100%;height:100%}.card-photo-preview span{text-align:center;color:#94a3b8;padding:6px;font-size:9px}.card-photo-editor-meta{flex-direction:column;min-width:0;display:flex}.card-photo-editor-meta>strong{color:#172033;font-size:10px}.card-photo-editor-meta>span{color:#64748b;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:8.5px;overflow:hidden}.card-photo-buttons{gap:3px;margin-top:auto;display:grid}.card-photo-buttons .secondary-btn,.card-photo-buttons .ghost-btn{min-height:27px;margin-top:3px;padding:4px 6px;font-size:9px}.card-photo-message,.card-editor-message,.card-editor-empty{color:#64748b;margin:6px 0 0;font-size:9px;line-height:1.4}.card-editor-advanced{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-top:8px;padding:6px 7px}.card-editor-advanced summary{cursor:pointer;color:#64748b;font-size:9px;font-weight:800}.card-editor-coordinate-grid{grid-template-columns:1fr 1fr;gap:6px;margin-top:7px;display:grid}.card-editor-coordinate-grid label{color:#64748b;gap:3px;font-size:8.5px;font-weight:700;display:grid}.danger-btn{color:#b91c1c;background:#fff1f2;border-color:#fecaca;margin-top:5px}.danger-text{color:#b91c1c}.history-box{grid-template-columns:1fr 1fr auto;align-items:center;gap:5px;margin-top:8px;display:grid}.history-box .ghost-btn{min-height:29px;margin:0}.history-box>span{text-align:right;color:#94a3b8;min-width:38px;font-size:8.5px;font-weight:800}.multi-node-tools{background:#eff6ff;border:1px solid #93c5fd;border-radius:8px;margin:7px 0 8px;padding:8px}.multi-node-tools strong,.multi-node-tools span{display:block}.multi-node-tools strong{color:#1d4ed8;font-size:10px}.multi-node-tools span{color:#64748b;margin-top:3px;font-size:8.5px;line-height:1.35}.multi-node-tools .danger-btn{width:100%;margin-top:6px}.child-layout-tools{background:#fff;border:1px solid #dbe3ec;border-radius:8px;margin-top:8px;padding:7px}.child-layout-tools>span{color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:5px;font-size:8.5px;font-weight:800;display:block}.child-layout-tools>div{grid-template-columns:1fr 1fr 1fr;gap:4px;display:grid}.child-layout-tools .ghost-btn{min-width:0;margin:0;padding:5px 4px;font-size:8.5px}.link-editor-panel{background:#f8fbff;border-color:#bfdbfe}.edge-side-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.edge-editor-message{color:#64748b;margin:7px 0 0;font-size:9px;line-height:1.4}.route-subsection-title{color:#475569;text-transform:uppercase;letter-spacing:.07em;border-top:1px solid #dbe3ec;margin-top:10px;padding-top:9px;font-size:9px;font-weight:900}.quick-connect-menu{z-index:5100;background:#fffffffa;border:1px solid #bfdbfe;border-radius:12px;width:280px;padding:10px;position:fixed;box-shadow:0 16px 38px #0f172a2e}.quick-connect-title{color:#172033;font-size:10px;font-weight:800;line-height:1.3}.quick-connect-title.target{color:#1d4ed8}.quick-connect-arrow{color:#94a3b8;text-align:center;padding:2px 0;font-weight:900}.quick-connect-types{gap:4px;margin:8px 0;display:grid}.quick-connect-types button{color:#172033;cursor:pointer;text-align:left;background:#fff;border:1px solid #dbe3ec;border-radius:8px;grid-template-columns:82px 1fr;align-items:center;gap:7px;width:100%;padding:7px 8px;display:grid}.quick-connect-types button:hover{background:#eff6ff;border-color:#60a5fa}.quick-connect-types strong{color:#1d4ed8;font-size:9px}.quick-connect-types span{color:#64748b;font-size:9px}.side-panel{flex-basis:344px;width:344px;padding:16px}.side-panel h1{margin-bottom:4px}.side-panel .muted{margin-top:4px;font-size:11px}.side-panel .status-card{margin-top:12px}.sidebar-tabs{z-index:40;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f8fafcf5;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:4px;margin:10px -2px 4px;padding:7px 2px;display:grid;position:sticky;top:-16px}.sidebar-tabs button{color:#64748b;cursor:pointer;background:#fff;border:1px solid #dbe3ec;border-radius:8px;min-width:0;height:31px;font-size:9px;font-weight:800}.sidebar-tabs button.active{color:#1d4ed8;background:#eff6ff;border-color:#60a5fa;box-shadow:inset 0 0 0 1px #2563eb14}.side-panel[data-sidebar-tab=context] .work-panel-section,.side-panel[data-sidebar-tab=context] .admin-panel-section,.side-panel[data-sidebar-tab=work] .context-panel-section,.side-panel[data-sidebar-tab=work] .admin-panel-section,.side-panel[data-sidebar-tab=admin] .context-panel-section,.side-panel[data-sidebar-tab=admin] .work-panel-section{display:none!important}.sidebar-work-tools,.sidebar-admin-tools{background:#fff;border:1px solid #e2e8f0;border-radius:9px;margin-top:10px;padding:8px}.sidebar-work-tools>button:first-child,.sidebar-admin-tools>button:first-child{margin-top:0}.searchable-picker{position:relative}.searchable-picker input{padding-right:30px!important}.searchable-picker-toggle{color:#64748b;cursor:pointer;background:#f8fafc;border:0;border-left:1px solid #e2e8f0;border-radius:0 6px 6px 0;width:28px;height:29px;position:absolute;top:1px;right:1px}.searchable-picker-menu{z-index:6200;background:#fff;border:1px solid #cbd5e1;border-radius:9px;max-height:280px;padding:5px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto;box-shadow:0 14px 34px #0f172a2e}.searchable-picker-menu button{color:#334155;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;width:100%;padding:7px 8px;font-size:9.5px;line-height:1.3;display:block}.searchable-picker-menu button:hover,.searchable-picker-menu button.selected{color:#1d4ed8;background:#eff6ff}.searchable-picker-empty{color:#94a3b8;padding:9px;font-size:9px}.child-layout-tools.trunk-manager{padding:9px}.child-layout-tools.trunk-manager>div{display:initial;grid-template-columns:initial;gap:initial}.trunk-manager-head{justify-content:space-between;align-items:center;display:flex!important}.trunk-manager-head>span{color:#475569;text-transform:uppercase;letter-spacing:.06em;font-size:9px;font-weight:900}.trunk-manager-head strong{color:#1d4ed8;background:#eff6ff;border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:20px;font-size:9px;display:inline-flex}.trunk-manager-head-tools{align-items:center;gap:6px;display:flex!important}.trunk-manager-head-tools .info-tip{flex-basis:18px;width:18px;height:18px;font-size:10px}.trunk-layout-mode-head{justify-content:space-between;margin:7px 0 4px}.trunk-layout-mode-head>span:first-child{color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-size:8.5px;font-weight:800}.trunk-side-toggle{grid-template-columns:1fr .75fr 1fr!important;gap:4px!important;display:grid!important}.trunk-side-toggle button{color:#64748b;cursor:pointer;background:#f8fafc;border:1px solid #dbe3ec;border-radius:7px;min-height:29px;font-size:8.5px;font-weight:800}.trunk-side-toggle button.active{color:#1d4ed8;background:#eff6ff;border-color:#60a5fa}.trunk-auto-toggle{color:#475569;align-items:center;gap:7px;margin-top:7px;font-size:8.5px;line-height:1.25;display:flex}.trunk-auto-toggle input{margin:0}.child-order-list{max-height:250px;margin-top:8px;overflow:auto;gap:4px!important;display:grid!important}.child-order-row{background:#fff;border:1px solid #e2e8f0;border-radius:7px;align-items:center;min-height:36px;padding:4px;grid-template-columns:20px minmax(0,1fr) 52px!important;gap:4px!important;display:grid!important}.child-order-row.dragging{opacity:.48;border-style:dashed}.child-order-grip{color:#94a3b8;text-align:center;cursor:grab;font-weight:900}.child-order-label{color:#334155;cursor:pointer;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;min-width:0;padding:2px;font-size:8.5px;overflow:hidden}.child-order-label:hover{color:#1d4ed8}.child-order-buttons{grid-template-columns:1fr 1fr!important;gap:2px!important;display:grid!important}.child-order-buttons button{color:#475569;cursor:pointer;background:#f8fafc;border:1px solid #dbe3ec;border-radius:6px;width:24px;height:24px;padding:0;font-size:10px}.child-order-buttons button:disabled{opacity:.25;cursor:default}.org-card.route-subtree-highlight{outline-offset:4px;z-index:3;outline:2px solid #0ea5e985;box-shadow:0 0 0 7px #0ea5e912}.anchor-editor-layer{z-index:80;pointer-events:none;position:absolute;inset:0}.anchor-choice{cursor:pointer;pointer-events:all;background:#60a5fa;border:2px solid #fff;border-radius:999px;width:15px;height:15px;padding:0;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 2px #2563eb,0 2px 8px #2563eb40}.anchor-choice:hover{background:#fbbf24;transform:translate(-50%,-50%)scale(1.28);box-shadow:0 0 0 2px #d97706,0 2px 8px #d9770640}.anchor-choice.active{background:#22c55e;width:18px;height:18px;box-shadow:0 0 0 3px #15803d,0 2px 9px #15803d47}.visual-anchor-editor-control{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;gap:4px;margin-top:8px;padding:8px;display:grid}.visual-anchor-editor-control button{margin:0}.visual-anchor-editor-control>span{color:#1d4ed8;text-align:center;font-size:9px;font-weight:800}.visual-anchor-editor-control small{color:#64748b;font-size:8.5px;line-height:1.35}.edge-anchor-advanced{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-top:6px;padding:6px}.edge-anchor-advanced summary{cursor:pointer;color:#64748b;font-size:8.5px;font-weight:800}.overlap-segment-menu{width:306px}.overlap-segment-item span{color:#475569}@media (width<=1100px){.side-panel{flex-basis:320px;width:320px}}.child-create-actions{margin:7px 0;grid-template-columns:1.15fr .85fr!important;gap:5px!important;display:grid!important}.child-create-actions button{min-width:0;margin:0!important}.child-order-empty{color:#94a3b8;text-align:left;background:0 0;border:0;padding:4px 2px;font-size:8.5px;line-height:1.35}.card-editor-message{white-space:normal}.org-card.route-layout-blocker{outline-offset:5px;z-index:7;outline:3px solid #dc2626eb;box-shadow:0 0 0 9px #ef44441f,0 0 22px #dc262638}.layout-error-message{background:#fff1f2;border:1px solid #fecaca;border-radius:8px;padding:8px 9px;font-weight:700;color:#991b1b!important;margin-top:7px!important}.layout-blocker-actions{margin-top:6px;grid-template-columns:1fr 1fr!important;gap:5px!important;display:grid!important}.layout-blocker-actions button{min-width:0;margin:0!important}.danger-soft-btn{color:#b91c1c;cursor:pointer;background:#fff1f2;border:1px solid #fca5a5;border-radius:7px;font-weight:800}.danger-soft-btn:hover{background:#ffe4e6;border-color:#ef4444}.layout-diagnostics{color:#475569;background:#f8fafc;border:1px solid #dbe3ec;border-radius:8px;margin-top:7px;padding:7px 8px;font-size:8.5px}.layout-diagnostics summary{cursor:pointer;color:#334155;-webkit-user-select:none;user-select:none;font-weight:900}.layout-diagnostics>div{justify-content:space-between;align-items:center;gap:8px;margin-top:5px;display:flex}.layout-diagnostics>div span{color:#64748b}.layout-diagnostics>div strong{color:#0f172a}.layout-diagnostics p{overflow-wrap:anywhere;margin:5px 0 0;line-height:1.35}.layout-diagnostics-danger{color:#b91c1c;font-weight:800}.global-search-box{z-index:6500;margin:10px 0;position:relative}.global-search-box>label{color:#64748b;letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px;font-size:9px;font-weight:900;display:block}.global-search-box>input{box-sizing:border-box;color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:9px;outline:none;width:100%;padding:10px 11px;font-size:11px}.global-search-box>input:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #3b82f61f}.global-search-results{z-index:6501;background:#fff;border:1px solid #cbd5e1;border-radius:10px;max-height:300px;padding:5px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto;box-shadow:0 14px 32px #0f172a29}.global-search-results button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:8px 9px;display:flex}.global-search-results button:hover,.global-search-results button:focus{background:#eff6ff;outline:none}.global-search-results strong{color:#0f172a;font-size:10px;font-weight:800}.global-search-results small{color:#64748b;font-size:8px}.global-search-result-count{z-index:1;color:#64748b;background:#f8fafcf7;border-bottom:1px solid #e2e8f0;margin:-5px -5px 4px;padding:6px 9px;font-size:8px;font-weight:800;position:sticky;top:-5px}.global-search-empty{color:#64748b;padding:10px;font-size:9px}.canvas-legend-panel{pointer-events:auto;width:min(360px,30vw);margin:12px!important}.canvas-legend-toggle{color:#0f172a;cursor:pointer;background:#fffffff5;border:1px solid #dbe3ec;border-radius:10px;justify-content:space-between;align-items:center;width:100%;padding:8px 11px;font-weight:900;display:flex;box-shadow:0 8px 24px #0f172a1a}.canvas-legend-content{background:#fffffff5;border:1px solid #dbe3ec;border-radius:10px;max-height:min(58vh,520px);margin-top:5px;padding:10px;overflow:auto;box-shadow:0 10px 28px #0f172a1f}.canvas-legend-section+.canvas-legend-section{border-top:1px solid #e2e8f0;margin-top:10px;padding-top:10px}.canvas-legend-section>strong{color:#475569;letter-spacing:.06em;text-transform:uppercase;margin-bottom:7px;font-size:9px;display:block}.canvas-legend-row{color:#334155;grid-template-columns:76px 1fr;align-items:center;gap:8px;min-height:24px;font-size:9px;display:grid}.canvas-legend-row+.canvas-legend-row{border-top:1px dashed #eef2f7}.legend-project-manage{color:#1d4ed8;cursor:pointer;background:#eff6ff;border:1px dashed #93c5fd;border-radius:8px;width:100%;margin-top:8px;padding:7px 8px;font-size:8.5px;font-weight:900}.legend-project-manage:hover{background:#dbeafe}.legend-code{color:#0f172a;font-weight:900}.legend-line-sample{width:54px;height:14px;overflow:visible}.project-admin-box{background:#fff;border:1px solid #dbe3ec;border-radius:10px;margin-top:10px;padding:10px}.project-admin-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.project-admin-head>span{color:#334155;text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:900}.project-admin-box>p{color:#64748b;margin:6px 0 8px;font-size:8.5px;line-height:1.35}.project-add-grid{grid-template-columns:.7fr 1.3fr;gap:5px;margin-bottom:8px;display:grid}.project-add-grid input{border:1px solid #cbd5e1;border-radius:7px;min-width:0;padding:7px 8px;font-size:9px}.project-add-grid button{grid-column:1/-1}.project-admin-list{flex-direction:column;gap:5px;max-height:430px;display:flex;overflow:auto}.project-admin-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;grid-template-columns:72px minmax(0,1fr) 44px 58px 58px;align-items:center;gap:5px;padding:6px;display:grid}.project-admin-row.inactive{opacity:.58}.project-admin-code{flex-direction:column;min-width:0;display:flex}.project-admin-code strong{color:#0f172a;font-size:9px}.project-admin-code small{color:#64748b;font-size:7.5px}.project-admin-row>input{background:#fff;border:1px solid #cbd5e1;border-radius:6px;min-width:0;padding:6px;font-size:8px}.project-sort-input{text-align:center}.project-admin-row .user-active-toggle{margin:0;font-size:8px}.project-admin-row button{min-width:0;padding-left:5px;padding-right:5px}.project-admin-note{color:#64748b;margin-top:7px;font-size:8px;line-height:1.35;display:block}.photo-crop-backdrop{z-index:5000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a8f;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.photo-crop-dialog{background:#fff;border:1px solid #cbd5e1;border-radius:16px;width:min(760px,100vw - 36px);max-height:calc(100vh - 36px);overflow:auto;box-shadow:0 28px 80px #0f172a47}.photo-crop-head{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px 13px;display:flex}.photo-crop-head>div{gap:3px;min-width:0;display:grid}.photo-crop-head strong{color:#0f172a;font-size:15px}.photo-crop-head span{color:#64748b;font-size:10px}.photo-crop-body{grid-template-columns:minmax(260px,340px) minmax(240px,1fr);gap:20px;padding:18px;display:grid}.photo-crop-stage{aspect-ratio:1;background-color:#0000;background-image:linear-gradient(45deg,#eef2f7 25%,#0000 25%),linear-gradient(-45deg,#eef2f7 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#eef2f7 75%),linear-gradient(-45deg,#0000 75%,#eef2f7 75%);background-position:0 0,0 10px,10px -10px,-10px 0;background-repeat:repeat,repeat,repeat,repeat;background-size:20px 20px;background-attachment:scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box;border:2px solid #93c5fd;border-radius:14px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.photo-crop-stage:after{content:"";pointer-events:none;border:1px dashed #ffffffe0;border-radius:10px;position:absolute;inset:7%;box-shadow:0 0 0 999px #0f172a14}.photo-crop-stage canvas{width:100%;height:100%;display:block}.photo-crop-stage>span{color:#64748b;font-size:11px;position:absolute}.photo-crop-controls{flex-direction:column;gap:14px;display:flex}.photo-crop-controls label{grid-template-columns:1fr auto;align-items:center;gap:5px 10px;display:grid}.photo-crop-controls label>span{color:#475569;text-transform:uppercase;letter-spacing:.05em;grid-column:1/-1;font-size:9px;font-weight:900}.photo-crop-controls input[type=range]{accent-color:#2563eb;width:100%;min-width:0}.photo-crop-controls label>strong{text-align:right;color:#1d4ed8;min-width:42px;font-size:10px}.photo-crop-controls>p{color:#64748b;margin:2px 0 0;font-size:10px;line-height:1.45}.photo-crop-controls .photo-crop-error{color:#b91c1c;font-weight:700}.photo-crop-actions{border-top:1px solid #e2e8f0;justify-content:flex-end;gap:8px;padding:12px 18px 16px;display:flex}.photo-crop-actions button{min-width:132px}@media (width<=720px){.photo-crop-backdrop{padding:10px}.photo-crop-dialog{width:calc(100vw - 20px);max-height:calc(100vh - 20px)}.photo-crop-body{grid-template-columns:1fr}.photo-crop-stage{justify-self:center;width:min(100%,340px)}}.side-panel{background:linear-gradient(#fbfdff 0%,#f5f8fc 100%);flex-basis:340px;width:340px;padding:18px;box-shadow:8px 0 28px #0f172a0b}.side-panel h1{letter-spacing:-.02em;margin-bottom:4px}.side-panel .muted{margin-top:0}.status-card,.source-box,.card-editor-box,.database-box,.revision-box,.excel-box,.pdf-box,.user-box,.project-admin-box,.user-admin-box,.route-panel,.sidebar-work-tools,.sidebar-admin-tools{border-color:#dce5ef;border-radius:13px;box-shadow:0 1px 2px #0f172a09}.sidebar-tabs{background:#f8fbffeb;border-bottom:1px solid #cbd5e18c;gap:6px;margin:12px -4px 6px;padding:7px 4px;top:-18px}.sidebar-tabs button{border-radius:10px;height:34px;transition:border-color .15s,background .15s,color .15s,transform .15s}.sidebar-tabs button:hover{color:#1d4ed8;border-color:#93c5fd}.sidebar-tabs button.active{background:#eaf3ff;box-shadow:0 1px 4px #2563eb17}.primary-btn,.secondary-btn,.ghost-btn{transition:transform .12s,box-shadow .12s,border-color .12s,background .12s}.primary-btn:not(:disabled):hover,.secondary-btn:not(:disabled):hover,.ghost-btn:not(:disabled):hover{transform:translateY(-1px)}.primary-btn:not(:disabled):hover{box-shadow:0 5px 14px #2563eb2e}input:focus,textarea:focus,select:focus,.searchable-picker.open input{outline:none;box-shadow:0 0 0 3px #3b82f61a;border-color:#60a5fa!important}.global-search-box input{border-radius:10px;height:38px}.history-box{border-radius:11px}.transfer-panel{background:#f8fbff;border:1px solid #dbe5ef;border-radius:11px;margin-top:9px;padding:9px}.transfer-panel.open{background:#f4f9ff;border-color:#bfdbfe}.transfer-panel-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.transfer-panel-head>div{gap:2px;min-width:0;display:grid}.transfer-panel-head span{color:#64748b;text-transform:uppercase;letter-spacing:.055em;font-size:9px;font-weight:800}.transfer-panel-head small{text-overflow:ellipsis;white-space:nowrap;color:#475569;font-size:9px;overflow:hidden}.transfer-panel-head .ghost-btn{width:auto;min-width:78px;margin:0;padding:5px 8px}.transfer-panel-body{border-top:1px solid #dbe5ef;margin-top:9px;padding-top:9px}.transfer-mode-tabs{grid-template-columns:1fr 1fr;gap:5px;display:grid}.transfer-mode-tabs button{color:#64748b;cursor:pointer;background:#fff;border:1px solid #d7e0ec;border-radius:8px;height:31px;font-size:9px;font-weight:800}.transfer-mode-tabs button.active{color:#1d4ed8;background:#eaf3ff;border-color:#60a5fa}.transfer-mode-tabs button:disabled{opacity:.45;cursor:not-allowed}.transfer-confirm-btn{margin-top:9px}.field-help{color:#64748b;margin-top:3px;font-size:8.5px;line-height:1.35;display:block}.vacancy-note{color:#92400e;background:#fffbeb;border-radius:8px;margin-top:7px;padding:7px 8px;font-size:8.5px;line-height:1.4}.revision-list{max-height:330px;padding-right:2px;overflow:auto}.revision-list-row{background:#fbfdff;border:1px solid #e5ebf2;border-radius:9px;gap:4px;padding:5px;display:grid}.revision-list-row.active{background:#eff6ff;border-color:#93c5fd}.revision-list-row .revision-list-item{background:0 0;border:0;padding:4px}.revision-row-actions{grid-template-columns:1fr auto;gap:5px;display:grid}.revision-row-actions button{cursor:pointer;border-radius:7px;min-height:27px;font-size:8.5px;font-weight:800}.revision-restore-btn{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe}.revision-delete-btn{color:#b91c1c;background:#fff5f5;border:1px solid #fecaca;min-width:48px}.revision-row-actions button:disabled{opacity:.45;cursor:not-allowed}.revision-preview-actions{grid-template-columns:1fr auto;gap:6px;display:grid}.revision-preview-actions .danger-btn{width:auto;min-width:84px}.card-parent-info{border-radius:9px}.trunk-manager{background:#fbfdff;border-radius:11px}.child-order-row{border-radius:8px}.searchable-picker-menu{border-radius:10px;box-shadow:0 16px 34px #0f172a24}@media (width<=1100px){.side-panel{flex-basis:310px;width:310px;padding:14px}}.side-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.side-header h1{margin:5px 0 0}.info-tip{color:#64748b;cursor:help;background:#fff;border:1px solid #cbd5e1;border-radius:999px;flex:0 0 20px;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:900;line-height:1;display:inline-flex;position:relative;box-shadow:0 1px 2px #0f172a0a}.info-tip:hover,.info-tip:focus-visible{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd;outline:none}.info-tip-popover{z-index:8000;color:#fff;text-align:left;opacity:0;visibility:hidden;pointer-events:none;background:#0f172af5;border:1px solid #dbe3ec;border-radius:9px;width:250px;padding:9px 10px;font-size:9px;font-weight:500;line-height:1.45;transition:opacity .12s,transform .12s,visibility .12s;position:absolute;top:calc(100% + 7px);right:0;transform:translateY(-3px);box-shadow:0 12px 28px #0f172a33}.info-tip:hover .info-tip-popover,.info-tip:focus-visible .info-tip-popover{opacity:1;visibility:visible;transform:translateY(0)}.collapsible-admin-box{background:#ffffffd1!important;padding:7px!important}.section-disclosure-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px;display:grid}.section-disclosure{color:#334155;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;width:100%;min-width:0;padding:7px 8px;display:flex}.section-disclosure:hover{background:#f8fafc}.section-disclosure>span:first-child{gap:1px;min-width:0;display:grid}.section-disclosure strong{color:#172033;letter-spacing:.035em;text-transform:uppercase;font-size:10px;font-weight:900}.section-disclosure small{color:#64748b;text-overflow:ellipsis;white-space:nowrap;font-size:8px;line-height:1.25;overflow:hidden}.section-chevron{color:#94a3b8;font-size:15px;line-height:1;transition:transform .15s;transform:rotate(-90deg)}.section-chevron.open{transform:rotate(0)}.collapsible-admin-body{border-top:1px solid #e7edf4;margin-top:6px;padding:8px}.compact-toolbar{justify-content:space-between;align-items:center;gap:8px;margin-bottom:7px;display:flex}.compact-toolbar small{color:#64748b;min-width:0;font-size:8px;line-height:1.3}.compact-toolbar .ghost-btn{width:auto;min-width:56px;margin:0}.project-new-toggle{width:auto!important;margin:0 0 7px!important;padding-inline:10px!important}.compact-project-form{background:#f8fbff;border:1px solid #dbeafe;border-radius:9px;margin-bottom:8px;padding:8px}.compact-project-list{gap:4px;max-height:360px}.project-admin-row.compact{background:#fff;padding:0;display:block;overflow:hidden}.project-admin-row.compact.inactive{opacity:.68}.project-row-summary{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px;min-height:42px;padding:6px 7px;display:grid}.project-row-summary .project-admin-code strong{font-size:9.5px}.project-row-summary .project-admin-code small{text-overflow:ellipsis;white-space:nowrap;max-width:190px;font-size:7.5px;overflow:hidden}.project-state-pill{color:#047857;background:#ecfdf5;border-radius:999px;padding:3px 6px;font-size:7.5px;font-weight:900}.project-state-pill.inactive{color:#64748b;background:#f1f5f9}.project-edit-toggle{width:auto!important;min-width:54px!important;margin:0!important}.project-row-editor{background:#f8fafc;border-top:1px solid #e7edf4;grid-template-columns:minmax(0,1fr) 58px;gap:7px;padding:8px;display:grid}.project-row-editor label{gap:3px;min-width:0;display:grid}.project-row-editor label>span{color:#64748b;text-transform:uppercase;font-size:7.5px;font-weight:800}.project-row-editor input{background:#fff;border:1px solid #cbd5e1;border-radius:7px;width:100%;min-width:0;height:29px;padding:5px 7px;font-size:8px}.project-row-editor .project-active-toggle{align-items:center;margin:0;display:flex}.project-row-editor>button{align-self:end;width:auto;margin:0}.compact-info-line{color:#64748b;align-items:center;gap:6px;margin-top:7px;font-size:8px;display:flex}.compact-info-line .info-tip{flex-basis:18px;width:18px;height:18px;font-size:10px}.advanced-admin-tools{margin-top:10px}.compact-button-stack{gap:6px;display:grid}.compact-button-stack button{margin:0}.canvas-legend-toggle{gap:12px;width:auto;min-width:92px;margin-left:auto}.canvas-legend-toggle span:first-child:before{content:"ⓘ ";color:#64748b}.react-flow__selection{background:#2563eb14!important;border:1px solid #2563eb!important}.react-flow__nodesselection-rect{background:#2563eb09!important;border:1px dashed #2563eb!important}@media (width<=1100px){.info-tip-popover{width:220px}.project-row-summary .project-admin-code small{max-width:140px}}.workspace-summary{background:#ffffffe6;border:1px solid #dce5ef;border-radius:12px;margin:0 0 10px;padding:9px 10px;box-shadow:0 1px 2px #0f172a08}.workspace-user-row{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:7px;display:grid}.workspace-user-identity{min-width:0}.workspace-user-identity strong,.workspace-user-identity small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.workspace-user-identity strong{color:#172033;font-size:10px}.workspace-user-identity small{color:#64748b;margin-top:1px;font-size:8px}.workspace-signout{color:#64748b;cursor:pointer;background:#f8fafc;border:1px solid #dbe3ec;border-radius:8px;width:26px;height:26px;padding:0;font-size:13px;font-weight:800}.workspace-signout:hover{color:#b91c1c;background:#fff5f5;border-color:#fecaca}.workspace-meta-row{color:#64748b;border-top:1px solid #edf1f5;align-items:center;gap:8px;margin-top:8px;padding-top:7px;font-size:8.5px;display:flex}.workspace-meta-row>span:not(.workspace-source){white-space:nowrap}.workspace-meta-row strong{color:#172033;font-size:10px}.workspace-source{color:#475569;text-overflow:ellipsis;white-space:nowrap;background:#f1f5f9;border-radius:999px;min-width:0;margin-left:auto;padding:3px 6px;overflow:hidden}.project-order-toolbar{background:#f8fafc;border:1px solid #e7edf4;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;margin:2px 0 7px;padding:6px 7px;display:flex}.project-order-toolbar>span:first-child{gap:1px;min-width:0;display:grid}.project-order-toolbar strong{color:#334155;font-size:8.5px}.project-order-toolbar small{color:#94a3b8;font-size:7.5px}.project-order-toolbar button{width:auto!important;margin:0!important}.project-order-saved{color:#059669;font-size:8px;font-weight:800}.compact-project-list{padding-right:3px;gap:3px!important;max-height:330px!important}.project-admin-row.compact{background:#fff;border-color:#e4eaf1;border-radius:9px;transition:border-color .12s,box-shadow .12s,opacity .12s;overflow:visible}.project-admin-row.compact:hover{border-color:#cbd5e1}.project-admin-row.compact.dragging{opacity:.42;border-color:#60a5fa;box-shadow:0 6px 18px #2563eb1f}.project-row-summary{align-items:center;grid-template-columns:14px 22px minmax(0,1fr) 34px 9px 26px!important;gap:5px!important;min-height:38px!important;padding:5px 6px!important;display:grid!important}.project-drag-handle{color:#94a3b8;cursor:grab;letter-spacing:-2px;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:11px;font-weight:900;display:inline-flex}.project-admin-row:active .project-drag-handle{cursor:grabbing}.project-drag-handle.disabled{cursor:default;opacity:.25}.project-order-index{color:#94a3b8;font-variant-numeric:tabular-nums;text-align:center;font-size:7.5px}.project-summary-main{min-width:0;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;gap:1px;padding:0;display:grid}.project-summary-main strong,.project-summary-main small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-summary-main strong{color:#0f172a;font-size:9px}.project-summary-main small{color:#64748b;font-size:7.4px}.project-usage-count{color:#334155;font-variant-numeric:tabular-nums;justify-items:end;font-size:8px;font-weight:900;line-height:1;display:grid}.project-usage-count small{color:#94a3b8;margin-top:2px;font-size:6.5px;font-weight:700}.project-state-dot{background:#10b981;border-radius:999px;width:7px;height:7px;box-shadow:0 0 0 3px #ecfdf5}.project-state-dot.inactive{background:#94a3b8;box-shadow:0 0 0 3px #f1f5f9}.project-row-more{color:#64748b;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;width:26px;height:25px;padding:0;font-size:13px;line-height:1}.project-row-more:hover{color:#1d4ed8;background:#f8fafc;border-color:#dbe3ec}.project-row-editor{align-items:end;grid-template-columns:minmax(0,1fr) auto auto!important;gap:6px!important;padding:7px!important}.project-row-editor .project-name-editor{min-width:0}.project-row-editor .project-active-toggle{min-height:29px;padding:0 2px}.project-row-editor>button{min-height:29px}.indirect-link-panel{background:#fff;border:1px solid #dbe3ec;border-radius:10px;margin-top:8px;overflow:visible}.indirect-link-panel.open{border-color:#bfdbfe;box-shadow:0 0 0 2px #3b82f60a}.indirect-link-head{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;padding:5px 6px;display:grid}.indirect-link-disclosure{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:7px;justify-content:space-between;align-items:center;gap:8px;min-width:0;padding:5px 6px;display:flex}.indirect-link-disclosure:hover{background:#f8fafc}.indirect-link-disclosure>span:first-child{gap:1px;min-width:0;display:grid}.indirect-link-disclosure strong{color:#334155;text-transform:uppercase;letter-spacing:.035em;font-size:9px;font-weight:900}.indirect-link-disclosure small{color:#64748b;font-size:7.5px}.indirect-link-body{background:#fbfdff;border-top:1px solid #e7edf4;gap:6px;padding:8px;display:grid}.indirect-add-btn{margin:0!important}.indirect-target-list{gap:4px;max-height:170px;display:grid;overflow:auto}.indirect-target-row{background:#fff;border:1px solid #e2e8f0;border-radius:8px;grid-template-columns:minmax(0,1fr) 25px;align-items:center;gap:4px;display:grid}.indirect-target-label{cursor:pointer;text-align:left;background:0 0;border:0;gap:1px;min-width:0;padding:6px 7px;display:grid}.indirect-target-label strong,.indirect-target-label small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.indirect-target-label strong{color:#334155;font-size:8px}.indirect-target-label small{color:#94a3b8;font-size:6.8px}.indirect-target-remove{color:#b91c1c;cursor:pointer;background:#fff5f5;border:0;border-radius:6px;width:24px;height:24px;padding:0;font-weight:900}.indirect-target-remove:hover{background:#fee2e2}.indirect-empty{color:#94a3b8;text-align:center;border:1px dashed #dbe3ec;border-radius:8px;padding:7px;font-size:7.5px}.revision-form-grid input,.pdf-box input[aria-label=PDF\ tarihi]{font-variant-numeric:tabular-nums}.cross-link-type-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;display:grid}.cross-link-type-tabs button{color:#64748b;cursor:pointer;background:#fff;border:1px solid #dbe3ec;border-radius:7px;min-width:0;padding:6px 4px;font-size:7.3px;font-weight:800}.cross-link-type-tabs button:hover{color:#1d4ed8;background:#f8fbff;border-color:#bfdbfe}.cross-link-type-tabs button.active{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd;box-shadow:inset 0 0 0 1px #3b82f60f}.corridor-tools{background:linear-gradient(#faf8ff 0%,#fff 100%);border:1px solid #ddd6fe;border-radius:10px;gap:7px;margin:10px 0 2px;padding:9px;display:grid}.corridor-tools-head{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:6px;display:grid}.corridor-tools-head>div{gap:1px;min-width:0;display:grid}.corridor-tools-head strong{color:#4c1d95;text-transform:uppercase;letter-spacing:.04em;font-size:9px;font-weight:900}.corridor-tools-head small{color:#7c3aed;font-size:7.2px;line-height:1.35}.corridor-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid}.corridor-tool-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.corridor-tool-grid button{min-width:0;margin:0!important;padding-left:5px!important;padding-right:5px!important;font-size:7.2px!important}.corridor-inline-warning{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:7px;padding:6px 7px;font-size:7.2px;line-height:1.4}.corridor-join-box{color:#5b21b6;background:#f5f3ffcc;border:1px dashed #a78bfa;border-radius:8px;gap:4px;padding:7px;font-size:7.4px;display:grid}.corridor-join-box small{color:#7c3aed;line-height:1.4}.corridor-network-note{color:#6d28d9;background:#f5f3ff;border-radius:7px;padding:5px 7px;font-size:7.2px;line-height:1.35}.org-card.route-network-highlight{outline-offset:3px;z-index:4;outline:2px solid #7c3aed9e;box-shadow:0 0 0 6px #7c3aed14}.org-card.route-network-dimmed{opacity:.22;filter:grayscale(.35)}@media (width<=1180px){.corridor-tool-grid.three{grid-template-columns:1fr}}.corridor-selected-candidate{background:#6366f112;border:1px solid #6366f133;border-radius:8px;padding:7px 9px;font-size:11px;line-height:1.35}.corridor-selected-candidate.muted{color:#64748b;background:#94a3b812;border-color:#94a3b82e}.database-box.sync-pending{background:#fffbeb;border-color:#fde68a}.database-box.sync-saving{background:#eff6ff;border-color:#bfdbfe}.database-box.sync-error{background:#fff7f7;border-color:#fecaca}.database-box.sync-conflict{background:#fff7f7;border-color:#fca5a5;box-shadow:0 0 0 2px #ef44440f}.database-box.sync-remote-update{background:#faf8ff;border-color:#c4b5fd}.working-sync-meta{color:#64748b;background:#ffffffb8;border:1px solid #cbd5e1b8;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;margin-top:7px;padding:6px 8px;font-size:9px;display:flex}.working-sync-meta span:first-child{color:#334155;font-weight:800}.autosave-hint{color:#94a3b8;margin-top:7px;font-size:8.5px;line-height:1.35;display:block}.sync-notice,.sync-conflict-card{background:#fff;border:1px solid #dbe4ee;border-radius:10px;margin:9px 0;padding:9px}.sync-notice{gap:5px;display:grid}.sync-notice strong,.sync-conflict-head strong{color:#172033;font-size:10px}.sync-notice span,.sync-conflict-head span{color:#64748b;font-size:8.5px;line-height:1.35}.remote-update-notice{background:#faf8ff;border-color:#ddd6fe}.sync-conflict-card{background:snow;border-color:#fecaca}.sync-conflict-head{gap:2px;display:grid}.sync-conflict-card>p{color:#991b1b}.sync-conflict-card details{margin-top:7px}.sync-conflict-card summary{cursor:pointer;color:#334155;font-size:9px;font-weight:800}.sync-diff-grid{margin-top:7px}.sync-conflict-actions{grid-template-columns:1fr 1fr;gap:6px;margin-top:9px;display:grid}.sync-conflict-actions .danger-btn{grid-column:1/-1}.backup-create-toolbar{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;display:grid}.backup-create-toolbar input{color:#172033;min-width:0;height:32px;font:inherit;background:#fff;border:1px solid #dbe3ec;border-radius:9px;padding:0 9px}.backup-list,.audit-list{gap:6px;margin-top:7px;display:grid}.backup-row{background:#fff;border:1px solid #e2e8f0;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;display:grid}.backup-row-main{gap:2px;min-width:0;display:grid}.backup-row-title{align-items:center;gap:6px;min-width:0;display:flex}.backup-row-title strong{text-overflow:ellipsis;white-space:nowrap;color:#172033;min-width:0;font-size:9px;overflow:hidden}.backup-row-main small{color:#64748b;font-size:7.3px;line-height:1.3}.backup-reason{color:#475569;text-transform:uppercase;letter-spacing:.02em;background:#f1f5f9;border-radius:999px;flex:none;padding:2px 5px;font-size:6.5px;font-weight:900}.backup-reason.reason-auto-daily{color:#047857;background:#ecfdf5}.backup-reason.reason-pre-force,.backup-reason.reason-pre-restore,.backup-reason.reason-pre-revision-restore{color:#c2410c;background:#fff7ed}.backup-row-actions{gap:4px;min-width:74px;display:grid}.backup-row-actions button{margin:0!important;padding-left:7px!important;padding-right:7px!important}.admin-empty-state{color:#94a3b8;text-align:center;border:1px dashed #dbe3ec;border-radius:9px;padding:10px;font-size:8px}.audit-filter-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;display:grid}.audit-filter-row select{color:#334155;min-width:0;height:31px;font:inherit;background:#fff;border:1px solid #dbe3ec;border-radius:8px;padding:0 8px;font-size:8px}.audit-message{color:#64748b;margin-top:6px;font-size:7.5px;display:block}.audit-row{background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.audit-row>summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px;padding:8px;list-style:none;display:grid}.audit-row>summary::-webkit-details-marker{display:none}.audit-row[open]>summary{background:#f8fafc;border-bottom:1px solid #edf2f7}.audit-row-main{gap:2px;min-width:0;display:grid}.audit-row-main strong{text-overflow:ellipsis;white-space:nowrap;color:#172033;font-size:8.5px;overflow:hidden}.audit-row-main small{color:#64748b;font-size:7px}.audit-event-chip{text-overflow:ellipsis;white-space:nowrap;color:#4338ca;text-transform:uppercase;background:#eef2ff;border-radius:999px;max-width:98px;padding:3px 6px;font-size:6.4px;font-weight:900;overflow:hidden}.audit-detail{gap:6px;padding:8px;display:grid}.audit-diff-grid{background:#f8fafc;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;gap:3px 8px;padding:7px;font-size:7.3px;display:grid}.audit-diff-grid span{color:#64748b}.audit-diff-grid strong{color:#172033;font-variant-numeric:tabular-nums}.audit-detail-line{justify-content:space-between;gap:8px;font-size:7.4px;display:flex}.audit-detail-line span{color:#64748b}.audit-detail-line strong{color:#172033;text-align:right}@media (width<=1180px){.backup-row{grid-template-columns:1fr}.backup-row-actions{grid-template-columns:1fr 1fr;min-width:0}}.transfer-head-actions{grid-auto-flow:column;justify-content:flex-end;align-items:center;gap:5px;min-width:auto!important;display:flex!important}.transfer-head-actions .ghost-btn{white-space:nowrap;min-width:54px;padding-left:7px;padding-right:7px}.transfer-definition-note{color:#334155;background:#eff6ff;border:1px solid #dbeafe;border-radius:8px;gap:3px;margin-bottom:8px;padding:7px 8px;font-size:8px;line-height:1.4;display:grid}.transfer-definition-note strong{color:#1d4ed8;font-size:8.5px}.transfer-preview-card{background:#fff;border:1px solid #dbe5ef;border-radius:9px;gap:1px;margin-top:8px;display:grid;overflow:hidden}.transfer-preview-card>div{border-bottom:1px solid #edf2f7;grid-template-columns:82px minmax(0,1fr);align-items:start;gap:7px;padding:6px 7px;font-size:7.8px;line-height:1.35;display:grid}.transfer-preview-card>div:last-child{border-bottom:0}.transfer-preview-card span{color:#64748b}.transfer-preview-card strong{color:#172033;overflow-wrap:anywhere;min-width:0}.transfer-preview-card .transfer-preview-warning{background:#fffbeb}.transfer-preview-card .transfer-preview-warning strong{color:#92400e}.movement-history-box{border-top:1px solid #dbe5ef;gap:6px;margin-top:8px;padding-top:8px;display:grid}.movement-history-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.movement-history-head strong{color:#172033;font-size:8.5px}.movement-history-head .ghost-btn{width:auto;min-width:54px;margin:0}.movement-history-box>small{color:#64748b;font-size:7.3px}.movement-history-list{gap:4px;max-height:170px;padding-right:2px;display:grid;overflow:auto}.movement-history-row{text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;gap:2px;width:100%;padding:6px 7px;display:grid}.movement-history-row:hover{background:#f8fbff;border-color:#93c5fd}.movement-history-row strong{color:#172033;font-size:7.8px}.movement-history-row span,.movement-history-row small{color:#64748b;font-size:6.8px;line-height:1.3}.movement-history-empty{color:#64748b;text-align:center;background:#f8fafc;border-radius:8px;padding:7px;font-size:7.3px}.structure-move-body{background:linear-gradient(#f8fafc73,#eff6ff73);border-radius:9px;padding:9px 8px 7px}.structure-mode-explain{color:#475569;background:#fff;border:1px solid #dbe5ef;border-radius:8px;margin-top:7px;padding:7px 8px;font-size:7.5px;line-height:1.45}.structure-mode-explain strong{color:#172033}.structure-preview-card{margin-bottom:8px}@media (width<=1180px){.transfer-head-actions{flex-wrap:wrap}}.excel-preview-box.has-errors{background:#fff7f7;border-color:#fecaca}.excel-preview-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.excel-preview-status-row{flex-wrap:wrap;gap:6px;margin:8px 0 10px;display:flex}.excel-status-pill{letter-spacing:.02em;border:1px solid #0000;border-radius:999px;align-items:center;min-height:22px;padding:3px 8px;font-size:9px;font-weight:800;display:inline-flex}.excel-status-pill.ok{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.excel-status-pill.warning{color:#a16207;background:#fffbeb;border-color:#fde68a}.excel-status-pill.error{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.excel-status-pill.neutral{color:#475569;background:#f8fafc;border-color:#e2e8f0}.excel-preview-details{background:#ffffffd1;border:1px solid #dbeafe;border-radius:9px;margin-top:9px;overflow:hidden}.excel-preview-details>summary{cursor:pointer;color:#334155;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:9px;font-weight:800;list-style:none;display:flex}.excel-preview-details>summary::-webkit-details-marker{display:none}.excel-preview-details>summary span{text-align:center;color:#2563eb;background:#eff6ff;border-radius:999px;min-width:22px;padding:2px 6px}.excel-preview-details.issue-details.has-error{border-color:#fecaca}.excel-preview-details.issue-details.has-error>summary{color:#b91c1c}.excel-change-list,.excel-issue-list{max-height:210px;padding:0 8px 8px;overflow:auto}.excel-change-row{border-top:1px solid #eef2f7;gap:2px;padding:7px 3px;display:grid}.excel-change-row strong{color:#172033;font-size:9px}.excel-change-row span{color:#64748b;font-size:8.5px;line-height:1.35}.excel-issue-row{border-radius:7px;gap:3px;margin-top:6px;padding:7px 8px;display:grid}.excel-issue-row.error{color:#991b1b;background:#fef2f2}.excel-issue-row.warning{color:#92400e;background:#fffbeb}.excel-issue-loc{opacity:.72;text-transform:uppercase;letter-spacing:.04em;font-size:8px;font-weight:800}.excel-issue-row strong{font-size:8.5px;line-height:1.35}.excel-list-more{color:#64748b;padding:7px 3px 2px;font-size:8.5px;font-weight:700}.layout-scope-head{margin-top:6px}.layout-scope-toggle{grid-template-columns:1fr 1fr;gap:4px;display:grid}.layout-scope-toggle button{color:#64748b;cursor:pointer;background:#f8fafc;border:1px solid #dbe3ec;border-radius:7px;min-height:29px;padding:5px 6px;font-size:8px;font-weight:800}.layout-scope-toggle button:hover{color:#1d4ed8;background:#f8fbff;border-color:#bfdbfe}.layout-scope-toggle button.active{color:#1d4ed8;background:#eff6ff;border-color:#60a5fa}.card-parent-info.open{background:#fbfdff;border-color:#bfdbfe}.card-parent-info-summary{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px;display:grid}.card-parent-info-summary>div{min-width:0}.card-parent-info-summary strong{text-overflow:ellipsis;white-space:nowrap;color:#172033;font-size:9px;line-height:1.3;display:block;overflow:hidden}.card-parent-info-summary small{color:#64748b;margin-top:2px;font-size:7.3px;display:block}.direct-parent-toggle{width:auto!important;min-width:54px!important;margin:0!important}.direct-parent-body{background:#f8fbff;border-top:1px solid #e7edf4;gap:6px;margin:8px -8px -8px;padding:8px;display:grid}.direct-parent-body .card-editor-message{margin:0}.child-order-list{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent;padding:2px;position:relative}.child-order-list::-webkit-scrollbar{width:7px}.child-order-list::-webkit-scrollbar-track{background:0 0}.child-order-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}.child-order-list.is-reordering{-webkit-user-select:none;user-select:none}.child-order-row{transition:transform .12s,box-shadow .12s,border-color .12s,background-color .12s,opacity .12s;position:relative;grid-template-columns:28px minmax(0,1fr) 52px!important}.child-order-row:hover{background:#fbfdff;border-color:#cbd5e1}.child-order-row.dragging{opacity:.72;background:#eff6ff;border-style:solid;border-color:#93c5fd;transform:scale(.985);box-shadow:0 8px 18px #2563eb1f}.child-order-row.drag-target{background:#f5f9ff;border-color:#60a5fa}.child-order-row.drag-target:before{content:"";z-index:2;pointer-events:none;background:#2563eb;border-radius:999px;height:3px;position:absolute;top:-3px;left:7px;right:7px;box-shadow:0 0 0 2px #2563eb14}.child-order-grip{color:#94a3b8;cursor:grab;border-radius:6px;outline:none;justify-content:center;justify-self:center;align-items:center;width:24px;height:28px;transition:color .12s,background-color .12s,transform .12s;display:flex}.child-order-grip:hover,.child-order-grip:focus-visible{color:#2563eb;background:#eff6ff}.child-order-grip:active{cursor:grabbing;transform:scale(.96)}.child-order-grip-dots{pointer-events:none;grid-template-rows:repeat(3,3px);grid-template-columns:repeat(2,3px);gap:3px;display:grid}.child-order-grip-dots i{background:currentColor;border-radius:50%;width:3px;height:3px;display:block}.child-order-buttons{opacity:.5;transition:opacity .12s}.child-order-row:hover .child-order-buttons,.child-order-row:focus-within .child-order-buttons{opacity:1}.child-order-buttons button:hover:not(:disabled){color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.child-order-list.is-reordering .child-order-buttons{opacity:.18;pointer-events:none}
