.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #555;--xy-background-pattern-lines-color-default: #333;--xy-background-pattern-cross-color-default: #333;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.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:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@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;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));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:var(--xy-resize-background-color, var(--xy-resize-background-color-default));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%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}:root{color-scheme:light;--bg: #f4f7fb;--surface: #fff;--surface-2: #eef4ff;--border: #d8e1ef;--text: #111827;--muted: #627085;--accent: #315efb;--active: #005f46;--warning: #d97706;--danger: #9f1239;--shadow: 0 20px 55px rgba(15, 23, 42, .11);--workspace: #ffffff;--content-muted: #f8fbff;--content-raised: #ffffff;--font-sans: Inter, "Segoe UI", Roboto, -apple-system, BlinkMacSystemFont, Arial, sans-serif;--font-display: var(--font-sans);--font-size-xs: 11px;--font-size-sm: 12px;--font-size-md: 13px;--font-size-base: 14px;--font-size-lg: 16px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-page-title: 28px;--line-tight: 1.12;--line-title: 1.2;--line-body: 1.45;--weight-regular: 450;--weight-medium: 600;--weight-semibold: 750;--weight-bold: 850}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-body);font-weight:var(--weight-regular);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit;line-height:1.35}button,.button-link{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);cursor:pointer;font-size:var(--font-size-md);font-weight:var(--weight-semibold);text-decoration:none;white-space:nowrap}button:hover{border-color:#315efb8c;box-shadow:0 8px 22px #315efb1f}.ui-select{position:relative;min-width:0}.ui-select-trigger{width:100%;min-height:36px;justify-content:space-between;padding:7px 10px;font-weight:var(--weight-regular)}.ui-select-trigger span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-select-menu{position:absolute;z-index:30;top:calc(100% + 5px);left:0;width:max(100%,230px);padding:8px;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:var(--shadow)}.ui-select--menu-top .ui-select-menu{top:auto;bottom:calc(100% + 5px)}.ui-select-search{width:100%;min-height:34px;margin-bottom:6px}.ui-select-options{display:grid;max-height:240px;overflow-y:auto}.ui-select-options button{min-height:34px;justify-content:flex-start;border:0;border-radius:8px;padding:7px 9px;font-weight:var(--weight-regular);white-space:normal;text-align:left;box-shadow:none}.ui-select-options button.selected{background:var(--surface-2);color:var(--accent);font-weight:var(--weight-semibold)}.ui-select-options .muted{margin:6px 4px}button.primary,.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.button-link{padding:10px 16px}.ui-button-default{background:var(--surface);color:var(--text)}.ui-button-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.ui-button-danger{color:var(--danger);border-color:#dc262659;background:#fff5f5}.ui-button-ghost{border-color:transparent;background:transparent;box-shadow:none}.ui-button-sm{min-height:32px;padding:6px 10px;border-radius:10px;font-size:var(--font-size-md)}.ui-button-md{min-height:40px;padding:9px 14px}.ui-button-icon{width:40px;min-width:40px;height:40px;padding:0;border-radius:999px}.ui-input,.ui-textarea,.ui-select-native,.ui-select-trigger{width:100%;min-height:44px;border:1px solid var(--border);border-radius:12px;padding:11px 14px;background:#fff;color:var(--text);font-size:var(--font-size-md);line-height:1.35;font-weight:var(--weight-regular)}.ui-input:hover,.ui-textarea:hover,.ui-select-native:hover,.ui-select-trigger:hover{border-color:#315efb8c}.ui-input:focus-visible,.ui-textarea:focus-visible,.ui-select-native:focus-visible,.ui-select-trigger:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #315efb1f}.ui-input:disabled,.ui-textarea:disabled,.ui-select-native:disabled,.ui-select-trigger:disabled{background:#f3f6fa;color:var(--muted);cursor:not-allowed;opacity:.7}.ui-input::-moz-placeholder,.ui-textarea::-moz-placeholder{color:var(--muted);opacity:.7}.ui-input::placeholder,.ui-textarea::placeholder{color:var(--muted);opacity:.7}.ui-input[aria-invalid=true],.ui-textarea[aria-invalid=true]{border-color:var(--danger)}.ui-input--compact,.ui-textarea--compact,.ui-select-native--compact,.ui-select-trigger--compact{min-height:36px;padding:7px 10px;font-size:var(--font-size-md)}.ui-textarea--compact{min-height:72px}.user-picker-menu input,.search-filter-chips input{border:1px solid var(--border);border-radius:8px}input[type=checkbox],input[type=radio]{flex:0 0 18px;width:18px;min-width:18px;max-width:18px;height:18px;min-height:18px;max-height:18px;margin:0;padding:0;border-radius:4px;accent-color:var(--accent)}input[type=radio]{border-radius:50%}.ui-textarea{min-height:110px}textarea{resize:vertical}table{width:100%;border-collapse:collapse}th,td{padding:13px 14px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}tr:hover td{background:#f8fbff}td small{display:block;margin-top:4px;color:var(--muted)}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top left,#dbeafe,transparent 32%),var(--bg)}.auth-card{width:min(460px,100%);display:grid;gap:14px;padding:28px;border:1px solid var(--border);border-radius:24px;background:var(--surface);box-shadow:var(--shadow)}.auth-card h1{margin:0;font-family:var(--font-display);font-size:var(--font-size-page-title);line-height:var(--line-tight);font-weight:var(--weight-bold);letter-spacing:-.03em}.auth-card p{margin:0;color:var(--muted);line-height:1.55}.auth-card label{display:grid;gap:7px;color:var(--muted);font-size:var(--font-size-md);font-weight:var(--weight-bold)}.app-shell{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100vh;overflow-x:hidden}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:14px;padding:18px 12px;border-right:1px solid var(--border);background:#ffffffeb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand{padding:4px 10px 14px;border-bottom:1px solid var(--border)}.brand span,.brand strong{display:block}.brand span{color:var(--accent);font-size:var(--font-size-xl);font-weight:var(--weight-bold)}.brand strong{color:var(--muted);font-size:var(--font-size-sm);line-height:var(--line-body)}.sidebar-logout{min-height:0;display:inline;margin-left:6px;padding:0;border:0;background:transparent;box-shadow:none;color:var(--accent);font-size:var(--font-size-sm);font-weight:var(--weight-bold);vertical-align:baseline}.sidebar-logout:hover{box-shadow:none;color:var(--danger)}.sidebar nav{display:grid;gap:12px;overflow-y:auto;padding-right:2px}.nav-group{display:grid;gap:4px}.nav-group>span{padding:8px 10px 3px;color:#94a3b8;font-size:var(--font-size-xs);font-weight:var(--weight-bold);letter-spacing:.08em;text-transform:uppercase}.sidebar nav button{width:100%;justify-content:flex-start;padding:11px 12px;border:0;box-shadow:none;text-align:left;color:var(--muted)}.sidebar nav button.active{background:var(--surface-2);color:var(--accent)}.role-switch{margin-top:auto;display:grid;gap:7px;color:var(--muted);font-size:var(--font-size-sm);font-weight:var(--weight-bold)}main{min-width:0;height:100vh;display:flex;flex-direction:column;padding:22px;overflow-y:auto}main:has(.dashboard-page),main:has(.tasks-page){overflow:hidden;background:var(--workspace)}main:has(.planning-page),main:has(.calendar-page),main:has(.projects-page),main:has(.clients-page),main:has(.meetings-page),main:has(.team-page),main:has(.costs-page),main:has(.documents-page),main:has(.email-page),main:has(.modules-page),main:has(.settings-page),main:has(.elements-page){background:var(--workspace)}.topbar{flex:0 0 auto;display:grid;grid-template-columns:minmax(200px,260px) minmax(680px,1fr) auto;align-items:start;gap:24px;margin-bottom:18px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.topbar span,.page-title p{display:block;color:var(--muted)}.topbar-title{grid-column:1;min-width:0}.topbar-title h1{margin:0 0 5px;font-family:var(--font-display);font-size:var(--font-size-page-title);line-height:var(--line-tight);font-weight:var(--weight-bold);letter-spacing:-.03em}.topbar-title p{margin:0;color:var(--muted);font-size:var(--font-size-sm);line-height:var(--line-body)}.topbar-search{grid-column:2;width:100%;min-width:0;justify-self:start}.top-actions{grid-column:3;align-self:start;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.topbar-page-actions{min-width:0;display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px}.notification-center{position:relative;justify-self:end;flex:0 0 auto;z-index:60}.notification-bell{position:relative;width:42px;min-width:42px;height:42px;padding:0;border-radius:10px;background:#f8fafc;color:var(--muted);box-shadow:none}.notification-bell svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.notification-bell:hover{border-color:#315efb59;background:#fff;color:var(--accent);box-shadow:none}.notification-bell span{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;display:grid;place-items:center;padding:0 5px;border-radius:999px;background:var(--danger);color:#fff;font-size:var(--font-size-xs);font-weight:var(--weight-bold)}.notification-popover{position:absolute;top:calc(100% + 10px);right:0;z-index:70;width:min(420px,calc(100vw - 32px));max-height:min(520px,calc(100vh - 110px));padding:16px;border:1px solid var(--border);border-radius:18px;background:var(--surface);box-shadow:var(--shadow);display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:12px;overflow:hidden}.notification-popover header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.notification-popover-header-info{display:grid;gap:2px;min-width:0}.notification-popover-header-info strong{display:block;font-size:var(--font-size-lg)}.notification-popover-header-info small{color:var(--muted);font-size:var(--font-size-sm)}.notification-popover header .link-button{min-height:32px;padding:6px 12px;flex-shrink:0}.notification-popover-list{min-height:0;max-height:360px;overflow-y:auto;display:grid;align-content:start;gap:8px;padding-right:2px}.notification-item{width:100%;min-width:0;min-height:0;display:grid;justify-content:stretch;justify-items:stretch;align-items:start;gap:4px;padding:12px 14px;text-align:left;white-space:normal;border-radius:12px;border:1px solid var(--border);background:var(--surface);box-shadow:none;overflow-wrap:anywhere;word-break:break-word}.notification-item:hover{border-color:#315efb59;background:#f8fbff;box-shadow:none}.notification-item strong{display:block;min-width:0;font-weight:var(--weight-bold);line-height:var(--line-title);white-space:normal}.notification-item small{display:block;min-width:0;color:var(--muted);line-height:var(--line-body);font-size:var(--font-size-sm);margin-top:1px;white-space:normal}.notification-item.unread{border-color:#315efb59;background:#f1f5ff}.notification-item.read{opacity:.75}.notification-sound{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:var(--font-size-sm);font-weight:var(--weight-bold);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:2px 0}.notification-sound input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.notification-sound span{display:inline-flex;align-items:center;gap:8px}.notification-sound span:before{content:"";display:inline-flex;width:36px;height:20px;border-radius:999px;border:1px solid var(--border);background:#e5edf7;transition:background .15s ease,border-color .15s ease;flex-shrink:0}.notification-sound input:checked+span:before{background:var(--accent);border-color:var(--accent)}.notification-sound span:after{content:"";position:absolute;width:16px;height:16px;border-radius:50%;background:#fff;top:2px;left:2px;transition:transform .15s ease}.notification-sound{position:relative}.notification-sound input:checked+span:after{transform:translate(16px)}.page{min-width:0;flex:0 0 auto;display:grid;gap:22px}.page-title{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.page-actions{display:flex;flex-wrap:wrap;gap:8px}.page-title h1{margin:0 0 7px;font-family:var(--font-display);font-size:clamp(var(--font-size-page-title),4vw,40px);line-height:var(--line-tight);font-weight:var(--weight-bold);letter-spacing:-.03em}.page-title p{margin:0;max-width:820px;line-height:1.55}.stats-grid{min-width:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.stats-grid.compact-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi{min-width:0;display:grid;justify-content:stretch;justify-items:start;align-content:start;gap:9px;min-height:116px;padding:18px;text-align:left;white-space:normal;box-shadow:var(--shadow)}.kpi>*{justify-self:start;text-align:left}.kpi.readonly{border:1px solid var(--border);border-radius:12px;background:var(--surface)}.kpi span{color:var(--muted)}.kpi strong{font-size:32px}.kpi.danger{border-color:#dc262659;background:#fff5f5}.kpi.warning{border-color:#d9770659;background:#fff8ec}.kpi.info{border-color:#315efb59;background:#f1f5ff}.kpi.active{border-color:#04785759;background:#effcf5}.dashboard-page{flex:1 1 auto;height:auto;min-height:0;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden}.dashboard-page .kpi{min-height:96px;border-radius:14px;box-shadow:none}.attention-panel{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);border:1px solid var(--border);border-radius:20px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.attention-panel header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 20px;border-bottom:1px solid var(--border)}.attention-panel h2{margin:0;font-size:16px}.attention-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.attention-list{min-height:0;display:grid;align-content:start;gap:10px;overflow-y:auto;padding:16px 20px 18px;background:#fbfdff}.attention-task{width:100%;min-height:66px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:12px;border:1px solid #dbe5f0;border-radius:10px;background:#f8fafc;box-shadow:none;text-align:left;white-space:normal}.attention-task:hover{border-color:#315efb59;background:#fff;box-shadow:0 10px 22px #0f172a0f}.attention-task-main{min-width:0;display:grid;gap:4px}.attention-task-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:15px}.attention-task-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:12px}.attention-task-badges{display:flex;align-items:center;justify-content:flex-end;gap:8px}.attention-task-badges .badge{margin:0}.dashboard-grid,.workspace-grid{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch}.dashboard-page .dashboard-grid{min-height:0;overflow:hidden}.dashboard-page .attention-panel,.dashboard-page .panel{box-shadow:none}.dashboard-page .panel{min-height:0;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr)}.panel,.table-card,.project-card,.doc-card{border:1px solid var(--border);border-radius:20px;background:var(--surface);box-shadow:var(--shadow)}.panel{min-width:0;padding:18px}.panel h2{margin:0 0 14px}.attention,.load-row{min-width:0;display:grid;gap:5px;padding:12px 0;border-bottom:1px solid var(--border)}.attention{width:100%;justify-content:stretch;justify-items:start;border-inline:0;border-top:0;border-radius:0;background:transparent;text-align:left;white-space:normal;box-shadow:none}.attention:hover{background:#f8fbff;box-shadow:none}.attention span,.load-row span,.project-card p,.doc-card p{color:var(--muted)}.decision-list,.project-health-list,.status-stack{align-content:start;display:grid;gap:8px}.dashboard-scroll-list{min-height:0;overflow-y:auto;padding-right:6px;scrollbar-gutter:stable}.load-list{align-content:start}.decision-item,.project-health{width:100%;min-width:0;display:grid;justify-content:stretch;justify-items:start;align-content:start;gap:5px;padding:13px 14px;border-radius:14px;text-align:left;white-space:normal}.decision-item{min-height:0;grid-template-columns:auto minmax(0,1fr) auto;-moz-column-gap:10px;column-gap:10px;row-gap:2px;align-items:center;padding:9px 11px}.decision-item>span{grid-column:1;grid-row:1 / 3;justify-self:start}.decision-item .badge{margin:0}.decision-item strong,.decision-item small{grid-column:2;min-width:0}.decision-item strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.25;font-size:var(--font-size-base)}.decision-item em{grid-column:3;grid-row:1 / 3;align-self:center;color:var(--accent);font-size:var(--font-size-sm);font-style:normal;font-weight:var(--weight-bold)}.decision-item>*,.project-health>*{justify-self:start;text-align:left}.decision-item.danger{border-color:#dc262647;background:#fff7f7}.decision-item.warning{border-color:#d9770647;background:#fffaf0}.decision-item.info{border-color:#315efb40;background:#f5f7ff}.decision-item small,.project-health span,.project-health div,.status-stack span{color:var(--muted)}.decision-item small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-sm)}.project-health{border:1px solid var(--border);background:#fbfdff;box-shadow:none}.project-health div{display:flex;flex-wrap:wrap;gap:8px;font-size:var(--font-size-md)}.status-stack>div{display:grid;gap:6px;padding:14px;border:1px solid var(--border);border-radius:14px;background:#fbfdff}progress{width:100%;height:9px;accent-color:var(--accent)}.badge,.selected-user,.add-user-button,.filter-chips span,.entity-id,.entity-kind,.demo-mark,.custom-field code,.link{display:inline-flex;align-items:center;width:-moz-max-content;width:max-content;border-radius:999px;font-size:var(--font-size-sm);font-weight:var(--weight-medium);line-height:1.25;letter-spacing:.005em;text-transform:none}.badge{margin:3px 6px 3px 0;padding:5px 10px;border:1px solid rgba(49,94,251,.12);background:#eaf2ff;color:#2f55d8}.badge.danger,.badge.high,.badge.critical{border-color:#dc26261f;background:#feecec;color:#c43434}.badge.warning,.badge.medium{border-color:#d9770624;background:#fff4d9;color:#a86405}.badge.active,.badge.low{border-color:#04785721;background:#e7f8ee;color:#087a58}.badge.info,.badge.status-new{border-color:#315efb1f;background:#eaf2ff;color:#2f55d8}.badge.status-in_progress{border-color:#04785721;background:#e7f8ee;color:#087a58}.badge.status-review{border-color:#d9770624;background:#fff4d9;color:#a86405}.badge.status-done{border-color:#62708529;background:#eef1f5;color:#4f5b6b}.badge.priority-low{border-color:#04785721;background:#e7f8ee;color:#087a58}.badge.priority-medium{border-color:#d9770624;background:#fff4d9;color:#a86405}.badge.priority-high{border-color:#dc26261f;background:#feecec;color:#c43434}.badge.priority-critical{border-color:#9f12392e;background:#fde8ea;color:#9f1239}.badge.risk-low{border-color:#d9770624;background:#fff4d9;color:#a86405}.badge.risk-medium{border-color:#dc26261f;background:#feecec;color:#c43434}.badge.risk-high{border-color:#9f123933;background:#fde8ea;color:#9f1239}.badge.risk-critical{border-color:#9f12394d;background:#fde0e3;color:#7f001f}.badge.review{border-color:#9333ea26;background:#f3e8ff;color:#7c3aed}.toolbar{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(135px,1fr)) auto auto;gap:12px;align-items:center;padding:16px;border:1px solid var(--border);border-radius:20px;background:var(--surface)}.search-filter-box{position:relative;min-width:0}.search-filter-input{position:relative;display:flex;align-items:center;min-width:0}.search-filter-chips{display:flex;flex-wrap:wrap;align-items:center;gap:4px;flex:1;min-width:0;padding:4px 78px 4px 6px;border:1px solid var(--border);border-radius:14px;background:#fff;min-height:42px;cursor:text}.search-filter-chips:focus-within{border-color:#315efb8c}.search-filter-chips input{flex:1;min-width:80px;min-height:28px;height:28px;padding:0 4px;border:0;background:transparent;outline:none;font-size:var(--font-size-md)}.search-filter-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 6px 2px 8px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);color:var(--text);font-size:var(--font-size-sm);font-weight:var(--weight-medium);white-space:nowrap}.search-filter-chip .chip-remove{min-height:0;padding:0 2px;border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:var(--font-size-base);line-height:1;box-shadow:none}.search-filter-chip .chip-remove:hover{color:var(--danger);box-shadow:none}.search-filter-clear,.search-filter-toggle{position:absolute;top:50%;transform:translateY(-50%);min-height:30px;width:30px;padding:0;border:0;background:transparent;box-shadow:none;color:var(--muted)}.search-filter-clear{right:38px}.search-filter-toggle{right:6px}.search-filter-popover{position:absolute;top:calc(100% + 10px);left:0;z-index:25;width:100%;display:grid;grid-template-columns:minmax(0,1fr);gap:0;border:1px solid var(--border);border-radius:18px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.search-filter-popover.has-presets{grid-template-columns:170px minmax(0,1fr)}.search-filter-presets{display:grid;align-content:start;gap:4px;padding:18px 12px;border-right:1px solid var(--border);background:#f8fbff}.search-filter-presets button{justify-content:flex-start;border:0;background:transparent;box-shadow:none;color:var(--muted)}.search-filter-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px}.search-filter-fields label{display:grid;gap:6px;color:var(--muted);font-size:var(--font-size-sm);font-weight:var(--weight-bold)}.search-filter-footer{display:flex;align-items:center;gap:12px;padding:0 18px 18px}.segmented{display:inline-flex;gap:4px;padding:3px;border:1px solid var(--border);border-radius:14px;background:#f8fafc}.segmented button{min-height:36px;padding:8px 14px;box-shadow:none}.segmented .active,.tabs .active,.mail.active{background:var(--accent);color:#fff}.filter-chips{display:flex;flex-wrap:wrap;gap:8px;color:var(--muted);align-items:center}.filter-chips span{padding:6px 10px;border:1px solid var(--border);background:var(--surface);color:var(--muted);display:inline-flex;align-items:center;gap:6px}.chip-remove,.chip-reset{min-height:0;padding:0 4px;border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:var(--font-size-base);line-height:1;box-shadow:none}.chip-remove:hover,.chip-reset:hover{color:var(--danger);box-shadow:none}.chip-reset{padding:4px 8px;border:1px solid var(--border);border-radius:999px;font-size:var(--font-size-sm)}.demo-mark{margin-left:6px;padding:2px 7px;border:1px solid rgba(98,112,133,.16);background:#62708514;color:var(--muted);font-size:var(--font-size-xs)}.danger-button{color:var(--danger);border-color:#dc262659;background:#fff5f5}.table-card{overflow-x:auto}.tasks-page{position:relative;flex:1 1 auto;min-height:0;grid-template-rows:auto minmax(0,1fr);gap:14px;overflow:hidden}.tasks-page .page-title h1{font-size:clamp(26px,3vw,34px)}.kanban{min-height:0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(300px,340px);gap:14px;overflow-x:auto;overflow-y:hidden;padding:2px 2px 10px;scroll-snap-type:x proximity}.kanban-col{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);padding:0;border:1px solid var(--border);border-radius:18px;background:#f8fbff;overflow:hidden;scroll-snap-align:start}.kanban-col header{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 18px 14px;border-bottom:1px solid var(--border);background:#f8fbfff5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.kanban-col-body{min-height:0;overflow-y:auto;padding:14px 18px 18px}.task-card{position:relative;z-index:0;min-width:0;display:grid;grid-template-rows:auto auto auto;justify-items:stretch;align-content:start;gap:10px;margin-bottom:24px;padding:18px;border:1px solid var(--border);border-radius:18px;background:var(--surface);box-shadow:0 10px 24px #0f172a14;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;overflow-wrap:anywhere;word-break:break-word}.task-card:hover{transform:translateY(-1px);border-color:#315efb5c;box-shadow:0 14px 30px #0f172a1a}.entity-task-card{background:var(--surface)}.entity-task-card:before{content:none}.entity-meeting-card:before{content:"";position:absolute;z-index:-1;left:-1px;right:-1px;top:-1px;bottom:-7px;border-radius:18px}.entity-meeting-card:after{content:"";position:absolute;z-index:-1;left:-1px;right:-1px;top:-1px;bottom:5px;border-radius:18px;background:var(--surface)}.entity-task-card:after{content:none}.entity-task-card.overdue{padding-left:18px;border-color:#9f12398c;background:#fff8f8}.task-card>*{justify-self:start;text-align:left}.task-card strong{min-width:0;line-height:1.3}.task-card p{min-width:0;margin:0;color:var(--muted);line-height:1.35}.task-card-footer{width:100%;display:grid;gap:10px;justify-items:start}.task-card-due{display:inline-flex;align-items:baseline;gap:6px;max-width:100%;padding:0;border:0;background:transparent;color:var(--muted);font-size:12px;font-weight:750}.task-card-due span{color:var(--muted);font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.02em}.task-card-due strong{color:var(--text);font-size:13px;font-weight:900;white-space:nowrap}.task-card-badges{display:flex;flex-wrap:wrap;gap:7px}.meeting-strip{display:grid;gap:12px}.meeting-strip h2{margin:0}.empty{padding:28px;border:1px dashed var(--border);border-radius:16px;color:var(--muted);text-align:center}.empty.compact{padding:14px}.cards-grid{min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.planning-page{display:grid;gap:16px}.planning-tabs{align-self:start}.planning-filter{min-width:0;display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:12px;align-items:center;padding:14px;border:1px solid var(--border);border-radius:20px;background:var(--surface);box-shadow:var(--shadow)}.topbar-search .planning-filter{grid-template-columns:minmax(220px,1fr) max-content max-content;gap:8px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.topbar-search .planning-filter input{min-height:40px}.topbar-search .planning-period{flex-wrap:nowrap;justify-content:flex-start;gap:5px}.topbar-search .planning-period button{min-height:40px;padding:8px 10px}.topbar-search .planning-period label{gap:4px}.topbar-search .planning-period .ui-input{width:118px}.topbar-search .segmented{justify-self:start;flex-wrap:nowrap}.topbar-search .segmented button{min-height:40px;padding:8px 11px}.planning-period{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.planning-period label{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:var(--font-size-sm);font-weight:var(--weight-bold)}.planning-period .ui-input{width:150px}.planning-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.planning-summary div{min-width:0;display:grid;gap:4px;padding:16px;border:1px solid var(--border);border-radius:18px;background:var(--surface);box-shadow:0 10px 24px #0f172a0f}.planning-summary span{color:var(--muted);font-size:var(--font-size-sm);font-weight:var(--weight-bold)}.planning-summary strong{font-size:24px}.danger-text strong,.danger-text span{color:var(--danger)}.success-text strong,.success-text span{color:var(--active)}.planning-load-grid{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.planning-user-card{min-width:0;display:grid;gap:14px;padding:16px;border:1px solid var(--border);border-radius:20px;background:var(--surface);box-shadow:var(--shadow)}.planning-user-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.planning-user-head p{margin:4px 0 0;color:var(--muted);font-size:13px}.planning-user-head button{min-height:34px;padding:7px 10px}.planning-load-meter{display:grid;gap:7px}.planning-load-meter span{color:var(--muted);font-size:var(--font-size-sm);font-weight:var(--weight-bold)}.planning-load-meter div{height:8px;border-radius:999px;background:#e5edf7;overflow:hidden}.planning-load-meter i{display:block;height:100%;border-radius:inherit;background:var(--accent)}.planning-load-meter i.over{background:var(--danger)}.planning-projects{display:grid;gap:8px}.planning-row{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid #dce4ee;border-radius:14px;background:#f8fbff}.planning-row span{min-width:0;overflow-wrap:anywhere}.planning-row small{display:block;margin-top:3px;color:var(--muted)}.planning-row.status-new{border-left:3px solid #2f55d8}.planning-row.status-in_progress{border-left:3px solid #087a58}.planning-row.status-done{border-left:3px solid #4f5b6b;opacity:.7}.planning-row.priority-high{border-left-color:#c43434}.planning-row.priority-critical{border-left-color:#9f1239}.planning-row.risk-low{background:#fff4d9}.planning-row.risk-medium{background:#feecec}.planning-row.risk-high{background:#fde8ea}.planning-row.risk-critical{background:#fde0e3}.planning-row.review{background:#f3e8ff}.planning-row.overdue{border-left:3px solid var(--danger);background:#fff1f2}.planning-calendar-panel{min-width:0;padding:14px;border:1px solid var(--border);border-radius:22px;background:var(--surface);box-shadow:var(--shadow)}.planning-calendar{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.planning-month{min-width:0;display:grid;gap:10px}.planning-month h3{margin:0;text-transform:capitalize}.planning-weekdays,.planning-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.planning-weekdays span{color:var(--muted);font-size:var(--font-size-xs);font-weight:var(--weight-bold);text-align:center}.planning-day{min-height:104px;display:grid;align-content:start;gap:4px;padding:8px;border:1px solid #dce4ee;border-radius:12px;background:#fff}.planning-day.other{background:transparent;border-color:transparent}.planning-day.weekend{background:#f8fafc}.planning-day.today{border-color:#315efba6;box-shadow:0 0 0 2px #315efb1a}.planning-day-task,.planning-day-more{display:block;padding:4px 6px;border-radius:8px;background:#eef4ff;color:#2f55d8;font-size:var(--font-size-xs);font-weight:var(--weight-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planning-day-task.review{background:#fff7ed;color:var(--warning)}.planning-day-task.status-new{background:#eaf2ff;color:#2f55d8}.planning-day-task.status-in_progress{background:#e7f8ee;color:#087a58}.planning-day-task.status-done{background:#eef1f5;color:#4f5b6b}.planning-day-task.priority-high{border:1px solid rgba(220,38,38,.25)}.planning-day-task.priority-critical{border:1px solid rgba(159,18,57,.3)}.planning-day-task.risk-low{outline:1px solid rgba(217,119,6,.3)}.planning-day-task.risk-medium{outline:1px solid rgba(220,38,38,.3)}.planning-day-task.risk-high{outline:1px solid rgba(159,18,57,.35)}.planning-day-task.risk-critical{outline:1px solid rgba(159,18,57,.45)}.planning-day-task.review{background:#f3e8ff;color:#7c3aed}.planning-day-task.overdue{background:#fff1f2;color:var(--danger)}.planning-day-more{background:#f1f5f9;color:var(--muted)}.settings-layout{min-width:0;display:grid;grid-template-columns:minmax(260px,420px) minmax(0,1fr);gap:16px;align-items:start}.settings-layout.admin-settings{grid-template-columns:minmax(240px,310px) minmax(0,1fr)}.settings-sidebar{display:grid;gap:8px;padding:10px;border:1px solid var(--border);border-radius:20px;background:var(--surface);box-shadow:var(--shadow)}.settings-sidebar button{width:100%;min-width:0;display:grid;justify-content:stretch;justify-items:start;gap:3px;padding:12px;text-align:left;white-space:normal;box-shadow:none}.settings-sidebar button span,.settings-sidebar button strong,.settings-sidebar button small{justify-self:start;text-align:left}.settings-sidebar button span,.settings-sidebar button small{color:var(--muted);font-size:12px}.settings-sidebar button.active{border-color:#315efb73;background:#f1f5ff;color:var(--accent)}.settings-content-stack{min-width:0;display:grid;gap:16px}.settings-detail{display:grid;gap:16px}.settings-grid{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-self:start}.settings-card{width:100%;min-width:0;display:grid;justify-content:stretch;justify-items:start;gap:6px;padding:14px;text-align:left;white-space:normal}.settings-card strong,.settings-card span{justify-self:start;text-align:left}.settings-card strong,.settings-card span{min-width:0;overflow-wrap:anywhere}.settings-card span{color:var(--muted);font-size:var(--font-size-sm)}.settings-card.active{border-color:#315efb73;background:#f1f5ff;color:var(--accent)}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.panel-head h2{margin:0}.settings-form{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:12px}.settings-form h3,.settings-form .warning-box,.settings-form .wide-label,.settings-form .form-actions{grid-column:1 / -1}.settings-form label{display:grid;gap:6px;color:var(--muted);font-size:var(--font-size-sm);font-weight:var(--weight-bold)}.settings-form .ui-textarea{min-height:220px}.panel-inline{padding:16px;border:1px solid var(--border);border-radius:18px;background:#f8fbff}.provider-list{display:grid;gap:12px}.provider-card{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:15px;border:1px solid var(--border);border-radius:16px;background:#fbfdff}.provider-card>div:first-child{min-width:0}.provider-card p{margin:6px 0 0;color:var(--muted);line-height:1.45;overflow-wrap:anywhere}.prompt-preview{max-height:110px;overflow:hidden;white-space:pre-wrap}.form-actions{display:flex;justify-content:flex-end;gap:8px}.project-card,.doc-card{min-width:0;display:grid;justify-items:start;align-content:start;gap:12px;padding:16px;overflow-wrap:anywhere}.entity-meeting-card{position:relative;z-index:0;margin-bottom:5px}.entity-meeting-card:before{background:#7dd3fc}.entity-meeting-card.overdue:before{background:var(--danger)}.project-card>*,.doc-card>*{justify-self:start;text-align:left}.project-card .metrics,.doc-card .metrics{justify-self:stretch}.module-card .warning-box{font-size:13px;font-weight:650}.project-workspace{min-width:0;display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:16px;align-items:start}.project-rail{display:grid;gap:8px;padding:10px;border:1px solid var(--border);border-radius:20px;background:var(--surface);box-shadow:var(--shadow)}.project-rail button{width:100%;min-width:0;display:grid;justify-content:stretch;justify-items:start;gap:5px;padding:13px;text-align:left;white-space:normal;box-shadow:none}.project-rail button strong,.project-rail button span{justify-self:start;text-align:left}.project-rail button span{color:var(--muted);font-size:12px}.project-rail button.active{border-color:#315efb73;background:#f1f5ff;color:var(--accent)}.project-main{min-width:0;display:grid;gap:16px}.project-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px;border:1px solid var(--border);border-radius:22px;background:linear-gradient(135deg,#fff,#f3f6ff);box-shadow:var(--shadow)}.project-hero h2{margin:8px 0 5px;font-size:clamp(24px,3vw,34px);letter-spacing:-.03em}.project-hero p{margin:0;color:var(--muted)}.project-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.project-tabs article{min-width:0;display:grid;align-content:start;gap:8px;padding:15px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.project-tabs p{margin:0;color:var(--muted);line-height:1.45}.cost-settings-grid{min-width:0;display:grid;grid-template-columns:minmax(320px,1fr) minmax(320px,1fr);gap:14px;margin-top:16px}.rate-card{min-width:0;display:grid;align-content:start;gap:12px;padding:16px;border:1px solid var(--border);border-radius:18px;background:#f8fbff}.rate-card:last-child{grid-column:1 / -1}.rate-card h3{margin:0}.rate-list,.team-rate-table{display:grid;gap:10px}.rate-list article,.team-rate-table article{min-width:0;display:grid;gap:10px;padding:12px;border:1px solid #dce4ee;border-radius:14px;background:#fff}.rate-list article{grid-template-columns:minmax(180px,1fr) minmax(120px,.7fr) minmax(150px,.8fr);align-items:end}.team-rate-table article{grid-template-columns:minmax(180px,1fr) minmax(180px,.8fr) minmax(120px,.55fr);align-items:center}.rate-list span,.team-rate-table span{display:block;color:var(--muted);font-size:12px}.form-grid{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid label{display:grid;gap:6px;color:var(--muted);font-size:var(--font-size-sm);font-weight:var(--weight-bold);line-height:var(--line-body)}.form-grid .wide-label{grid-column:1 / -1}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:grid;place-items:center;padding:24px;background:#0f172a5c}.modal{width:min(680px,100%);max-height:calc(100vh - 48px);overflow:auto;display:grid;gap:16px;padding:18px;border:1px solid var(--border);border-radius:22px;background:var(--surface);box-shadow:0 24px 80px #0f172a38}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.modal-header h3{margin:6px 0 0}.roadmap-node-modal{width:min(760px,100%)}.rate-list label{display:grid;gap:6px;color:var(--muted);font-size:var(--font-size-sm);font-weight:var(--weight-bold)}.entity-preview{cursor:pointer}.entity-preview:focus-visible{outline:3px solid rgba(49,94,251,.28);outline-offset:3px}.entity-id,.entity-kind{padding:5px 9px;border:1px solid rgba(49,94,251,.12);background:#eaf2ff;color:#2f55d8;font-size:11px}.metrics{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.metrics button{min-height:36px;padding:8px 12px}.warning-box{padding:13px 16px;border:1px solid rgba(217,119,6,.3);border-radius:16px;background:#fff8ec;color:#92400e;font-weight:var(--weight-semibold)}.calendar-page{gap:16px}.calendar-toolbar{display:grid;grid-template-columns:minmax(210px,auto) minmax(180px,1fr) minmax(180px,1fr) auto;gap:10px;align-items:center}.calendar-legend{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;color:var(--muted);font-size:var(--font-size-sm);font-weight:var(--weight-bold)}.calendar-legend span{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface)}.calendar-legend span:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--active)}.calendar-legend .meeting-dot:before{background:var(--accent)}.calendar-legend .work-dot:before{background:var(--active)}.calendar-legend .overdue-dot:before{background:var(--danger)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:8px;color:var(--muted);font-size:var(--font-size-sm);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.04em}.calendar-weekdays span{padding:0 10px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:8px;overflow-x:auto;padding-bottom:6px}.day{height:230px;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);align-content:start;gap:6px;padding:9px;border:1px solid var(--border);border-radius:14px;background:var(--surface);overflow:hidden}.day.other{background:#f8fbff;opacity:.56}.day.today{outline:3px solid rgba(49,94,251,.18);border-color:#315efb73;background:#f1f5ff}.day-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.day-head span{color:var(--muted);font-size:var(--font-size-sm);font-weight:var(--weight-bold)}.day-events{min-height:0;max-height:100%;display:flex;flex-direction:column;gap:6px;overflow:hidden;padding-right:3px}.day-events.scrollable{overflow-y:auto;overscroll-behavior:contain}.day-events::-webkit-scrollbar{width:6px}.day-events::-webkit-scrollbar-thumb{border-radius:999px;background:#c6d2e4}.day-empty{margin-top:4px;color:#9aa8ba;font-size:var(--font-size-sm);font-weight:var(--weight-semibold)}.day button{min-height:auto;justify-content:flex-start;white-space:normal;padding:8px 10px;font-size:var(--font-size-sm);text-align:left}.calendar-event{width:100%;display:grid;justify-items:start;gap:3px;border-left:4px solid var(--active);background:#f8fbff}.calendar-event.meeting{border-left-color:var(--accent);background:#f1f5ff}.calendar-event.work{border-left-color:var(--active);background:#f0fdf4}.calendar-event.overdue{border-left-color:var(--danger);background:#fff1f2}.calendar-event.task.status-new{border-left-color:#2f55d8}.calendar-event.task.status-in_progress{border-left-color:#087a58}.calendar-event.task.status-done{border-left-color:#4f5b6b;opacity:.65}.calendar-event.task.status-done span{opacity:.65}.calendar-event.task.priority-high{border-left-color:#c43434}.calendar-event.task.priority-critical{border-left-color:#9f1239}.calendar-event.task.risk-high{background:#feecec}.calendar-event.task.risk-critical{background:#fde8ea}.calendar-event.task.review{background:#f3e8ff}.calendar-event.task.overdue{border-left-color:var(--danger);background:#fff1f2}.calendar-event span,.calendar-event small{color:var(--muted);font-size:var(--font-size-xs)}.calendar-event.work span{color:#005f46}.calendar-event.overdue span{color:var(--danger)}.calendar-event small{overflow-wrap:anywhere}.tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.tabs button{padding:15px}.documents-page{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.documents-layout{flex:1 1 auto;min-width:0;min-height:0;display:grid;align-items:stretch}.documents-top-tabs{min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.documents-top-tabs button{min-height:34px;padding:7px 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--muted);box-shadow:none;white-space:nowrap;cursor:pointer}.documents-top-tabs button:hover{border-color:#315efb59;background:#f8fbff;color:var(--text)}.documents-top-tabs button.active{border-color:#315efb8c;background:#f1f5ff;color:var(--accent)}.documents-side{min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.documents-side button{width:100%;min-width:0;display:grid;justify-items:start;gap:2px;padding:10px 12px;border:1px solid var(--border);border-radius:14px;background:var(--surface);text-align:left;white-space:normal;box-shadow:none;cursor:pointer}.documents-side button:hover{border-color:#315efb59;background:#f8fbff}.documents-side button.active{border-color:#315efb8c;background:#f1f5ff}.documents-side button strong{font-size:14px}.documents-side button span{color:var(--muted);font-size:var(--font-size-xs);line-height:1.25}.documents-content{min-width:0;min-height:0;display:grid;align-content:start}.documents-header-controls{min-width:0;display:grid;grid-template-columns:minmax(220px,1fr) max-content max-content;align-items:center;gap:8px}.documents-search{width:100%}.documents-project-select{width:220px}.documents-access-select{width:180px}.documents-header-controls .ui-input,.documents-header-controls .ui-select-native,.documents-header-controls .ui-select-trigger{min-height:36px;padding:7px 10px}.doc-project-missing{color:var(--danger);font-weight:var(--weight-semibold)}.doc-registry{display:grid;gap:8px}.doc-card.active{border-color:var(--accent);background:#f1f5ff}.doc-card-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px;width:100%}.doc-card-info{min-width:0;flex:1 1 320px;display:grid;gap:4px}.doc-card-title{font-size:var(--font-size-base);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px;color:var(--muted);font-size:var(--font-size-sm)}.doc-card-sep{color:var(--border)}.doc-card-tasks{margin-top:4px}.doc-card-tasks small{color:var(--muted);font-size:var(--font-size-xs)}.doc-viewer-page{display:grid;gap:14px}.doc-viewer-header{display:flex;align-items:center;gap:14px;padding:10px 14px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.doc-viewer-header strong{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-reader-layout{min-width:0;min-height:0;height:100%;display:grid;grid-template-columns:280px minmax(480px,1fr) 320px;gap:0;align-items:stretch;border:1px solid var(--border);border-radius:18px;background:var(--surface);overflow:hidden}.doc-reader-sidebar{min-width:0;min-height:0;border-right:1px solid var(--border);background:#f8fbff;overflow:hidden}.doc-reader-center{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.doc-reader-right{min-width:0;min-height:0;border-left:1px solid var(--border);background:#f8fbff;overflow:hidden}.doc-sidebar-inner{display:grid;grid-template-rows:auto auto minmax(0,1fr);height:100%;overflow:hidden}.doc-sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 14px 8px}.doc-sidebar-header strong{font-size:var(--font-size-base);font-weight:var(--weight-semibold)}.doc-sidebar-count{color:var(--muted);font-size:var(--font-size-sm);font-weight:var(--weight-bold)}.doc-sidebar-controls{display:grid;gap:6px;padding:0 14px 10px}.doc-sidebar-search{width:100%}.doc-sidebar-list{min-height:0;overflow-y:auto;display:grid;align-content:start;gap:4px;padding:0 10px 10px}.doc-sidebar-item{width:100%;min-width:0;display:grid;justify-content:stretch;justify-items:start;gap:2px;padding:10px 12px;border:1px solid transparent;border-radius:10px;background:transparent;text-align:left;white-space:normal;box-shadow:none;cursor:pointer}.doc-sidebar-item:hover{border-color:#315efb40;background:#315efb0f}.doc-sidebar-item.active{border-color:#315efb73;background:#f1f5ff}.doc-sidebar-item strong{font-size:var(--font-size-md);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.doc-sidebar-item span{color:var(--muted);font-size:var(--font-size-xs);line-height:1.25}.doc-reader-inner{display:grid;grid-template-rows:auto minmax(0,1fr);height:100%;overflow:hidden}.doc-reader-toolbar{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--surface)}.doc-reader-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-base);font-weight:var(--weight-semibold)}.doc-reader-content{min-height:0;overflow:auto;padding:16px;background:#eef2f7}.doc-reader-content .doc-reader-page{min-height:0;max-width:820px;width:100%;margin:0 auto;padding:32px 40px;border:1px solid #e5e7eb;border-radius:4px;background:#fff;color:#111827;font-family:Georgia,Times New Roman,serif;font-size:15px;line-height:1.7}.doc-reader-content .doc-reader-page p{margin:0 0 1em;white-space:pre-wrap}.doc-ai-panel{height:100%;overflow:hidden}.doc-ai-panel-inner{display:grid;align-content:start;gap:12px;height:100%;overflow-y:auto;padding:14px}.doc-ai-section{display:grid;gap:8px}.doc-ai-section-title{font-size:var(--font-size-base);font-weight:var(--weight-semibold)}.doc-ai-doc-name{color:var(--muted);font-size:var(--font-size-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-ai-buttons{display:grid;gap:6px}.doc-ai-buttons button{width:100%;justify-content:center;min-height:36px;padding:7px 10px;font-size:var(--font-size-md)}.doc-ai-history-item{padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.doc-ai-history-item summary{cursor:pointer}.doc-ai-history-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.doc-ai-history-meta strong{font-size:var(--font-size-md)}.doc-ai-history-meta small{color:var(--muted);font-size:var(--font-size-xs)}.doc-ai-history-summary{margin:6px 0 0;color:var(--muted);font-size:var(--font-size-sm);line-height:1.4}.doc-ai-history-item{width:100%;min-height:0;display:grid;justify-items:start;gap:4px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface);text-align:left;white-space:normal;box-shadow:none;cursor:pointer}.doc-ai-history-item:hover{border-color:#315efb59;background:#f8fbff}.doc-ai-history-item.active{border-color:var(--accent);background:#f1f5ff}.doc-ai-history-item p{margin:0;color:var(--muted);font-size:var(--font-size-sm);line-height:1.4}.doc-ai-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.doc-ai-doc-tag{color:var(--muted);font-size:var(--font-size-xs);font-weight:var(--weight-medium);padding:2px 6px;border:1px solid var(--border);border-radius:999px;background:#f0f4f9}.doc-ai-history-delete{display:inline-block;margin-top:4px;color:var(--danger);font-size:var(--font-size-xs);cursor:pointer;text-decoration:underline}.doc-ai-history-delete:hover{opacity:.8}.doc-analysis-detail{display:grid;gap:14px;max-width:820px;width:100%;margin:0 auto}.doc-analysis-section{padding:16px 20px;border:1px solid #e5e7eb;border-radius:12px;background:#fff}.doc-analysis-section header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:10px}.doc-analysis-section header strong{font-size:var(--font-size-lg);font-weight:var(--weight-semibold)}.doc-analysis-section header small{color:var(--muted);font-size:var(--font-size-sm)}.doc-analysis-section p{margin:0;line-height:1.55;white-space:pre-wrap}.doc-analysis-list{display:grid;gap:6px;list-style:none;margin:0;padding:0}.doc-analysis-list li{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid #eef2f7;border-radius:8px;background:#f8fbff;line-height:1.45}.doc-priority{display:inline-block;flex-shrink:0;padding:2px 7px;border-radius:999px;font-size:var(--font-size-xs);font-weight:var(--weight-bold)}.doc-priority.high{background:#feecec;color:#c43434}.doc-priority.medium{background:#fff4d9;color:#a86405}.doc-priority.low{background:#e7f8ee;color:#087a58}.doc-severity{display:inline-block;flex-shrink:0;padding:2px 7px;border-radius:999px;font-size:var(--font-size-xs);font-weight:var(--weight-bold)}.doc-severity.high{background:#fde8ea;color:#9f1239}.doc-severity.medium{background:#feecec;color:#c43434}.doc-severity.low{background:#fff4d9;color:#a86405}.doc-candidate-list{display:grid;gap:8px}.doc-candidate-row{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.doc-candidate-row.selected{border-color:#315efb73;background:#f1f5ff}.doc-candidate-check{margin-top:3px}.doc-candidate-info{min-width:0;display:grid;gap:6px}.doc-candidate-heading{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.doc-candidate-title{min-width:0;color:var(--text);font-size:var(--font-size-md);font-weight:var(--weight-bold);line-height:1.35;cursor:pointer}.doc-candidate-desc{margin:0;color:var(--muted);font-size:var(--font-size-sm);line-height:1.4}.doc-candidate-overrides{display:grid;grid-template-columns:minmax(220px,1fr) minmax(150px,220px);gap:8px;margin-top:4px}.doc-candidate-overrides label{display:grid;gap:4px;color:var(--muted);font-size:var(--font-size-xs);font-weight:var(--weight-bold)}.doc-candidate-overrides .ui-input,.doc-candidate-overrides .ui-select-native,.doc-candidate-overrides .ui-select-trigger{min-height:32px;padding:5px 8px;font-size:var(--font-size-md)}.doc-candidate-footer{display:flex;justify-content:flex-end;padding-top:4px}.doc-analysis-debug{padding:10px;border:1px solid var(--border);border-radius:10px;background:#f8fbff}.doc-analysis-debug summary{cursor:pointer;color:var(--muted);font-size:var(--font-size-sm);font-weight:var(--weight-semibold)}.roadmap-layout{min-width:0;display:grid;gap:0;align-items:start}.roadmap-top-panel{min-width:0;display:grid;grid-template-columns:minmax(160px,1fr) minmax(0,auto) auto;align-items:center;gap:10px;padding:6px 10px;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:0 6px 18px #0f172a0d}.roadmap-top-summary{min-width:0;display:flex;align-items:center}.roadmap-top-summary span{overflow:hidden;color:var(--muted);font-size:var(--font-size-sm);text-overflow:ellipsis;white-space:nowrap}.roadmap-notice.warning{color:#92400e;font-weight:var(--weight-semibold)}.roadmap-top-controls{min-width:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.roadmap-version-select{min-width:260px;width:min(420px,32vw)}.roadmap-save-status{padding:6px 9px;font-size:13px;color:var(--muted);background:#315efb0f;border-radius:10px}.roadmap-save-status.compact{border:0;white-space:nowrap}.roadmap-save-status.warning{color:#92400e;background:#fff8ec}.roadmap-main{min-width:0}.doc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.analysis-list{display:grid;gap:12px;justify-items:start}.doc-workspace{position:relative;min-height:0;height:100%;display:grid;gap:12px;margin-top:0}.doc-object-head{display:flex;justify-content:space-between;gap:16px;padding:16px;border:1px solid var(--border);border-radius:18px;background:linear-gradient(135deg,#fff,#315efb14)}.doc-object-head h3{max-width:100%;margin:4px 0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:20px;line-height:1.25}.doc-object-head p{margin:0;color:var(--muted);line-height:1.5}.doc-object-tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:8px}.kanban-tag{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:5px 8px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--muted);font-size:11px}.kanban-tag strong{color:var(--text)}.doc-head-actions{display:flex;align-items:flex-start;gap:8px}.doc-editor-shell{min-height:0;border:1px solid var(--border);border-radius:18px;overflow:hidden;background:#eef2f7;box-shadow:0 18px 46px #0f172a29}.doc-editor-topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border-bottom:1px solid #d7dce6;background:#f8fafc;color:#111827}.doc-editor-topbar div{display:grid;gap:2px}.doc-editor-topbar span{color:#667085;font-size:12px}.doc-reader-page{min-height:0;height:calc(100vh - 260px);overflow:auto;margin:0 auto;max-width:900px;width:min(900px,100%);padding:42px 54px;border:1px solid #e5e7eb;border-radius:4px;background:#fff;color:#111827;box-shadow:0 10px 30px #0f172a1a;font-family:Georgia,Times New Roman,serif;font-size:15px;line-height:1.7}.doc-reader-page p{margin:0 0 1em;white-space:pre-wrap}.roadmap{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:22px;background:var(--surface);box-shadow:var(--shadow)}.roadmap-toolbar{display:flex;justify-content:space-between;gap:14px;padding:16px;border-bottom:1px solid var(--border);background:linear-gradient(90deg,#315efb1c,#04785714)}.roadmap-toolbar span{display:block;color:var(--muted)}.canvas{position:relative;height:540px;min-width:960px;overflow:auto;background-image:radial-gradient(#d7dfef 1px,transparent 1px);background-size:24px 24px}.road-node{position:absolute;width:220px;display:grid;gap:8px;padding:14px;border:1px solid rgba(49,94,251,.4);border-radius:16px;background:#fff;box-shadow:var(--shadow)}.road-node span{color:var(--accent);font-size:11px;font-weight:950;text-transform:uppercase}.road-node.risk{border-color:#dc262673}.road-node.milestone{border-color:#d9770673}.link{position:relative;z-index:0;margin:8px;padding:4px 8px;border:1px solid rgba(49,94,251,.12);background:#315efb14;color:var(--muted)}.diagnostics{position:absolute;right:16px;bottom:16px;width:min(320px,calc(100% - 32px));padding:14px;border:1px solid rgba(217,119,6,.35);border-radius:16px;background:#fffffff0;box-shadow:var(--shadow)}.doc-workbench{min-width:0;min-height:0;display:grid;grid-template-columns:minmax(260px,320px) minmax(620px,1fr);gap:14px;align-items:stretch}.doc-workbench-side,.doc-workbench-main,.doc-workbench-actions{min-width:0;min-height:0}.doc-workbench-main{display:grid;grid-template-rows:auto minmax(0,1fr);gap:8px;align-content:start}.doc-workbench-main>.panel{align-self:start}.doc-library-controls{display:grid;gap:10px;margin-bottom:12px}.doc-library-list{display:grid;gap:6px;max-height:calc(100vh - 260px);overflow-y:auto;padding-right:4px}.doc-library-item{width:100%;min-width:0;display:grid;justify-content:stretch;justify-items:start;gap:4px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface);text-align:left;white-space:normal;box-shadow:none;cursor:pointer}.doc-library-item:hover{border-color:#315efb59;background:#f8fbff;box-shadow:none}.doc-library-item.active{border-color:#315efb8c;background:#f1f5ff}.doc-library-item strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.doc-library-item span{color:var(--muted);font-size:var(--font-size-sm)}.doc-library-item small{color:var(--muted);font-size:var(--font-size-xs)}.doc-card-actions{display:flex;flex-wrap:wrap;gap:8px}.doc-upload-panel{border:1px solid var(--border);border-radius:18px;background:var(--surface-2);padding:18px}.doc-upload-form{display:grid;gap:12px}.doc-upload-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.doc-upload-header strong{font-size:16px}.doc-ai-compact{min-width:0;display:grid;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:14px;background:#ffffffeb;box-shadow:0 8px 24px #0f172a0f}.doc-ai-toolbar{min-width:0;display:grid;grid-template-columns:minmax(160px,240px) auto minmax(260px,1fr);gap:10px;align-items:center}.doc-ai-title{min-width:0;display:grid;gap:2px}.doc-ai-title strong{line-height:1.1}.doc-ai-title span{min-width:0;overflow:hidden;color:var(--muted);font-size:var(--font-size-xs);text-overflow:ellipsis;white-space:nowrap}.doc-ask-row{display:flex;gap:8px;align-items:center}.doc-ask-row .ui-input,.doc-ask-row input{flex:1;min-width:0}.doc-ai-answer{padding:10px;border:1px solid var(--border);border-radius:12px;background:var(--surface);display:grid;gap:8px}.doc-ai-answer summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer}.doc-ai-answer summary small{color:var(--muted);font-size:var(--font-size-xs)}.doc-ai-answer-scroll{max-height:min(220px,24vh);overflow-y:auto;display:grid;gap:8px;padding-right:4px}.doc-ai-answer p{margin:0;white-space:pre-wrap}.doc-analysis-summary-list{display:grid;gap:6px}.doc-analysis-summary-list ul{margin:0;padding-left:18px}.doc-analysis-summary-list li{margin-bottom:4px;line-height:1.45}.doc-workbench-main .doc-ai-answer .analysis-raw-result{max-height:220px}.doc-workbench-main .analysis-debug .analysis-raw-result{max-height:160px}.doc-object-head-info{min-width:0}.analysis-stats{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.analysis-doc-select{display:grid;gap:10px;margin-bottom:14px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}.analysis-select-all{border-bottom:1px solid var(--border);padding-bottom:8px}.analysis-doc-check-list{display:grid;gap:6px;max-height:200px;overflow-y:auto}.analysis-actions-row{display:flex;flex-wrap:wrap;gap:8px;padding-top:8px;border-top:1px solid var(--border)}.analysis-ask-details{margin-bottom:12px}.analysis-ask-details summary{cursor:pointer}.analysis-ask-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;align-items:center}.analysis-ask-row .ui-select,.analysis-ask-row select{min-width:200px;width:auto}.analysis-ask-row .ui-input,.analysis-ask-row input{flex:1;min-width:200px}.analysis-answer{padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface);display:grid;gap:8px;margin-bottom:12px}.analysis-answer p{margin:0;white-space:pre-wrap}.analysis-history-head{margin-bottom:10px}.analysis-card-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer}.analysis-card-docs{margin-left:8px;opacity:.7}.analysis-expand-icon{margin-left:8px}.analysis-card-summary{margin-top:8px}.analysis-card-body{margin-top:12px;display:grid;gap:12px}.analysis-card-body section h4{margin:0 0 6px;font-size:13px;color:var(--muted)}.analysis-card-body ul{margin:0;padding-left:18px}.analysis-card-body li{margin-bottom:4px}.analysis-raw-result{max-height:320px;overflow:auto;margin:0;padding:12px;border:1px solid var(--border);border-radius:12px;background:#0f172a;color:#e2e8f0;font-size:12px;white-space:pre-wrap}.analysis-task-due{margin-left:8px;opacity:.7}.analysis-task-desc{margin:4px 0 0;font-size:.9em;opacity:.8}.analysis-card-footer{margin-top:8px}.analysis-requirements-head{margin:16px 0 10px}.requirement-list{display:grid;gap:8px;list-style:none;padding:0}.requirement-item{display:grid;gap:4px}.requirement-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.requirement-linked{margin-top:4px;font-size:.9em;opacity:.7;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.roadmap-hint{margin:0 0 8px;color:var(--muted);font-size:var(--font-size-sm)}.roadmap-select-bar{margin-bottom:8px}.roadmap-fallback{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}.roadmap-fallback p{margin:0;color:var(--muted)}.roadmap-canvas-toolbar-compact{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:1px solid var(--border);background:#f8fbff}.roadmap-node-palette{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.roadmap-node-palette button{min-height:32px;padding:6px 10px;border-radius:999px;font-size:var(--font-size-sm)}.mail-layout{min-width:0;display:grid;grid-template-columns:180px minmax(260px,320px) minmax(0,1fr);min-height:560px;border:1px solid var(--border);border-radius:22px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow)}.mail-layout aside,.mail-layout section,.mail-layout article{min-width:0;padding:14px;border-right:1px solid var(--border)}.mail-layout aside{display:grid;align-content:start;gap:8px;background:#f8fbff}.mail-layout section{display:grid;align-content:start;gap:8px}.mail-layout article{border-right:0}.mail{min-width:0;display:grid;justify-items:start;gap:4px;padding:12px;text-align:left;white-space:normal}.mail strong,.mail span,.mail-layout article p{min-width:0;overflow-wrap:anywhere}.mail span{color:var(--muted);font-size:var(--font-size-sm)}.reply-box{display:grid;gap:10px;margin-top:18px}.mail-placeholder{grid-column:span 2}.roadmap-workspace{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:20px;background:var(--surface);box-shadow:0 22px 55px var(--shadow)}.clean-roadmap-workspace{margin-top:0}.roadmap-flow-shell{position:relative;height:min(72vh,760px);min-height:590px}.roadmap-node{position:relative;width:230px;min-height:108px;display:grid;gap:8px;padding:15px;border:1px solid var(--node-color, rgba(49, 94, 251, .45));border-radius:16px;background:#f8fbff;box-shadow:0 16px 34px var(--shadow)}.roadmap-node.selected{outline:3px solid rgba(49,94,251,.2)}.roadmap-node-edit{position:absolute;top:8px;right:8px;z-index:20;width:30px;min-width:30px;min-height:30px;padding:0;border-radius:999px;background:#fff;color:var(--accent);box-shadow:0 8px 20px #0f172a1f;pointer-events:auto}.roadmap-node-edit:hover{background:#eef4ff;box-shadow:0 10px 24px #315efb2e}.roadmap-node-meeting{--node-color: rgba(37, 99, 235, .6)}.roadmap-node-milestone{--node-color: rgba(234, 88, 12, .62)}.roadmap-node-control{--node-color: rgba(147, 51, 234, .62)}.roadmap-node-risk{--node-color: rgba(220, 38, 38, .62)}.roadmap-node-task{--node-color: rgba(4, 120, 87, .62)}.roadmap-node-phase{--node-color: rgba(49, 94, 251, .62)}.roadmap-node span{width:-moz-max-content;width:max-content;padding:4px 8px;border-radius:999px;background:#315efb1f;color:var(--accent);font-size:var(--font-size-xs);font-weight:var(--weight-bold);text-transform:uppercase}.roadmap-node strong{font-size:15px;line-height:1.3}.roadmap-node-dates{display:flex;flex-wrap:wrap;gap:7px}.roadmap-node em{color:var(--success);font-size:var(--font-size-sm);font-style:normal;font-weight:var(--weight-bold)}.roadmap-node small{color:var(--muted);font-size:var(--font-size-xs);font-weight:var(--weight-bold)}.roadmap-flow-canvas{position:relative;width:100%;height:100%}.roadmap-edge-delete{position:absolute;z-index:9;width:30px;min-width:30px;height:30px;min-height:30px;padding:0;transform:translate(-50%,-50%);border:1px solid rgba(220,38,38,.4);border-radius:999px;background:#fff;color:var(--danger);font-size:15px;line-height:1;box-shadow:0 8px 20px #0f172a2e;cursor:pointer}.roadmap-edge-delete:hover{background:#fef2f2;box-shadow:0 10px 24px #dc262638}.roadmap-edge-delete:disabled{opacity:.6;cursor:progress}.roadmap-edge.selected{z-index:5}.roadmap-edge.selected .react-flow__edge-path{stroke:var(--danger);stroke-width:4}.roadmap-node-editor-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;display:grid;place-items:center;padding:22px;background:#0f172a5c}.roadmap-node-editor{width:min(720px,calc(100vw - 44px));display:grid;gap:14px;padding:18px;border:1px solid var(--border);border-radius:20px;background:var(--surface);box-shadow:var(--shadow)}.roadmap-node-editor header,.roadmap-node-editor footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.roadmap-node-editor h3{margin:8px 0 0;font-size:var(--font-size-xl);line-height:var(--line-title)}.roadmap-node-editor label{display:grid;gap:6px;color:var(--muted);font-size:var(--font-size-sm);font-weight:var(--weight-bold)}.roadmap-node-editor textarea.ui-input{min-height:170px;resize:vertical}.roadmap-node-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.roadmap-handle{width:12px;height:12px;border:2px solid #fff;background:var(--accent)}.roadmap-handle.target{opacity:.55}.roadmap-local-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);margin-bottom:12px}.roadmap-local-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto}.analysis-candidate-controls{padding:8px 0;border-bottom:1px solid var(--border);margin-bottom:8px}.analysis-candidate-list{display:grid;gap:6px;max-height:360px;overflow-y:auto;margin-bottom:12px}.analysis-candidate-row{padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.analysis-candidate-row.selected{border-color:#315efb73;background:#f1f5ff}.analysis-candidate-row .check-row{align-items:start}.analysis-candidate-info{min-width:0;display:grid;gap:4px}.analysis-candidate-overrides{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.analysis-candidate-overrides .ui-input{width:auto;min-width:160px;flex:1}.react-flow__edge-path{stroke-width:2.5}.react-flow__edge.selected .react-flow__edge-path{stroke:var(--danger);stroke-width:3.5}.react-flow__edge-textbg{fill:#ffffffeb;stroke:#94a3b873}.react-flow__edge-text{fill:#334155;font-size:11px;font-weight:900}.roadmap-type-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px}.roadmap-canvas-info-item .badge{margin:0}.roadmap-canvas-info{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--surface-2);font-size:var(--font-size-sm)}.roadmap-canvas-info-item{display:flex;align-items:center;gap:4px}.roadmap-edge-legend{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-left:6px;color:var(--muted);font-size:var(--font-size-xs);font-weight:var(--weight-bold)}.roadmap-edge-legend span{display:inline-flex;align-items:center;gap:4px}.roadmap-edge-legend i{width:18px;height:3px;border-radius:999px}.roadmap-link-summary{display:grid;gap:8px;max-height:250px;overflow:auto;border-top:1px solid var(--border);padding:12px 16px;background:#f8fbff}.roadmap-link-summary>strong{color:var(--muted);font-size:var(--font-size-sm)}.roadmap-link-summary-list{display:grid;gap:6px}.roadmap-link-summary-row{display:grid;grid-template-columns:minmax(210px,.8fr) auto minmax(260px,1.2fr);align-items:start;gap:8px;padding:8px 10px;border:1px solid rgba(203,213,225,.8);border-radius:12px;background:var(--surface)}.roadmap-link-source{font-weight:var(--weight-bold);line-height:1.3}.roadmap-link-arrow{color:var(--accent);font-weight:900}.roadmap-link-targets{display:flex;flex-wrap:wrap;gap:6px}.roadmap-link-target{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border:1px solid var(--border);border-radius:999px;background:#fff;font-size:var(--font-size-xs);line-height:1.25}.roadmap-link-target b{font-size:10px}.roadmap-canvas-diagnostics{border-top:1px solid var(--border);padding:10px 16px;background:var(--surface-2)}.roadmap-canvas-diagnostics strong{display:block;margin-bottom:6px;font-size:var(--font-size-sm);color:var(--muted)}.roadmap-canvas-diagnostics-list{display:grid;gap:4px}.element-preview-flow-shell{position:relative;min-height:260px;height:260px;overflow:hidden;background:radial-gradient(#d7dfef 1px,transparent 1px);background-size:22px 22px}.element-preview-flow-shell.compact{display:grid;place-items:center;min-height:170px;height:170px;color:var(--muted);font-weight:var(--weight-bold)}.element-preview-flow-node-b{position:absolute;right:36px;bottom:34px}.element-preview-flow-edge{position:absolute;left:225px;top:142px;width:180px;height:3px;transform:rotate(18deg);transform-origin:left center;border-radius:999px;background:var(--accent);opacity:.65}.element-preview-minimap,.element-preview-controls{position:absolute;right:14px;border:1px solid var(--border);border-radius:10px;background:#ffffffe0;color:var(--muted);font-size:var(--font-size-xs);font-weight:var(--weight-bold)}.element-preview-minimap{bottom:12px;padding:18px 22px}.element-preview-controls{top:12px;padding:7px 9px}.element-preview-static-node{position:relative;width:min(230px,100%)}.element-preview-handles{display:grid;place-items:center;min-height:170px}.element-preview-handles .roadmap-handle{position:absolute}.element-preview-handles .top{top:-7px;left:calc(50% - 6px)}.element-preview-handles .right{right:-7px;top:calc(50% - 6px)}.element-preview-handles .bottom{bottom:-7px;left:calc(50% - 6px)}.element-preview-handles .left{left:-7px;top:calc(50% - 6px)}.element-preview-roadmap-toolbar{border:1px solid var(--border);border-radius:16px}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:252px;z-index:40;display:flex;justify-content:flex-start;background:#0f172a52}.drawer{width:min(1480px,calc(100vw - 252px));max-width:calc(100vw - 252px);height:100vh;min-width:0;display:grid;grid-template-rows:auto auto 1fr auto;background:#f1f5f9;box-shadow:22px 0 55px #0f172a29;overflow:hidden}.drawer header,.drawer footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-bottom:1px solid var(--border)}.drawer footer{border-top:1px solid var(--border);border-bottom:0;background:#f8fbff}.drawer-body{min-width:0;display:grid;gap:16px;overflow-x:hidden;overflow-y:auto;padding:18px 20px}.entity-drawer header h2{margin:5px 0 0;font-size:24px;line-height:1.12}.crm-card-header{background:#f8fbff}.crm-header-actions{display:flex;gap:8px;align-items:center}.crm-stage-line{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:8px;padding:10px 18px;border-bottom:1px solid var(--border);background:#f8fbff;overflow-x:auto}.crm-stage-line span{min-height:32px;display:flex;align-items:center;padding:7px 10px;border:1px solid transparent;border-radius:8px;background:#e3e8f0;color:#59677a;font-size:var(--font-size-sm);font-weight:var(--weight-semibold);white-space:nowrap;overflow:hidden}.crm-stage-line span:after{content:none}.crm-stage-line span.active{background:var(--accent);color:#fff}.crm-stage-line span.active~span{background:#e4e9f1}.crm-card-body{grid-template-columns:minmax(720px,1.22fr) minmax(420px,.78fr);gap:0;min-height:0;overflow:hidden;padding:0}.meeting-card .crm-card-body{grid-template-columns:minmax(640px,1fr) minmax(520px,.95fr)}.crm-fields-column,.crm-activity-column{min-width:0;min-height:0;display:grid;align-content:start;gap:0;overflow-y:auto;overflow-x:hidden}.crm-fields-column .panel,.crm-activity-column .panel{min-width:0;border-radius:0;box-shadow:none}.crm-fields-column{padding:0;background:#f7faff}.crm-fields-column .panel{padding:0 0 18px;border:0;border-bottom:1px solid #dbe5f0;border-radius:0;background:transparent}.crm-fields-column .panel:last-child{border-bottom:0}.crm-fields-column .panel h2,.crm-activity-column .panel h2{margin-bottom:10px;color:#667386;font-size:11px;font-weight:950;letter-spacing:.035em;text-transform:uppercase}.crm-activity-column{gap:14px;padding:16px;border-left:1px solid var(--border);background:#eef3f9}.task-side-card{min-width:0;display:grid;gap:12px;padding:18px;border:1px solid #dce4ee;border-radius:18px;background:var(--surface);box-shadow:0 10px 28px #0f172a0f}.task-side-card h3{margin:0;font-size:var(--font-size-lg);line-height:var(--line-title);font-weight:var(--weight-bold)}.task-context-card{gap:10px}.task-context-badges{display:flex;flex-wrap:wrap;gap:8px}.task-context-badges .badge{margin:0}.crm-activity-composer{display:grid;gap:14px;padding:18px;border:1px solid #dce4ee;border-radius:18px;background:var(--surface);box-shadow:0 10px 28px #0f172a0f}.crm-activity-tabs{display:flex;gap:20px;border-bottom:1px solid var(--border);overflow-x:auto}.crm-activity-tabs button{min-height:38px;padding:7px 0;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--muted);box-shadow:none}.crm-activity-tabs button:hover{border-color:transparent;box-shadow:none;color:var(--text)}.crm-activity-tabs button.active{border-bottom-color:var(--accent);background:transparent;color:var(--accent)}.crm-activity-composer .ui-textarea{min-height:72px}.activity-form{display:grid;gap:12px;padding-top:4px}.activity-form strong{font-size:16px}.activity-form .primary{justify-self:start}.crm-activity-column .panel{padding:20px;border:0;border-bottom:1px solid var(--border);background:var(--surface)}.crm-activity-column .panel:last-child{border-bottom:0}.task-overview{display:grid}.overview-section{padding:28px 24px;border-bottom:1px solid #dbe5f0}.overview-section:last-child{border-bottom:0}.overview-section h3,.additional-details summary{margin:0 0 16px;color:#667386;font-size:11px;font-weight:950;letter-spacing:.035em;text-transform:uppercase}.task-description{margin:0 0 20px;line-height:1.6}.roadmap-node-drawer .info-grid{margin-bottom:14px}.roadmap-node-drawer .crm-activity-tabs button:disabled{opacity:.55;cursor:not-allowed}.detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px;margin:0}.detail-list div{min-width:0}.detail-list dt,.detail-label{color:var(--muted);font-size:var(--font-size-sm)}.detail-list dd{margin:4px 0 0;font-weight:var(--weight-semibold);overflow-wrap:anywhere}.meeting-overview .overview-section{padding:24px}.meeting-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.meeting-form-grid label{display:grid;gap:7px;color:var(--muted);font-size:var(--font-size-sm);font-weight:var(--weight-bold)}.meeting-form-grid .wide-label{grid-column:1 / -1}.meeting-form-grid .ui-textarea{min-height:120px}.meeting-user-picker{display:grid;gap:12px}.meeting-user-picker .user-picker{padding:14px;border:1px solid #dce4ee;border-radius:14px;background:#fff}.meeting-user-picker .user-picker-menu{width:min(420px,100%)}.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.section-title-row h3{margin:0}.protocol-section{border-color:var(--border)}.protocol-section.missing{border-color:#dc262673;background:#fff7f7}.protocol-upload{display:grid;gap:10px;margin-top:12px;padding:14px;border:1px dashed #d5dfeb;border-radius:14px;background:#fff}.protocol-section.missing .protocol-upload{border-color:#dc262680;background:#fff1f2}.protocol-upload label{display:grid;gap:8px;color:var(--muted);font-size:var(--font-size-sm);font-weight:var(--weight-bold)}.protocol-upload p{margin:0;color:var(--danger);font-weight:var(--weight-semibold)}.selected-file{color:var(--active);font-weight:850}.meeting-participants{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.meeting-participants article{min-width:0;display:grid;gap:4px;padding:12px;border:1px solid #dce4ee;border-radius:14px;background:#fff}.meeting-participants span{color:var(--muted);font-size:var(--font-size-sm)}.user-role{display:grid;gap:9px;padding:18px 0;border-bottom:1px solid #dbe5f0}.user-role:first-of-type{padding-top:0}.user-roles-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.user-roles-grid .user-role{border-bottom:0}.user-picker{position:relative}.user-picker-selected{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.selected-user{gap:5px;padding:5px 7px 5px 10px;border:1px solid rgba(49,94,251,.12);background:#eaf2ff;color:#2f55d8}.selected-user button,.add-user-button{min-height:26px;padding:3px 6px;border:0;border-radius:999px;background:transparent;color:inherit;box-shadow:none}.selected-user button{min-width:18px;padding:0 2px;color:#6b7fb8;font-size:15px;font-weight:400;line-height:1}.selected-user button:hover{background:#315efb1f;box-shadow:none}.add-user-button{border:1px dashed #aebdce;color:#52657e}.add-user-button:hover{border-color:var(--accent);background:#f1f5ff;box-shadow:none}.user-picker-menu{position:absolute;z-index:5;top:calc(100% + 8px);left:0;width:min(320px,100%);padding:8px;border:1px solid var(--border);border-radius:12px;background:#fff;box-shadow:0 12px 28px #0f172a24}.user-picker-menu input{min-height:36px;padding:8px 10px}.user-picker-menu>div{display:grid;max-height:180px;margin-top:6px;overflow-y:auto}.user-option{min-height:0;display:grid;justify-content:start;gap:2px;padding:9px 8px;border:0;border-radius:7px;text-align:left;box-shadow:none}.user-option:hover{background:#f1f5f9;box-shadow:none}.user-option span{color:var(--muted);font-size:12px;font-weight:500}.user-picker-menu .muted{margin:10px 4px 3px;font-size:13px}.event-feed{display:grid;gap:12px;padding-top:2px}.event-date{color:var(--muted);font-size:var(--font-size-sm);font-weight:var(--weight-semibold)}.event-list{display:grid;gap:0}.event-item{position:relative;display:grid;grid-template-columns:12px minmax(0,1fr);gap:10px;padding:0 0 14px}.event-item:not(:last-child):before{content:"";position:absolute;top:8px;bottom:0;left:3px;width:1px;background:#dbe5f0}.event-marker{position:relative;z-index:1;justify-self:center;width:7px;height:7px;margin-top:5px;border-radius:50%;background:#8da1ba}.event-content{display:grid;gap:2px}.event-meta{display:flex;align-items:baseline;gap:7px}.event-meta span{color:var(--muted);font-size:var(--font-size-sm)}.event-item p{margin:0;color:var(--muted);line-height:1.4}.participant-list{align-items:center;margin-top:14px}.participant-list .detail-label{margin-right:4px}.overview-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.overview-actions button{min-height:36px;padding:7px 10px;font-size:13px}.additional-details summary{display:block;margin:0;cursor:pointer;list-style:none}.additional-details summary::-webkit-details-marker{display:none}.additional-details summary:after{content:"Показать";float:right;color:var(--accent);font-size:12px;font-weight:750;letter-spacing:0;text-transform:none}.additional-details[open] summary{margin-bottom:16px}.additional-details[open] summary:after{content:"Скрыть"}.execution-plan{display:grid;gap:14px;margin-top:18px;padding-top:18px;border-top:1px solid #dbe5f0}.execution-plan.inline{margin:4px 0 18px;padding:14px;border:1px solid #dce4ee;border-radius:16px;background:#f8fbff}.execution-plan h4{margin:0 0 5px;font-size:16px}.execution-plan p{margin:0;line-height:1.5}.execution-plan-list{display:grid;gap:10px}.execution-plan-row{min-width:0;display:grid;grid-template-columns:minmax(130px,1fr) 68px repeat(2,minmax(158px,1fr)) auto;gap:8px;align-items:end;padding:12px;border:1px solid #dce4ee;border-radius:14px;background:#fff}.execution-plan-user{display:grid;justify-items:start;gap:7px}.execution-plan-row label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:500}.execution-plan-row .ui-input,.execution-plan-row .ui-select-native{min-width:0}.execution-plan-row button{min-height:36px;padding:7px 10px;font-size:13px}.pm-context{margin:16px 0 0;padding-top:16px;border-top:1px solid #dbe5f0;color:var(--muted);line-height:1.5}.info-grid{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.info-grid span,.info-grid label{display:grid;gap:6px;padding:11px 12px;border:1px solid #dce4ee;border-radius:10px;background:#fff;color:var(--muted)}.info-grid strong{color:var(--text)}.participant-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.allocation-editor{min-width:0;display:grid;gap:12px}.allocation-form-row{min-width:0;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1.35fr) minmax(96px,.9fr);gap:10px;align-items:end;padding:14px;border:1px solid #dce4ee;border-radius:12px;background:#fbfcfe}.allocation-form-row label{display:grid;gap:6px;color:var(--muted);font-size:var(--font-size-sm);font-weight:var(--weight-bold)}.allocation-form-row label:first-child{grid-column:span 2}.allocation-form-row label:nth-child(2){grid-column:3}.allocation-form-row label:nth-child(3){grid-column:1}.allocation-form-row label:nth-child(4){grid-column:2}.allocation-form-row label:nth-child(5){grid-column:3}.allocation-form-row label:nth-child(6){grid-column:1 / span 2}.allocation-form-row button{grid-column:3;min-height:44px}.muted{color:var(--muted)}.context-box{padding:13px 14px;border:1px solid rgba(49,94,251,.2);border-radius:12px;background:#f3f6ff;color:#25335f;line-height:1.5}.action-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.action-row>.danger-button:first-child{border-color:#dc262659;background:#fff5f5;color:var(--danger)}.task-more-actions{position:relative}.task-more-actions summary{width:40px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--muted);cursor:pointer;font-size:var(--font-size-lg);font-weight:var(--weight-bold);line-height:1;list-style:none}.task-more-actions summary::-webkit-details-marker{display:none}.task-more-actions summary:hover{border-color:#315efb59;color:var(--text);box-shadow:0 8px 22px #315efb14}.task-more-actions div{position:absolute;left:0;bottom:calc(100% + 8px);z-index:10;min-width:180px;display:grid;gap:6px;padding:8px;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}.task-more-actions div button{width:100%;justify-content:flex-start;box-shadow:none}.task-more-actions div .danger-button{border-color:transparent;background:transparent;color:var(--danger)}.task-more-actions div .danger-button:hover{border-color:#dc262638;background:#fff5f5;box-shadow:none}.comment-panel{display:grid;gap:16px}.comment-panel-header{display:flex;justify-content:space-between;align-items:center}.comment-panel-header h3{margin:0;font-size:16px}.comment-panel-header span,.comment-composer>div span,.comment-meta span{color:var(--muted);font-size:var(--font-size-sm)}.comment-composer{display:grid;gap:8px;padding:12px;border:1px solid var(--border);border-radius:12px;background:#f8fbff}.comment-composer .ui-textarea{min-height:96px}.comment-composer>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.comment-composer button{min-height:36px;padding:7px 12px}.comment-composer button:disabled{border-color:var(--border);background:#e7edf5;color:#8a96a8;cursor:not-allowed}.comment-list{display:grid;gap:0}.comment-item{display:grid;gap:8px;padding:14px 0;border-bottom:1px solid var(--border)}.comment-item:first-child{border-top:1px solid var(--border)}.comment-item p{margin:0;line-height:1.5}.comment-meta{display:flex;align-items:baseline;gap:8px}.comment-actions{display:flex;gap:4px}.comment-actions button{min-height:30px;padding:5px 7px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:var(--font-size-sm);box-shadow:none}.comment-actions button:hover{background:#f1f5f9;color:var(--text);box-shadow:none}.comment-actions .text-danger{color:var(--danger)}.source-badge{display:inline-block;font-size:var(--font-size-xs);padding:1px 6px;border-radius:4px;font-weight:var(--weight-medium)}.source-badge.source-email{background:#e8f4fd;color:#0369a1}.source-badge.source-ai{background:#f3e8ff;color:#7c3aed}.source-badge.source-system{background:#e8f0fe;color:#475569}.comment-item.source-email{border-left:3px solid #0369a1;padding-left:11px}.comment-item.source-ai{border-left:3px solid #7c3aed;padding-left:11px}.comment-item.source-system{border-left:3px solid #475569;padding-left:11px}.entity-config-grid{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}.entity-config-card{min-width:0;display:grid;gap:10px;padding:16px;border:1px solid var(--border);border-radius:18px;background:#f8fbff}.entity-config-card h3{margin:0 0 4px}.task-workflow-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0}.task-side-card>.task-effort-panel,.task-side-card>.task-document-panel,.task-side-card>.task-inline-panel{margin:0}.task-inline-panel{display:grid;gap:10px;font-size:var(--font-size-md);background:transparent;border-radius:0;padding:0;margin:0}.task-inline-panel strong{display:block;margin:0}.task-inline-panel label{display:block;margin-bottom:.15rem;color:var(--muted);font-size:var(--font-size-sm);font-weight:var(--weight-bold)}.task-inline-panel .ui-input,.task-inline-panel .ui-textarea,.task-inline-panel .ui-select-native{width:100%}.task-inline-panel .field-group{margin-top:.25rem}.task-inline-panel .field-error{color:var(--danger);margin-top:.25rem}.task-inline-panel .field-success{color:var(--active);margin-top:.25rem}.task-inline-panel .panel-actions{display:flex;gap:8px;margin-top:.25rem}.task-inline-panel .panel-actions button{min-height:34px;padding:7px 10px;font-size:var(--font-size-md)}.task-inline-panel .hint-text{margin-top:.25rem;opacity:.6}.task-actions,.task-document-panel{display:grid;gap:12px;margin:0}.task-document-panel .doc-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0}.task-document-panel .doc-header strong{font-size:var(--font-size-lg);line-height:var(--line-title)}.task-document-upload-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,1fr);gap:12px;align-items:stretch}.task-document-dropzone{display:grid;gap:4px;padding:14px;border:1px dashed #b8c6d8;border-radius:14px;background:#f8fbff;color:var(--muted);cursor:pointer;text-align:center}.task-document-dropzone.drag-over{border-color:var(--accent);background:#eef4ff;color:var(--accent)}.task-document-dropzone input{display:none}.task-document-dropzone span{color:var(--text);font-weight:var(--weight-semibold)}.task-document-dropzone small{color:var(--muted);line-height:var(--line-body)}.task-document-access-option{display:grid;grid-template-columns:auto 1fr;gap:4px 8px;align-content:center;padding:12px;border:1px solid var(--border);border-radius:14px;background:#fff;color:var(--text)}.task-document-access-option input{margin-top:2px}.task-document-access-option span{font-weight:var(--weight-semibold)}.task-document-access-option small{grid-column:2;color:var(--muted);line-height:var(--line-body)}.task-document-panel .doc-item{padding:.2rem 0;display:flex;justify-content:space-between;gap:.5rem;font-size:.8rem}.task-document-panel .doc-item .doc-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-document-panel .doc-item .doc-date{opacity:.6;white-space:nowrap}.task-document-panel .doc-more{opacity:.6;margin-top:.15rem;font-size:.8rem}.task-effort-panel{margin:0}.task-effort-panel .doc-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-btn{min-height:34px;padding:7px 10px;font-size:var(--font-size-md)}.compact-list{margin:.15rem 0 0 1rem;padding:0}.history-row{padding:.2rem 0;border-top:1px solid var(--border);font-size:.8rem}.history-row:first-child{border-top:none}.clickable-summary{cursor:pointer}.field-create-card,.field-list-card,.field-visibility-card{min-width:0;display:grid;gap:12px;padding:16px;border:1px solid var(--border);border-radius:18px;background:#f8fbff}.field-create-card h3,.field-list-card h3,.field-visibility-card h3{margin:0}.field-create-form{display:grid;gap:10px}.field-create-form label{display:grid;gap:6px;color:var(--muted);font-size:var(--font-size-sm);font-weight:var(--weight-bold)}.custom-field-list{display:grid;gap:8px;max-height:430px;overflow-y:auto;padding-right:2px}.custom-field{width:100%;min-width:0;display:grid;justify-content:stretch;justify-items:start;gap:4px;padding:12px;text-align:left;white-space:normal;box-shadow:none}.custom-field span,.custom-field small{color:var(--muted);font-size:var(--font-size-sm)}.custom-field code{padding:3px 7px;border:1px solid rgba(49,94,251,.12);background:#eaf2ff;color:#2f55d8}.custom-field.active{border-color:#315efb73;background:#f1f5ff}.field-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px;border:1px solid #dce4ee;border-radius:14px;background:#fff}.field-summary strong{display:block;margin-top:6px}.field-summary p{margin:4px 0 0;color:var(--muted)}.visibility-grid{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.visibility-grid>div{min-width:0;display:grid;align-content:start;gap:9px;padding:12px;border:1px solid #dce4ee;border-radius:14px;background:#fff}.visibility-grid h4{margin:0 0 4px}.check-row{min-width:0;display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;justify-content:start;gap:10px;color:var(--text);font-weight:750;overflow-wrap:anywhere}.check-row input{width:18px;min-width:18px;min-height:18px;height:18px;margin:0}.elements-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.elements-layout{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(420px,1.15fr);gap:16px;align-items:start}.element-catalog{display:grid;gap:16px}.element-demo{display:grid;gap:12px;padding:16px;border:1px solid #dce4ee;border-radius:18px;background:#f8fbff}.element-demo>span{color:var(--muted);font-size:var(--font-size-sm);font-weight:var(--weight-bold)}.element-demo .user-picker{padding:12px;border:1px solid var(--border);border-radius:14px;background:#fff}.element-demo-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--muted)}.element-rules{display:grid;gap:10px}.element-rules div{display:grid;gap:4px;padding:13px;border:1px solid #dce4ee;border-radius:14px;background:#fff}.element-rules span{color:var(--muted);line-height:1.45}.type-page-title{margin:0;font-family:var(--font-display);font-size:var(--font-size-page-title);line-height:var(--line-tight);font-weight:var(--weight-bold);letter-spacing:-.03em}.type-section-title{margin:0;font-family:var(--font-display);font-size:var(--font-size-xl);line-height:var(--line-title);font-weight:var(--weight-bold);letter-spacing:-.02em}.type-body{margin:0;font-size:var(--font-size-base);line-height:var(--line-body);font-weight:var(--weight-regular)}.type-meta{margin:0;color:var(--muted);font-size:var(--font-size-sm);line-height:var(--line-body);font-weight:var(--weight-medium)}.type-control{margin:0;font-size:var(--font-size-md);line-height:1.35;font-weight:var(--weight-semibold)}.typography-scale{min-width:0;display:grid;gap:8px}.typography-row{min-width:0;display:grid;grid-template-columns:118px minmax(0,1fr);align-items:center;gap:12px;padding:10px;border:1px solid #dce4ee;border-radius:12px;background:#fff}.typography-row>div{min-width:0;display:grid;gap:2px}.typography-row strong{color:var(--text);font-size:var(--font-size-sm);font-weight:var(--weight-bold)}.typography-row span{color:var(--muted);font-size:var(--font-size-xs);font-weight:var(--weight-medium)}.element-registry{display:grid;gap:10px}.element-registry.full{grid-template-columns:repeat(2,minmax(0,1fr))}.element-registry article{display:grid;align-content:start;gap:7px;padding:14px;border:1px solid #dce4ee;border-radius:16px;background:#fff}.element-preview{min-width:0;min-height:118px;display:grid;align-content:center;gap:8px;padding:12px;border:1px dashed #c9d5e7;border-radius:14px;background:#f8fbff;overflow:hidden}.element-preview .kpi{min-height:86px;box-shadow:none}.element-preview .project-card,.element-preview .task-card,.element-preview .table-card{box-shadow:none}.element-preview .toolbar{grid-template-columns:minmax(0,1fr) minmax(90px,.5fr) auto;padding:10px;box-shadow:none}.element-preview .tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.element-preview .day{width:160px;min-height:108px}.element-preview .mail{width:100%}.element-preview .comment-composer textarea{min-height:54px}.element-preview .visibility-grid,.element-preview .info-grid,.element-preview .detail-list{grid-template-columns:repeat(2,minmax(0,1fr))}.element-preview-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.element-preview-stack{display:grid;gap:8px;align-content:start}.element-preview-panel{display:grid;gap:4px;padding:14px;border:1px solid var(--border);border-radius:16px;background:#fff}.element-preview-panel span,.element-preview-placeholder{color:var(--muted)}.element-preview-rate,.element-preview-allocation{display:grid;gap:4px;padding:12px;border:1px solid #dce4ee;border-radius:14px;background:#fff}.element-preview-rate span,.element-preview-allocation span,.element-preview-allocation small{color:var(--muted)}.element-preview-table{max-width:100%;overflow:hidden}.element-preview-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.element-preview-cards .project-card{padding:12px}.element-preview-kanban{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.element-preview-kanban section{display:grid;gap:8px;padding:10px;border:1px solid var(--border);border-radius:14px;background:var(--content-muted)}.element-preview-kanban article{padding:8px;border-radius:10px;background:var(--content-raised)}.element-preview-roadmap{position:relative;min-height:120px;border-radius:14px;background-image:radial-gradient(#d7dfef 1px,transparent 1px);background-size:18px 18px;overflow:hidden}.element-preview-roadmap .road-node{position:static;width:180px;margin:10px;box-shadow:none}.element-preview-sidebar.sidebar{position:static;width:220px;height:auto;gap:10px;padding:12px 10px;border:1px solid var(--border);border-radius:16px;background:#ffffffeb;box-shadow:none;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.element-preview-sidebar .brand{padding:2px 8px 10px}.element-preview-sidebar .brand span{font-size:16px}.element-preview-sidebar nav{gap:8px;overflow:visible;padding-right:0}.element-preview-sidebar .nav-group>span{padding:6px 8px 2px;font-size:9px}.element-preview-sidebar nav button{min-height:34px;padding:8px 10px}.element-preview-topbar,.element-preview-title{min-width:0;padding:12px;border:1px solid var(--border);border-radius:14px;background:#fff;box-shadow:none}.element-preview-title h1{font-size:18px}.element-preview-shell{display:grid;grid-template-columns:82px minmax(0,1fr);min-height:90px;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:#fff}.element-preview-shell aside,.element-preview-shell main{display:grid;place-items:center;padding:10px;color:var(--muted)}.element-preview-shell aside{border-right:1px solid var(--border);background:#f8fbff}.element-preview-drawer{display:grid;gap:10px;padding:12px;border:1px solid var(--border);border-radius:14px;background:#fff}.element-preview-drawer header{display:grid;gap:4px}.element-preview-drawer>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.element-preview-drawer>div span{padding:10px;border-radius:10px;background:#f1f5f9;color:var(--muted);text-align:center}.element-preview-toast{justify-self:start;padding:10px 14px;border-radius:999px;background:#111827;color:#fff;box-shadow:var(--shadow)}.element-registry-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.element-registry strong{color:var(--accent)}.element-registry span{color:var(--muted);font-size:var(--font-size-sm);font-weight:var(--weight-bold)}.element-registry p{margin:0;line-height:1.45}.design-token-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.design-token-swatch{display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px;align-items:center;padding:8px;border:1px solid var(--border);border-radius:12px;background:#fff}.design-token-swatch i{width:34px;height:34px;border:1px solid var(--border);border-radius:10px}.design-token-swatch strong,.design-token-swatch span{display:block}.elements-search{width:100%;min-height:42px;padding:8px 14px;border:1px solid var(--border);border-radius:12px;background:#fff;font-size:14px;box-sizing:border-box}.elements-search:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #315efb1f}.chat-fab{position:fixed;right:22px;bottom:22px;z-index:30;width:56px;height:56px;border-radius:50%;background:var(--accent);color:#fff;box-shadow:var(--shadow)}.chat-panel{position:fixed;right:22px;bottom:90px;z-index:45;width:min(920px,calc(100vw - 40px));height:min(680px,calc(100vh - 112px));display:grid;grid-template-columns:260px minmax(0,1fr);grid-template-rows:auto 1fr;overflow:hidden;border:1px solid var(--border);border-radius:22px;background:var(--surface);box-shadow:0 24px 80px #0f172a2e}.chat-panel--history-collapsed{grid-template-columns:0 minmax(0,1fr)}.chat-header{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;min-height:58px;padding:10px 14px;border-bottom:1px solid var(--border);background:#fffffff0}.chat-title-group,.chat-header-actions,.chat-main-actions{display:flex;align-items:center;gap:8px}.chat-title-group div{display:grid;gap:2px}.chat-title-group span{color:var(--muted);font-size:var(--font-size-sm)}.chat-icon-btn{width:34px;height:34px;min-height:34px;padding:0;border:0;border-radius:10px;background:transparent;color:var(--muted);box-shadow:none;font-size:18px}.chat-icon-btn:hover{background:#f1f5f9;color:var(--text);box-shadow:none}.chat-sidebar{min-height:0;display:flex;flex-direction:column;gap:10px;padding:14px;border-right:1px solid var(--border);background:#f8fafc;overflow:hidden}.chat-panel--history-collapsed .chat-sidebar{padding:0;border-right:0;visibility:hidden}.chat-sidebar-head{display:flex;justify-content:space-between;align-items:center;gap:8px;color:var(--muted);font-size:var(--font-size-sm);font-weight:var(--weight-semibold)}.chat-sidebar-head button,.chat-main-actions button{min-height:30px;padding:5px 9px;border-radius:9px;box-shadow:none;font-size:var(--font-size-sm)}.chat-list{min-height:0;display:flex;flex-direction:column;gap:6px;overflow-y:auto;padding-right:2px}.chat-list-item{width:100%;min-height:54px;display:grid;gap:3px;justify-content:stretch;padding:9px 10px;border:1px solid transparent;border-radius:13px;background:transparent;color:var(--text);text-align:left;box-shadow:none}.chat-list-item span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:var(--weight-semibold)}.chat-list-item small{color:var(--muted);font-size:11px}.chat-list-item.active{border-color:#315efb47;background:#eef4ff;color:var(--accent)}.chat-list-item:hover{background:#f1f5f9;box-shadow:none}.chat-main{min-height:0;display:grid;grid-template-rows:auto auto 1fr auto;overflow:hidden;background:#fff}.chat-main-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px 10px}.chat-main-head p{margin:4px 0 0;color:var(--muted);font-size:var(--font-size-sm)}.chat-context{margin:0 16px 10px;padding:10px 12px;border-radius:13px;background:#f8fbff;color:var(--muted);font-size:var(--font-size-sm)}.chat-messages{min-height:0;display:flex;flex-direction:column;gap:10px;overflow-y:auto;padding:12px 16px 18px}.chat-bubble{display:grid;gap:5px;padding:11px 13px;border-radius:16px;max-width:min(78%,560px)}.chat-bubble.user{align-self:flex-end;background:#eaf2ff;border-top-right-radius:7px}.chat-bubble.assistant{align-self:flex-start;background:#f3f4f6;border-top-left-radius:7px}.chat-bubble strong{font-size:12px;color:var(--muted)}.chat-bubble p{margin:0;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.chat-input-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;padding:12px 16px;border-top:1px solid var(--border);background:#fff}.chat-input-row .ui-input{min-height:44px}.chat-input-row button{min-height:44px;width:46px;padding:0;border-radius:14px;font-size:18px}.chat-loading,.chat-welcome,.chat-empty{margin:12px 16px;padding:18px;border-radius:15px;background:#f8fafc;color:var(--muted);text-align:center;font-size:var(--font-size-md)}.chat-welcome{align-self:start;display:grid;gap:10px;justify-items:center;color:var(--text)}.chat-welcome span{color:var(--muted)}@media(max-width:760px){.chat-panel{left:12px;right:12px;bottom:82px;width:auto;grid-template-columns:1fr}.chat-sidebar{display:none}.chat-main-head{flex-direction:column}}.tasks-page.has-bulk-bar{padding-bottom:120px}.bulk-action-bar{position:absolute;bottom:0;left:0;right:0;height:120px;display:flex;align-items:center;padding:0 24px;border-top:1px solid var(--border);background:var(--surface);box-shadow:0 -8px 24px #0f172a14;z-index:10}.bulk-action-inner{display:flex;flex-wrap:wrap;align-items:center;gap:12px;width:100%}.bulk-count{white-space:nowrap;font-weight:var(--weight-bold);color:var(--text);font-size:var(--font-size-md)}.bulk-target-wrap{min-width:200px}.bulk-deselect{min-height:36px;padding:6px 10px;border:0;background:transparent;color:var(--muted);box-shadow:none;cursor:pointer;font-size:var(--font-size-md)}.bulk-deselect:hover{color:var(--text);box-shadow:none}.task-card-head{display:flex;align-items:flex-start;gap:8px;width:100%}.task-card-head input[type=checkbox]{margin-top:2px;flex:0 0 18px}.task-card-head strong{cursor:pointer;min-width:0}tr.selected-row td{background:#f1f5ff}.bubble{padding:12px;border-radius:16px;background:#f1f5ff}.bubble.fallback{background:#fff8ec;color:#92400e}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%);z-index:60;padding:12px 16px;border-radius:999px;background:#111827;color:#fff;box-shadow:var(--shadow)}@media(max-width:1180px){.topbar{grid-template-columns:minmax(190px,220px) minmax(0,1fr);gap:12px 16px}.topbar-search,.top-actions{grid-column:2 / -1}.topbar-search .planning-filter{grid-template-columns:minmax(260px,1fr) max-content}.topbar-search .planning-filter>.segmented{grid-column:1 / -1}.documents-header-controls{grid-template-columns:minmax(260px,1fr) max-content}.documents-access-select{grid-column:1 / -1;width:100%}.stats-grid,.cards-grid,.planning-load-grid,.planning-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-layout,.settings-layout.admin-settings,.workspace-grid,.project-workspace,.cost-settings-grid{grid-template-columns:1fr}.stats-grid.compact-stats,.elements-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.mail-layout,.project-tabs,.field-builder,.elements-layout,.element-registry.full{grid-template-columns:1fr}.mail-layout aside,.mail-layout section,.mail-layout article{border-right:0;border-bottom:1px solid var(--border)}.toolbar{grid-template-columns:1fr 1fr}.planning-filter{grid-template-columns:1fr}.crm-card-body,.meeting-card .crm-card-body{grid-template-columns:1fr;overflow-y:auto}.rate-card:last-child{grid-column:auto}.crm-fields-column,.crm-activity-column{overflow:visible}.crm-activity-column{padding-left:0;border-left:0}.crm-activity-column .panel:before{display:none}.execution-plan-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.nav-group>span{padding-top:12px}main{padding:14px}.topbar{grid-template-columns:minmax(0,1fr) auto;gap:12px}.topbar-title,.topbar-search,.top-actions{grid-column:1 / -1}.page-title,.roadmap-toolbar{flex-direction:column;align-items:stretch}.documents-header-controls{grid-template-columns:1fr}.documents-project-select,.documents-access-select{width:100%}.stats-grid,.stats-grid.compact-stats,.elements-summary,.cards-grid,.planning-load-grid,.planning-summary,.settings-grid,.doc-grid,.tabs,.info-grid,.entity-config-grid,.project-tabs,.visibility-grid,.meeting-participants,.rate-list article,.team-rate-table article{grid-template-columns:1fr}.documents-layout,.roadmap-layout{grid-template-columns:1fr}.documents-side,.roadmap-rail{position:static}.documents-side{grid-template-columns:repeat(3,minmax(0,1fr))}.project-hero{flex-direction:column}.calendar-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}.calendar-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.calendar-toolbar>.segmented{flex:0 0 auto}.calendar-toolbar>select{flex:1 1 180px;min-width:0}.calendar-toolbar>.calendar-legend{flex:1 0 100%;justify-content:flex-start}.kanban{grid-template-columns:repeat(4,260px)}.toolbar{grid-template-columns:1fr}.drawer-backdrop{left:0}.drawer{width:100vw;max-width:100vw}.crm-stage-line{grid-template-columns:repeat(5,minmax(140px,1fr))}.crm-card-body{padding:12px}.allocation-form-row,.execution-plan-row{grid-template-columns:1fr}.allocation-form-row label,.allocation-form-row label:first-child,.allocation-form-row label:nth-child(2),.allocation-form-row label:nth-child(3),.allocation-form-row label:nth-child(4),.allocation-form-row label:nth-child(5),.allocation-form-row label:nth-child(6),.allocation-form-row button{grid-column:auto}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.roadmap-editor-shell{border:1px solid var(--border);border-radius:0 0 20px 20px;overflow:hidden}.roadmap-editor-table-wrap{padding:10px;overflow-x:auto}.roadmap-editor-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:var(--font-size-sm)}.roadmap-editor-table th{text-align:left;padding:6px 8px;border-bottom:2px solid var(--border);font-weight:var(--weight-bold);font-size:var(--font-size-xs);text-transform:uppercase;color:var(--muted);white-space:nowrap}.roadmap-editor-table td{padding:5px 6px;border-bottom:1px solid var(--border);vertical-align:middle}.roadmap-editor-table .ui-input,.roadmap-editor-table .ui-select-native{width:100%;min-width:0}.roadmap-editor-table th:nth-child(1),.roadmap-editor-table td:nth-child(1){width:118px}.roadmap-editor-table th:nth-child(2),.roadmap-editor-table td:nth-child(2){width:28%}.roadmap-editor-table th:nth-child(3),.roadmap-editor-table td:nth-child(3),.roadmap-editor-table th:nth-child(4),.roadmap-editor-table td:nth-child(4){width:128px}.roadmap-editor-table th:nth-child(5),.roadmap-editor-table td:nth-child(5){width:86px}.roadmap-editor-table th:nth-child(6),.roadmap-editor-table td:nth-child(6){width:180px}.roadmap-editor-table th:nth-child(7),.roadmap-editor-table td:nth-child(7){width:128px}.roadmap-editor-table th:nth-child(8),.roadmap-editor-table td:nth-child(8){width:150px}.roadmap-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;white-space:nowrap}.roadmap-row-actions button{min-height:32px;padding:6px 9px}.roadmap-row-actions .danger-button{min-width:auto}.roadmap-issues-list{display:grid;gap:6px;padding:12px}.roadmap-issue{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface);font-size:var(--font-size-md)}.roadmap-issue-error{border-color:#dc262659;background:#fecaca26}.roadmap-issue-warning{border-color:#d9770659;background:#fef3c726}.roadmap-issue small{width:100%;color:var(--muted);font-size:var(--font-size-xs);margin-top:2px}
