.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.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 .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;-webkit-animation: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:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:-webkit-grab;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:#ffffff80;padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@-webkit-keyframes dashdraw{0%{stroke-dashoffset:10}}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.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-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.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:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.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{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.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{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.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:#3367d9;border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.pts-designer-layout{width:100%;min-height:0;background:var(--bg-app, #f1f5f9)}.pts-toolbar{display:flex;align-items:center;gap:12px;padding:6px 14px;background:var(--bg-panel, #ffffff);border-bottom:1px solid var(--border-color, #e2e8f0);flex-shrink:0;flex-wrap:wrap}.pts-toolbar h2{margin:0;font-size:15px;font-weight:600;color:var(--text-primary, #1e293b);white-space:nowrap}.pts-toolbar-spacer{flex:1}.pts-length-stat{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted, #64748b);white-space:nowrap}.pts-length-label{font-weight:500}.pts-length-value{font-weight:700;color:var(--text-primary, #1e293b)}.pts-readonly-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:9999px;background:var(--badge-warning-bg, #fef9c3);color:var(--badge-warning-text, #854d0e);border:1px solid var(--badge-warning-border, #fde68a);white-space:nowrap}.pts-dirty{position:relative}.pts-dirty:after{content:" *";color:var(--color-warning, #f59e0b);font-weight:700}.pts-canvas-body{display:flex;flex:1;min-height:0;overflow:hidden}.pts-canvas-wrap{flex:1;min-width:0;position:relative}.pts-palette{width:180px;flex-shrink:0;overflow-y:auto;background:var(--bg-panel, #ffffff);border-right:1px solid var(--border-color, #e2e8f0);padding:12px 10px}.pts-palette h3{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted, #64748b);margin:0 0 8px}.palette-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;font-size:13px;font-weight:500;color:var(--text-primary, #1e293b);background:var(--bg-app, #f8fafc);border:1px solid var(--border-color, #e2e8f0);margin-bottom:6px;cursor:grab;-webkit-user-select:none;user-select:none;transition:background .1s,border-color .1s}.palette-item:active{cursor:grabbing}.palette-item:hover:not([style*=default]){background:var(--bg-hover, #f1f5f9);border-color:var(--border-hover, #cbd5e1)}.palette-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;display:inline-block}.inspector-panel{width:240px;flex-shrink:0;overflow-y:auto;background:var(--bg-panel, #ffffff);border-left:1px solid var(--border-color, #e2e8f0);padding:14px 12px}.inspector-panel h3{font-size:13px;font-weight:700;color:var(--text-primary, #1e293b);margin:0 0 12px;text-transform:uppercase;letter-spacing:.04em}.inspector-panel .field-group{margin-bottom:14px}.inspector-panel .field-group label{display:block;font-size:11px;font-weight:600;color:var(--text-muted, #64748b);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.inspector-panel .field-group input[type=text],.inspector-panel .field-group input[type=number],.inspector-panel .field-group select{width:100%;box-sizing:border-box;font-size:13px;padding:5px 8px;border:1px solid var(--border-color, #e2e8f0);border-radius:5px;background:var(--bg-input, #ffffff);color:var(--text-primary, #1e293b)}.inspector-panel .field-group input:disabled,.inspector-panel .field-group select:disabled{background:var(--bg-disabled, #f1f5f9);color:var(--text-muted, #94a3b8);cursor:not-allowed}.empty-inspector{font-size:12px;color:var(--text-muted, #94a3b8);line-height:1.5}.pts-summary-stat{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:8px;padding:5px 0;border-bottom:1px solid var(--border-color, #e2e8f0)}.pts-summary-stat:last-of-type{border-bottom:none}.pts-summary-label{display:flex;align-items:center;font-size:13px;font-weight:500;color:var(--text-primary, #1e293b)}.pts-summary-value{font-size:13px;font-weight:600;color:var(--text-primary, #1e293b);white-space:nowrap}.pts-summary-total{margin-top:4px;border-top:2px solid var(--border-color, #e2e8f0)!important;border-bottom:none!important;padding-top:6px}.pts-frozen-banner{font-size:12px;font-weight:600;padding:7px 10px;border-radius:6px;background:var(--badge-warning-bg, #fef9c3);color:var(--badge-warning-text, #854d0e);border:1px solid var(--badge-warning-border, #fde68a);margin-bottom:10px}.pts-node{min-width:120px;max-width:180px;padding:0;border-radius:8px;border:2px solid #64748b;background:var(--bg-panel, #ffffff);box-shadow:0 1px 4px #0000001f;font-family:inherit;overflow:hidden;cursor:default;transition:box-shadow .15s}.pts-node.selected{box-shadow:0 0 0 2px #3b82f680,0 2px 8px #00000026}.pts-node-type{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#fff;padding:2px 8px;border-radius:0}.pts-node-label{font-size:13px;font-weight:600;color:var(--text-primary, #1e293b);padding:5px 8px 2px;word-break:break-word}.pts-node-product{font-size:11px;color:var(--text-muted, #64748b);padding:0 8px 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pts-node-placeholder{color:var(--text-muted, #94a3b8);font-style:italic}.pts-toast{position:absolute;bottom:24px;left:50%;transform:translate(-50%);background:var(--bg-panel, #1e293b);color:#fff;font-size:13px;font-weight:500;padding:8px 18px;border-radius:8px;pointer-events:none;z-index:9999;box-shadow:0 4px 12px #0003;white-space:nowrap;animation:pts-toast-in .2s ease}@keyframes pts-toast-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.pts-admin-page{padding:24px;max-width:900px}.pts-admin-page h1{font-size:22px;font-weight:700;margin:0 0 6px}.pts-admin-page h2{font-size:16px;font-weight:600;margin:0 0 12px}.pts-admin-section{background:var(--bg-panel, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;padding:20px;margin-bottom:24px}.pts-admin-row{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid var(--border-color, #f1f5f9)}.pts-admin-row:last-child{border-bottom:none}.pts-admin-color-dot{width:14px;height:14px;border-radius:50%;flex-shrink:0;border:1px solid rgba(0,0,0,.1)}.pts-admin-row-label{flex:1;font-size:13px;font-weight:500;color:var(--text-primary, #1e293b)}.pts-admin-row-color{font-size:12px;color:var(--text-muted, #64748b);font-family:monospace}.pts-admin-add-form{display:flex;gap:8px;align-items:center;margin-top:14px;flex-wrap:wrap}.pts-admin-add-form input[type=text],.pts-admin-add-form input[type=color]{font-size:13px;padding:5px 8px;border:1px solid var(--border-color, #e2e8f0);border-radius:5px;background:var(--bg-input, #ffffff);color:var(--text-primary, #1e293b)}.pts-admin-add-form input[type=text]{flex:1;min-width:140px}.pts-admin-add-form input[type=color]{padding:2px 4px;width:42px;height:32px;cursor:pointer}.pts-node:hover .pts-handle,.pts-node.selected .pts-handle{opacity:1!important}.pts-handle:hover{background:#1d4ed8!important;transform:scale(1.3)!important}:root{--bg-page: #f6f8fa;--bg-panel: #ffffff;--bg-hover: #f6f8fa;--bg-subtle: #fafbfc;--bg-faint: #fbfcfd;--border: #d0d7de;--border-subtle: #e9edf0;--border-faint: #f0f2f4;--text: #1f2328;--text-muted: #57606a;--text-faint: #8c959f;--accent: #0969da;--accent-strong: #0a3069;--accent-bg: #ddf4ff;--button-bg: #1f6feb;--button-text: #ffffff;--danger: #cf222e;--success: #1a7f37;--warning-bg: #fff8f0;--warning-border: #f0d9b5;--highlight-bg: #fff8c5;--highlight-border: #d4a72c;--row-hover-alt: #eef3fa;--toolbar-hover: #eaeef2;--active-row-bg: #d6e4f5;--col-resize-hover: rgba(31, 111, 235, .35);--modal-overlay: rgba(27, 31, 36, .5);--shadow-dropdown: 0 4px 12px rgba(31, 35, 40, .12);--shadow-context-menu: 0 4px 12px rgba(31, 35, 40, .16);--shadow-modal: 0 8px 24px rgba(0, 0, 0, .2);--shadow-soft: 0 4px 12px rgba(0, 0, 0, .08)}html[data-theme=dark]{--bg-page: #0d1117;--bg-panel: #161b22;--bg-hover: #1c2128;--bg-subtle: #1c2128;--bg-faint: #21262d;--border: #30363d;--border-subtle: #21262d;--border-faint: #21262d;--text: #e6edf3;--text-muted: #9198a1;--text-faint: #6e7681;--accent: #58a6ff;--accent-strong: #79c0ff;--accent-bg: #142d4c;--button-bg: #1f6feb;--button-text: #ffffff;--danger: #f85149;--success: #3fb950;--warning-bg: #2b2111;--warning-border: #5a4a1f;--highlight-bg: #3b3415;--highlight-border: #9e7c1f;--row-hover-alt: #182030;--toolbar-hover: #21262d;--active-row-bg: #1c3a5e;--col-resize-hover: rgba(88, 166, 255, .35);--modal-overlay: rgba(1, 4, 9, .7);--shadow-dropdown: 0 4px 12px rgba(0, 0, 0, .5);--shadow-context-menu: 0 4px 12px rgba(0, 0, 0, .6);--shadow-modal: 0 8px 24px rgba(0, 0, 0, .7);--shadow-soft: 0 4px 12px rgba(0, 0, 0, .4)}html[data-theme=sepia]{--bg-page: #f4ecdd;--bg-panel: #fdf8ee;--bg-hover: #f0e6d2;--bg-subtle: #f7f0e1;--bg-faint: #f9f3e6;--border: #d9c8a8;--border-subtle: #e7dcc2;--border-faint: #ece2cb;--text: #3b3024;--text-muted: #7a6a52;--text-faint: #a49374;--accent: #a05a2c;--accent-strong: #6e3d1c;--accent-bg: #f0ddc0;--button-bg: #a05a2c;--button-text: #fffaf0;--danger: #b3261e;--success: #4f7942;--warning-bg: #f7e6c4;--warning-border: #d9b06b;--highlight-bg: #f3e3a0;--highlight-border: #c79a2e;--row-hover-alt: #f1e4c8;--toolbar-hover: #ece0c4;--active-row-bg: #e6d2ac;--col-resize-hover: rgba(160, 90, 44, .35);--modal-overlay: rgba(59, 48, 36, .5);--shadow-dropdown: 0 4px 12px rgba(59, 48, 36, .18);--shadow-context-menu: 0 4px 12px rgba(59, 48, 36, .22);--shadow-modal: 0 8px 24px rgba(59, 48, 36, .3);--shadow-soft: 0 4px 12px rgba(59, 48, 36, .12)}html[data-theme=slate]{--bg-page: #e8edf2;--bg-panel: #ffffff;--bg-hover: #eef2f7;--bg-subtle: #f3f6f9;--bg-faint: #f6f9fb;--border: #b9c4cf;--border-subtle: #d3dce4;--border-faint: #dde4ea;--text: #1b2733;--text-muted: #4f6273;--text-faint: #7c8da0;--accent: #1d5fa6;--accent-strong: #143e6c;--accent-bg: #d6e7f7;--button-bg: #2563ab;--button-text: #ffffff;--danger: #c3322b;--success: #1f7a4d;--warning-bg: #fdf1de;--warning-border: #e8c585;--highlight-bg: #fff2c2;--highlight-border: #d8a83a;--row-hover-alt: #e3edf6;--toolbar-hover: #dbe6ef;--active-row-bg: #c5dbef;--col-resize-hover: rgba(37, 99, 171, .35);--modal-overlay: rgba(15, 23, 31, .5);--shadow-dropdown: 0 4px 12px rgba(15, 23, 31, .15);--shadow-context-menu: 0 4px 12px rgba(15, 23, 31, .18);--shadow-modal: 0 8px 24px rgba(15, 23, 31, .25);--shadow-soft: 0 4px 12px rgba(15, 23, 31, .1)}*{box-sizing:border-box}html{background:var(--bg-page)}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:var(--text);background:var(--bg-page)}input,select,textarea{background:var(--bg-panel);color:var(--text);font-family:inherit;font-size:inherit}a{color:var(--accent)}.login-screen{display:flex;align-items:center;justify-content:center;height:100vh}.login-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;padding:32px;width:320px}.login-card h1{font-size:18px;margin:0 0 16px}.login-version{text-align:center;font-size:11px;color:var(--text-faint);margin:16px 0 0}.field{margin-bottom:12px}.field label{display:block;font-size:13px;margin-bottom:4px;color:var(--text-muted)}.field input,.field select{width:100%;padding:8px;border:1px solid var(--border);border-radius:6px;font-size:14px}button{background:var(--button-bg);color:var(--button-text);border:none;border-radius:6px;padding:8px 14px;font-size:14px;cursor:pointer}button.secondary{background:var(--bg-panel);color:var(--text);border:1px solid var(--border)}.error-text{color:var(--danger);font-size:13px;margin-top:8px}.success-text{color:var(--success);font-size:13px;font-weight:500}.lock-badge{cursor:help}.lock-banner{background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:6px;padding:8px 12px}code,kbd,samp,.tag-value,.computed-preview,.regexp-display{font-family:Cascadia Code,Fira Code,JetBrains Mono,ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.875em}.login-sso-section{display:flex;flex-direction:column;gap:10px;margin-bottom:4px}.login-sso-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:9px 16px;border:1px solid var(--border);border-radius:6px;background:var(--bg-panel);color:var(--text);font-size:14px;font-family:inherit;cursor:pointer;transition:background .12s}.login-sso-btn:hover:not(:disabled){background:var(--bg-hover)}.login-sso-btn:disabled{opacity:.6;cursor:default}.login-divider{display:flex;align-items:center;gap:10px;margin:4px 0;color:var(--text-muted);font-size:12px}.login-divider:before,.login-divider:after{content:"";flex:1;border-top:1px solid var(--border)}.app-shell{display:flex;flex-direction:row;height:100vh;overflow:hidden}.sidebar{width:220px;flex-shrink:0;display:flex;flex-direction:column;height:100vh;background:var(--bg-panel);border-right:1px solid var(--border)}.sidebar-brand{padding:14px 16px 10px;font-weight:700;font-size:18px;flex-shrink:0;border-bottom:1px solid var(--border)}.brand-version{font-weight:400;font-size:11px;color:var(--text-faint)}.sidebar-module-dropdown{flex-shrink:0;padding:8px 10px 6px;position:relative}.module-dropdown-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:6px 10px;background:var(--bg-input, var(--bg-panel));border:1px solid var(--border);border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;color:var(--text);gap:6px}.module-dropdown-trigger:hover{background:var(--bg-hover)}.module-dropdown-label{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.module-dropdown-caret{font-size:10px;color:var(--text-faint);flex-shrink:0}.module-dropdown-menu{position:absolute;top:calc(100% - 2px);left:10px;right:10px;background:var(--bg-panel);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 16px #0000002e;z-index:200;overflow:hidden}.module-dropdown-item{padding:8px 12px;cursor:pointer;font-size:13px;font-weight:500;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.module-dropdown-item:hover{background:var(--bg-hover);color:var(--text)}.module-dropdown-item.active{background:var(--accent-bg);color:var(--accent)}.sidebar-divider{height:1px;background:var(--border);flex-shrink:0;margin:0}.sidebar-classes{flex:1;overflow-y:auto;padding:6px 0}.sidebar-footer{flex-shrink:0;border-top:1px solid var(--border);padding:8px 10px;display:flex;align-items:center;gap:6px}.sidebar-logout{display:none}.class-item{display:block;padding:8px 16px;cursor:pointer;font-size:14px;color:var(--text);text-decoration:none}.class-item.active{background:var(--bg-hover);font-weight:500}.main-content{flex:1;padding:24px;overflow-y:auto}.main-content:has(.record-workspace){overflow:hidden;padding:0;display:flex;flex-direction:column}.main-content:has(.table-view){overflow:hidden;padding:0;display:flex;flex-direction:column}.splash-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:60vh;text-align:center}.splash-screen h1{font-size:22px;margin:0 0 8px}.splash-screen p{color:var(--text-muted);margin:0 0 24px}.splash-module-buttons{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.splash-module-buttons button{padding:10px 20px;font-size:14px}.empty-state{color:var(--text-muted);font-size:14px}.admin-panel{max-width:720px}.admin-panel table{width:100%;border-collapse:collapse;margin-top:16px}.admin-panel th,.admin-panel td{text-align:left;padding:8px;border-bottom:1px solid var(--border);font-size:14px}.inline-form{display:flex;gap:8px;align-items:flex-end;margin-top:16px;flex-wrap:wrap}.inline-form .field{margin-bottom:0}.sidebar-brand-link{display:block;text-decoration:none;color:inherit}.sidebar-brand-link:hover .sidebar-brand{opacity:.8}.main-topbar{position:absolute;top:12px;right:16px;z-index:100}.profile-menu{position:relative}.profile-avatar-btn{width:36px;height:36px;border-radius:50%;border:2px solid var(--border);background:var(--accent);color:#fff;cursor:pointer;padding:0;overflow:hidden;display:flex;align-items:center;justify-content:center;transition:border-color .15s,box-shadow .15s}.profile-avatar-btn:hover{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.profile-avatar-img{width:100%;height:100%;object-fit:cover}.profile-avatar-initials{font-size:13px;font-weight:600;letter-spacing:.03em;color:#fff;-webkit-user-select:none;user-select:none}.profile-panel{position:absolute;right:0;top:calc(100% + 8px);width:240px;background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #00000026;z-index:300;overflow:hidden}.profile-panel-header{display:flex;align-items:center;gap:12px;padding:14px 14px 10px}.profile-panel-avatar{position:relative;width:44px;height:44px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;flex-shrink:0}.profile-panel-avatar:hover .profile-avatar-edit{opacity:1}.profile-avatar-edit{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;font-size:14px;opacity:0;transition:opacity .15s;color:#fff}.profile-panel-name{font-weight:500;font-size:13px;color:var(--text)}.profile-panel-pic-link{font-size:11px;color:var(--accent);background:none;border:none;cursor:pointer;padding:0;margin-top:2px;font-family:inherit}.profile-panel-divider{height:1px;background:var(--border);margin:2px 0}.profile-panel-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 14px;background:none;border:none;cursor:pointer;font-size:13px;color:var(--text);text-align:left;font-family:inherit}.profile-panel-item:hover{background:var(--bg-hover)}.profile-panel-item.danger{color:var(--danger)}.profile-panel-item.danger:hover{background:color-mix(in srgb,var(--danger) 10%,transparent)}.profile-panel-section-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:6px 14px 2px}.profile-panel-radio{display:flex;align-items:center;gap:8px;padding:5px 14px;cursor:pointer;font-size:13px;color:var(--text)}.profile-panel-radio:hover{background:var(--bg-hover)}.main-content{position:relative}.sidebar-brand-row{display:flex;align-items:center;justify-content:space-between;padding:0 6px 0 0;flex-shrink:0}.sidebar-brand-row .sidebar-brand-link{flex:1}.sidebar-brand-row .profile-panel{right:auto;left:0;top:calc(100% + 6px)}.sidebar-brand-row .profile-avatar-btn{width:30px;height:30px;font-size:11px;margin-right:2px}.main-topbar{display:none}.eam-fullscreen{flex-direction:column!important}.eam-fullscreen .sidebar{width:100%!important;height:auto!important;flex-direction:row!important;border-right:none!important;border-bottom:1px solid var(--border);flex-shrink:0}.eam-fullscreen .sidebar .sidebar-module-dropdown,.eam-fullscreen .sidebar .sidebar-divider,.eam-fullscreen .sidebar .sidebar-classes,.eam-fullscreen .sidebar .sidebar-footer{display:none!important}.eam-fullscreen .sidebar .sidebar-brand-row{flex:1;border-bottom:none}.eam-fullscreen .main-content{flex:1;display:flex;overflow:hidden;padding:0;min-height:0}.eam-fullscreen .inv-layout{flex:1;height:100%;min-height:0}.sidebar-section-heading{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text);opacity:.4;padding:10px 16px 3px;-webkit-user-select:none;user-select:none}.class-item-icon{margin-right:6px;font-size:14px;line-height:1;flex-shrink:0}.class-item{display:flex;align-items:center}.record-workspace{display:flex;flex-direction:column;height:100%;min-height:0}.workspace-breadcrumb{display:flex;align-items:center;gap:4px;padding:7px 20px;background:var(--bg-panel);border-bottom:1px solid var(--border);flex-shrink:0;min-height:36px;overflow-x:auto}.workspace-breadcrumb-class{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);white-space:nowrap}.workspace-breadcrumb-sep{color:var(--text-muted);font-size:12px;flex-shrink:0}.workspace-breadcrumb-name{font-size:14px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.workspace-breadcrumb-root{display:flex;align-items:center;gap:4px;background:none;border:none;padding:0;cursor:pointer;flex-shrink:0}.workspace-breadcrumb-root:hover .workspace-breadcrumb-name{text-decoration:underline;text-decoration-color:var(--text-muted)}.workspace-breadcrumb-entry{font-size:13px;font-weight:500;color:var(--text-muted);white-space:nowrap;max-width:160px;overflow:hidden;text-overflow:ellipsis}.workspace-breadcrumb-entry:hover{color:var(--accent)}.workspace-breadcrumb-current{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis;flex:1}.workspace-breadcrumb-back{font-size:.78rem;padding:2px 8px;flex-shrink:0;margin-left:auto}.workspace-tabbar{display:flex;align-items:flex-end;gap:0;padding:0 20px;background:var(--bg-panel);border-bottom:2px solid var(--border);flex-shrink:0;flex-wrap:wrap}.workspace-tabbar-tab{padding:9px 18px;font-size:13px;font-weight:500;color:var(--text-muted);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;white-space:nowrap;transition:color .12s,border-color .12s}.workspace-tabbar-tab:hover{color:var(--text)}.workspace-tabbar-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.workspace-content{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.workspace-content-header{flex:1;overflow-y:auto;padding:20px}.workspace-panel{display:flex;flex-direction:column;flex:1;min-height:0;padding:16px 20px}.workspace-panel-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;flex-shrink:0}.workspace-panel-title{margin:0;font-size:15px;font-weight:600}.workspace-panel-table{flex:1;min-height:0;display:flex;flex-direction:column}.workspace-child-record{display:flex;flex-direction:column;flex:1;min-height:0}.workspace-child-breadcrumb{display:flex;align-items:center;gap:6px;padding:8px 20px;border-bottom:1px solid var(--border-subtle);flex-shrink:0;background:var(--bg-faint)}.workspace-child-record-body{flex:1;min-height:0;overflow-y:auto}.workspace-system-panel{flex:1;min-height:0;overflow-y:auto;padding:20px}.class-item-workspace-badge{margin-left:auto;font-size:11px;color:var(--accent);opacity:.7;padding-right:2px}.sidebar.sidebar--collapsed{width:44px}.sidebar.sidebar--collapsed .sidebar-module-dropdown,.sidebar.sidebar--collapsed .sidebar-divider,.sidebar.sidebar--collapsed .sidebar-classes,.sidebar.sidebar--collapsed .sidebar-footer{display:none}.sidebar.sidebar--collapsed .sidebar-brand-link,.sidebar.sidebar--collapsed .sidebar-brand-row>a{display:none}.sidebar-collapse-btn{background:none;border:none;cursor:pointer;color:var(--text-faint);padding:4px 6px;border-radius:4px;font-size:16px;line-height:1;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:color .15s,background .15s}.sidebar-collapse-btn:hover{background:var(--bg-hover);color:var(--text)}.sidebar.sidebar--collapsed .sidebar-brand-row{justify-content:center;padding:10px 0}.sidebar.sidebar--collapsed .my-tasks-trigger,.sidebar.sidebar--collapsed .profile-avatar-btn{display:none}.table-view{display:flex;flex-direction:column;flex:1;min-height:0;padding:24px 24px 0;box-sizing:border-box}.table-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.search-box{flex:1;min-width:180px;padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-size:14px}.toolbar-dropdown{position:relative;overflow:visible}.dropdown-panel{position:absolute;top:calc(100% + 4px);left:0;background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 12px var(--shadow-dropdown);padding:10px;min-width:220px;z-index:200}.dropdown-panel .link{display:block;width:100%;text-align:left;background:none;color:var(--text);padding:6px 4px;border-radius:4px}.dropdown-panel .link:hover{background:var(--bg-hover)}.dropdown-checkbox-row{display:flex;align-items:center;gap:6px;font-size:13px;padding:4px 0;white-space:nowrap}.views-panel input{width:100%;padding:6px 8px;border:1px solid var(--border);border-radius:6px;font-size:13px;margin-bottom:8px}.views-list{list-style:none;margin:0 0 8px;padding:0;max-height:180px;overflow-y:auto}.views-list li{display:flex;align-items:center;justify-content:space-between;padding:4px 2px;font-size:13px}.views-list li span{cursor:pointer;color:var(--accent)}.views-list li span:hover{text-decoration:underline}.views-list-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.views-list-actions .link{white-space:nowrap}.save-as-row{display:flex;gap:6px}.save-as-row input{margin-bottom:0}button.small{padding:3px 8px;font-size:12px}button.link{background:none;color:var(--accent);padding:0}.import-preview,.import-result{background:var(--bg-hover);border:1px solid var(--border);border-radius:8px;padding:12px;margin-bottom:12px;font-size:14px}.import-preview button,.import-result button{margin-right:8px;margin-top:4px}.import-errors{max-height:140px;overflow-y:auto;font-size:13px;color:var(--danger)}.table-scroll-area{flex:1;overflow:auto;border:1px solid var(--border);border-radius:8px;background:var(--bg-panel)}.record-table{border-collapse:collapse;width:100%;font-size:13px;table-layout:fixed}.record-table th,.record-table td{border-bottom:1px solid var(--border-subtle);border-right:1px solid var(--border-faint);padding:6px 10px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.record-table thead th{position:sticky;top:0;background:var(--bg-hover);z-index:5;font-weight:600}.record-table thead tr:first-child th{top:0}.record-table thead tr.filter-row th{top:33px;font-weight:400;background:var(--bg-faint)}.record-table thead tr.filter-row th input,.record-table thead tr.filter-row th select{width:100%;min-width:80px;padding:3px 5px;font-size:12px;border:1px solid var(--border);border-radius:4px}.date-range-filter{display:flex;gap:4px}.date-range-filter input{width:50%}.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}.col-resize-handle{position:absolute;top:0;right:0;width:6px;height:100%;cursor:col-resize}.col-resize-handle:hover{background:var(--col-resize-hover)}.drag-handle-col,.drag-handle-cell{width:24px;text-align:center;color:var(--text-faint);cursor:grab}.select-col,.select-cell{width:32px;text-align:center}.actions-col{width:150px;text-align:center}.actions-col button+button,td button.small+button.small{margin-left:4px}.bulk-edit-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--highlight-bg);border:1px solid var(--highlight-border);border-radius:8px;padding:8px 12px;margin-bottom:12px;font-size:13px}.bulk-edit-progress{font-style:italic;color:var(--text-muted)}.system-field-row{background:var(--bg-subtle);color:var(--text-muted)}.bulk-edit-bar select,.bulk-edit-bar input,.bulk-edit-bar textarea{padding:5px 8px;border:1px solid var(--border);border-radius:6px;font-size:13px}.select-all-row{border-bottom:1px solid var(--border-subtle);margin-bottom:4px;padding-bottom:6px}.editable-cell{cursor:text}.editable-cell:hover{background:var(--bg-hover)}.readonly-cell{color:var(--text-muted)}.editing-cell input,.editing-cell select,.editing-cell textarea{width:100%;padding:3px 5px;font-size:13px;border:1px solid var(--accent);border-radius:4px}.new-row{background:var(--accent-bg)}.new-row td{padding:4px 8px}.new-row input,.new-row select,.new-row textarea{width:100%;padding:3px 5px;font-size:13px;border:1px solid var(--border);border-radius:4px}.muted{color:var(--text-faint);font-style:italic;font-size:12px}.table-pagination{display:flex;align-items:center;gap:12px;margin-top:12px;padding-bottom:16px;font-size:13px;color:var(--text-muted);flex-shrink:0}.table-pagination select{padding:4px 6px;border:1px solid var(--border);border-radius:6px}.record-table.compact-rows th,.record-table.compact-rows td{padding:1px 8px;font-size:11.5px;line-height:1.25;max-height:22px}.record-table.compact-rows thead th{padding:2px 8px}.record-table.compact-rows thead tr.filter-row th{top:20px}.compact-rows-active{background:var(--accent)!important;color:#fff!important;border:none!important}.form-view-mode-btn{display:inline-flex;align-items:center;gap:5px;font-size:12px;padding:3px 10px;border-radius:5px;cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid var(--border);background:var(--bg-panel);color:var(--text);transition:background .1s,color .1s}.form-view-mode-btn:hover{background:var(--bg-hover)}.form-view-mode-btn.view-mode{background:var(--accent-bg);color:var(--accent);border-color:var(--accent)}.form-renderer.view-mode .form-field input,.form-renderer.view-mode .form-field select,.form-renderer.view-mode .form-field textarea{background:transparent;border-color:transparent;padding-left:0;color:var(--text);pointer-events:none;cursor:default;resize:none}.form-renderer.view-mode .form-field label{color:var(--text-muted);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.04em}.form-renderer.view-mode .form-container{border-color:transparent;background:transparent}.form-cols{display:flex;gap:24px;align-items:flex-start}.form-cols-2 .form-col,.form-cols-3 .form-col{flex:1;min-width:0}.form-col .form-field{max-width:none}.form-col .form-container{width:100%}.form-action-menu{position:relative}.form-action-trigger{width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:var(--bg-panel);color:var(--text);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background .12s,border-color .12s,box-shadow .12s;flex-shrink:0}.form-action-trigger:hover:not(:disabled){background:var(--bg-hover);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.form-action-panel{position:absolute;right:0;top:calc(100% + 6px);min-width:220px;background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #00000026;z-index:300;overflow:hidden;padding:4px 0}.form-action-section-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:6px 14px 2px}.form-action-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 14px;background:none;border:none;cursor:pointer;font-size:13px;color:var(--text);text-align:left;font-family:inherit;white-space:nowrap}.form-action-item:hover:not(:disabled){background:var(--bg-hover)}.form-action-item.active{color:var(--accent);font-weight:500}.form-action-item.danger{color:var(--danger)}.form-action-item:disabled{opacity:.5;cursor:default}.form-action-divider{height:1px;background:var(--border);margin:3px 0}.form-save-btn{padding:5px 16px;border-radius:6px;border:none;background:var(--accent);color:#fff;font-size:13px;font-weight:500;cursor:pointer;font-family:inherit;transition:opacity .12s}.form-save-btn:hover:not(:disabled){opacity:.88}.form-save-btn:disabled{opacity:.5;cursor:default}.grid-row-header{display:block;text-align:center;font-size:11px;color:var(--text);opacity:.45;cursor:pointer;-webkit-user-select:none;user-select:none;line-height:1.4}.grid-row-header:hover{opacity:.9}.grid-row-selected>td{background:color-mix(in srgb,var(--accent) 7%,var(--bg-panel))!important}.grid-cell{position:relative;cursor:default}.grid-cell.grid-selected{background:color-mix(in srgb,var(--accent) 18%,var(--bg-panel))!important;outline:1px solid var(--accent);outline-offset:-1px;z-index:2}.grid-cell.grid-id-cell{cursor:pointer}.grid-cell-value{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-height:1.5em}.grid-cell-value.expanded{max-height:none;white-space:pre-wrap;word-break:break-word;background:var(--bg-panel);position:relative;z-index:10;box-shadow:0 2px 8px #00000026;border:1px solid var(--border);border-radius:4px;padding:4px}.grid-more-btn{font-size:10px;padding:0 3px;margin-left:2px;background:none;border:none;color:var(--accent);cursor:pointer;opacity:.8;vertical-align:middle;line-height:1;display:inline}.grid-more-btn:hover{opacity:1;text-decoration:underline}.record-table.grid-mode .drag-handle-col,.record-table.grid-mode th.drag-handle-col{width:0!important;min-width:0!important;padding:0!important;border:none!important;overflow:hidden}.record-table.grid-mode.hierarchy-mode .drag-handle-col,.record-table.grid-mode.hierarchy-mode th.drag-handle-col{width:28px!important;min-width:28px!important;padding:0 2px!important;border-right:1px solid var(--border)!important;overflow:visible;cursor:grab}.record-table.grid-mode td,.record-table.grid-mode th{-webkit-user-select:none;user-select:none}.record-table.grid-mode td.editing-cell,.record-table.grid-mode td.editing-cell input,.record-table.grid-mode td.editing-cell textarea,.record-table.grid-mode td.editing-cell select{-webkit-user-select:text;user-select:text}.table-toolbar{display:flex;align-items:center;gap:6px;padding:8px 8px 6px;margin-bottom:0;flex-wrap:wrap;border-bottom:1px solid var(--border);background:var(--bg-panel);position:relative;z-index:50}.toolbar-pill{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border:1px solid var(--border);border-radius:20px;background:transparent;color:var(--text);font-size:12.5px;cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s,color .12s;line-height:1.3}.toolbar-pill:hover{background:var(--bg-hover);border-color:var(--accent)}.toolbar-pill.active{background:var(--accent);border-color:var(--accent);color:#fff}.toolbar-pill.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.toolbar-pill.primary:hover{opacity:.88}.toolbar-pill.has-selection{border-color:var(--accent);color:var(--accent);font-weight:500}.toolbar-pill.has-selection.active{color:#fff}.toolbar-pill:disabled{opacity:.4;cursor:not-allowed}.toolbar-select{padding:5px 8px;border:1px solid var(--border);border-radius:20px;background:transparent;color:var(--text);font-size:12.5px;cursor:pointer}.toolbar-group{display:flex;align-items:center;gap:4px;flex-shrink:0}.toolbar-divider{width:1px;height:20px;background:var(--border);flex-shrink:0;margin:0 2px}.search-box{flex:1;min-width:120px;max-width:260px;padding:5px 10px;border:1px solid var(--border);border-radius:20px;font-size:12.5px;background:var(--bg-panel);color:var(--text)}.bulk-flash-result{font-size:12px;padding:5px 12px;cursor:pointer;font-weight:500;border-bottom:1px solid var(--border)}.bulk-flash-ok{color:#2ea44f;background:color-mix(in srgb,#2ea44f 8%,var(--bg-panel))}.bulk-flash-error{color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,var(--bg-panel))}.hierarchy-expand-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:50;background:color-mix(in srgb,var(--bg) 70%,transparent);display:flex;align-items:center;justify-content:center;pointer-events:all}.hierarchy-expand-spinner{display:flex;flex-direction:column;align-items:center;gap:12px;background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;padding:24px 36px;box-shadow:0 4px 24px #0000002e;font-size:14px;color:var(--text-muted)}.hierarchy-spinner-icon{display:inline-block;width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:hierarchy-spin .75s linear infinite}@keyframes hierarchy-spin{to{transform:rotate(360deg)}}.hierarchy-depth-1 td:first-child,.hierarchy-depth-2 td:first-child,.hierarchy-depth-3 td:first-child,.hierarchy-depth-4 td:first-child,.hierarchy-depth-5 td:first-child{position:relative}.hierarchy-depth-0{background:var(--bg-panel)}.hierarchy-depth-1{background:color-mix(in srgb,var(--accent) 3%,var(--bg-panel))}.hierarchy-depth-2{background:color-mix(in srgb,var(--accent) 6%,var(--bg-panel))}.hierarchy-depth-3{background:color-mix(in srgb,var(--accent) 9%,var(--bg-panel))}.hierarchy-depth-4{background:color-mix(in srgb,var(--accent) 11%,var(--bg-panel))}.hierarchy-depth-5{background:color-mix(in srgb,var(--accent) 13%,var(--bg-panel))}.record-table.hierarchy-mode td.hierarchy-tree-col,.record-table.hierarchy-mode th.hierarchy-tree-col{position:sticky;left:0;z-index:3;background:inherit;box-shadow:2px 0 4px #0000000f}.record-table.hierarchy-mode thead th.hierarchy-tree-col{z-index:6}.hierarchy-breadcrumb{display:flex;align-items:center;gap:4px;padding:5px 12px;font-size:12px;color:var(--text-muted);background:var(--bg-faint);border:1px solid var(--border);border-bottom:none;border-radius:6px 6px 0 0;flex-wrap:wrap}.hierarchy-breadcrumb-item{display:inline-flex;align-items:center;gap:4px}.hierarchy-breadcrumb-sep{color:var(--text-muted);opacity:.5;margin:0 2px}.hierarchy-breadcrumb-current{font-weight:600;color:var(--text)}.hierarchy-inline-add{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;font-size:14px;line-height:1;cursor:pointer;background:var(--accent);color:#fff;border:none;border-radius:3px;opacity:.85;flex-shrink:0}.hierarchy-inline-add:hover{opacity:1;transform:scale(1.1)}.record-table tr.hierarchy-drop-target td{background:color-mix(in srgb,var(--accent) 20%,var(--bg-panel))!important;outline:2px dashed var(--accent);outline-offset:-2px}.table-scroll-area:focus{outline:2px solid var(--accent);outline-offset:-2px}.table-scroll-area:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.grid-cell-na{background:color-mix(in srgb,var(--bg-panel) 85%,var(--text-muted) 15%)!important;cursor:default!important}.grid-cell-na.grid-selected{background:color-mix(in srgb,var(--accent) 10%,var(--bg-panel) 90%)!important}.grid-cell-na-dash{color:var(--text-muted);opacity:.4;font-size:12px;-webkit-user-select:none;user-select:none}.toolbar-sliders{display:flex;flex-direction:column;gap:4px;padding:4px 6px;border-right:1px solid var(--border);margin-right:6px;flex-shrink:0}.toolbar-toggle-row{display:flex;align-items:center;gap:5px;white-space:nowrap}.toggle-label{font-size:11px;color:var(--text-muted);min-width:36px;-webkit-user-select:none;user-select:none;transition:color .15s}.toggle-label-active{color:var(--text);font-weight:600}.toggle-switch{position:relative;width:34px;height:18px;border-radius:9px;background:var(--border);border:none;cursor:pointer;padding:0;flex-shrink:0;transition:background .2s;outline:none}.toggle-switch:focus-visible{box-shadow:0 0 0 2px var(--accent)}.toggle-switch.on{background:var(--accent)}.toggle-thumb{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:left .18s cubic-bezier(.4,0,.2,1);pointer-events:none;box-shadow:0 1px 3px #00000040}.toggle-switch.on .toggle-thumb{left:18px}.inline-child-row td{background:var(--bg)}.inline-child-row input,.inline-child-row select,.inline-child-row textarea{width:100%;box-sizing:border-box;border:1px solid var(--border);border-radius:3px;background:#fff;color:var(--text);font-size:12px;padding:2px 5px;outline:none}.inline-child-row input:focus,.inline-child-row select:focus,.inline-child-row textarea:focus{border-color:var(--accent);outline:none}.admin-panel-wide{max-width:980px}.forms-header-bar{display:flex;align-items:center;flex-wrap:nowrap;gap:6px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--border);overflow-x:auto}.forms-header-bar>*{flex-shrink:0}.forms-header-bar .class-picker-row{display:contents}.forms-header-bar .class-picker-row .field{margin:0;display:flex;flex-direction:column;gap:0}.forms-header-bar .class-picker-row label{font-size:10px;color:var(--text-muted);margin-bottom:1px;line-height:1}.forms-header-bar .class-picker-row select,.forms-form-select{height:30px;padding:0 7px;font-size:13px;border:1px solid var(--border);border-radius:6px;background:var(--bg-panel);color:var(--text);box-sizing:border-box}.forms-form-select{min-width:150px}.forms-header-sep{width:1px;height:20px;background:var(--border);flex-shrink:0}.forms-header-actions{display:flex;align-items:center;gap:4px;flex-wrap:nowrap;margin-left:4px}.forms-header-actions button,.forms-header-actions a.forms-link-btn{height:30px;padding:0 10px;font-size:12.5px;display:inline-flex;align-items:center;box-sizing:border-box;border-radius:6px;text-decoration:none;white-space:nowrap}a.forms-link-btn{background:var(--bg-panel);color:var(--text);border:1px solid var(--border);cursor:pointer;text-decoration:none!important}a.forms-link-btn:hover{background:var(--bg-hover);text-decoration:none!important}.form-subtab-add{display:flex;align-items:center;padding:4px 8px;border-left:1px solid var(--border)}.admin-panel-rules{max-width:1600px;width:96vw}.rules-table{width:100%;table-layout:auto}.rules-table th,.rules-table td,.rules-table-actions{white-space:nowrap}.rules-table-actions button{margin-right:4px}.rule-builder-form-flat{padding:14px}.rule-builder-row-flat{align-items:center;row-gap:10px}.checkbox-label-group{display:inline-flex;align-items:center;gap:10px;padding:0 4px;border-left:1px solid var(--border);border-right:1px solid var(--border)}.class-picker-row{display:flex;gap:12px;margin:12px 0 20px;padding-bottom:16px;border-bottom:1px solid var(--border)}.form-view{display:flex;flex-direction:column;gap:8px;max-width:100%}.form-renderer{background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;overflow:hidden}.form-subtabs{display:flex;align-items:stretch;background:var(--bg-hover);border-bottom:1px solid var(--border);min-height:42px}.form-subtab-title{display:flex;align-items:center;padding:0 12px 0 10px;font-size:13px;font-weight:600;color:var(--text);border-right:1px solid var(--border);flex-shrink:0;white-space:nowrap;max-width:260px;overflow:hidden}.form-subtab-title-text{display:flex;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.form-subtab-tabs{display:flex;flex:1;overflow-x:auto;gap:0;align-items:stretch}.form-subtab-actions{display:flex;align-items:center;gap:4px;padding:0 8px;border-left:1px solid var(--border);flex-shrink:0}.form-subtab-actions button{font-size:12px;padding:3px 8px;white-space:nowrap}.form-subtab{padding:0 14px;font-size:13px;cursor:pointer;color:var(--text-muted);border-bottom:2px solid transparent;white-space:nowrap;display:flex;align-items:center;gap:4px}.form-subtab.active{color:var(--accent);font-weight:500;border-bottom-color:var(--accent)}.form-subtab-body{padding:20px}.form-field{margin-bottom:14px;max-width:420px}.form-field label{display:block;font-size:13px;color:var(--text-muted);margin-bottom:4px}.form-field input,.form-field select,.form-field textarea{width:100%;padding:8px;border:1px solid var(--border);border-radius:6px;font-size:14px;font-family:inherit}.form-container{border:1px solid var(--border);border-radius:8px;margin-bottom:14px;background:var(--bg-faint)}.form-container-header{padding:10px 14px;font-weight:500;font-size:13px;cursor:pointer;display:flex;align-items:center;gap:6px;-webkit-user-select:none;user-select:none}.collapse-arrow{display:inline-block;transition:transform .1s ease}.collapse-arrow.collapsed{transform:rotate(-90deg)}.form-container-body{padding:4px 14px 14px}.forms-list-row{display:flex;align-items:center;gap:10px;margin:16px 0}.forms-list-row select{min-width:220px;padding:8px;border:1px solid var(--border);border-radius:6px}.form-builder{border-top:1px solid var(--border);padding-top:16px;margin-top:8px}.form-builder-toolbar{display:flex;gap:8px;margin:12px 0}.admin-subtabs{background:var(--bg-panel);border:1px solid var(--border);border-radius:8px 8px 0 0;margin-top:16px}.admin-subtabs .form-subtab span{cursor:pointer}.admin-subtabs .form-subtab button.link.small{padding:0 2px;font-size:13px}.system-subtabs-row{background:var(--bg-panel);border:1px solid var(--border);border-top:none;padding:8px 12px;font-size:13px;display:flex;align-items:center;flex-wrap:wrap;gap:4px}.system-subtab-checkbox{display:inline-flex;align-items:center;gap:4px;margin-left:12px}.form-builder-tree{background:var(--bg-panel);border:1px solid var(--border);border-top:none;border-radius:0 0 8px 8px;padding:14px}.container-tree{display:flex;flex-direction:column;gap:6px}.container-tree-add-row{display:flex;gap:8px;margin:6px 0 12px}.container-tree-add-row select{padding:5px 8px;border:1px solid var(--border);border-radius:6px;font-size:13px}.tree-row{display:flex;align-items:center;gap:10px;padding:6px 8px;background:var(--bg-hover);border-radius:6px;font-size:13px}.tree-container{border-left:2px solid var(--border);padding-left:10px;margin-bottom:6px}.tree-container .tree-row{background:var(--accent-bg)}.tree-label{flex:1}.tree-container-label{flex:1;padding:4px 6px;border:1px solid var(--border);border-radius:4px;font-size:13px}.tree-collapsed-toggle{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-muted);white-space:nowrap}.tree-actions{display:flex;gap:2px;flex-shrink:0}.rules-admin-layout{display:flex;gap:24px;margin-top:12px}.rules-admin-groups{flex:1;min-width:280px}.rules-admin-rules{flex:2;min-width:360px}.rule-group-row.active{background:var(--accent-bg)}.rules-list{list-style:none;padding:0;margin:8px 0}.rules-list li{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;border-radius:6px;background:var(--bg-hover);margin-bottom:4px;font-size:13px}.rules-list li.active{background:var(--accent-bg)}.rule-editor{margin-top:16px;padding:16px;border:1px solid var(--border);border-radius:8px;background:var(--bg-subtle)}.rule-editor h5{margin:16px 0 8px;font-size:13px;color:var(--text-muted);text-transform:uppercase}.context-menu{position:fixed;background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 12px var(--shadow-context-menu);padding:4px;min-width:140px;z-index:50;display:flex;flex-direction:column}.context-menu button.link{display:block;width:100%;text-align:left;padding:7px 10px;border-radius:4px;font-size:13px}.context-menu button.link:hover:not(:disabled){background:var(--bg-hover)}.context-menu button.link:disabled{color:var(--text-faint);cursor:not-allowed}.history-table{border-collapse:collapse;width:100%;font-size:13px}.history-table th,.history-table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border-subtle)}.history-table thead th{background:var(--bg-hover);font-weight:600}.comments-panel{max-width:560px}.comment-new{margin-bottom:18px}.comment-new textarea{width:100%;padding:8px;border:1px solid var(--border);border-radius:6px;font-size:14px;margin-bottom:8px;resize:vertical}.comment-list{display:flex;flex-direction:column;gap:12px}.comment{border-left:2px solid var(--border-subtle);padding-left:12px}.comment-meta{font-size:12px;margin-bottom:2px}.comment-body{font-size:14px;white-space:pre-wrap;margin-bottom:4px}.comment-actions{display:flex;gap:4px;margin-bottom:6px}.comment-reply-box{margin:6px 0 10px}.comment-reply-box textarea{width:100%;padding:6px 8px;border:1px solid var(--border);border-radius:6px;font-size:13px;margin-bottom:6px;resize:vertical}.class-flags{display:flex;gap:10px;flex-wrap:wrap}.class-flags label{display:flex;align-items:center;gap:3px;font-size:12px;color:var(--text-muted);white-space:nowrap}.attachments-panel{max-width:640px}.attachment-dropzone{border:2px dashed var(--border);border-radius:8px;padding:24px;text-align:center;color:var(--text-muted);font-size:14px;cursor:pointer;margin-bottom:16px;pointer-events:auto;position:relative;z-index:2}.attachment-dropzone.drag-over{border-color:var(--accent);background:var(--accent-bg);color:var(--accent)}.attachments-table{border-collapse:collapse;width:100%;font-size:13px}.attachments-table th,.attachments-table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border-subtle)}.attachments-table thead th{background:var(--bg-hover);font-weight:600}.security-layout{display:flex;gap:24px;margin-top:16px;align-items:flex-start}.security-list-col{flex:0 0 280px}.security-detail-col{flex:1;min-width:0}.security-section{margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid var(--border)}.security-section:last-child{border-bottom:none}.security-section table{width:100%;border-collapse:collapse;margin-bottom:12px}.security-section th,.security-section td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--border);font-size:13px}.active-row{background:var(--active-row-bg)}.security-list-col tr:has(.link):hover{background:var(--row-hover-alt);cursor:pointer}.action-checkboxes{align-items:center}.checkbox-label{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:400;cursor:pointer}.rename-form{align-items:center;margin-bottom:16px}.relationship-list{list-style:none;padding:0;margin:0 0 10px}.relationship-list li{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:13px}.rule-builder-form{display:flex;flex-direction:column;gap:10px;margin-top:12px;padding:12px;border:1px solid var(--border);border-radius:8px}.rule-builder-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.rule-condition-block{display:flex;flex-direction:column;gap:8px;padding:10px;background:var(--bg-hover);border-radius:6px}.attribute-picker-row{display:inline-flex;gap:6px}.builder-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0}.builder-preview-scroll{max-height:420px;overflow:auto;border:1px solid var(--border);border-radius:6px;margin-bottom:10px}.builder-preview-scroll table{margin:0}.builder-results ul{max-height:320px;overflow-y:auto;padding-left:18px;margin:8px 0}.builder-results li{margin-bottom:4px;font-size:13px}.id-cell-open{cursor:pointer;color:var(--accent)}.id-cell-open:hover{text-decoration:underline}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--modal-overlay);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--bg-panel);border-radius:8px;padding:20px 24px;width:360px;max-width:90vw;box-shadow:0 8px 24px var(--shadow-modal)}.modal{background:var(--bg-panel);border-radius:8px;width:640px;max-width:92vw;box-shadow:0 8px 32px var(--shadow-modal);display:flex;flex-direction:column}.modal-header{padding:16px 20px 12px;border-bottom:1px solid var(--border)}.modal-header h2{margin:0;font-size:16px;font-weight:600}.modal-body{padding:16px 20px;flex:1;overflow-y:auto}.modal-footer{padding:12px 20px 16px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:8px}.modal-content h3{margin-top:0}.modal-actions{display:flex;gap:8px;margin-top:16px}.richtext-editor{border:1px solid var(--border);border-radius:6px;overflow:hidden}.richtext-editor.disabled{background:var(--bg-hover)}.richtext-toolbar{display:flex;align-items:center;gap:4px;padding:6px 8px;background:var(--bg-hover);border-bottom:1px solid var(--border)}.richtext-toolbar button{padding:2px 8px;font-size:13px;border:1px solid var(--border);border-radius:4px;background:var(--bg-panel);color:var(--text);cursor:pointer}.richtext-toolbar button:hover:not(:disabled){background:var(--toolbar-hover);color:var(--text)}.richtext-hint{margin-left:auto;font-size:12px}.richtext-body{min-height:120px;max-height:360px;overflow-y:auto;padding:10px 12px;font-size:14px;font-family:inherit;line-height:1.5}.richtext-body img{max-width:100%}.richtext-body:focus{outline:none}.tag-input,.list-picker-single,.list-picker-multi,.object-picker{display:flex;flex-direction:column;gap:6px}.tag-chip-list{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg-panel);min-height:36px}.tag-input.disabled .tag-chip-list{background:var(--bg-hover)}.tag-chip-list input{flex:1;min-width:80px;border:none;outline:none;font-size:13px;padding:2px}.tag-chip{display:inline-flex;align-items:center;gap:4px;background:var(--accent-bg);color:var(--accent-strong);border-radius:999px;padding:2px 6px 2px 10px;font-size:12.5px;white-space:nowrap}.tag-chip-remove{background:none;border:none;color:var(--accent-strong);cursor:pointer;font-size:14px;line-height:1;padding:0 4px}.tag-chip-remove:hover{color:var(--danger)}.list-picker-add-row{display:flex;gap:6px;align-items:center}.list-picker-add-row input{flex:1}.object-picker{position:relative}.object-picker-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg-panel);min-height:36px}.object-picker-chips input{flex:1;min-width:80px;border:none;outline:none;font-size:13px;padding:2px}.object-picker-dropdown{position:absolute;top:100%;left:0;right:0;z-index:20;margin-top:2px;max-height:220px;overflow-y:auto;background:var(--bg-panel);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px var(--shadow-soft)}.object-picker-dropdown-portal{position:fixed;right:auto;margin-top:4px;z-index:1100}.object-picker-option{padding:6px 10px;font-size:13px;cursor:pointer}.object-picker-option:hover{background:var(--bg-hover)}.tag-chip.tag-chip-link{cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px}.tag-chip.tag-chip-link:hover{background:var(--color-primary-light, #e8f0fe);color:var(--color-primary, #1a73e8);text-decoration-style:solid}.tag-chip.tag-chip-reverse{background:var(--bg-subtle);border:1px dashed var(--color-border);font-style:italic}.tag-chip.tag-chip-reverse:hover{background:var(--color-primary-light, #e8f0fe);color:var(--color-primary, #1a73e8);border-style:solid}.backrefs-group{padding:.5rem 0;border-bottom:1px solid var(--color-border)}.backrefs-group:last-child{border-bottom:none}.backrefs-group-header{font-size:.85rem;margin-bottom:4px}.backrefs-class-label{font-weight:600}.backrefs-attr-label,.backrefs-count{font-size:.8rem}.record-table tr[draggable=true]{cursor:grab}.record-table tr[draggable=true]:active{cursor:grabbing}.table-scroll-area.drop-target{border-style:dashed;border-color:var(--text-faint)}.quote-detail{display:flex;flex-direction:column;gap:16px;max-width:100%}.quote-detail-table-wrap{height:380px;display:flex;flex-direction:column}.quote-detail-header-wrap{height:auto;max-height:70vh;overflow-y:auto}.quote-detail-lines{display:flex;flex-direction:column;gap:8px}.quote-detail-lines-header{display:flex;align-items:center;justify-content:space-between}.quote-detail-lines-header h3{margin:0}.quote-detail-source{display:flex;flex-direction:column;gap:8px;padding-top:8px;border-top:1px dashed var(--border)}.quote-detail-source-wrap{height:320px;display:flex;flex-direction:column}.header-lines-toolbar{display:flex;justify-content:flex-end}.form-subtab-body .lines-panel .quote-detail-table-wrap{height:420px;display:flex;flex-direction:column}.user-menu .dropdown-panel{left:auto;right:0;min-width:200px}.sidebar-footer .user-menu .dropdown-panel{top:auto;bottom:calc(100% + 4px);left:0;right:auto;min-width:230px}.user-menu-panel .link{margin-bottom:6px}.user-menu-section{border-top:1px solid var(--border-faint);padding-top:8px;margin-top:4px}.user-menu-section>.muted{display:block;margin-bottom:4px;font-size:12px}.theme-options{display:flex;flex-direction:column}.page-view-wrap{padding:24px 32px;max-width:860px}.page-view-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.page-view-title{font-size:22px;font-weight:600;color:var(--text);margin:0;flex:1}.page-view-body{line-height:1.7}.page-widget-heading{font-size:18px;font-weight:500;color:var(--text);margin:20px 0 8px}.page-widget-heading:first-child{margin-top:0}.page-widget-text{color:var(--text);margin:0 0 14px;font-size:14px}.page-widget-divider{border:none;border-top:1px solid var(--border);margin:20px 0}.page-widget-editor{border:1px solid var(--border);border-radius:8px;margin-bottom:10px;background:var(--bg-panel);overflow:hidden}.page-widget-editor-header{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;background:var(--bg-hover);border-bottom:1px solid var(--border)}.page-widget-type-badge{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.page-widget-input{width:100%;padding:8px 10px;border:none;background:transparent;font-size:16px;font-weight:500;color:var(--text);font-family:inherit;box-sizing:border-box}.page-widget-input:focus{outline:none}.page-widget-textarea{width:100%;padding:8px 10px;border:none;background:transparent;font-size:14px;color:var(--text);font-family:inherit;resize:vertical;min-height:80px;box-sizing:border-box}.page-widget-textarea:focus{outline:none}.list-picker-single{position:relative}.list-picker-trigger{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:6px 10px;min-height:36px;background:var(--bg-panel);border:1px solid var(--border);border-radius:6px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:13px;transition:border-color .15s}.list-picker-trigger:hover:not(.disabled){border-color:var(--accent)}.list-picker-trigger.open{border-color:var(--accent);outline:2px solid color-mix(in srgb,var(--accent) 25%,transparent);outline-offset:-1px}.list-picker-trigger.disabled{background:var(--bg-hover);cursor:default;opacity:.7}.list-picker-trigger-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-picker-trigger-chevron{font-size:11px;color:var(--text-muted);flex-shrink:0;transition:transform .15s}.list-picker-trigger.open .list-picker-trigger-chevron{transform:rotate(180deg)}.list-picker-dropdown{background:var(--bg-panel);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 14px #0000001f;display:flex;flex-direction:column;overflow:hidden}.list-picker-dropdown-filter-row{padding:6px 8px;border-bottom:1px solid var(--border);background:var(--bg-panel)}.list-picker-dropdown-filter{width:100%;box-sizing:border-box;padding:5px 8px;border:1px solid var(--border);border-radius:4px;background:var(--bg-panel);font-size:13px;outline:none}.list-picker-dropdown-filter:focus{border-color:var(--accent)}.list-picker-dropdown-options{max-height:220px;overflow-y:auto}.list-picker-dropdown-option{padding:7px 12px;font-size:13px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-picker-dropdown-option:hover{background:var(--bg-hover)}.list-picker-dropdown-option.selected{background:var(--accent-bg);color:var(--accent-strong);font-weight:500}.list-picker-dropdown-clear{color:var(--text-muted);font-style:italic;border-bottom:1px solid var(--border)}.list-picker-dropdown-add-trigger{color:var(--accent);border-top:1px solid var(--border);font-style:normal}.list-picker-filter-inline{width:100%;box-sizing:border-box;padding:4px 8px;border:1px solid var(--border);border-radius:4px;background:var(--bg-panel);font-size:13px;margin-bottom:4px}.form-builder-canvas-wrap{background:var(--bg-panel);border:1px solid var(--border);border-top:none;border-radius:0 0 8px 8px;padding:0;min-height:200px}.fbc-layout{display:flex;gap:0;align-items:flex-start;min-height:300px}.fbc-palette{width:180px;flex-shrink:0;border-right:1px solid var(--border);padding:12px 10px;background:var(--bg-base);border-radius:0 0 0 8px;min-height:300px}.fbc-palette-title{font-size:11px;font-weight:600;color:var(--text);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.fbc-palette-hint{font-size:11px;color:var(--text);opacity:.5;margin-bottom:10px}.fbc-palette-empty{font-size:12px;color:var(--text);opacity:.5;font-style:italic;margin:4px 0}.fbc-palette-item{display:flex;align-items:center;gap:6px;padding:5px 8px;margin-bottom:3px;background:var(--bg-panel);border:1px solid var(--border);border-radius:5px;font-size:12.5px;cursor:grab;-webkit-user-select:none;user-select:none;transition:background .1s}.fbc-palette-item:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.fbc-palette-sys{opacity:.75}.fbc-palette-divider{border-top:1px solid var(--border);margin:10px 0}.fbc-canvas{flex:1;padding:12px;min-width:0}.fbc-col-headers{display:grid;gap:6px;margin-bottom:6px}.fbc-col-header{text-align:center;font-size:11px;font-weight:600;color:var(--text);opacity:.45;text-transform:uppercase;letter-spacing:.5px;padding:2px 0;border-bottom:1px dashed var(--border)}.fbc-grid-wrap{display:flex;flex-direction:column;gap:2px;min-height:60px;padding:4px 0}.fbc-row{display:grid;gap:4px;align-items:stretch}.fbc-row-gap{min-height:10px}.fbc-dropcell{min-height:10px;border-radius:4px;background:transparent;border:1.5px dashed transparent;transition:background .12s,border-color .12s,min-height .12s;pointer-events:auto}.fbc-row-gap .fbc-dropcell{min-height:10px}.fbc-grid-wrap>.fbc-row-gap:last-child .fbc-dropcell,.fbc-container-body .fbc-row-gap:last-child .fbc-dropcell{min-height:28px}.fbc-dropcell-active{min-height:36px!important;background:color-mix(in srgb,var(--accent) 12%,transparent);border-color:var(--accent)}.fbc-dropcell *{pointer-events:none}.fbc-item{display:flex;align-items:center;gap:6px;padding:6px 8px;background:var(--bg-panel);border:1px solid var(--border);border-radius:6px;font-size:13px;cursor:grab;-webkit-user-select:none;user-select:none;position:relative;min-width:0;box-shadow:0 1px 2px #0000000a}.fbc-item:hover{border-color:var(--accent)}.fbc-system{background:color-mix(in srgb,var(--bg-panel) 90%,var(--text) 10%)}.fbc-item-drag{font-size:14px;opacity:.35;cursor:grab;flex-shrink:0}.fbc-item-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px}.fbc-item-span{font-size:10px;opacity:.45;flex-shrink:0;font-weight:600}.fbc-badge{display:inline-block;font-size:9px;font-weight:700;padding:0 4px;border-radius:3px;background:var(--border);color:var(--text);margin-left:4px;vertical-align:middle;text-transform:uppercase;letter-spacing:.3px}.fbc-item-remove{background:none;border:none;cursor:pointer;font-size:14px;opacity:.3;padding:0 2px;line-height:1;flex-shrink:0;color:var(--danger)}.fbc-item-remove:hover{opacity:1}.fbc-resize-handle{position:absolute;right:-1px;top:0;bottom:0;width:10px;cursor:col-resize;background:transparent;border-radius:0 6px 6px 0;z-index:10}.fbc-resize-handle:after{content:"";position:absolute;right:2px;top:25%;bottom:25%;width:3px;background:var(--border);border-radius:2px;opacity:0;transition:opacity .15s}.fbc-item:hover .fbc-resize-handle:after{opacity:1}.fbc-container{background:color-mix(in srgb,var(--bg-panel) 95%,var(--accent) 5%);border:1px solid var(--border);border-radius:6px;position:relative;margin:2px 0}.fbc-container:hover .fbc-resize-handle:after{opacity:1}.fbc-container-header{display:flex;align-items:center;gap:8px;padding:6px 10px;background:color-mix(in srgb,var(--bg-base) 60%,var(--accent) 8%);border-bottom:1px solid var(--border)}.fbc-container-label{flex:1;border:none;background:transparent;font-size:13px;font-weight:600;color:var(--text);padding:2px 4px;border-radius:4px}.fbc-container-label:focus{background:var(--bg-panel);outline:1px solid var(--accent)}.fbc-collapsed-toggle{display:flex;align-items:center;gap:4px;font-size:11.5px;opacity:.65;cursor:pointer;white-space:nowrap}.fbc-container-body{padding:8px}.fbc-grid-inner{min-height:36px}.form-field-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px 20px;align-items:start}.form-container-body.form-field-grid{padding:8px 12px}.form-field-grid .form-field{max-width:none}.fbc-divider-row{display:flex;align-items:center;gap:8px;padding:4px 8px;cursor:grab;background:var(--bg-panel);border:1px dashed var(--border);border-radius:6px}.fbc-divider-preview{flex:1;border:none;border-top:2px solid var(--border);margin:0}.form-divider{border:none;border-top:1px solid var(--border);margin:12px 0;grid-column:1 / -1}.fbc-segment-gap{display:grid;gap:4px;min-height:12px;margin:2px 0}.fbc-palette-structural{background:color-mix(in srgb,var(--accent) 8%,var(--bg-panel));border-color:color-mix(in srgb,var(--accent) 30%,var(--border));font-weight:600;font-size:12px}.fbc-palette-structural:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.admin-subtabs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 10px;background:var(--bg-panel);border:1px solid var(--border);border-radius:8px 8px 0 0;margin-top:16px}.form-subtab-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:6px;border:1px solid var(--border);background:color-mix(in srgb,var(--bg-base) 60%,var(--accent) 8%);font-size:13px;font-weight:600;cursor:grab;-webkit-user-select:none;user-select:none;transition:background .12s,border-color .12s;box-shadow:0 1px 2px #0000000a}.form-subtab-pill:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--bg-panel))}.form-subtab-pill.active{background:color-mix(in srgb,var(--accent) 22%,var(--bg-panel));border-color:var(--accent);border-width:1.5px;color:var(--accent)}.form-subtab-pill.active .link{color:var(--accent)}.form-subtab-pill.system{background:color-mix(in srgb,var(--bg-panel) 85%,var(--text) 15%);font-style:italic;font-weight:500;opacity:.75}.form-subtab-pill.system.active{opacity:1;border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--bg-panel))}.form-subtab-pill-label{pointer-events:none}.form-subtab-add-btn{margin-left:4px;height:28px;padding:0 10px;font-size:12px}.fbc-text-item{background:color-mix(in srgb,var(--bg-panel) 80%,#fffde7 20%);border-color:color-mix(in srgb,var(--border) 60%,#f9a825 40%)}.fbc-textbox-item{background:color-mix(in srgb,var(--bg-panel) 80%,#e8f5e9 20%);border-color:color-mix(in srgb,var(--border) 60%,#388e3c 40%)}.fbc-text-edit{flex:1;min-width:0;border:none;background:transparent;font-size:12.5px;color:var(--text);padding:0;outline:none}.fbc-text-edit:focus{background:var(--bg-panel);border-radius:3px;padding:1px 3px}.fbc-textarea-edit{resize:vertical;min-height:48px;font-family:inherit}.form-static-text{font-size:13px;font-weight:500;color:var(--text);padding:4px 0}.form-text-box{font-size:13px;color:var(--text);padding:8px 10px;background:var(--bg-base);border-radius:6px;border:1px solid var(--border);white-space:pre-wrap;line-height:1.5}.fbc-palette-col-select{display:flex;align-items:center;gap:6px;padding:4px 0}.fbc-image-item{background:color-mix(in srgb,var(--bg-panel) 80%,#e3f2fd 20%);border-color:color-mix(in srgb,var(--border) 50%,#1976d2 50%)}.fbc-richtext-item{background:color-mix(in srgb,var(--bg-panel) 80%,#f3e5f5 20%);border-color:color-mix(in srgb,var(--border) 50%,#7b1fa2 50%)}.form-image{max-width:100%;border-radius:6px;display:block}.form-image-placeholder{padding:20px;text-align:center;background:var(--bg-base);border:1px dashed var(--border);border-radius:6px;font-size:12px;color:var(--text-muted)}.form-rich-text{font-size:13.5px;line-height:1.6;color:var(--text)}.form-rich-text p{margin:0 0 8px}.form-rich-text p:last-child{margin-bottom:0}.fbc-upload-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:4px;background:var(--bg-base);border:1px solid var(--border);cursor:pointer;font-size:13px;flex-shrink:0;transition:background .1s}.fbc-upload-btn:hover{background:color-mix(in srgb,var(--accent) 10%,var(--bg-panel));border-color:var(--accent)}.hierarchy-toggle{background:none;border:none;padding:0 3px;margin:0;cursor:pointer;font-size:12px;font-family:inherit;color:var(--text-muted);line-height:1;display:inline-flex;align-items:center;white-space:nowrap;border-radius:3px}.hierarchy-toggle:hover{color:var(--text);background:var(--bg-hover, rgba(0,0,0,.06))}.hover-row:hover{background:var(--bg-hover, rgba(0,0,0,.05))}.rules-tree{margin-bottom:8px}.rules-tree-folder{display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:6px;background:var(--bg-faint);margin-bottom:3px}.rules-tree-folder.disabled{opacity:.5}.rules-tree-toggle{font-size:13px;font-weight:600}.rules-tree-folder-actions{margin-left:auto;display:flex;gap:6px}.rules-tree-group-content{margin-left:12px;border-left:2px solid var(--border-subtle);padding-left:10px;margin-bottom:4px}.rules-tree-rule{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:6px;margin-bottom:4px;overflow:hidden}.rules-tree-rule.disabled{opacity:.6}.rules-tree-rule.editing{border-color:var(--accent)}.rules-tree-rule-header{display:flex;align-items:center;gap:6px;padding:6px 10px;cursor:pointer}.rules-tree-rule-header:hover{background:var(--bg-hover)}.rules-tree-rule-sentence{flex:1;font-size:13px}.rules-tree-rule-desc{color:var(--text-muted);font-size:12px}.rules-tree-rule-actions{display:flex;gap:6px}.rules-tree-add-rule{padding:4px 0}.rules-new-group{padding:12px 0 0;border-top:1px solid var(--border-subtle);margin-top:8px}.rule-editor{padding:12px 16px 16px;border-top:1px solid var(--border-subtle);background:var(--bg-faint)}.rule-editor-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:10px}.rule-editor-row .field{margin:0;flex:1;min-width:160px}.rule-editor-section{margin:12px 0 8px}.rule-editor-section-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.rule-editor-section-header h5{margin:0;font-size:13px}.rule-condition-row,.rule-action-row{display:flex;align-items:center;gap:6px;margin-bottom:4px;flex-wrap:wrap}.rule-saved-banner{background:var(--success-bg, #d4edda);color:var(--success-text, #155724);border:1px solid var(--success-border, #c3e6cb);border-radius:6px;padding:6px 12px;font-size:13px;font-weight:500;margin-bottom:10px}.attr-value-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:1000}.attr-value-picker-modal{background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 32px #0000002e;width:380px;max-width:95vw;display:flex;flex-direction:column}.attr-value-picker-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;border-bottom:1px solid var(--border-subtle)}.attr-value-picker-title{font-size:14px;font-weight:500;color:var(--text)}.attr-value-picker-type{color:var(--text-muted);font-size:12px;font-weight:400}.attr-value-picker-body{padding:16px}.attr-value-picker-body input,.attr-value-picker-body select{width:100%;font-size:14px;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg-input, var(--bg-panel));color:var(--text)}.attr-value-picker-footer{display:flex;justify-content:flex-end;gap:8px;padding:10px 16px 14px;border-top:1px solid var(--border-subtle)}.rule-value-btn{font-size:12px!important;padding:2px 8px!important;border-radius:4px!important}.rule-action-block{border:1px solid var(--border-subtle);border-radius:6px;padding:8px;margin-bottom:6px;background:var(--bg-faint)}.rule-create-record-fields{margin-top:8px;border-top:1px solid var(--border-subtle);padding-top:8px}.rule-create-record-hint{font-size:12px;color:var(--text-muted);margin:0 0 6px 16px}.lines-panel-child-nav{padding:6px 12px;border-bottom:1px solid var(--border-subtle);background:var(--bg-faint);flex-shrink:0}.lines-panel-child-body{flex:1;min-height:0;overflow-y:auto}.template-preview-panel{margin-top:8px;border:1px solid var(--border);border-radius:6px;background:var(--bg-faint);font-size:12px;overflow:hidden}.template-preview-header{background:var(--bg-panel);border-bottom:1px solid var(--border-subtle);padding:5px 10px;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.template-preview-section{padding:6px 10px;border-bottom:1px solid var(--border-subtle)}.template-preview-section:last-child{border-bottom:none}.template-preview-label{font-weight:600;color:var(--text-muted);margin-bottom:3px;font-size:11px}.template-preview-row{display:flex;align-items:center;gap:6px;margin-bottom:2px;font-size:12px}.template-preview-row code{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:3px;padding:1px 4px;font-size:11px;color:var(--accent);font-family:monospace}.template-preview-value{color:var(--text);font-family:monospace}.template-preview-expr{display:block;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:3px;padding:4px 8px;font-size:12px;font-family:monospace;word-break:break-all}.template-preview-result{font-weight:600;color:var(--success-text, #155724);font-size:14px;font-family:monospace}.template-preview-error{color:var(--danger);font-size:12px}.automation-studio-page{--color-trigger: #2563eb;--color-trigger-bg: #eaf1ff;--color-condition: #b45309;--color-condition-bg: #fef3e0;--color-action: #15803d;--color-action-bg: #e9f9ee;--color-variable: #7c3aed;--color-variable-bg: #f5f0ff;--color-regex: #0e7490;--color-regex-bg: #e0f6fb;--color-while: #0369a1;--color-while-bg: #e0f2fe;--color-group: #64748b;--color-switch: #be185d;--color-switch-bg: #fdf2f8}.wf-node.variable{border-color:var(--color-variable);background:var(--color-variable-bg)}.wf-node.variable .wf-node-kind{color:var(--color-variable)}.wf-node.regex{border-color:var(--color-regex);background:var(--color-regex-bg)}.wf-node.regex .wf-node-kind{color:var(--color-regex)}.wf-node.loop-start{border-color:var(--color-condition);background:var(--color-condition-bg);border-style:dashed;opacity:.9;min-width:120px;max-width:170px}.wf-node.loop-start .wf-node-kind{color:var(--color-condition);font-size:11px}.wf-node.switch-case{border-color:var(--color-switch);background:var(--color-switch-bg)}.wf-node.switch-case .wf-node-kind{color:var(--color-switch)}.switch-case-labels{display:flex;justify-content:space-around;margin-top:6px;padding-top:4px;border-top:1px solid var(--color-switch)}.switch-case-label{font-size:10.5px;font-weight:600;color:var(--color-switch);text-align:center;padding:0 2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:65px}.wf-foreach-container{background:#b453090a;border:2px dashed var(--color-condition);border-radius:10px;position:relative;box-sizing:border-box;overflow:visible}.wf-foreach-container.selected{border-color:var(--button-bg);box-shadow:0 0 0 2px var(--button-bg)}.wf-foreach-container.while-variant{background:#0369a10a;border-color:var(--color-while)}.wf-foreach-container.while-variant.selected{border-color:var(--button-bg)}.wf-foreach-container.group-variant{background:#64748b08;border-style:solid}.foreach-header{display:flex;align-items:flex-start;background:var(--color-condition-bg);border-bottom:2px dashed var(--color-condition);border-radius:8px 8px 0 0;padding:8px 10px 8px 14px}.while-variant .foreach-header{background:var(--color-while-bg);border-color:var(--color-while)}.group-variant .foreach-header{border-style:solid}.container-collapse-btn{background:none;border:none;cursor:pointer;font-size:14px;color:var(--text-muted);padding:0 4px;line-height:1;flex-shrink:0;align-self:center;opacity:.7}.container-collapse-btn:hover{opacity:1}.foreach-body-hint{position:absolute;bottom:10px;left:0;right:0;text-align:center;font-size:11px;color:var(--color-condition);opacity:.38;pointer-events:none;-webkit-user-select:none;user-select:none}.automation-studio-page{display:flex;flex-direction:column;height:100%;overflow:hidden}.automation-studio-header{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.automation-studio-title{margin:0;font-size:16px}.automation-studio-tabs{display:flex;gap:6px}.automation-studio-tabs button.active{background:var(--button-bg);color:var(--button-text)}.automation-studio-body{flex:1;overflow:hidden;display:flex;flex-direction:column}.btn{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:6px;border:1px solid var(--border);background:var(--bg-panel);cursor:pointer;font-size:14px;color:var(--text);white-space:nowrap}.btn:hover{background:var(--bg-page)}.btn:disabled{opacity:.45;cursor:default}.btn-primary{background:var(--button-bg);color:var(--button-text);border-color:var(--button-bg)}.btn-primary:hover{opacity:.88}.btn-danger{background:#b91c1c;color:var(--button-text);border-color:#b91c1c}.btn-danger:hover{opacity:.85}.btn-sm{padding:4px 9px;font-size:13px}.list-page{max-width:820px;margin:0 auto;padding:28px 20px}.list-page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.list-page-header h2{margin:0}.workflow-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;padding:14px 16px;margin-bottom:10px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:box-shadow .1s}.workflow-card:hover{box-shadow:0 2px 8px #00000014}.workflow-card-title{font-size:15px;font-weight:600;margin-bottom:3px}.workflow-card-meta{font-size:12.5px;color:var(--text-muted)}.badge{display:inline-block;padding:2px 8px;border-radius:20px;font-size:12px;font-weight:500}.badge-on{background:#dcfce7;color:#15803d}.badge-off{background:#f1f5f9;color:#64748b}.designer-layout,.qt-designer-layout{display:flex;flex:1;height:100%;overflow:hidden}.node-palette{width:188px;flex-shrink:0;border-right:1px solid var(--border);padding:12px 10px;overflow-y:auto;background:var(--bg-panel)}.node-palette h3{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0 0 8px}.palette-item{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:6px;border:1px solid var(--border);cursor:grab;-webkit-user-select:none;user-select:none;margin-bottom:6px;font-size:13px;background:var(--bg-panel);transition:background .1s}.palette-item:hover{background:var(--bg-page)}.palette-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.canvas-area{flex:1;position:relative;background:#f0f2f5;display:flex;flex-direction:column;overflow:hidden}.canvas-toolbar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-panel);border-bottom:1px solid var(--border);flex-shrink:0;z-index:10}.canvas-toolbar input{flex:1;max-width:260px;padding:5px 8px;border:1px solid var(--border);border-radius:5px;font-size:13.5px;background:var(--bg-page);color:var(--text)}.canvas-toolbar input:focus{outline:none;border-color:var(--button-bg)}.inspector-panel{width:260px;flex-shrink:0;border-left:1px solid var(--border);padding:14px 12px;overflow-y:auto;background:var(--bg-panel)}.inspector-panel h3{font-size:13px;font-weight:600;margin:0 0 12px}.field-group{margin-bottom:12px}.field-group label{display:block;font-size:12px;font-weight:500;color:var(--text-muted);margin-bottom:4px}.field-group input[type=text],.field-group input[type=number],.field-group select,.field-group textarea{width:100%;padding:5px 7px;border:1px solid var(--border);border-radius:5px;font-size:13px;background:var(--bg-page);color:var(--text);box-sizing:border-box}.field-group textarea{resize:vertical;min-height:60px}.kv-row{display:flex;gap:6px;margin-bottom:5px}.kv-row input{flex:1}.empty-inspector{color:var(--text-muted);font-size:13px;padding:16px 0;text-align:center}.wf-node{background:var(--bg-panel);border:2px solid var(--border);border-radius:8px;padding:10px 14px;min-width:160px;max-width:220px;box-shadow:0 1px 3px #00000012;cursor:default}.wf-node.selected{box-shadow:0 0 0 2px var(--button-bg)}.wf-node-kind{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;opacity:.75}.wf-node-label{font-size:13.5px;font-weight:600}.wf-node-sub{font-size:11.5px;color:var(--text-muted);margin-top:3px}.wf-node.trigger{border-color:var(--color-trigger);background:var(--color-trigger-bg)}.wf-node.trigger .wf-node-kind{color:var(--color-trigger)}.wf-node.condition{border-color:var(--color-condition);background:var(--color-condition-bg)}.wf-node.condition .wf-node-kind{color:var(--color-condition)}.wf-node.action{border-color:var(--color-action);background:var(--color-action-bg)}.wf-node.action .wf-node-kind{color:var(--color-action)}.runs-drawer{position:absolute;top:0;right:0;width:400px;height:100%;background:var(--bg-panel);border-left:1px solid var(--border);z-index:20;display:flex;flex-direction:column;box-shadow:-2px 0 12px #00000014}.runs-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border);flex-shrink:0}.run-card{padding:10px 14px;border-bottom:1px solid var(--border);font-size:13px}.run-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.status-pill{display:inline-block;padding:2px 8px;border-radius:20px;font-size:11.5px;font-weight:500}.status-pill.SUCCEEDED{background:var(--color-success-bg);color:var(--color-success)}.status-pill.FAILED{background:var(--color-danger-bg);color:var(--color-danger)}.status-pill.RUNNING,.status-pill.SKIPPED{background:#eef0f3;color:var(--text-muted)}.run-step{padding:5px 8px;border-radius:5px;background:var(--bg-page);margin-bottom:4px;font-size:12px}.run-step-head{display:flex;gap:8px;align-items:center;margin-bottom:3px}.run-step pre{margin:0;font-size:11px;white-space:pre-wrap;color:var(--text-muted)}.test-run-bar{display:flex;align-items:center;gap:8px;padding:7px 12px;background:var(--bg-panel);border-top:1px solid var(--border);flex-shrink:0}.toast{position:absolute;bottom:60px;left:50%;transform:translate(-50%);background:#1e293b;color:var(--button-text);padding:8px 18px;border-radius:20px;font-size:13px;z-index:100;pointer-events:none}.qt-run-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:1000}.qt-run-modal{background:var(--bg-panel);border-radius:10px;padding:24px;width:420px;max-width:94vw;box-shadow:0 8px 32px #00000026}.qt-run-modal h3{margin:0 0 14px}.canvas-area .react-flow{height:100%;flex:1}.ctx-menu{background:var(--bg-panel);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 16px #0000001f;min-width:160px;overflow:hidden;padding:4px 0}.ctx-menu-item{display:block;width:100%;text-align:left;padding:8px 14px;font-size:13.5px;background:none;border:none;cursor:pointer;color:var(--text)}.ctx-menu-danger:hover{background:#fef0f0}.mandatory-asterisk{color:var(--danger);font-weight:700;margin-left:1px}th .mandatory-asterisk{font-size:.8em;vertical-align:super}.wf-list-page{display:flex;flex-direction:column;gap:16px;height:100%}.wf-list-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.wf-list-title{margin:0;font-size:1.1rem;font-weight:600}.wf-list-actions{display:flex;align-items:center;gap:8px}.wf-list-search{padding:5px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg-panel);color:var(--text);font-size:13px;width:200px}.wf-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:8px}.wf-table{width:100%;border-collapse:collapse;font-size:13px}.wf-table th{padding:8px 12px;text-align:left;font-weight:600;font-size:11px;background:var(--bg-hover);border-bottom:1px solid var(--border);white-space:nowrap;position:sticky;top:0;z-index:2}.wf-table td{padding:8px 12px;border-bottom:1px solid var(--border);vertical-align:top}.wf-table-row{cursor:pointer;transition:background .1s}.wf-table-row:hover{background:var(--bg-hover)}.wf-table-row:last-child td{border-bottom:none}.wf-name-cell{max-width:260px}.wf-name{display:block;font-weight:500}.wf-desc{display:block;font-size:11px;opacity:.6;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}.wf-module-cell,.wf-class-cell,.wf-trigger-cell,.wf-date-cell{white-space:nowrap;font-size:12px}.wf-muted{opacity:.4}.wf-unscoped{opacity:.4;font-style:italic;font-size:11px}.wf-actions-cell{white-space:nowrap;display:flex;gap:6px;align-items:center}.wf-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600}.wf-badge-on{background:color-mix(in srgb,#2ea44f 15%,var(--bg-panel));color:#2ea44f;border:1px solid #2ea44f}.wf-badge-off{background:var(--bg-hover);color:var(--text);opacity:.6;border:1px solid var(--border)}.wf-runs-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:500;display:flex;align-items:flex-start;justify-content:flex-end}.wf-runs-panel{width:480px;max-width:95vw;height:100vh;overflow-y:auto;background:var(--bg-panel);box-shadow:-4px 0 24px #0003}.wf-btn-disabled{opacity:.55}.field-hint{margin-top:4px;font-size:11.5px;color:var(--text);opacity:.65;line-height:1.55}.field-hint code{font-family:ui-monospace,monospace;background:var(--bg-hover);padding:1px 4px;border-radius:3px}.wf-import-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:600;display:flex;align-items:center;justify-content:center}.wf-import-modal{width:580px;max-width:95vw;max-height:90vh;display:flex;flex-direction:column;background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 40px #00000047;overflow:hidden}.wf-import-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.wf-import-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}.wf-import-hint{margin:0;font-size:13px;color:var(--text);opacity:.8;line-height:1.5}.wf-import-hint-list{margin:0;padding-left:18px;font-size:12px;opacity:.75;line-height:1.8}.wf-import-hint-list code{font-family:ui-monospace,monospace;background:var(--bg-hover);padding:1px 4px;border-radius:3px;font-size:11px}.wf-import-textarea{width:100%;min-height:220px;font-family:ui-monospace,monospace;font-size:12px;line-height:1.55;padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg-page);color:var(--text);resize:vertical;box-sizing:border-box}.wf-import-textarea:focus{outline:none;border-color:var(--accent)}.wf-import-error{font-size:12.5px;color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,var(--bg-panel));border:1px solid color-mix(in srgb,var(--danger) 30%,var(--border));border-radius:5px;padding:8px 12px}.wf-import-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--border);flex-shrink:0}.wf-runas-cell{white-space:nowrap;font-size:12.5px}.wf-superadmin-warn{color:var(--danger);font-weight:700;margin-left:3px}.wf-deprecated-banner{margin-bottom:12px;padding:8px 12px;font-size:12px;line-height:1.5;color:#7a5a00;background:#fff8e1;border:1px solid #f0c030;border-radius:5px}.wf-deprecated-banner strong{font-weight:600}.import-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--modal-overlay);display:flex;align-items:center;justify-content:center;z-index:1200}.import-modal{background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;width:min(900px,96vw);max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--shadow-modal);overflow:hidden}.import-modal-header{display:flex;align-items:center;gap:16px;padding:16px 20px;border-bottom:1px solid var(--border);flex-shrink:0}.import-modal-header h3{margin:0;font-size:15px;font-weight:600;flex:1}.import-modal-close{background:none;border:none;color:var(--text-muted, var(--text));font-size:16px;cursor:pointer;padding:2px 6px;border-radius:4px;opacity:.6}.import-modal-close:hover{opacity:1;background:var(--bg-hover)}.import-steps{display:flex;gap:4px}.import-step-dot{font-size:11px;padding:3px 10px;border-radius:12px;background:var(--bg-hover);color:var(--text);opacity:.5;white-space:nowrap}.import-step-dot.active{background:var(--accent);color:#fff;opacity:1}.import-step-dot.done{opacity:.75;text-decoration:line-through}.import-modal-body{flex:1;overflow-y:auto;padding:20px}.import-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--border);flex-shrink:0}.import-drop-zone{border:2px dashed var(--border);border-radius:8px;padding:36px 24px;text-align:center;cursor:pointer;color:var(--text);transition:border-color .15s,background .15s;margin-bottom:16px}.import-drop-zone:hover,.import-drop-zone.drag-over{border-color:var(--accent);background:var(--bg-hover)}.import-drop-zone-icon{font-size:32px;margin-bottom:8px}.import-drop-zone-hint{font-size:12px;opacity:.6;margin-top:4px}.import-file-summary{font-size:13px;margin-bottom:16px;line-height:1.6}.import-column-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.import-chip{background:var(--bg-hover);border:1px solid var(--border);border-radius:4px;padding:2px 8px;font-size:11px;font-family:monospace}.import-profiles{border-top:1px solid var(--border);padding-top:14px;margin-top:8px}.import-profiles-label{display:block;font-size:12px;font-weight:600;margin-bottom:6px;opacity:.8}.import-profiles-row{display:flex;gap:8px;align-items:center}.import-profiles-select{flex:1;padding:5px 8px;border:1px solid var(--border);border-radius:5px;background:var(--bg-panel);color:var(--text);font-size:13px}.import-step-map{display:flex;flex-direction:column;gap:14px}.import-map-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px;min-height:360px}.import-map-col{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:8px;overflow:hidden}.import-map-col-header{padding:8px 12px;background:var(--bg-hover);font-size:12px;font-weight:600;border-bottom:1px solid var(--border);flex-shrink:0}.import-source-list,.import-target-list{flex:1;overflow-y:auto;padding:6px;display:flex;flex-direction:column;gap:3px}.import-source-field{display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid var(--border);border-radius:5px;background:var(--bg-panel);cursor:grab;font-size:12px;-webkit-user-select:none;user-select:none;transition:background .1s,border-color .1s}.import-source-field:hover{background:var(--bg-hover)}.import-source-field.mapped{border-color:var(--accent)}.import-source-field.dragging{opacity:.5}.import-drag-handle{opacity:.4;font-size:14px}.import-field-name{flex:1;font-family:monospace;font-size:11px}.import-mapped-badge{font-size:10px;background:var(--accent);color:#fff;border-radius:3px;padding:1px 5px;white-space:nowrap;max-width:100px;overflow:hidden;text-overflow:ellipsis}.import-target-row{display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid var(--border);border-radius:5px;background:var(--bg-panel);font-size:12px;transition:background .1s,border-color .1s}.import-target-row.has-mapping{border-color:var(--accent)}.import-target-row.mandatory-unmapped{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,var(--bg-panel))}.import-target-row.drag-hover,.import-target-row.drop-target:hover{background:var(--bg-hover);border-color:var(--accent)}.import-target-label{flex:1;display:flex;align-items:center;gap:5px;min-width:0}.import-attr-label{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.import-attr-type{font-size:10px;opacity:.5;white-space:nowrap}.import-mandatory-badge{font-size:10px;color:var(--danger);font-weight:600;white-space:nowrap}.import-target-mapping{display:flex;align-items:center;gap:4px}.import-target-select{font-size:11px;padding:3px 6px;border:1px solid var(--border);border-radius:4px;background:var(--bg-panel);color:var(--text);max-width:130px}.import-clear-btn{background:none;border:none;color:var(--danger);cursor:pointer;font-size:12px;padding:2px 4px;border-radius:3px;line-height:1}.import-clear-btn:hover{background:var(--bg-hover)}.import-save-profile-row{display:flex;gap:8px;align-items:center;padding-top:10px;border-top:1px solid var(--border)}.import-profile-name-input{flex:1;padding:5px 10px;border:1px solid var(--border);border-radius:5px;background:var(--bg-panel);color:var(--text);font-size:13px}.import-step-preview{display:flex;flex-direction:column;gap:14px}.import-preview-summary{margin:0;font-size:13px}.import-preview-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:6px;max-height:320px;overflow-y:auto}.import-preview-table{width:100%;border-collapse:collapse;font-size:12px}.import-preview-table th,.import-preview-table td{padding:6px 10px;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}.import-preview-table th{background:var(--bg-hover);font-weight:600;font-size:11px;position:sticky;top:0}.import-source-hint{font-weight:400;opacity:.5;font-size:10px;font-family:monospace}.import-strategy-row{display:flex;align-items:center;gap:10px;font-size:13px}.import-strategy-row select{padding:5px 8px;border:1px solid var(--border);border-radius:5px;background:var(--bg-panel);color:var(--text);font-size:13px}.import-step-result{display:flex;flex-direction:column;gap:20px}.import-result-summary{display:flex;gap:16px}.import-result-stat{display:flex;flex-direction:column;align-items:center;padding:14px 20px;border-radius:8px;border:1px solid var(--border);min-width:80px}.import-result-stat.added{border-color:#2ea44f}.import-result-stat.updated{border-color:var(--accent)}.import-result-stat.ignored{border-color:var(--border)}.import-result-stat.failed{border-color:var(--danger)}.import-result-num{font-size:28px;font-weight:700;line-height:1}.import-result-stat.added .import-result-num{color:#2ea44f}.import-result-stat.updated .import-result-num{color:var(--accent)}.import-result-stat.failed .import-result-num{color:var(--danger)}.import-result-lbl{font-size:11px;opacity:.7;margin-top:4px}.import-failed-list{font-size:13px}.import-failed-header{font-weight:600;margin:0 0 6px}.import-failed-list ul{margin:0;padding-left:18px}.import-failed-list li{margin-bottom:4px;color:var(--danger)}.import-error{color:var(--danger);font-size:13px;margin:0}.import-warning{color:var(--danger);font-size:12px;margin:0}button.small{padding:4px 10px;font-size:12px}.eam-page{display:flex;height:100%;overflow:hidden;font-size:13.5px}.eam-loading,.eam-error{padding:32px}.eam-list-panel{width:240px;flex-shrink:0;display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--bg-panel);overflow:hidden}.eam-list-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 8px;font-weight:600;font-size:13px;flex-shrink:0}.eam-list-count{background:var(--bg-hover);border-radius:10px;padding:1px 7px;font-size:11px;color:var(--text-muted)}.eam-list-search{margin:0 10px 8px;flex-shrink:0}.eam-list-items{flex:1;overflow-y:auto}.eam-list-item{padding:8px 14px;cursor:pointer;border-bottom:1px solid var(--border)}.eam-list-item:hover{background:var(--bg-hover)}.eam-list-item.active{background:var(--accent-bg);border-left:3px solid var(--accent);padding-left:11px}.eam-list-item-name{font-weight:500;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eam-list-item-badge{font-size:11px;margin-top:2px}.eam-list-empty{padding:16px;color:var(--text-muted);font-size:13px}.eam-detail-panel{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg)}.eam-empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-muted);gap:12px}.eam-empty-icon{font-size:48px}.eam-empty-text{font-size:15px}.eam-fs-header{background:var(--bg-panel);border-bottom:1px solid var(--border);padding:16px 24px 12px;flex-shrink:0}.eam-fs-header-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:8px}.eam-fs-badges{display:flex;flex-wrap:wrap;gap:6px}.eam-tag{display:inline-block;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500;color:#fff;white-space:nowrap}.eam-lifecycle-badge{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:12px;border:1px solid currentColor;font-size:11px;font-weight:500;background:transparent}.eam-lifecycle-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.eam-fs-title{font-size:20px;font-weight:700;margin:8px 0 4px;color:var(--text)}.eam-fs-completion{font-size:14px;font-weight:400;color:var(--text-muted);margin-left:10px}.eam-fs-desc{font-size:13px;color:var(--text-muted);margin:0;line-height:1.5}.eam-fs-tabs{display:flex;background:var(--bg-panel);border-bottom:2px solid var(--border);padding:0 24px;flex-shrink:0}.eam-fs-tab{padding:10px 16px;font-size:13px;cursor:pointer;color:var(--text-muted);border-bottom:2px solid transparent;margin-bottom:-2px;white-space:nowrap}.eam-fs-tab:hover{color:var(--text)}.eam-fs-tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:500}.eam-fs-body{flex:1;overflow-y:auto;padding:0 24px 40px}.eam-section{border-bottom:1px solid var(--border)}.eam-section-header{display:flex;align-items:center;gap:8px;padding:14px 0 10px;cursor:pointer;-webkit-user-select:none;user-select:none}.eam-section-header:hover{color:var(--accent)}.eam-section-chevron{font-size:12px;color:var(--text-muted);width:14px}.eam-section-title{font-weight:600;font-size:14px}.eam-section-body{padding-bottom:14px}.eam-subsection-title{font-weight:600;font-size:12.5px;color:var(--text-muted);margin:14px 0 6px;padding-bottom:4px;border-bottom:1px solid var(--border)}.eam-field-row{display:grid;grid-template-columns:220px 1fr;gap:8px;padding:6px 0;border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent);align-items:start}.eam-field-label{color:var(--text-muted);font-size:13px}.eam-field-value{font-size:13px;color:var(--text)}.eam-empty{color:var(--text-faint)}.eam-completion{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-muted);margin-left:auto}.eam-completion-bar{width:60px;height:4px;background:var(--bg-hover);border-radius:2px;overflow:hidden}.eam-completion-fill{height:100%;background:var(--accent);border-radius:2px}.eam-stars,.eam-arrows{display:inline-flex;align-items:center;gap:2px}.eam-star,.eam-arrow{color:var(--border);font-size:14px}.eam-star.filled{color:#f59e0b}.eam-arrow.filled{color:var(--accent);font-weight:700}.eam-rating-label{font-size:12px;color:var(--text-muted);margin-left:6px}.eam-lifecycle-bar{margin:10px 0 4px}.eam-lifecycle-track{position:relative;height:8px;background:var(--bg-hover);border-radius:4px;overflow:visible;margin-bottom:4px}.eam-lifecycle-fill{position:absolute;left:0;top:0;height:100%;background:var(--accent);border-radius:4px;transition:width .3s}.eam-lifecycle-cursor{position:absolute;top:-3px;width:14px;height:14px;background:var(--accent);border:2px solid var(--bg-panel);border-radius:50%;transform:translate(-50%)}.eam-lifecycle-labels{display:flex;justify-content:space-between;font-size:10px;color:var(--text-faint)}.eam-table{width:100%;border-collapse:collapse;font-size:13px;margin-top:4px}.eam-table th{text-align:left;padding:5px 10px;font-weight:600;font-size:12px;color:var(--text-muted);border-bottom:1px solid var(--border);background:var(--bg-hover)}.eam-table td{padding:6px 10px;border-bottom:1px solid color-mix(in srgb,var(--border) 50%,transparent)}.eam-relation-empty{font-size:12px;color:var(--text-faint);padding:6px 0;font-style:italic}.eam-subs-panel{padding:4px 0}.eam-subs-table{width:100%;border-collapse:collapse;font-size:13px;margin-bottom:12px}.eam-subs-table th{text-align:left;padding:5px 10px;font-weight:600;font-size:11px;color:var(--text-muted);border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.04em}.eam-subs-table td{padding:6px 10px;border-bottom:1px solid color-mix(in srgb,var(--border) 50%,transparent);vertical-align:middle}.eam-sub-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500;color:#fff;white-space:nowrap}.eam-sub-person{font-weight:500;color:var(--text)}.eam-sub-desc{color:var(--text-muted);font-size:12px;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eam-subs-form{border:1px solid var(--border);border-radius:8px;padding:14px 16px;background:var(--bg-faint);margin-top:10px}.eam-subs-form-title{font-weight:500;font-size:13px;margin-bottom:12px;color:var(--text)}.eam-subs-field{margin-bottom:10px}.eam-subs-field label{display:block;font-size:12px;color:var(--text-muted);margin-bottom:3px;font-weight:500}.eam-subs-field input,.eam-subs-field select,.eam-subs-field textarea{width:100%;box-sizing:border-box;padding:6px 8px;border:1px solid var(--border);border-radius:5px;font-size:13px;font-family:inherit;background:var(--bg-panel);color:var(--text)}.eam-subs-row{display:flex;gap:12px}.eam-subs-row .eam-subs-field{flex:1}.eam-subs-person-dropdown{position:absolute;top:calc(100% + 2px);left:0;right:0;background:var(--bg-panel);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px #0000001f;z-index:100;max-height:180px;overflow-y:auto}.eam-subs-person-hit{padding:7px 12px;cursor:pointer;font-size:13px;color:var(--text)}.eam-subs-person-hit:hover{background:var(--bg-hover)}.eam-subs-person-selected{display:block;margin-top:4px;font-size:11px;color:var(--accent)}.inv-layout{display:flex;height:100%;gap:0;overflow:hidden}.inv-sidebar{width:220px;flex-shrink:0;border-right:1px solid var(--border);overflow-y:auto;background:var(--bg-panel);padding-bottom:24px}.inv-sidebar-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:14px 16px 6px}.inv-filter-group{padding:0}.inv-filter-group-divider{height:1px;background:var(--border);margin:6px 0}.inv-filter-group-header{display:flex;align-items:center;gap:5px;padding:5px 12px;font-size:12px;font-weight:600;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none}.inv-filter-group-header:hover{background:var(--bg-hover)}.inv-filter-group-arrow{font-size:10px;color:var(--text-muted);width:10px}.inv-filter-item{display:flex;align-items:center;gap:7px;padding:4px 12px 4px 22px;font-size:12px;cursor:pointer;color:var(--text)}.inv-filter-item:hover{background:var(--bg-hover)}.inv-filter-item input[type=checkbox]{margin:0;flex-shrink:0}.inv-filter-label{flex:1}.inv-filter-count{font-size:11px;color:var(--text-muted);background:var(--bg-hover);border-radius:10px;padding:0 6px;min-width:20px;text-align:center}.inv-main{flex:1;overflow-y:auto;padding:20px 24px;display:flex;flex-direction:column;gap:12px}.inv-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.inv-title{font-size:20px;font-weight:600;color:var(--text);margin:0 0 2px}.inv-count{font-size:12px;color:var(--text-muted)}.inv-chip-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.inv-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;background:var(--accent-bg);color:var(--accent);border:1px solid var(--accent);border-radius:16px;font-size:12px;font-weight:500}.inv-chip-remove{background:none;border:none;cursor:pointer;color:var(--accent);font-size:14px;padding:0;line-height:1;margin-left:2px;opacity:.7}.inv-chip-remove:hover{opacity:1}.inv-table-wrap{overflow-x:auto}.inv-table{width:100%}.inv-class-badge{display:inline-block;padding:1px 8px;border-radius:10px;background:var(--bg-hover);color:var(--text-muted);font-size:11px;white-space:nowrap}.inv-record-name{display:inline-flex;align-items:center;font-weight:500;color:var(--text)}.inv-desc{color:var(--text-muted);font-size:12px;max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inv-pagination{display:flex;justify-content:space-between;align-items:center;padding:10px 0 4px;flex-wrap:wrap;gap:8px;flex-shrink:0}.inv-name-link:hover{text-decoration:underline}.inv-row:hover{background:var(--bg-hover)}.dms-versions-panel{padding:4px 0}.dms-checkout-banner{padding:8px 12px;border-radius:6px;font-size:.82rem;margin-bottom:10px;display:flex;align-items:center;gap:6px}.dms-checkout-banner.mine{background:var(--accent-bg);color:var(--accent-strong);border:1px solid var(--accent)}.dms-checkout-banner.other{background:var(--warning-bg);color:var(--text);border:1px solid var(--warning-border)}.dms-versions-toolbar{display:flex;gap:6px;margin-bottom:8px;flex-wrap:wrap}.dms-version-dropzone{border:2px dashed var(--border);border-radius:6px;padding:12px;text-align:center;color:var(--text-muted);font-size:.82rem;cursor:pointer;margin-bottom:10px;transition:border-color .12s,background .12s;position:relative;z-index:1;pointer-events:all}.dms-version-dropzone.drag-over{border-color:var(--accent);background:var(--accent-bg);color:var(--accent)}.dms-upload-form{background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:8px;padding:12px;margin-bottom:12px}.dms-upload-filename{font-size:.82rem;font-weight:500;margin:0 0 8px}.dms-upload-actions{display:flex;gap:6px;margin-top:8px}.dms-upload-form .field-row,.dashboard-widget .field-row{display:flex;flex-direction:column;gap:3px;margin-bottom:8px}.dms-upload-form .field-row label,.dashboard-widget .field-row label{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.dms-version-table{border-collapse:collapse;width:100%;font-size:.8rem}.dms-version-table th,.dms-version-table td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--border-subtle)}.dms-version-table thead th{background:var(--bg-hover);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.dms-version-table tr.active-version{background:var(--accent-bg)}.dms-active-badge{display:inline-block;margin-left:6px;padding:1px 5px;background:var(--accent);color:#fff;border-radius:10px;font-size:.65rem;font-weight:700;vertical-align:middle}.folder-tree{width:100%;font-size:.82rem;-webkit-user-select:none;user-select:none}.folder-tree-header{display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:6px 8px 8px;border-bottom:1px solid var(--border-subtle);margin-bottom:4px}.folder-tree-item{display:flex;align-items:center;gap:2px;padding:3px 4px;border-radius:5px;cursor:pointer;transition:background .1s;position:relative}.folder-tree-item:hover{background:var(--bg-hover)}.folder-tree-item.selected{background:var(--active-row-bg)}.folder-tree-item.drag-over{background:var(--accent-bg);outline:2px dashed var(--accent)}.folder-tree-expand{background:none;border:none;cursor:pointer;width:16px;color:var(--text-muted);font-size:.7rem;padding:0;flex-shrink:0}.folder-tree-name{background:none;border:none;cursor:pointer;text-align:left;flex:1;color:var(--text);font-size:.82rem;padding:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.folder-doc-count{display:inline-block;margin-left:5px;padding:0 5px;background:var(--border);border-radius:8px;font-size:.65rem;color:var(--text-muted);vertical-align:middle}.folder-actions{display:none;gap:2px}.folder-tree-item:hover .folder-actions{display:flex}button.tiny{font-size:.7rem;padding:1px 4px;border-radius:3px}.dms-library{display:flex;gap:0;height:100%;min-height:400px;overflow:hidden}.dms-library-sidebar{flex-shrink:0;padding:8px 4px;overflow-y:auto;overflow-x:hidden;-webkit-user-select:none;user-select:none}.dms-library-main{flex:1;min-width:0;padding:10px 12px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.dms-library-detail{width:320px;flex-shrink:0;border-left:1px solid var(--border-subtle);padding:10px;overflow-y:auto;background:var(--bg-subtle)}.dms-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--border-subtle)}.dms-search-bar{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.dms-search-input{flex:1;min-width:180px;padding:5px 10px;border:1px solid var(--border);border-radius:6px;font-size:.85rem;background:var(--bg-panel);color:var(--text)}.dms-upload-zone{border:2px dashed var(--border);border-radius:6px;padding:10px;text-align:center;color:var(--text-muted);font-size:.8rem;cursor:pointer;transition:border-color .12s,background .12s}.dms-upload-zone:hover,.dms-upload-zone.drag-over{border-color:var(--accent);background:var(--accent-bg);color:var(--accent)}.dms-upload-progress{background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:6px;padding:8px 10px}.dms-doc-table td:first-child{cursor:pointer}.dms-doc-table tr:hover td{background:var(--bg-hover)}.dms-doc-table tr.active-row td{background:var(--active-row-bg)}.dms-preview-frame{margin-bottom:12px;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:6px;padding:4px}.dms-preview-unsupported{padding:20px;text-align:center;color:var(--text-muted);font-size:.82rem}.my-tasks-widget{position:relative;display:inline-flex;align-items:center}.my-tasks-bell{background:none;border:1px solid var(--border);border-radius:6px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem;color:var(--text-muted);position:relative;transition:background .1s,border-color .1s}.my-tasks-bell:hover{background:var(--bg-hover)}.my-tasks-bell.has-tasks{border-color:var(--accent);color:var(--accent)}.my-tasks-bell.has-overdue{border-color:var(--danger);color:var(--danger)}.task-badge{position:absolute;top:-5px;right:-5px;background:var(--accent);color:#fff;border-radius:8px;font-size:.6rem;font-weight:700;padding:0 4px;min-width:14px;text-align:center;line-height:14px}.task-badge.overdue{background:var(--danger)}.my-tasks-panel{position:absolute;top:calc(100% + 6px);right:0;width:320px;background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-dropdown);z-index:500;overflow:hidden}.my-tasks-header{display:flex;justify-content:space-between;align-items:center;padding:10px 12px 8px;border-bottom:1px solid var(--border-subtle)}.my-tasks-list{max-height:400px;overflow-y:auto}.my-task-item{padding:8px 12px;border-bottom:1px solid var(--border-faint);position:relative}.my-task-item.overdue{background:#cf222e0d}.my-task-item:last-child{border-bottom:none}.my-task-title{display:flex;align-items:center;gap:6px;font-size:.83rem;font-weight:500}.my-task-priority-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.my-task-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.my-task-meta{font-size:.72rem;color:var(--text-muted);margin-top:2px}.overdue-label{color:var(--danger);font-weight:700}.my-task-done-btn{float:right;margin-top:-2px}.tasks-panel{max-width:640px}tr.task-row-overdue{background:#cf222e0d}.dashboard-view{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;padding:4px 0 16px}.dashboard-widget{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:10px;padding:16px;box-shadow:var(--shadow-soft);min-height:120px}.dashboard-widget.loading-widget{opacity:.6}.widget-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:10px}.widget-big-number{font-size:2.8rem;font-weight:700;color:var(--accent);line-height:1}.widget-bars{display:flex;flex-direction:column;gap:6px}.widget-bar-row{display:flex;align-items:center;gap:6px;font-size:.75rem}.widget-bar-label{width:90px;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.widget-bar-track{flex:1;height:12px;background:var(--bg-hover);border-radius:6px;overflow:hidden}.widget-bar-fill{height:100%;border-radius:6px;transition:width .4s ease}.widget-bar-value{width:36px;text-align:right;color:var(--text-muted);flex-shrink:0}.widget-expiry-table{border-collapse:collapse;width:100%;font-size:.78rem}.widget-expiry-table th,.widget-expiry-table td{padding:4px 6px;border-bottom:1px solid var(--border-subtle);text-align:left}.widget-expiry-table thead th{font-weight:600;font-size:.7rem;color:var(--text-muted);text-transform:uppercase}.widget-trend-chart{display:flex;align-items:flex-end;gap:4px;height:100px}.trend-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px}.trend-bar{width:100%;background:var(--accent);border-radius:3px 3px 0 0;min-height:2px;transition:height .4s}.trend-bar-label{font-size:.6rem;color:var(--text-muted)}.muted{color:var(--text-muted)}button.link.danger{color:var(--danger)}button.link.danger:hover{text-decoration:underline}.sys-class-badge{display:inline-block;margin-left:6px;padding:1px 6px;background:var(--accent);color:#fff;border-radius:8px;font-size:.62rem;font-weight:700;letter-spacing:.04em;vertical-align:middle;text-transform:uppercase}.version-compare-panel{padding:4px 0}.version-compare-selectors{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin-bottom:14px}.version-compare-selectors label{display:block;font-size:.72rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px}.version-compare-result{border:1px solid var(--border-subtle);border-radius:8px;overflow:hidden}.diff-stats{display:flex;gap:14px;padding:8px 12px;background:var(--bg-hover);border-bottom:1px solid var(--border-subtle);font-size:.78rem;font-weight:600}.diff-stat-added{color:#1a7f37}.diff-stat-removed{color:var(--danger)}.diff-stat-unchanged{color:var(--text-muted)}.diff-body{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.75rem;line-height:1.5;overflow-x:auto;max-height:480px;overflow-y:auto}.diff-line{display:flex;min-height:20px}.diff-line-equal{background:transparent}.diff-line-insert{background:#1a7f371a}.diff-line-delete{background:#cf222e1a}.diff-line-omitted{background:var(--bg-hover);color:var(--text-muted);font-style:italic}.diff-prefix{display:inline-block;width:20px;flex-shrink:0;text-align:center;color:var(--text-muted);-webkit-user-select:none;user-select:none;border-right:1px solid var(--border-subtle);margin-right:8px}.diff-line-insert .diff-prefix{color:#1a7f37;font-weight:700}.diff-line-delete .diff-prefix{color:var(--danger);font-weight:700}.diff-text{flex:1;white-space:pre-wrap;word-break:break-all;padding:0 8px}.diff-no-text{padding:20px;text-align:center;color:var(--text-muted);font-size:.83rem}.diff-download-links{display:flex;gap:12px;padding:8px 12px;border-top:1px solid var(--border-subtle);background:var(--bg-hover);font-size:.78rem}.dms-versions-tabs{display:flex;gap:0;border-bottom:1px solid var(--border-subtle);margin-bottom:10px}.dms-tab{background:none;border:none;border-bottom:2px solid transparent;padding:6px 14px;font-size:.82rem;cursor:pointer;color:var(--text-muted);margin-bottom:-1px;transition:color .1s,border-color .1s}.dms-tab:hover{color:var(--text)}.dms-tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.dms-tab:disabled{opacity:.4;cursor:not-allowed}.admin-panel .field-row label{display:block;font-size:.72rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px}.page-widget-links{display:flex;flex-direction:column;gap:6px}.page-widget-link-item{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-subtle);border:1px solid var(--border);border-radius:6px;color:var(--accent);text-decoration:none;font-size:.85rem;width:fit-content}.page-widget-link-item:hover{text-decoration:underline}.page-widget-updates{display:flex;flex-direction:column;gap:10px;max-height:480px;overflow-y:auto;padding-right:4px}.page-widget-update-item{border:1px solid var(--border);border-radius:6px;padding:10px 12px;background:var(--bg-panel)}.page-widget-update-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}.page-widget-update-date{font-size:.75rem;color:var(--text-muted)}.page-widget-update-body{font-size:.85rem;margin:0;color:var(--text);line-height:1.5}.dms-classify-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:600;display:flex;align-items:center;justify-content:center}.dms-classify-modal{width:420px;max-width:95vw;background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;padding:20px 22px;box-shadow:0 8px 40px #00000047}.dms-doc-type-select{font-size:11.5px;padding:2px 4px;border:1px solid var(--border);border-radius:4px;background:var(--bg-panel);color:var(--text);max-width:110px}.dms-classify-results{max-height:220px;overflow-y:auto;border:1px solid var(--border);border-radius:6px;margin-bottom:8px}.dms-classify-result-row{display:flex;align-items:center;width:100%;padding:8px 12px;background:transparent;border:none;border-bottom:1px solid var(--border);cursor:pointer;text-align:left;color:var(--text);font-size:13px;transition:background .1s}.dms-classify-result-row:last-child{border-bottom:none}.dms-classify-result-row:hover:not(:disabled){background:var(--bg-hover)}.dms-classify-result-row:disabled{opacity:.5;cursor:not-allowed}.dms-classify-no-folder{opacity:.5}.ctx-menu-item{display:block;width:100%;padding:7px 14px;background:transparent;border:none;text-align:left;font-size:13px;color:var(--text);cursor:pointer;white-space:nowrap}.ctx-menu-item:hover{background:var(--bg-hover)}.ctx-menu-danger{color:var(--danger)}
