@charset "UTF-8";:root{--ff-white: #ffffff;--ff-black: #000000;--ff-gray-0: #ffffff;--ff-gray-25: #fcfcfc;--ff-gray-50: #f8f8f7;--ff-gray-75: #f2f2f0;--ff-gray-100: #e9e9e6;--ff-gray-150: #dcdcd7;--ff-gray-200: #c9c9c1;--ff-gray-300: #afafa5;--ff-gray-400: #8d8d81;--ff-gray-500: #69695f;--ff-gray-600: #505048;--ff-gray-700: #3c3c36;--ff-gray-800: #272722;--ff-gray-900: #1b1b18;--ff-gray-950: #141412;--ff-gray-1000: #0f0f0d;--ff-alpha-black-04: rgba(15, 15, 13, .04);--ff-alpha-black-06: rgba(15, 15, 13, .06);--ff-alpha-black-08: rgba(15, 15, 13, .08);--ff-alpha-black-10: rgba(15, 15, 13, .1);--ff-alpha-black-12: rgba(15, 15, 13, .12);--ff-alpha-black-15: rgba(15, 15, 13, .15);--ff-alpha-black-20: rgba(15, 15, 13, .2);--ff-alpha-black-30: rgba(15, 15, 13, .3);--ff-alpha-black-40: rgba(15, 15, 13, .4);--ff-alpha-black-60: rgba(15, 15, 13, .6);--ff-alpha-white-04: rgba(255, 255, 255, .04);--ff-alpha-white-06: rgba(255, 255, 255, .06);--ff-alpha-white-08: rgba(255, 255, 255, .08);--ff-alpha-white-10: rgba(255, 255, 255, .1);--ff-alpha-white-12: rgba(255, 255, 255, .12);--ff-alpha-white-15: rgba(255, 255, 255, .15);--ff-alpha-white-20: rgba(255, 255, 255, .2);--ff-alpha-white-30: rgba(255, 255, 255, .3);--ff-alpha-white-40: rgba(255, 255, 255, .4);--ff-alpha-white-60: rgba(255, 255, 255, .6);--ff-blue-100: #e8f2ff;--ff-blue-200: #bad8ff;--ff-blue-300: #7db7ff;--ff-blue-400: #4176ff;--ff-blue-500: #2759db;--ff-blue-600: #1b3f9e;--ff-green-100: #e7f7ef;--ff-green-300: #71c795;--ff-green-400: #2b9b5f;--ff-green-500: #1e7748;--ff-yellow-100: #fff5de;--ff-yellow-300: #e1b354;--ff-yellow-400: #bb8121;--ff-yellow-500: #916112;--ff-red-100: #feeceb;--ff-red-300: #e48d85;--ff-red-400: #c55245;--ff-red-500: #9e3a2f;--ff-radius-4: 4px;--ff-radius-6: 6px;--ff-radius-pill: 999px;--ff-font-family-sans: "Inter", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--ff-font-family-mono: ui-monospace, "SFMono-Regular", "Menlo", "Monaco", "Consolas", "Liberation Mono", "Courier New", monospace;--ff-font-size-xs: 12px;--ff-font-size-sm: 14px;--ff-font-size-md: 16px;--ff-font-size-lg: 18px;--ff-shadow-1: 0 1px 2px rgba(15, 15, 13, .05), 0 8px 20px rgba(15, 15, 13, .04);--ff-shadow-2: 0 10px 28px rgba(15, 15, 13, .08), 0 3px 10px rgba(15, 15, 13, .05);--ff-shadow-3: 0 18px 48px rgba(15, 15, 13, .12), 0 6px 16px rgba(15, 15, 13, .08)}:root{--ff-color-surface-page: var(--ff-gray-25);--ff-color-surface-canvas: var(--ff-gray-25);--ff-color-surface-card: var(--ff-white);--ff-color-surface-group: rgba(65, 118, 255, .14);--ff-color-surface-group-active: rgba(65, 118, 255, .2);--ff-color-surface-muted: var(--ff-gray-50);--ff-color-surface-soft: var(--ff-gray-75);--ff-color-surface-accent-soft: rgba(65, 118, 255, .1);--ff-color-border-default: var(--ff-alpha-black-12);--ff-color-border-subtle: var(--ff-alpha-black-08);--ff-color-border-strong: var(--ff-alpha-black-20);--ff-color-border-accent: var(--ff-blue-500);--ff-color-text-primary: var(--ff-gray-800);--ff-color-text-secondary: var(--ff-gray-500);--ff-color-text-tertiary: var(--ff-gray-400);--ff-color-text-inverse: var(--ff-white);--ff-color-accent: var(--ff-blue-500);--ff-color-accent-strong: var(--ff-blue-600);--ff-color-success: var(--ff-green-400);--ff-color-warning: var(--ff-yellow-400);--ff-color-danger: var(--ff-red-400);--ff-color-disabled-surface: var(--ff-gray-100);--ff-color-disabled-border: var(--ff-alpha-black-10);--ff-color-disabled-text: var(--ff-gray-300);--ff-color-selection-fill: rgba(65, 118, 255, .12);--ff-color-selection-stroke: rgba(65, 118, 255, .28);--ff-color-grid: var(--ff-alpha-black-08);--ff-color-grid-strong: var(--ff-alpha-black-15);--ff-color-connector-connected: var(--ff-blue-500);--ff-color-connection: var(--ff-gray-600);--ff-color-connection-muted: var(--ff-gray-300);--ff-color-connection-hover: var(--ff-alpha-black-12);--ff-color-grouping-drop-target-border: var(--ff-gray-800);--ff-color-grouping-drop-target-border-active: var(--ff-gray-800);--ff-color-waypoint-fill: var(--ff-white);--ff-color-waypoint-stroke: var(--ff-blue-500);--ff-color-waypoint-candidate-fill: var(--ff-white);--ff-color-waypoint-candidate-stroke: var(--ff-green-400);--ff-color-minimap-surface: var(--ff-white);--ff-color-minimap-node: var(--ff-gray-700);--ff-color-minimap-view: rgba(65, 118, 255, .14);--ff-color-magnetic-line: var(--ff-blue-500);--ff-color-magnetic-rect-fill: rgba(65, 118, 255, .08);--ff-color-magnetic-rect-border: rgba(65, 118, 255, .24);--ff-radius-node: var(--ff-radius-4);--ff-radius-group: var(--ff-radius-4);--ff-radius-control: var(--ff-radius-4);--ff-radius-socket-square: var(--ff-radius-6);--ff-radius-pill: var(--ff-radius-pill);--ff-font-sans: var(--ff-font-family-sans);--ff-font-mono: var(--ff-font-family-mono);--ff-font-size-body: var(--ff-font-size-sm);--ff-font-size-label: var(--ff-font-size-xs);--ff-shadow-surface: var(--ff-shadow-1);--ff-shadow-floating: var(--ff-shadow-2)}.dark,[data-theme=dark]{--ff-color-surface-page: var(--ff-gray-1000);--ff-color-surface-canvas: var(--ff-gray-1000);--ff-color-surface-card: var(--ff-gray-950);--ff-color-surface-group: rgba(125, 183, 255, .18);--ff-color-surface-group-active: rgba(125, 183, 255, .24);--ff-color-surface-muted: var(--ff-gray-900);--ff-color-surface-soft: var(--ff-gray-900);--ff-color-surface-accent-soft: rgba(125, 183, 255, .14);--ff-color-border-default: var(--ff-alpha-white-12);--ff-color-border-subtle: var(--ff-alpha-white-08);--ff-color-border-strong: var(--ff-alpha-white-20);--ff-color-border-accent: var(--ff-blue-300);--ff-color-text-primary: var(--ff-gray-100);--ff-color-text-secondary: var(--ff-gray-300);--ff-color-text-tertiary: var(--ff-gray-400);--ff-color-text-inverse: var(--ff-gray-1000);--ff-color-accent: var(--ff-blue-300);--ff-color-accent-strong: var(--ff-blue-200);--ff-color-success: var(--ff-green-300);--ff-color-warning: var(--ff-yellow-300);--ff-color-danger: var(--ff-red-300);--ff-color-disabled-surface: var(--ff-gray-800);--ff-color-disabled-border: var(--ff-alpha-white-10);--ff-color-disabled-text: var(--ff-gray-500);--ff-color-selection-fill: rgba(125, 183, 255, .16);--ff-color-selection-stroke: rgba(125, 183, 255, .34);--ff-color-grid: var(--ff-alpha-white-08);--ff-color-grid-strong: var(--ff-alpha-white-15);--ff-color-connector-connected: var(--ff-blue-300);--ff-color-connection: var(--ff-gray-200);--ff-color-connection-muted: var(--ff-gray-500);--ff-color-connection-hover: var(--ff-alpha-white-12);--ff-color-grouping-drop-target-border: var(--ff-gray-100);--ff-color-grouping-drop-target-border-active: var(--ff-gray-100);--ff-color-waypoint-fill: var(--ff-gray-950);--ff-color-waypoint-stroke: var(--ff-blue-300);--ff-color-waypoint-candidate-fill: var(--ff-white);--ff-color-waypoint-candidate-stroke: var(--ff-green-300);--ff-color-minimap-surface: var(--ff-gray-950);--ff-color-minimap-node: var(--ff-gray-200);--ff-color-minimap-view: rgba(125, 183, 255, .18);--ff-color-magnetic-line: var(--ff-blue-300);--ff-color-magnetic-rect-fill: rgba(125, 183, 255, .1);--ff-color-magnetic-rect-border: rgba(125, 183, 255, .24);--ff-shadow-surface: 0 1px 2px rgba(0, 0, 0, .28), 0 8px 20px rgba(0, 0, 0, .14);--ff-shadow-floating: 0 14px 36px rgba(0, 0, 0, .26), 0 4px 12px rgba(0, 0, 0, .16)}:root{--ff-flow-background-color: var(--ff-color-surface-page);--ff-flow-text-color: var(--ff-color-text-primary);--ff-flow-font-family: var(--ff-font-sans);--ff-flow-font-size: var(--ff-font-size-body);--ff-canvas-background-color: var(--ff-color-surface-canvas);--ff-node-background-color: var(--ff-color-surface-card);--ff-node-background-color-inverse: var(--ff-color-text-primary);--ff-node-border-color: var(--ff-color-border-default);--ff-node-border-color-selected: var(--ff-color-border-accent);--ff-node-color: var(--ff-color-text-primary);--ff-node-border-radius: var(--ff-radius-node);--ff-node-shadow: var(--ff-shadow-surface);--ff-node-shadow-selected: var(--ff-shadow-floating);--ff-node-width: 120px;--ff-node-min-height: 56px;--ff-node-padding: 24px;--ff-group-background-color: var(--ff-color-surface-group);--ff-group-background-color-active: var(--ff-color-surface-group-active);--ff-group-border-color: var(--ff-color-border-subtle);--ff-group-border-color-selected: var(--ff-color-border-accent);--ff-group-border-color-active: var(--ff-color-border-accent);--ff-group-color: var(--ff-color-text-secondary);--ff-group-border-radius: var(--ff-radius-group);--ff-group-min-width: 180px;--ff-group-min-height: 120px;--ff-group-padding: 24px;--ff-grouping-drop-target-border-color: var(--ff-color-grouping-drop-target-border);--ff-grouping-drop-target-border-style: dashed;--ff-grouping-drop-target-border-width: 1px;--ff-grouping-drop-target-border-color-active: var( --ff-color-grouping-drop-target-border-active );--ff-grouping-drop-target-border-style-active: dashed;--ff-grouping-drop-target-border-width-active: 2px;--ff-resize-handle-size: 8px;--ff-resize-handle-fill: var(--ff-color-accent);--ff-resize-handle-stroke: var(--ff-color-surface-card);--ff-resize-handle-ring: var(--ff-color-accent);--ff-resize-handle-radius: 1px;--ff-resize-handle-fill-active: var(--ff-color-surface-card);--ff-rotate-handle-size: 16px;--ff-rotate-handle-offset: 40px;--ff-rotate-handle-background-color: var(--ff-color-surface-card);--ff-rotate-handle-border-color: var(--ff-color-border-strong);--ff-rotate-handle-guide-color: var(--ff-color-border-strong);--ff-connector-background-color: var(--ff-color-surface-card);--ff-connector-border-color: var(--ff-color-text-secondary);--ff-connector-connected-color: var(--ff-color-connector-connected);--ff-connector-accent-color: var(--ff-color-accent);--ff-connector-disabled-color: var(--ff-color-disabled-surface);--ff-connector-disabled-border-color: var(--ff-color-disabled-border);--ff-connector-size: 14px;--ff-connector-border-width: 2px;--ff-connector-input-radius: var(--ff-radius-4);--ff-connector-node-ring-color: var(--ff-canvas-background-color);--ff-outlet-background-color: var(--ff-color-surface-muted);--ff-outlet-border-color: var(--ff-color-border-default);--ff-outlet-color: var(--ff-color-accent);--ff-outlet-disabled-background-color: var(--ff-color-disabled-surface);--ff-outlet-disabled-border-color: var(--ff-color-disabled-border);--ff-outlet-disabled-color: var(--ff-color-disabled-text);--ff-outlet-border-radius: var(--ff-radius-pill);--ff-outlet-padding-y: 6px;--ff-outlet-padding-x: 12px;--ff-connection-color: var(--ff-color-connection);--ff-snap-connection-color: var(--ff-color-connection-muted);--ff-connection-hover-color: var(--ff-color-connection-hover);--ff-connection-selected-color: var(--ff-color-accent);--ff-connection-label-color: var(--ff-color-text-secondary);--ff-connection-content-color: var(--ff-node-color);--ff-connection-content-background-color: var(--ff-node-background-color);--ff-connection-content-border-color: var(--ff-node-border-color);--ff-connection-content-border-color-selected: var(--ff-connection-selected-color);--ff-connection-content-border-radius: var(--ff-node-border-radius);--ff-connection-content-font-size: 13px;--ff-connection-content-padding-y: 2px;--ff-connection-content-padding-x: 8px;--ff-connection-width: 2px;--ff-connection-hit-width: 14px;--ff-connection-drag-handle-fill: var(--ff-color-surface-card);--ff-connection-drag-handle-stroke: var(--ff-color-accent);--ff-marker-color: var(--ff-connection-color);--ff-waypoint-fill: var(--ff-color-waypoint-fill);--ff-waypoint-stroke: var(--ff-color-waypoint-stroke);--ff-waypoint-candidate-fill: var(--ff-color-waypoint-candidate-fill);--ff-waypoint-candidate-stroke: var(--ff-color-waypoint-candidate-stroke);--ff-background-line-color: var(--ff-color-grid);--ff-background-dot-color: var(--ff-color-grid-strong);--ff-selection-area-color: var(--ff-color-selection-fill);--ff-selection-area-border-color: var(--ff-color-selection-stroke);--ff-minimap-background-color: var(--ff-color-minimap-surface);--ff-minimap-border-color: var(--ff-color-border-default);--ff-minimap-node-color: var(--ff-color-minimap-node);--ff-minimap-node-selected-color: var(--ff-color-accent);--ff-minimap-view-color: var(--ff-color-minimap-view);--ff-minimap-view-border-color: var(--ff-color-selection-stroke);--ff-minimap-border-radius: var(--ff-radius-node);--ff-minimap-shadow: var(--ff-shadow-floating);--ff-magnetic-line-color: var(--ff-color-magnetic-line);--ff-magnetic-rect-fill: var(--ff-color-magnetic-rect-fill);--ff-magnetic-rect-border-color: var(--ff-color-magnetic-rect-border);--ff-external-item-background-color: var(--ff-color-surface-card);--ff-external-item-border-color: var(--ff-color-border-default);--ff-external-item-color: var(--ff-color-text-primary);--ff-external-item-disabled-color: var(--ff-color-disabled-text);--ff-external-item-disabled-background-color: var(--ff-color-disabled-surface);--ff-external-item-border-radius: var(--ff-radius-node);--ff-external-item-shadow: var(--ff-shadow-surface);--ff-external-item-preview-shadow: var(--ff-shadow-floating);--ff-external-item-placeholder-background-color: var(--ff-color-surface-soft);--ff-external-item-placeholder-border-color: var(--ff-color-border-subtle)}f-flow,.f-flow{display:block;position:relative;width:100%;height:100%;overflow:hidden;pointer-events:all;-webkit-user-select:none;user-select:none;touch-action:none;color:var(--ff-flow-text-color);background:var(--ff-flow-background-color);font-family:var(--ff-flow-font-family);font-size:var(--ff-flow-font-size);line-height:1.4}f-flow .f-canvas,.f-flow .f-canvas{background:var(--ff-canvas-background-color)}f-flow .f-node,.f-flow .f-node{width:var(--ff-node-width);min-height:var(--ff-node-min-height);padding:var(--ff-node-padding);box-sizing:border-box;color:var(--ff-node-color);text-align:center;background:var(--ff-node-background-color);border:1px solid var(--ff-node-border-color);border-radius:var(--ff-node-border-radius);box-shadow:var(--ff-node-shadow)}f-flow .f-node .node-content,.f-flow .f-node .node-content{width:100%;height:100%;overflow:hidden}f-flow .f-node.f-selected,.f-flow .f-node.f-selected{border-color:var(--ff-node-border-color-selected);box-shadow:var(--ff-node-shadow-selected)}f-flow .f-node.f-dragging,.f-flow .f-node.f-dragging{box-shadow:var(--ff-node-shadow-selected)}f-flow .f-group,.f-flow .f-group{min-width:var(--ff-group-min-width);min-height:var(--ff-group-min-height);padding:var(--ff-group-padding);box-sizing:border-box;color:var(--ff-group-color);background:var(--ff-group-background-color);border:1px solid var(--ff-group-border-color);border-radius:var(--ff-group-border-radius)}f-flow .f-group.f-selected,.f-flow .f-group.f-selected{border-color:var(--ff-group-border-color-selected)}f-flow .f-drag-handle,.f-flow .f-drag-handle{cursor:move}f-flow .f-drag-handle img,.f-flow .f-drag-handle img{pointer-events:none}f-flow .f-resize-handle,.f-flow .f-resize-handle{position:absolute;width:var(--ff-resize-handle-size);height:var(--ff-resize-handle-size);box-sizing:border-box;border:1.5px solid var(--ff-resize-handle-stroke);border-radius:var(--ff-resize-handle-radius);background:var(--ff-resize-handle-fill);box-shadow:0 0 0 1px var(--ff-resize-handle-ring),0 1px 2px #0f0f0d2e;transition:background-color .15s cubic-bezier(.4,0,.2,1),box-shadow .15s cubic-bezier(.4,0,.2,1)}f-flow .f-resize-handle:hover,.f-flow .f-resize-handle:hover{box-shadow:0 0 0 1px var(--ff-resize-handle-ring),0 0 0 5px color-mix(in oklch,var(--ff-resize-handle-ring) 25%,transparent)}f-flow .f-resize-handle:active,.f-flow .f-resize-handle:active{background:var(--ff-resize-handle-fill-active);box-shadow:0 0 0 2px var(--ff-resize-handle-ring),0 0 0 6px color-mix(in oklch,var(--ff-resize-handle-ring) 28%,transparent)}f-flow .f-resize-handle.f-resize-handle-left,.f-flow .f-resize-handle.f-resize-handle-left{left:0;top:50%;transform:translate(-50%,-50%);cursor:col-resize}f-flow .f-resize-handle.f-resize-handle-left-top,.f-flow .f-resize-handle.f-resize-handle-left-top{left:0;top:0;transform:translate(-50%,-50%);cursor:nwse-resize}f-flow .f-resize-handle.f-resize-handle-top,.f-flow .f-resize-handle.f-resize-handle-top{left:50%;top:0;transform:translate(-50%,-50%);cursor:row-resize}f-flow .f-resize-handle.f-resize-handle-right-top,.f-flow .f-resize-handle.f-resize-handle-right-top{right:0;top:0;transform:translate(50%,-50%);cursor:nesw-resize}f-flow .f-resize-handle.f-resize-handle-right,.f-flow .f-resize-handle.f-resize-handle-right{right:0;top:50%;transform:translate(50%,-50%);cursor:col-resize}f-flow .f-resize-handle.f-resize-handle-right-bottom,.f-flow .f-resize-handle.f-resize-handle-right-bottom{right:0;bottom:0;transform:translate(50%,50%);cursor:nwse-resize}f-flow .f-resize-handle.f-resize-handle-bottom,.f-flow .f-resize-handle.f-resize-handle-bottom{left:50%;bottom:0;transform:translate(-50%,50%);cursor:row-resize}f-flow .f-resize-handle.f-resize-handle-left-bottom,.f-flow .f-resize-handle.f-resize-handle-left-bottom{left:0;bottom:0;transform:translate(-50%,50%);cursor:nesw-resize}f-flow .f-rotate-handle,.f-flow .f-rotate-handle{position:absolute;left:50%;top:calc(var(--ff-rotate-handle-offset) * -1);display:inline-flex;align-items:center;justify-content:center;width:var(--ff-rotate-handle-size);height:var(--ff-rotate-handle-size);box-sizing:border-box;border:1px solid var(--ff-rotate-handle-border-color);border-radius:50%;background:var(--ff-rotate-handle-background-color);transform:translate(-50%);cursor:grab;transition:background-color .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1),box-shadow .15s cubic-bezier(.4,0,.2,1)}f-flow .f-rotate-handle:after,.f-flow .f-rotate-handle:after{content:"";position:absolute;left:50%;top:100%;width:1px;height:calc(var(--ff-rotate-handle-offset) - var(--ff-rotate-handle-size));background:var(--ff-rotate-handle-guide-color);transform:translate(-50%);pointer-events:none}f-flow .f-rotate-handle:hover,.f-flow .f-rotate-handle:hover{border-color:var(--ff-color-accent);box-shadow:0 0 0 4px color-mix(in oklch,var(--ff-color-accent) 22%,transparent)}f-flow .f-rotate-handle:active,.f-flow .f-rotate-handle:active{background:var(--ff-color-accent);border-color:var(--ff-color-accent);cursor:grabbing;box-shadow:0 0 0 4px color-mix(in oklch,var(--ff-color-accent) 22%,transparent)}f-flow .f-node-input:not(.f-node),f-flow .f-node-output:not(.f-node),f-flow .f-connector-source:not(.f-node),f-flow .f-connector-target:not(.f-node),f-flow .f-connector-source-target:not(.f-node),.f-flow .f-node-input:not(.f-node),.f-flow .f-node-output:not(.f-node),.f-flow .f-connector-source:not(.f-node),.f-flow .f-connector-target:not(.f-node),.f-flow .f-connector-source-target:not(.f-node){position:absolute;width:var(--ff-connector-size);height:var(--ff-connector-size);box-sizing:border-box;border:var(--ff-connector-border-width) solid var(--ff-connector-border-color);border-radius:50%;background:var(--ff-connector-background-color);pointer-events:all;transition:background-color .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1),box-shadow .15s cubic-bezier(.4,0,.2,1)}f-flow .f-node-input:not(.f-node).left,f-flow .f-node-output:not(.f-node).left,f-flow .f-connector-source:not(.f-node).left,f-flow .f-connector-target:not(.f-node).left,f-flow .f-connector-source-target:not(.f-node).left,.f-flow .f-node-input:not(.f-node).left,.f-flow .f-node-output:not(.f-node).left,.f-flow .f-connector-source:not(.f-node).left,.f-flow .f-connector-target:not(.f-node).left,.f-flow .f-connector-source-target:not(.f-node).left{left:calc(var(--ff-connector-size) / -2);top:50%;transform:translateY(-50%)}f-flow .f-node-input:not(.f-node).right,f-flow .f-node-output:not(.f-node).right,f-flow .f-connector-source:not(.f-node).right,f-flow .f-connector-target:not(.f-node).right,f-flow .f-connector-source-target:not(.f-node).right,.f-flow .f-node-input:not(.f-node).right,.f-flow .f-node-output:not(.f-node).right,.f-flow .f-connector-source:not(.f-node).right,.f-flow .f-connector-target:not(.f-node).right,.f-flow .f-connector-source-target:not(.f-node).right{right:calc(var(--ff-connector-size) / -2);top:50%;transform:translateY(-50%)}f-flow .f-node-input:not(.f-node).top,f-flow .f-node-output:not(.f-node).top,f-flow .f-connector-source:not(.f-node).top,f-flow .f-connector-target:not(.f-node).top,f-flow .f-connector-source-target:not(.f-node).top,.f-flow .f-node-input:not(.f-node).top,.f-flow .f-node-output:not(.f-node).top,.f-flow .f-connector-source:not(.f-node).top,.f-flow .f-connector-target:not(.f-node).top,.f-flow .f-connector-source-target:not(.f-node).top{top:calc(var(--ff-connector-size) / -2);left:50%;transform:translate(-50%)}f-flow .f-node-input:not(.f-node).top-left,f-flow .f-node-output:not(.f-node).top-left,f-flow .f-connector-source:not(.f-node).top-left,f-flow .f-connector-target:not(.f-node).top-left,f-flow .f-connector-source-target:not(.f-node).top-left,.f-flow .f-node-input:not(.f-node).top-left,.f-flow .f-node-output:not(.f-node).top-left,.f-flow .f-connector-source:not(.f-node).top-left,.f-flow .f-connector-target:not(.f-node).top-left,.f-flow .f-connector-source-target:not(.f-node).top-left{top:calc(var(--ff-connector-size) / -2);left:calc(var(--ff-connector-size) / -2)}f-flow .f-node-input:not(.f-node).top-right,f-flow .f-node-output:not(.f-node).top-right,f-flow .f-connector-source:not(.f-node).top-right,f-flow .f-connector-target:not(.f-node).top-right,f-flow .f-connector-source-target:not(.f-node).top-right,.f-flow .f-node-input:not(.f-node).top-right,.f-flow .f-node-output:not(.f-node).top-right,.f-flow .f-connector-source:not(.f-node).top-right,.f-flow .f-connector-target:not(.f-node).top-right,.f-flow .f-connector-source-target:not(.f-node).top-right{top:calc(var(--ff-connector-size) / -2);right:calc(var(--ff-connector-size) / -2)}f-flow .f-node-input:not(.f-node).bottom,f-flow .f-node-output:not(.f-node).bottom,f-flow .f-connector-source:not(.f-node).bottom,f-flow .f-connector-target:not(.f-node).bottom,f-flow .f-connector-source-target:not(.f-node).bottom,.f-flow .f-node-input:not(.f-node).bottom,.f-flow .f-node-output:not(.f-node).bottom,.f-flow .f-connector-source:not(.f-node).bottom,.f-flow .f-connector-target:not(.f-node).bottom,.f-flow .f-connector-source-target:not(.f-node).bottom{bottom:calc(var(--ff-connector-size) / -2);left:50%;transform:translate(-50%)}f-flow .f-node-input:not(.f-node).bottom-left,f-flow .f-node-output:not(.f-node).bottom-left,f-flow .f-connector-source:not(.f-node).bottom-left,f-flow .f-connector-target:not(.f-node).bottom-left,f-flow .f-connector-source-target:not(.f-node).bottom-left,.f-flow .f-node-input:not(.f-node).bottom-left,.f-flow .f-node-output:not(.f-node).bottom-left,.f-flow .f-connector-source:not(.f-node).bottom-left,.f-flow .f-connector-target:not(.f-node).bottom-left,.f-flow .f-connector-source-target:not(.f-node).bottom-left{bottom:calc(var(--ff-connector-size) / -2);left:calc(var(--ff-connector-size) / -2)}f-flow .f-node-input:not(.f-node).bottom-right,f-flow .f-node-output:not(.f-node).bottom-right,f-flow .f-connector-source:not(.f-node).bottom-right,f-flow .f-connector-target:not(.f-node).bottom-right,f-flow .f-connector-source-target:not(.f-node).bottom-right,.f-flow .f-node-input:not(.f-node).bottom-right,.f-flow .f-node-output:not(.f-node).bottom-right,.f-flow .f-connector-source:not(.f-node).bottom-right,.f-flow .f-connector-target:not(.f-node).bottom-right,.f-flow .f-connector-source-target:not(.f-node).bottom-right{bottom:calc(var(--ff-connector-size) / -2);right:calc(var(--ff-connector-size) / -2)}f-flow .f-node-input:not(.f-node):hover,f-flow .f-node-output:not(.f-node):hover,f-flow .f-connector-source:not(.f-node):hover,f-flow .f-connector-target:not(.f-node):hover,f-flow .f-connector-source-target:not(.f-node):hover,.f-flow .f-node-input:not(.f-node):hover,.f-flow .f-node-output:not(.f-node):hover,.f-flow .f-connector-source:not(.f-node):hover,.f-flow .f-connector-target:not(.f-node):hover,.f-flow .f-connector-source-target:not(.f-node):hover{box-shadow:0 0 0 4px color-mix(in oklch,var(--ff-connector-accent-color) 22%,transparent)}f-flow .f-node-input:not(.f-node).f-connector-connectable,f-flow .f-node-output:not(.f-node).f-connector-connectable,f-flow .f-connector-source:not(.f-node).f-connector-connectable,f-flow .f-connector-target:not(.f-node).f-connector-connectable,f-flow .f-connector-source-target:not(.f-node).f-connector-connectable,.f-flow .f-node-input:not(.f-node).f-connector-connectable,.f-flow .f-node-output:not(.f-node).f-connector-connectable,.f-flow .f-connector-source:not(.f-node).f-connector-connectable,.f-flow .f-connector-target:not(.f-node).f-connector-connectable,.f-flow .f-connector-source-target:not(.f-node).f-connector-connectable{border-color:var(--ff-connector-accent-color)}f-flow .f-node-input:not(.f-node).f-node-output-connected,f-flow .f-node-input:not(.f-node).f-node-input-connected,f-flow .f-node-input:not(.f-node).f-connector-connected,f-flow .f-node-output:not(.f-node).f-node-output-connected,f-flow .f-node-output:not(.f-node).f-node-input-connected,f-flow .f-node-output:not(.f-node).f-connector-connected,f-flow .f-connector-source:not(.f-node).f-node-output-connected,f-flow .f-connector-source:not(.f-node).f-node-input-connected,f-flow .f-connector-source:not(.f-node).f-connector-connected,f-flow .f-connector-target:not(.f-node).f-node-output-connected,f-flow .f-connector-target:not(.f-node).f-node-input-connected,f-flow .f-connector-target:not(.f-node).f-connector-connected,f-flow .f-connector-source-target:not(.f-node).f-node-output-connected,f-flow .f-connector-source-target:not(.f-node).f-node-input-connected,f-flow .f-connector-source-target:not(.f-node).f-connector-connected,.f-flow .f-node-input:not(.f-node).f-node-output-connected,.f-flow .f-node-input:not(.f-node).f-node-input-connected,.f-flow .f-node-input:not(.f-node).f-connector-connected,.f-flow .f-node-output:not(.f-node).f-node-output-connected,.f-flow .f-node-output:not(.f-node).f-node-input-connected,.f-flow .f-node-output:not(.f-node).f-connector-connected,.f-flow .f-connector-source:not(.f-node).f-node-output-connected,.f-flow .f-connector-source:not(.f-node).f-node-input-connected,.f-flow .f-connector-source:not(.f-node).f-connector-connected,.f-flow .f-connector-target:not(.f-node).f-node-output-connected,.f-flow .f-connector-target:not(.f-node).f-node-input-connected,.f-flow .f-connector-target:not(.f-node).f-connector-connected,.f-flow .f-connector-source-target:not(.f-node).f-node-output-connected,.f-flow .f-connector-source-target:not(.f-node).f-node-input-connected,.f-flow .f-connector-source-target:not(.f-node).f-connector-connected{background:var(--ff-connector-connected-color);border-color:var(--ff-connector-connected-color)}f-flow .f-node-input:not(.f-node).f-node-output-not-connectable,f-flow .f-node-input:not(.f-node).f-node-input-not-connectable,f-flow .f-node-input:not(.f-node).f-connector-not-connectable,f-flow .f-node-input:not(.f-node).f-node-input-disabled,f-flow .f-node-input:not(.f-node).f-node-output-disabled,f-flow .f-node-input:not(.f-node).f-connector-disabled,f-flow .f-node-output:not(.f-node).f-node-output-not-connectable,f-flow .f-node-output:not(.f-node).f-node-input-not-connectable,f-flow .f-node-output:not(.f-node).f-connector-not-connectable,f-flow .f-node-output:not(.f-node).f-node-input-disabled,f-flow .f-node-output:not(.f-node).f-node-output-disabled,f-flow .f-node-output:not(.f-node).f-connector-disabled,f-flow .f-connector-source:not(.f-node).f-node-output-not-connectable,f-flow .f-connector-source:not(.f-node).f-node-input-not-connectable,f-flow .f-connector-source:not(.f-node).f-connector-not-connectable,f-flow .f-connector-source:not(.f-node).f-node-input-disabled,f-flow .f-connector-source:not(.f-node).f-node-output-disabled,f-flow .f-connector-source:not(.f-node).f-connector-disabled,f-flow .f-connector-target:not(.f-node).f-node-output-not-connectable,f-flow .f-connector-target:not(.f-node).f-node-input-not-connectable,f-flow .f-connector-target:not(.f-node).f-connector-not-connectable,f-flow .f-connector-target:not(.f-node).f-node-input-disabled,f-flow .f-connector-target:not(.f-node).f-node-output-disabled,f-flow .f-connector-target:not(.f-node).f-connector-disabled,f-flow .f-connector-source-target:not(.f-node).f-node-output-not-connectable,f-flow .f-connector-source-target:not(.f-node).f-node-input-not-connectable,f-flow .f-connector-source-target:not(.f-node).f-connector-not-connectable,f-flow .f-connector-source-target:not(.f-node).f-node-input-disabled,f-flow .f-connector-source-target:not(.f-node).f-node-output-disabled,f-flow .f-connector-source-target:not(.f-node).f-connector-disabled,.f-flow .f-node-input:not(.f-node).f-node-output-not-connectable,.f-flow .f-node-input:not(.f-node).f-node-input-not-connectable,.f-flow .f-node-input:not(.f-node).f-connector-not-connectable,.f-flow .f-node-input:not(.f-node).f-node-input-disabled,.f-flow .f-node-input:not(.f-node).f-node-output-disabled,.f-flow .f-node-input:not(.f-node).f-connector-disabled,.f-flow .f-node-output:not(.f-node).f-node-output-not-connectable,.f-flow .f-node-output:not(.f-node).f-node-input-not-connectable,.f-flow .f-node-output:not(.f-node).f-connector-not-connectable,.f-flow .f-node-output:not(.f-node).f-node-input-disabled,.f-flow .f-node-output:not(.f-node).f-node-output-disabled,.f-flow .f-node-output:not(.f-node).f-connector-disabled,.f-flow .f-connector-source:not(.f-node).f-node-output-not-connectable,.f-flow .f-connector-source:not(.f-node).f-node-input-not-connectable,.f-flow .f-connector-source:not(.f-node).f-connector-not-connectable,.f-flow .f-connector-source:not(.f-node).f-node-input-disabled,.f-flow .f-connector-source:not(.f-node).f-node-output-disabled,.f-flow .f-connector-source:not(.f-node).f-connector-disabled,.f-flow .f-connector-target:not(.f-node).f-node-output-not-connectable,.f-flow .f-connector-target:not(.f-node).f-node-input-not-connectable,.f-flow .f-connector-target:not(.f-node).f-connector-not-connectable,.f-flow .f-connector-target:not(.f-node).f-node-input-disabled,.f-flow .f-connector-target:not(.f-node).f-node-output-disabled,.f-flow .f-connector-target:not(.f-node).f-connector-disabled,.f-flow .f-connector-source-target:not(.f-node).f-node-output-not-connectable,.f-flow .f-connector-source-target:not(.f-node).f-node-input-not-connectable,.f-flow .f-connector-source-target:not(.f-node).f-connector-not-connectable,.f-flow .f-connector-source-target:not(.f-node).f-node-input-disabled,.f-flow .f-connector-source-target:not(.f-node).f-node-output-disabled,.f-flow .f-connector-source-target:not(.f-node).f-connector-disabled{background:var(--ff-connector-disabled-color);border-color:var(--ff-connector-disabled-border-color);box-shadow:none}f-flow .f-node-input:not(.f-node),f-flow .f-connector-target:not(.f-node),.f-flow .f-node-input:not(.f-node),.f-flow .f-connector-target:not(.f-node){border-radius:var(--ff-connector-input-radius)}f-flow .f-connections-dragging .f-node-input:not(.f-connector-connectable):not(.f-node-input-connected):not(.f-node-output-connected):not(.f-connector-connected),f-flow .f-connections-dragging .f-node-output:not(.f-connector-connectable):not(.f-node-input-connected):not(.f-node-output-connected):not(.f-connector-connected),f-flow .f-connections-dragging .f-connector-source:not(.f-connector-connectable):not(.f-node-input-connected):not(.f-node-output-connected):not(.f-connector-connected),f-flow .f-connections-dragging .f-connector-target:not(.f-connector-connectable):not(.f-node-input-connected):not(.f-node-output-connected):not(.f-connector-connected),f-flow .f-connections-dragging .f-connector-source-target:not(.f-connector-connectable):not(.f-node-input-connected):not(.f-node-output-connected):not(.f-connector-connected),.f-flow .f-connections-dragging .f-node-input:not(.f-connector-connectable):not(.f-node-input-connected):not(.f-node-output-connected):not(.f-connector-connected),.f-flow .f-connections-dragging .f-node-output:not(.f-connector-connectable):not(.f-node-input-connected):not(.f-node-output-connected):not(.f-connector-connected),.f-flow .f-connections-dragging .f-connector-source:not(.f-connector-connectable):not(.f-node-input-connected):not(.f-node-output-connected):not(.f-connector-connected),.f-flow .f-connections-dragging .f-connector-target:not(.f-connector-connectable):not(.f-node-input-connected):not(.f-node-output-connected):not(.f-connector-connected),.f-flow .f-connections-dragging .f-connector-source-target:not(.f-connector-connectable):not(.f-node-input-connected):not(.f-node-output-connected):not(.f-connector-connected){border-color:var(--ff-connector-disabled-border-color)}f-flow .f-node-outlet,f-flow .f-connector-outlet,.f-flow .f-node-outlet,.f-flow .f-connector-outlet{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:32px;padding:var(--ff-outlet-padding-y) var(--ff-outlet-padding-x);box-sizing:border-box;border:1px solid var(--ff-outlet-border-color);border-radius:var(--ff-outlet-border-radius);background:var(--ff-outlet-background-color);color:var(--ff-outlet-color);pointer-events:all}f-flow .f-node-outlet.f-node-outlet-disabled,f-flow .f-node-outlet.f-connector-disabled,f-flow .f-connector-outlet.f-node-outlet-disabled,f-flow .f-connector-outlet.f-connector-disabled,.f-flow .f-node-outlet.f-node-outlet-disabled,.f-flow .f-node-outlet.f-connector-disabled,.f-flow .f-connector-outlet.f-node-outlet-disabled,.f-flow .f-connector-outlet.f-connector-disabled{background:var(--ff-outlet-disabled-background-color);border-color:var(--ff-outlet-disabled-border-color);color:var(--ff-outlet-disabled-color)}f-flow .f-connection-content,.f-flow .f-connection-content{box-sizing:border-box;color:var(--ff-connection-content-color);font-size:var(--ff-connection-content-font-size);padding:var(--ff-connection-content-padding-y) var(--ff-connection-content-padding-x);background:var(--ff-connection-content-background-color);border:1px solid var(--ff-connection-content-border-color);border-radius:var(--ff-connection-content-border-radius)}f-flow .f-connection .f-connection-selection,.f-flow .f-connection .f-connection-selection{fill:none;stroke:transparent;stroke-width:var(--ff-connection-hit-width)}f-flow .f-connection .f-connection-path,.f-flow .f-connection .f-connection-path{fill:none;stroke:var(--ff-connection-color);stroke-width:var(--ff-connection-width)}f-flow .f-connection .f-connection-drag-handle,.f-flow .f-connection .f-connection-drag-handle{fill:transparent;stroke:transparent;cursor:move}f-flow .f-connection.f-snap-connection .f-connection-path,.f-flow .f-connection.f-snap-connection .f-connection-path{stroke:var(--ff-snap-connection-color);stroke-dasharray:8 4}f-flow .f-connection.f-selected .f-connection-content,.f-flow .f-connection.f-selected .f-connection-content{border-color:var(--ff-connection-content-border-color-selected)}f-flow .f-connection.f-selected .f-connection-path,.f-flow .f-connection.f-selected .f-connection-path{stroke:var(--ff-connection-selected-color)}f-flow:not(.f-dragging) .f-connection:not(.f-dragging):not(.f-selected):not(.f-connection-selection-disabled):hover .f-connection-selection,.f-flow:not(.f-dragging) .f-connection:not(.f-dragging):not(.f-selected):not(.f-connection-selection-disabled):hover .f-connection-selection{stroke:var(--ff-connection-hover-color)}f-flow .f-marker,f-flow .connection-marker,.f-flow .f-marker,.f-flow .connection-marker{color:var(--ff-marker-color)}f-flow .f-marker circle,f-flow .f-marker rect,f-flow .f-marker path,f-flow .f-marker polygon,f-flow .f-marker line,f-flow .connection-marker circle,f-flow .connection-marker rect,f-flow .connection-marker path,f-flow .connection-marker polygon,f-flow .connection-marker line,.f-flow .f-marker circle,.f-flow .f-marker rect,.f-flow .f-marker path,.f-flow .f-marker polygon,.f-flow .f-marker line,.f-flow .connection-marker circle,.f-flow .connection-marker rect,.f-flow .connection-marker path,.f-flow .connection-marker polygon,.f-flow .connection-marker line{fill:currentColor;stroke:currentColor}f-flow .f-connection.f-snap-connection .f-marker,f-flow .f-connection.f-snap-connection .connection-marker,.f-flow .f-connection.f-snap-connection .f-marker,.f-flow .f-connection.f-snap-connection .connection-marker{color:var(--ff-snap-connection-color)}f-flow .f-connection.f-selected .f-marker,f-flow .f-connection.f-selected .connection-marker,.f-flow .f-connection.f-selected .f-marker,.f-flow .f-connection.f-selected .connection-marker{color:var(--ff-connection-selected-color)}f-flow .f-connection .f-connection-waypoints .f-candidate,f-flow .f-connection .f-connection-waypoints .f-waypoint,.f-flow .f-connection .f-connection-waypoints .f-candidate,.f-flow .f-connection .f-connection-waypoints .f-waypoint{vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:center;stroke-width:1.5}f-flow .f-connection .f-connection-waypoints .f-candidate:hover,f-flow .f-connection .f-connection-waypoints .f-waypoint:hover,.f-flow .f-connection .f-connection-waypoints .f-candidate:hover,.f-flow .f-connection .f-connection-waypoints .f-waypoint:hover{transform:scale(1.1)}f-flow .f-connection .f-connection-waypoints .f-candidate,.f-flow .f-connection .f-connection-waypoints .f-candidate{fill:var(--ff-waypoint-candidate-fill);stroke:var(--ff-waypoint-candidate-stroke)}f-flow .f-connection .f-connection-waypoints .f-waypoint,.f-flow .f-connection .f-connection-waypoints .f-waypoint{fill:var(--ff-waypoint-fill);stroke:var(--ff-waypoint-stroke);cursor:move}f-flow .f-connection .f-connection-drag-handle,.f-flow .f-connection .f-connection-drag-handle{fill:transparent;stroke:var(--ff-connection-drag-handle-stroke);stroke-width:1.5}.f-external-item{display:inline-flex;align-items:center;gap:8px;padding:12px 14px;box-sizing:border-box;color:var(--ff-external-item-color);background:var(--ff-external-item-background-color);border:1px solid var(--ff-external-item-border-color);border-radius:var(--ff-external-item-border-radius);box-shadow:var(--ff-external-item-shadow);cursor:grab;-webkit-user-select:none;user-select:none}.f-external-item.f-external-item-disabled{color:var(--ff-external-item-disabled-color);background:var(--ff-external-item-disabled-background-color);cursor:not-allowed}.f-external-item-preview{box-sizing:border-box;box-shadow:var(--ff-external-item-preview-shadow)}.f-external-item-placeholder{box-sizing:border-box;background:var(--ff-external-item-placeholder-background-color);border:1px dashed var(--ff-external-item-placeholder-border-color);border-radius:var(--ff-external-item-border-radius)}f-flow .f-background line,f-flow .f-background path,.f-flow .f-background line,.f-flow .f-background path{stroke:var(--ff-background-line-color)}f-flow .f-background circle,.f-flow .f-background circle{fill:var(--ff-background-dot-color)}f-flow .f-selection-area,.f-flow .f-selection-area{box-sizing:border-box;background:var(--ff-selection-area-color);border:1px solid var(--ff-selection-area-border-color)}f-flow .f-minimap,.f-flow .f-minimap{overflow:hidden;background:var(--ff-minimap-background-color);border:1px solid var(--ff-minimap-border-color);border-radius:var(--ff-minimap-border-radius);box-shadow:var(--ff-minimap-shadow);bottom:16px;right:16px;width:140px;height:120px}f-flow .f-minimap .f-minimap-node,f-flow .f-minimap .f-minimap-group,.f-flow .f-minimap .f-minimap-node,.f-flow .f-minimap .f-minimap-group{fill:var(--ff-minimap-node-color)}f-flow .f-minimap .f-minimap-node.f-selected,f-flow .f-minimap .f-minimap-group.f-selected,.f-flow .f-minimap .f-minimap-node.f-selected,.f-flow .f-minimap .f-minimap-group.f-selected{fill:var(--ff-minimap-node-selected-color)}f-flow .f-minimap .f-minimap-view,.f-flow .f-minimap .f-minimap-view{fill:var(--ff-minimap-view-color);stroke:var(--ff-minimap-view-border-color);stroke-width:1}f-flow .f-magnetic-lines .f-line,f-flow .f-line-alignment .f-line,.f-flow .f-magnetic-lines .f-line,.f-flow .f-line-alignment .f-line{background:var(--ff-magnetic-line-color)}f-flow .f-magnetic-rects .f-rect,.f-flow .f-magnetic-rects .f-rect{box-sizing:border-box;background:var(--ff-magnetic-rect-fill);border:1px solid var(--ff-magnetic-rect-border-color)}@font-face{font-family:Instrument Sans;src:url(/assets/fonts/instrument-sans/InstrumentSans-latin.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans;src:url(/assets/fonts/instrument-sans/InstrumentSans-latin-ext.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;src:url(/assets/fonts/jetbrains-mono/JetBrainsMono-latin.woff2) format("woff2");font-weight:400 600;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;src:url(/assets/fonts/jetbrains-mono/JetBrainsMono-latin-ext.woff2) format("woff2");font-weight:400 600;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;src:url(/assets/fonts/poppins/Poppins-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;src:url(/assets/fonts/poppins/Poppins-600-latin-ext.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Material Symbols Rounded;src:url(/assets/fonts/material-symbols/material-symbols-rounded.woff2) format("woff2");font-weight:100 700;font-style:normal;font-display:block}:root{--clm-purple-25: #f5f3ff;--clm-purple-50: #eae8ff;--clm-purple-100: #dcd7fe;--clm-purple-200: #c4bafe;--clm-purple-300: #a897fd;--clm-purple-400: #9179fd;--clm-purple-500: #7954fd;--clm-purple-600: #6438f0;--clm-purple-700: #5227d2;--clm-purple-800: #4020a8;--clm-purple-900: #2e1878;--clm-purple-950: #1b0e4a;--clm-action: var(--clm-purple-500);--clm-action-hover: var(--clm-purple-600);--clm-action-deep: var(--clm-purple-700);--clm-action-soft: #f1eefe;--clm-action-border: var(--clm-purple-100);--clm-action-tint: var(--clm-purple-25);--clm-link: var(--clm-purple-600);--clm-logo: #5b22e5;--clm-on-action: #ffffff;--clm-ink: #16121f;--clm-ink-read: #2a2534;--clm-ink-2: #3f3a52;--clm-ink-3: #453f57;--clm-ink-4: #3a3a44;--clm-text: #4e4e5a;--clm-text-muted: #676776;--clm-text-faint: #8a8a99;--clm-text-dim: #6f6a80;--clm-icon: #5a5568;--clm-icon-active: #6a49d6;--clm-border: #e6e3f0;--clm-border-soft: #f1eef8;--clm-border-neutral: #dedaec;--clm-border-card-soft: #eeebf8;--clm-border-ai: #9a93ae;--clm-checkbox-border: #c9c3da;--clm-surface: #ffffff;--clm-surface-2: #fafafb;--clm-surface-3: #fbfaff;--clm-surface-card-soft: #faf9fe;--clm-surface-field: #f6f5fa;--clm-surface-hover: #f8f7fc;--clm-surface-table-head: #f4f4f6;--clm-row-hover: #fbfaff;--clm-bg: #efedf7;--clm-rail-bg: #f1eefe;--clm-neutral-chip-bg: #f4f4f6;--clm-neutral-chip-text: #3a3a44;--clm-closed-500: #8a8a99;--clm-closed-bg: #f4f4f6;--clm-closed-border: #dedaec;--clm-closed-text: #3a3a44;--clm-ok-500: #0f8a5f;--clm-ok-bg: #e4f5ee;--clm-ok-border: #a7dcc6;--clm-ok-text: #0a5c40;--clm-due-500: #b4690e;--clm-due-bg: #fdf3e4;--clm-due-border: #f0ce93;--clm-due-text: #7a4708;--clm-due-wash: #fdf9f1;--clm-overdue-500: #c4341f;--clm-overdue-bg: #fceae7;--clm-overdue-border: #f1b5aa;--clm-overdue-text: #8a2415;--clm-row-tint-due: #fffdf8;--clm-row-tint-overdue: #fff8f6;--clm-info-bg: #e8f1fb;--clm-info-border: #b9d5f0;--clm-info-text: #134b85;--clm-ramp-1: #16121f;--clm-ramp-2: #3f3a52;--clm-ramp-3: #5a5668;--clm-ramp-4: #7a7590;--clm-ramp-5: #9a95ad;--clm-ramp-6: #b9b4c9;--clm-phase-ink: #3f3a52;--clm-phase-empty: #e6e3f0;--clm-phase-1: #16121f;--clm-phase-2: #5a5668;--clm-phase-3: #9a95ad;--clm-phase-4: #d6d2e3;--clm-due-soft: #f3d9a8;--clm-ai-chip-bg: var(--clm-due-bg);--clm-ai-chip-border: var(--clm-due-border);--clm-ai-chip-text: var(--clm-due-text);--clm-dark-1: #1b152f;--clm-dark-2: #130f1b;--clm-dark-glow: #2c2054;--clm-brand-gradient: radial-gradient(115% 85% at 80% 10%, #2c2054 0%, rgba(44, 32, 84, 0) 60%), linear-gradient(158deg, #1b152f 0%, #130f1b 100%);--clm-on-dark: #dedaec;--clm-on-dark-muted: #a79fc0;--clm-on-dark-faint: #8a82a6;--clm-on-dark-accent: #b9a9ff;--clm-font-title: "Poppins", "Instrument Sans", "Helvetica Neue", Arial, sans-serif;--clm-font-ui: "Instrument Sans", "Helvetica Neue", Arial, sans-serif;--clm-font-mono: "JetBrains Mono", "SFMono-Regular", Menlo, Consolas, monospace;--clm-type-display-size: 4.4rem;--clm-type-title-size: 2.8rem;--clm-type-title-lh: 1.1;--clm-type-title-ls: -.03em;--clm-type-section-size: 1.7rem;--clm-type-clause-size: 1.5rem;--clm-type-clause-lh: 1.7;--clm-type-body-size: 1.45rem;--clm-type-body-lh: 1.6;--clm-type-label-size: 1.3rem;--clm-type-menu-size: 1.3rem;--clm-type-mono-size: 1.1rem;--clm-type-mono-ls: .16em;--clm-type-eyebrow-size: 1.05rem;--clm-type-table-head-size: 1rem;--clm-type-table-head-ls: .14em;--clm-type-chip-size: 1.15rem;--clm-type-chip-sm-size: .95rem;--clm-type-counter-size: 1.05rem;--clm-type-kpi-size: 3rem;--clm-type-meta-size: 1.05rem;--clm-type-date-size: 1rem;--clm-radius-xs: .4rem;--clm-radius-sm: .7rem;--clm-radius-chip: .9rem;--clm-radius-md: 1.1rem;--clm-radius-card: 1.2rem;--clm-radius-lg: 1.4rem;--clm-radius-xl: 1.6rem;--clm-radius-tab: 2rem;--clm-radius-pill: 999px;--clm-shadow-primary: 0 8px 18px -9px rgba(121, 85, 253, .8);--clm-shadow-rail: 0 1px 2px rgba(22, 18, 31, .04), 0 10px 30px rgba(22, 18, 31, .05);--clm-shadow-card: 0 1px 2px rgba(22, 18, 31, .04);--clm-shadow-card-lg: 0 1px 2px rgba(22, 18, 31, .05), 0 12px 40px rgba(22, 18, 31, .07);--clm-shadow-overlay: 0 2px 8px rgba(22, 18, 31, .08), 0 24px 64px rgba(22, 18, 31, .22);--clm-focus-halo: var(--clm-purple-50);--clm-focus-ring: 0 0 0 3.5px var(--clm-focus-halo);--clm-nav-active-bar: inset 2px 0 0 var(--clm-action-deep);--clm-h-control: 4.4rem;--clm-h-compact: 3.2rem;--clm-h-nav-item: 3.2rem;--clm-h-chip: 2.4rem;--clm-h-topbar: 5.7rem;--clm-h-today: 5.5rem;--clm-h-table-head: 4rem;--clm-h-row-min: 5.6rem;--clm-h-pager: 5.5rem;--clm-w-rail-icons: 7.2rem;--clm-w-rail-panel: 22.5rem;--clm-w-rail: calc(var(--clm-w-rail-icons) + var(--clm-w-rail-panel));--clm-w-ai-panel: 55.3rem;--clm-pad-page: 2.8rem;--clm-gap-grid: 1.4rem;--clm-gap-list: 1.6rem;--clm-gap-group: 1.2rem;--clm-table-cols: 24px minmax(0, 1.5fr) 128px 132px minmax(0, 1.1fr) 92px 30px;--clm-phase-seg-w: 1rem;--clm-phase-seg-h: .6rem;--clm-phase-seg-gap: .25rem;--clm-icon-stroke: 1.7;--clm-space-1: .4rem;--clm-space-2: .8rem;--clm-space-3: 1.2rem;--clm-space-4: 1.6rem;--clm-space-5: 2.4rem;--clm-space-6: 3.2rem;--clm-space-7: 4rem;--clm-space-8: 6.4rem;--clm-ease: cubic-bezier(.4, 0, .2, 1);--clm-transition: all .16s var(--clm-ease);--clm-primary: var(--clm-action);--clm-primary-dark: var(--clm-action-hover);--clm-primary-light: var(--clm-purple-300);--clm-primary-contrast: var(--clm-on-action);--clm-accent: #fcbd00;--clm-success: var(--clm-ok-500);--clm-success-dark: var(--clm-ok-text);--clm-success-wash: var(--clm-ok-bg);--clm-warning: var(--clm-due-500);--clm-warning-dark: var(--clm-due-text);--clm-warning-wash: var(--clm-due-bg);--clm-danger: var(--clm-overdue-500);--clm-danger-dark: var(--clm-overdue-text);--clm-danger-wash: var(--clm-overdue-bg);--clm-danger-wash-strong: var(--clm-overdue-border);--clm-info: var(--clm-info-text);--clm-violet-wash: var(--clm-action-soft);--clm-violet-wash-soft: var(--clm-purple-25);--clm-gray-50: var(--clm-surface-2);--clm-gray-100: var(--clm-neutral-chip-bg);--clm-gray-200: var(--clm-border);--clm-gray-300: var(--clm-border-neutral);--clm-gray-400: var(--clm-text-faint);--clm-gray-500: var(--clm-text-muted);--clm-gray-600: var(--clm-text);--clm-gray-700: var(--clm-ink-3);--clm-gray-800: var(--clm-ink-2);--clm-gray-900: var(--clm-ink);--clm-white: #ffffff;--clm-bg-app: var(--clm-bg);--clm-bg-surface: var(--clm-surface);--clm-bg-raised: var(--clm-surface);--clm-bg-sunken: var(--clm-surface-2);--clm-text-strong: var(--clm-ink);--clm-text-subtle: var(--clm-text-faint);--clm-text-on-primary: var(--clm-on-action);--clm-border-mid: var(--clm-border-neutral);--clm-border-hover: var(--clm-purple-200);--clm-font-display: var(--clm-font-ui);--clm-font-body: var(--clm-font-ui);--clm-fs-xs: 1.1rem;--clm-fs-sm: 1.25rem;--clm-fs-md: 1.45rem;--clm-fs-lg: 1.6rem;--clm-fs-xl: 2rem;--clm-fs-2xl: 2.8rem;--clm-lh-tight: 1.1;--clm-lh-normal: 1.6;--clm-shadow-sm: var(--clm-shadow-card);--clm-shadow-md: var(--clm-shadow-card-lg);--clm-shadow-lg: var(--clm-shadow-overlay);--clm-sidebar-w: var(--clm-w-rail);--clm-topbar-h: var(--clm-h-topbar)}html{color-scheme:light;--mat-sys-background: light-dark(#fef8fc, #151316);--mat-sys-error: light-dark(#ba1a1a, #ffb4ab);--mat-sys-error-container: light-dark(#ffdad6, #93000a);--mat-sys-inverse-on-surface: light-dark(#f5eff4, #323033);--mat-sys-inverse-primary: light-dark(#d5baff, #7d00fa);--mat-sys-inverse-surface: light-dark(#323033, #e6e1e6);--mat-sys-on-background: light-dark(#1d1b1e, #e6e1e6);--mat-sys-on-error: light-dark(#ffffff, #690005);--mat-sys-on-error-container: light-dark(#93000a, #ffdad6);--mat-sys-on-primary: light-dark(#ffffff, #42008a);--mat-sys-on-primary-container: light-dark(#5f00c0, #ecdcff);--mat-sys-on-primary-fixed: light-dark(#270057, #270057);--mat-sys-on-primary-fixed-variant: light-dark(#5f00c0, #5f00c0);--mat-sys-on-secondary: light-dark(#ffffff, #352d40);--mat-sys-on-secondary-container: light-dark(#4b4357, #eadef7);--mat-sys-on-secondary-fixed: light-dark(#1f182a, #1f182a);--mat-sys-on-secondary-fixed-variant: light-dark(#4b4357, #4b4357);--mat-sys-on-surface: light-dark(#1d1b1e, #e6e1e6);--mat-sys-on-surface-variant: light-dark(#49454e, #e8e0eb);--mat-sys-on-tertiary: light-dark(#ffffff, #502400);--mat-sys-on-tertiary-container: light-dark(#723600, #ffdcc7);--mat-sys-on-tertiary-fixed: light-dark(#311300, #311300);--mat-sys-on-tertiary-fixed-variant: light-dark(#723600, #723600);--mat-sys-outline: light-dark(#7b757f, #958e99);--mat-sys-outline-variant: light-dark(#cbc4cf, #49454e);--mat-sys-primary: light-dark(#7d00fa, #d5baff);--mat-sys-primary-container: light-dark(#ecdcff, #5f00c0);--mat-sys-primary-fixed: light-dark(#ecdcff, #ecdcff);--mat-sys-primary-fixed-dim: light-dark(#d5baff, #d5baff);--mat-sys-scrim: light-dark(#000000, #000000);--mat-sys-secondary: light-dark(#645b70, #cec2db);--mat-sys-secondary-container: light-dark(#eadef7, #4b4357);--mat-sys-secondary-fixed: light-dark(#eadef7, #eadef7);--mat-sys-secondary-fixed-dim: light-dark(#cec2db, #cec2db);--mat-sys-shadow: light-dark(#000000, #000000);--mat-sys-surface: light-dark(#fef8fc, #151316);--mat-sys-surface-bright: light-dark(#fef8fc, #3b383c);--mat-sys-surface-container: light-dark(#f2ecf1, #211f22);--mat-sys-surface-container-high: light-dark(#ede6eb, #2b292d);--mat-sys-surface-container-highest: light-dark(#e6e1e6, #363437);--mat-sys-surface-container-low: light-dark(#f8f2f6, #1d1b1e);--mat-sys-surface-container-lowest: light-dark(#ffffff, #0f0d11);--mat-sys-surface-dim: light-dark(#ded8dd, #151316);--mat-sys-surface-tint: light-dark(#7d00fa, #d5baff);--mat-sys-surface-variant: light-dark(#e8e0eb, #49454e);--mat-sys-tertiary: light-dark(#964900, #ffb787);--mat-sys-tertiary-container: light-dark(#ffdcc7, #723600);--mat-sys-tertiary-fixed: light-dark(#ffdcc7, #ffdcc7);--mat-sys-tertiary-fixed-dim: light-dark(#ffb787, #ffb787);--mat-sys-neutral-variant20: #332f37;--mat-sys-neutral10: #1d1b1e;--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-sys-body-large: 400 1rem / 1.5rem Instrument Sans, sans-serif;--mat-sys-body-large-font: Instrument Sans, sans-serif;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-medium: 400 .875rem / 1.25rem Instrument Sans, sans-serif;--mat-sys-body-medium-font: Instrument Sans, sans-serif;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-small: 400 .75rem / 1rem Instrument Sans, sans-serif;--mat-sys-body-small-font: Instrument Sans, sans-serif;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-display-large: 400 3.562rem / 4rem Poppins, Instrument Sans, sans-serif;--mat-sys-display-large-font: Poppins, Instrument Sans, sans-serif;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem Poppins, Instrument Sans, sans-serif;--mat-sys-display-medium-font: Poppins, Instrument Sans, sans-serif;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem Poppins, Instrument Sans, sans-serif;--mat-sys-display-small-font: Poppins, Instrument Sans, sans-serif;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem Poppins, Instrument Sans, sans-serif;--mat-sys-headline-large-font: Poppins, Instrument Sans, sans-serif;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem Poppins, Instrument Sans, sans-serif;--mat-sys-headline-medium-font: Poppins, Instrument Sans, sans-serif;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem Poppins, Instrument Sans, sans-serif;--mat-sys-headline-small-font: Poppins, Instrument Sans, sans-serif;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 .875rem / 1.25rem Instrument Sans, sans-serif;--mat-sys-label-large-font: Instrument Sans, sans-serif;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 600;--mat-sys-label-medium: 500 .75rem / 1rem Instrument Sans, sans-serif;--mat-sys-label-medium-font: Instrument Sans, sans-serif;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight-prominent: 600;--mat-sys-label-small: 500 .688rem / 1rem Instrument Sans, sans-serif;--mat-sys-label-small-font: Instrument Sans, sans-serif;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-title-large: 400 1.375rem / 1.75rem Poppins, Instrument Sans, sans-serif;--mat-sys-title-large-font: Poppins, Instrument Sans, sans-serif;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem Instrument Sans, sans-serif;--mat-sys-title-medium-font: Instrument Sans, sans-serif;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 .875rem / 1.25rem Instrument Sans, sans-serif;--mat-sys-title-small-font: Instrument Sans, sans-serif;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 500;--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12;--mat-sys-primary: var(--clm-action);--mat-sys-on-primary: var(--clm-on-action);--mat-sys-primary-container: var(--clm-action-soft);--mat-sys-on-primary-container: var(--clm-action-deep);--mat-sys-corner-large: var(--clm-radius-lg);--mat-sys-corner-medium: var(--clm-radius-md);--mat-sys-corner-small: var(--clm-radius-sm);--mat-sys-surface: var(--clm-surface);--mat-sys-surface-container-lowest: var(--clm-surface);--mat-sys-surface-container-low: var(--clm-surface-2);--mat-sys-surface-container: var(--clm-surface-2);--mat-sys-surface-container-high: var(--clm-surface);--mat-sys-surface-container-highest: var(--clm-neutral-chip-bg);--mat-sys-background: var(--clm-surface);--mat-sys-on-surface: var(--clm-ink);--mat-sys-on-surface-variant: var(--clm-text);--mat-sys-outline: var(--clm-border);--mat-sys-outline-variant: var(--clm-border-soft);--mat-sys-error: var(--clm-overdue-500);--mat-sys-on-error: #ffffff;--mat-sys-error-container: var(--clm-overdue-bg);--mat-sys-on-error-container: var(--clm-overdue-text);--mat-sys-body-large-font: var(--clm-font-ui);--mat-sys-body-large-size: 1.45rem;--mat-sys-body-large-weight: 400;--mat-sys-body-large-line-height: 2.2rem;--mat-sys-body-medium-font: var(--clm-font-ui);--mat-sys-body-medium-size: 1.3rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-medium-line-height: 1.9rem;--mat-sys-body-small-font: var(--clm-font-ui);--mat-sys-body-small-size: 1.2rem;--mat-sys-body-small-weight: 400;--mat-sys-body-small-line-height: 1.7rem;--mat-sys-label-large-font: var(--clm-font-ui);--mat-sys-label-large-size: 1.3rem;--mat-sys-label-large-weight: 600;--mat-sys-label-large-line-height: 2rem;--mat-sys-label-medium-font: var(--clm-font-ui);--mat-sys-label-medium-size: 1.2rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-line-height: 1.6rem;--mat-sys-label-small-font: var(--clm-font-ui);--mat-sys-label-small-size: 1.1rem;--mat-sys-label-small-weight: 500;--mat-sys-label-small-line-height: 1.5rem;--mat-sys-title-large-font: var(--clm-font-title);--mat-sys-title-large-size: 2rem;--mat-sys-title-large-weight: 600;--mat-sys-title-large-line-height: 2.6rem;--mat-sys-title-medium-font: var(--clm-font-ui);--mat-sys-title-medium-size: 1.6rem;--mat-sys-title-medium-weight: 600;--mat-sys-title-medium-line-height: 2.2rem;--mat-sys-title-small-font: var(--clm-font-ui);--mat-sys-title-small-size: 1.4rem;--mat-sys-title-small-weight: 600;--mat-sys-title-small-line-height: 2rem}.mat-mdc-button-base{--mat-button-filled-container-shape: var(--clm-radius-md);--mat-button-filled-container-height: var(--clm-h-control);--mat-button-outlined-container-shape: var(--clm-radius-md);--mat-button-outlined-container-height: var(--clm-h-control);--mat-button-outlined-outline-color: var(--clm-border);--mat-button-text-container-shape: var(--clm-radius-md);--mat-button-text-container-height: var(--clm-h-control);--mat-button-protected-container-shape: var(--clm-radius-md);--mat-button-protected-container-height: var(--clm-h-control);--mat-button-tonal-container-shape: var(--clm-radius-md);--mat-button-tonal-container-height: var(--clm-h-control);letter-spacing:normal}div.mat-mdc-select-panel{border-radius:var(--clm-radius-lg);border:1px solid var(--clm-border);box-shadow:var(--clm-shadow-card-lg);padding:.6rem}.mat-mdc-option{--mat-option-label-text-size: 1.3rem;--mat-option-hover-state-layer-color: var(--clm-surface-hover);--mat-option-focus-state-layer-color: var(--clm-surface-hover);--mat-option-selected-state-layer-color: var(--clm-action-soft);min-height:3.8rem;border-radius:var(--clm-radius-chip)}div.mat-mdc-menu-panel{--mat-menu-container-shape: var(--clm-radius-lg);--mat-menu-item-label-text-size: 1.3rem;min-width:20rem;padding:.6rem;border:1px solid var(--clm-border);box-shadow:var(--clm-shadow-card-lg)}div.mat-mdc-menu-panel .mat-mdc-menu-content{padding:0}div.mat-mdc-menu-panel .mat-mdc-menu-item{display:flex;align-items:center;gap:1rem;min-height:3.8rem;border-radius:var(--clm-radius-chip);color:var(--clm-ink-3)}div.mat-mdc-menu-panel .mat-mdc-menu-item .mat-mdc-menu-item-text{display:flex;align-items:center;gap:1rem}div.mat-mdc-menu-panel .mat-mdc-menu-item .material-symbols-rounded{font-size:1.9rem;color:var(--clm-text-faint);flex:0 0 auto}div.mat-mdc-menu-panel .mat-mdc-menu-item:hover:not([disabled]){background:var(--clm-surface-hover);color:var(--clm-ink)}div.mat-mdc-menu-panel .mat-mdc-menu-item:hover:not([disabled]) .material-symbols-rounded{color:var(--clm-action-deep)}div.mat-mdc-menu-panel .clm-menu__danger,div.mat-mdc-menu-panel .clm-menu__danger .material-symbols-rounded{color:var(--clm-overdue-text)}div.mat-mdc-menu-panel .clm-menu__danger:hover:not([disabled]){background:var(--clm-overdue-bg);color:var(--clm-overdue-text)}div.mat-mdc-menu-panel .clm-menu__danger:hover:not([disabled]) .material-symbols-rounded{color:var(--clm-overdue-text)}.mat-mdc-select{--mat-select-trigger-text-size: 1.3rem}.mat-mdc-checkbox{--mat-checkbox-label-text-size: 1.3rem;--mdc-checkbox-state-layer-size: 3.6rem;--mdc-checkbox-unselected-icon-color: var(--clm-checkbox-border);--mdc-checkbox-unselected-hover-icon-color: var(--clm-text-faint);--mdc-checkbox-selected-icon-color: var(--clm-action);--mdc-checkbox-selected-hover-icon-color: var(--clm-action-hover);--mdc-checkbox-selected-focus-icon-color: var(--clm-action);--mdc-checkbox-selected-pressed-icon-color: var(--clm-action-hover)}.mat-mdc-chip.mat-mdc-standard-chip{--mdc-chip-container-shape-radius: var(--clm-radius-pill);--mdc-chip-label-text-size: 1.15rem;--mdc-chip-label-text-weight: 600;--mdc-chip-elevated-container-color: var(--clm-action-soft);--mdc-chip-label-text-color: var(--clm-action-deep);--mdc-chip-with-trailing-icon-trailing-icon-color: var(--clm-action-deep)}.mat-mdc-form-field{--mat-form-field-container-height: var(--clm-h-control);--mat-form-field-container-vertical-padding: .9rem;--mat-form-field-filled-with-label-container-padding-top: 1.8rem;--mat-form-field-filled-with-label-container-padding-bottom: .6rem;--mdc-outlined-text-field-outline-color: var(--clm-border);--mdc-outlined-text-field-hover-outline-color: var(--clm-border-neutral);--mdc-outlined-text-field-focus-outline-color: var(--clm-action);--mdc-outlined-text-field-outline-width: 1px;--mdc-outlined-text-field-focus-outline-width: 1.5px;--mdc-outlined-text-field-label-text-color: var(--clm-text-muted);--mdc-outlined-text-field-focus-label-text-color: var(--clm-action-deep);--mdc-outlined-text-field-input-text-color: var(--clm-ink);--mdc-outlined-text-field-container-shape: var(--clm-radius-md);--mat-form-field-subscript-text-size: 1.15rem;--mat-form-field-subscript-text-line-height: 1.6rem}.mat-mdc-form-field.mat-focused .mdc-notched-outline{border-radius:var(--clm-radius-md);box-shadow:var(--clm-focus-ring)}.mat-mdc-dialog-surface{border-radius:var(--clm-radius-xl);background:var(--clm-surface);box-shadow:var(--clm-shadow-overlay)}.mat-mdc-card{border-radius:var(--clm-radius-lg)!important;border:1px solid var(--clm-border);box-shadow:none!important}*,*:before,*:after{box-sizing:border-box}html{font-size:62.5%;-webkit-text-size-adjust:100%;text-size-adjust:100%}html,body{height:100%}body{margin:0;font-family:var(--clm-font-ui);font-size:var(--clm-type-body-size);line-height:var(--clm-type-body-lh);color:var(--clm-ink);background-color:var(--clm-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600;color:var(--clm-ink)}h1,h2{font-family:var(--clm-font-title);line-height:var(--clm-type-title-lh);letter-spacing:var(--clm-type-title-ls)}h3,h4,h5,h6{font-family:var(--clm-font-ui);line-height:1.3;letter-spacing:-.01em}h1{font-size:var(--clm-type-title-size)}h2{font-size:2rem}h3{font-size:var(--clm-type-section-size)}h4,h5,h6{font-size:var(--clm-type-label-size)}p{margin:0}a{color:var(--clm-link);text-decoration:none;transition:var(--clm-transition)}a:hover{color:var(--clm-action-deep)}button,input,select,textarea{font-family:inherit;font-size:inherit}button{margin:0;padding:0;border:none;background:none;color:inherit;line-height:inherit;text-align:inherit;cursor:pointer}button:disabled{cursor:default}fieldset{margin:0;padding:0;border:none}table{border-collapse:collapse}img,svg{display:block;max-width:100%}:focus-visible{outline:1.5px solid var(--clm-action);outline-offset:0;box-shadow:var(--clm-focus-ring)}::selection{background:var(--clm-action-soft)}*{scrollbar-width:thin;scrollbar-color:var(--clm-border-neutral) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--clm-border-neutral);border-radius:var(--clm-radius-pill);border:2px solid transparent;background-clip:content-box}.clm-page{width:100%;padding:2.2rem var(--clm-pad-page) 4rem;display:flex;flex-direction:column;gap:var(--clm-space-5)}@media(max-width:720px){.clm-page{padding:var(--clm-space-3) var(--clm-space-3) var(--clm-space-6);gap:var(--clm-space-4)}}.clm-card{background:var(--clm-surface);border:1px solid var(--clm-border);border-radius:var(--clm-radius-lg);padding:2rem;box-shadow:none}.clm-card--metric{padding:1.6rem}.clm-btn{display:inline-flex;align-items:center;justify-content:center;gap:.8rem;height:var(--clm-h-control);padding:0 2.2rem;border:1px solid transparent;border-radius:var(--clm-radius-md);font-family:var(--clm-font-ui);font-size:1.5rem;font-weight:600;line-height:1;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background .14s var(--clm-ease),border-color .14s var(--clm-ease),color .14s var(--clm-ease)}.clm-btn .material-symbols-rounded{font-size:1.8rem}.clm-btn:disabled{background:var(--clm-border);border-color:transparent;color:var(--clm-text-muted);box-shadow:none;cursor:default}.clm-btn--primary{background:var(--clm-action);color:var(--clm-on-action);box-shadow:var(--clm-shadow-primary)}.clm-btn--primary:hover:not(:disabled){background:var(--clm-action-hover)}.clm-btn--ghost{background:var(--clm-surface);color:var(--clm-ink);border-color:var(--clm-ink)}.clm-btn--ghost:hover:not(:disabled){background:var(--clm-surface-hover)}.clm-btn--text{background:transparent;color:var(--clm-text)}.clm-btn--text:hover:not(:disabled){background:var(--clm-surface-hover);color:var(--clm-ink)}.clm-btn--danger{background:var(--clm-surface);color:var(--clm-overdue-text);border-color:var(--clm-overdue-border)}.clm-btn--danger:hover:not(:disabled){background:var(--clm-overdue-bg)}.clm-btn--ai{height:3.6rem;padding:0 1.3rem;border-color:var(--clm-action-border);background:var(--clm-surface);color:var(--clm-ink);font-size:1.25rem}.clm-btn--ai:hover:not(:disabled){background:var(--clm-action-tint)}.clm-btn--compact{height:4rem;padding:0 1.6rem;font-size:1.3rem}.clm-btn--md{height:3.8rem;padding:0 1.3rem;border-radius:1rem;font-size:1.25rem}.clm-btn--outline{background:transparent;color:var(--clm-ink);border-color:var(--clm-border)}.clm-btn--outline:hover:not(:disabled){background:var(--clm-surface-hover)}.clm-btn--icon{width:4rem;padding:0}.clm-btn--sm{height:var(--clm-h-compact);padding:0 1.2rem;border-radius:var(--clm-radius-chip);font-size:1.25rem}.clm-btn--sm .material-symbols-rounded{font-size:1.6rem}.clm-btn__plus{font-size:1.6rem;line-height:1}.clm-btn__cost{padding:.2rem .6rem;border-radius:.5rem;background:var(--clm-action-soft);color:var(--clm-purple-800);font-family:var(--clm-font-mono);font-size:.95rem;font-weight:600;line-height:1.35}.clm-fieldblock{border:1px solid var(--clm-border-neutral);border-radius:var(--clm-radius-md);overflow:hidden}.clm-fieldblock__row{padding:1.2rem 1.8rem 1.3rem;border-bottom:1px solid var(--clm-border)}.clm-fieldblock__row:last-child{border-bottom:none}.clm-fieldblock__row--active{background:var(--clm-surface-hover)}.clm-fieldblock__row--active .clm-fieldblock__label{color:var(--clm-action-deep)}.clm-fieldblock__row--error{background:var(--clm-overdue-bg)}.clm-fieldblock__row--error .clm-fieldblock__label{color:var(--clm-overdue-text)}.clm-fieldblock__label{display:block;margin-bottom:.3rem;font-family:var(--clm-font-mono);font-size:1rem;letter-spacing:.16em;text-transform:uppercase;color:var(--clm-text-muted)}.clm-fieldblock__value{display:flex;align-items:center;gap:.8rem;font-size:1.5rem;color:var(--clm-ink)}.clm-fieldblock__value--mono{font-family:var(--clm-font-mono)}.clm-fieldblock__note{margin:1.2rem 0 0;font-size:1.3rem;line-height:1.5;color:var(--clm-overdue-text)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:3.6rem;height:3.6rem;border:none;border-radius:1rem;background:none;color:var(--clm-text-muted);cursor:pointer;transition:background .14s var(--clm-ease),color .14s var(--clm-ease)}.icon-btn .material-symbols-rounded{font-size:2rem}.icon-btn:hover:not(:disabled){background:var(--clm-surface-hover);color:var(--clm-ink)}.icon-btn:disabled{opacity:.5;cursor:default}.icon-btn--outlined{border:1px solid var(--clm-border);color:var(--clm-ink-2)}.icon-btn--danger:hover:not(:disabled){background:var(--clm-overdue-bg);color:var(--clm-overdue-text)}.clm-chip{display:inline-flex;align-items:center;gap:.6rem;height:var(--clm-h-chip);padding:0 1rem;border-radius:var(--clm-radius-pill);background:var(--clm-surface);border:1px solid var(--clm-border);font-family:var(--clm-font-ui);font-size:1.15rem;font-weight:600;line-height:1;color:var(--clm-ink-3);white-space:nowrap}.clm-chip--soft{background:var(--clm-neutral-chip-bg);border-color:transparent;color:var(--clm-neutral-chip-text)}.clm-chip--warn{background:var(--clm-due-bg);border-color:var(--clm-due-border);color:var(--clm-due-text)}.clm-chip--action{border-color:var(--clm-action-border);color:var(--clm-action-deep);font-size:1.05rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-radius:var(--clm-radius-sm)}.clm-chip--ai{height:auto;padding:.1rem .5rem;border-radius:.5rem;background:var(--clm-ai-chip-bg);border-color:var(--clm-ai-chip-border);color:var(--clm-ai-chip-text);font-family:var(--clm-font-mono);font-size:.9rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.clm-badge{display:inline-flex;align-items:center;gap:.6rem;height:var(--clm-h-chip);padding:0 1rem;border-radius:var(--clm-radius-pill);border:1px solid var(--clm-closed-border);background:var(--clm-closed-bg);color:var(--clm-closed-text);font-family:var(--clm-font-ui);font-size:1.15rem;font-weight:600;line-height:1;white-space:nowrap}.clm-badge:before{content:"";width:.6rem;height:.6rem;border-radius:50%;background:var(--clm-closed-500);flex:none}.clm-badge--success,.clm-badge--ok{background:var(--clm-ok-bg);border-color:var(--clm-ok-border);color:var(--clm-ok-text)}.clm-badge--success:before,.clm-badge--ok:before{background:var(--clm-ok-500)}.clm-badge--warning,.clm-badge--due{background:var(--clm-due-bg);border-color:var(--clm-due-border);color:var(--clm-due-text)}.clm-badge--warning:before,.clm-badge--due:before{background:var(--clm-due-500)}.clm-badge--danger,.clm-badge--overdue{background:var(--clm-overdue-bg);border-color:var(--clm-overdue-border);color:var(--clm-overdue-text)}.clm-badge--danger:before,.clm-badge--overdue:before{background:var(--clm-overdue-500)}.clm-badge--neutral,.clm-badge--primary,.clm-badge--closed{background:var(--clm-closed-bg);border-color:var(--clm-closed-border);color:var(--clm-closed-text)}.clm-badge--neutral:before,.clm-badge--primary:before,.clm-badge--closed:before{background:var(--clm-closed-500)}.clm-flex{display:flex}.clm-flex-col{display:flex;flex-direction:column}.clm-items-center{align-items:center}.clm-justify-between{justify-content:space-between}.clm-gap-2{gap:var(--clm-space-2)}.clm-gap-3{gap:var(--clm-space-3)}.clm-gap-4{gap:var(--clm-space-4)}.clm-grow{flex:1 1 auto;min-width:0}.clm-muted{color:var(--clm-text-muted)}.clm-mono{font-family:var(--clm-font-mono);font-variant-numeric:tabular-nums}.clm-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clm-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.clm-loading{display:flex;justify-content:center;padding:2.4rem 0}.clm-loading--sm{padding:2.4rem 0}.clm-table-wrap{position:relative;overflow-x:auto;border:1px solid var(--clm-border);border-radius:var(--clm-radius-lg);background:var(--clm-surface)}.clm-table-wrap--flush{border:none;border-radius:0}.clm-table{width:100%;border-collapse:collapse;font-size:1.35rem}.clm-table th{height:var(--clm-h-table-head);text-align:left;padding:0 1.4rem;background:var(--clm-ink);color:var(--clm-surface);font-family:var(--clm-font-mono);font-size:var(--clm-type-table-head-size);font-weight:400;text-transform:uppercase;letter-spacing:var(--clm-type-table-head-ls);white-space:nowrap}.clm-table td{padding:1rem 1.4rem;border-bottom:1px solid var(--clm-border-soft);color:var(--clm-ink);vertical-align:middle}.clm-table tbody tr{transition:background .12s ease}.clm-table tbody tr:hover td{background:var(--clm-row-hover)}.clm-table tbody tr:last-child td{border-bottom:none}.clm-table tr.is-due td{background:var(--clm-row-tint-due)}.clm-table tr.is-overdue td{background:var(--clm-row-tint-overdue)}.clm-empty{display:flex;flex-direction:column;align-items:center;gap:.6rem;padding:4.8rem 0;text-align:center;color:var(--clm-text-muted)}.clm-empty .material-symbols-rounded{font-size:4rem;color:var(--clm-border-neutral)}.clm-empty strong{font-size:1.45rem;font-weight:600;color:var(--clm-ink)}.clm-empty p{margin:0;font-size:1.3rem;max-width:42rem}.clm-empty--rich{gap:.8rem;padding:5.6rem 2rem}.clm-empty--rich .material-symbols-rounded{display:grid;place-items:center;width:6.4rem;height:6.4rem;margin-bottom:.6rem;border-radius:var(--clm-radius-xl);background:var(--clm-action-soft);color:var(--clm-action-deep);font-size:3.2rem}.clm-empty--rich strong{font-size:1.7rem}.clm-empty--rich p{font-size:1.35rem}.clm-empty--rich .clm-btn{margin-top:1.2rem}.clm-row-new{animation:clm-row-flash 2.5s ease-out}@keyframes clm-row-flash{0%{background:var(--clm-action-soft)}60%{background:var(--clm-purple-25)}to{background:transparent}}.clm-quote{margin:0;padding:1rem 1.3rem;border-radius:var(--clm-radius-card);background:var(--clm-surface-2);font-size:1.25rem;color:var(--clm-text);line-height:1.55}.clm-quote--accent{background:var(--clm-purple-25);color:var(--clm-ink-3)}.clm-quote--sm{padding:.8rem 1.1rem;font-size:1.2rem}.clm-tabs{position:relative;display:flex;align-items:center;gap:.6rem;margin-bottom:2rem;overflow-x:auto}.clm-tabs__tab{display:inline-flex;align-items:center;gap:.3rem;height:2.85rem;padding:0 1.3rem;border:1px solid var(--clm-border);border-radius:var(--clm-radius-tab);background:var(--clm-surface);font:inherit;font-size:1.2rem;font-weight:500;line-height:1;color:var(--clm-ink-3);white-space:nowrap;cursor:pointer;transition:background .14s var(--clm-ease),border-color .14s var(--clm-ease),color .14s var(--clm-ease)}.clm-tabs__tab .material-symbols-rounded{font-size:1.6rem}.clm-tabs__tab:hover{background:var(--clm-surface-3);color:var(--clm-ink)}.clm-tabs__tab--active{background:var(--clm-ink);border-color:var(--clm-ink);color:var(--clm-surface);font-weight:600}.clm-tabs__tab--active:hover{background:var(--clm-ink);color:var(--clm-surface)}.clm-tabs__tab--due{background:var(--clm-due-bg);border-color:var(--clm-due-border);color:var(--clm-due-text);font-weight:600}.clm-tabs__count{font-variant-numeric:tabular-nums;font-size:1.2rem;font-weight:inherit;color:var(--clm-text-muted)}.clm-tabs__tab--active .clm-tabs__count{color:#ffffffb3}.clm-tabs__tab--due .clm-tabs__count,.clm-tabs__count--warn{color:var(--clm-due-text)}.clm-section{background:var(--clm-surface);border:1px solid var(--clm-border);border-radius:var(--clm-radius-lg);overflow:hidden}.clm-section__head{display:flex;align-items:center;gap:1.2rem;min-height:7.1rem;padding:1.4rem 1.8rem;border-bottom:1px solid var(--clm-border)}.clm-section__head--bare{min-height:5.3rem}.clm-section--compact .clm-section__head{min-height:4.6rem;padding:1.2rem 1.6rem}.clm-section__icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:3.4rem;height:3.4rem;border-radius:1rem;background:var(--clm-action-soft);color:var(--clm-action-deep)}.clm-section__icon--ok{background:var(--clm-ok-bg);color:var(--clm-ok-text)}.clm-section__icon--due{background:var(--clm-due-bg);color:var(--clm-due-text)}.clm-section__icon--overdue{background:var(--clm-overdue-bg);color:var(--clm-overdue-text)}.clm-section__icon--neutral{background:var(--clm-neutral-chip-bg);color:var(--clm-text-muted)}.clm-section__icon--info{background:var(--clm-info-bg);color:var(--clm-info-text)}.clm-section__titles{display:flex;flex-direction:column;gap:.3rem;min-width:0}.clm-section__title{margin:0;font-family:var(--clm-font-title);font-size:1.6rem;font-weight:600;line-height:1.45;letter-spacing:-.02em;color:var(--clm-ink)}.clm-section--compact .clm-section__title{font-size:1.4rem}.clm-section__subtitle{margin:0;font-size:1.25rem;line-height:1.2;color:var(--clm-text-muted)}.clm-section__meta{font-family:var(--clm-font-mono);font-size:1.05rem;color:var(--clm-text-muted);white-space:nowrap}.clm-section__actions{display:flex;align-items:center;gap:1.2rem;margin-left:auto}.clm-section__body{padding:1.8rem}.clm-cells{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--clm-border-soft)}.clm-cells--3{grid-template-columns:repeat(3,minmax(0,1fr))}.clm-cells--2{grid-template-columns:repeat(2,minmax(0,1fr))}.clm-cell{min-height:5.6rem;padding:1.2rem 1.8rem;background:var(--clm-surface)}.clm-cell__label{display:block;font-family:var(--clm-font-mono);font-size:.95rem;letter-spacing:.14em;text-transform:uppercase;line-height:1.35;color:var(--clm-text-muted)}.clm-cell__value{display:block;margin-top:.5rem;font-size:1.25rem;font-weight:500;line-height:1.2;color:var(--clm-ink)}.clm-cell__value--empty{color:var(--clm-text-faint);font-weight:400}.clm-cell__value--lg{margin-top:.2rem;font-size:1.35rem;font-weight:400;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clm-cell__value--lg.clm-cell__value--empty{color:var(--clm-overdue-text)}.clm-cell__value--strong{font-weight:600}.clm-cell__row{display:flex;align-items:center;gap:.7rem;min-width:0}.clm-cell__row .clm-cell__value{min-width:0}.clm-cell__edit{display:inline-flex;flex:none;padding:0;border:0;background:transparent;color:var(--clm-border-ai);cursor:pointer}.clm-cell__edit:hover{color:var(--clm-action-deep)}.clm-score{display:flex;flex-direction:column;align-items:flex-start;gap:1rem;width:15.2rem;flex:none}.clm-score__value{display:flex;align-items:baseline;gap:.3rem;font-family:var(--clm-font-title);font-size:5.2rem;font-weight:600;line-height:.9;letter-spacing:-.05em;color:var(--clm-ink)}.clm-score__value small{font-size:1.8rem;letter-spacing:normal;color:var(--clm-text-faint)}.clm-score--ok .clm-score__value{color:var(--clm-ok-text)}.clm-score--due .clm-score__value{color:var(--clm-due-text)}.clm-score--overdue .clm-score__value{color:var(--clm-overdue-text)}.clm-score__note{margin-top:-.2rem;font-size:1.15rem;line-height:1.3;color:var(--clm-text-muted)}.clm-sev{display:inline-flex;align-items:center;justify-content:center;height:2.2rem;padding:0 .8rem;border:1px solid var(--clm-closed-border);border-radius:var(--clm-radius-pill);background:var(--clm-closed-bg);font-size:1.05rem;font-weight:700;letter-spacing:.03em;line-height:1;color:var(--clm-closed-text);white-space:nowrap}.clm-sev--critical,.clm-sev--high{background:var(--clm-overdue-bg);border-color:var(--clm-overdue-border);color:var(--clm-overdue-text)}.clm-sev--medium{background:var(--clm-due-bg);border-color:var(--clm-due-border);color:var(--clm-due-text)}.clm-sev--lg{height:2.4rem;min-width:6.2rem;padding:0 1.4rem}.clm-tag{display:inline-flex;align-items:center;height:2rem;padding:0 .8rem;border-radius:var(--clm-radius-pill);background:var(--clm-neutral-chip-bg);font-size:1.05rem;font-weight:600;line-height:1;color:var(--clm-ink-2);white-space:nowrap}.clm-fstate{display:inline-flex;align-items:center;justify-content:center;min-width:9.2rem;height:2.4rem;padding:0 .8rem;border:1px solid transparent;border-radius:.6rem;background:var(--clm-ok-bg);font-family:var(--clm-font-mono);font-size:.85rem;font-weight:600;letter-spacing:.08em;line-height:1;color:var(--clm-ok-text);white-space:nowrap}.clm-fstate--suggested{background:var(--clm-due-bg);border-color:var(--clm-due-border);border-style:dashed;color:var(--clm-due-text)}.clm-fstate--edited{background:var(--clm-action-soft);color:var(--clm-action-deep)}.clm-avatar{display:inline-flex;align-items:center;justify-content:center;flex:none;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--clm-action-soft);font-size:.9rem;font-weight:700;line-height:1;color:var(--clm-action-deep);text-transform:uppercase}.clm-avatar--lg{width:3rem;height:3rem;font-size:1.1rem}.clm-avatar--solid{background:var(--clm-action);color:var(--clm-on-action)}.clm-doctabs{display:flex;gap:2rem;border-bottom:1px solid var(--clm-border);overflow:hidden}.clm-doctabs__tab{display:inline-flex;align-items:center;gap:.6rem;padding:0 0 1rem;border:none;background:none;font:inherit;font-size:1.3rem;font-weight:500;line-height:1.25;color:var(--clm-text);white-space:nowrap;cursor:pointer}.clm-doctabs__tab:hover{color:var(--clm-ink)}.clm-doctabs__tab--active{font-weight:600;color:var(--clm-ink);box-shadow:inset 0 -2px 0 var(--clm-action)}.clm-doctabs__count{padding:.1rem .6rem;border-radius:var(--clm-radius-pill);background:var(--clm-action-soft);font-family:var(--clm-font-mono);font-size:1rem;font-weight:600;line-height:1.3;color:var(--clm-purple-800)}.clm-empty-why{display:flex;align-items:flex-start;gap:1.4rem}.clm-empty-why__icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:3.4rem;height:3.4rem;border-radius:1rem;background:var(--clm-neutral-chip-bg);color:var(--clm-text-muted)}.clm-empty-why__title{margin:0;font-size:1.3rem;font-weight:600;line-height:1.25;color:var(--clm-ink)}.clm-empty-why__text{margin:.3rem 0 0;font-size:1.25rem;line-height:1.2;color:var(--clm-text)}.clm-segmented{display:inline-flex;gap:.4rem;padding:.3rem;border:1px solid var(--clm-border);border-radius:1.1rem;background:var(--clm-surface)}.clm-segmented__btn{height:3rem;padding:0 1.3rem;border:0;border-radius:.8rem;background:transparent;font-family:var(--clm-font-ui);font-size:1.25rem;line-height:1.2;font-weight:600;color:var(--clm-text);cursor:pointer}.clm-segmented__btn:hover{background:var(--clm-surface-hover)}.clm-segmented__btn.is-active{background:var(--clm-ink);color:var(--clm-on-action)}.clm-select-btn{display:flex;align-items:center;gap:1rem;height:4.2rem;padding:0 1.3rem;border:1px solid var(--clm-border);border-radius:1rem;background:var(--clm-surface);font-family:var(--clm-font-ui);text-align:left;cursor:pointer}.clm-select-btn:hover{background:var(--clm-surface-hover)}.clm-select-btn clm-icon{color:var(--clm-text-muted)}.clm-select-btn--sm{height:4rem}.clm-select-btn__label{font-family:var(--clm-font-mono);font-size:.95rem;line-height:1.35;letter-spacing:.12em;color:var(--clm-text-muted)}.clm-select-btn__value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.3rem;line-height:1.2;font-weight:500;color:var(--clm-text-muted)}.clm-select-btn__value.is-set{font-weight:600;color:var(--clm-ink)}.clm-check{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:1.4rem;height:1.4rem;padding:0;box-sizing:content-box;border:1.5px solid var(--clm-checkbox-border);border-radius:.4rem;background:var(--clm-surface);color:var(--clm-on-action);cursor:pointer}.clm-check.is-on{border-color:var(--clm-action);background:var(--clm-action)}.clm-check--lg{width:1.6rem;height:1.6rem}.clm-tablinks{display:flex;gap:.4rem;padding:.3rem;border:1px solid var(--clm-border);border-radius:1rem;background:var(--clm-surface)}.clm-tablinks__btn{display:flex;align-items:center;gap:.6rem;height:3rem;padding:0 1.2rem;border:0;border-radius:.7rem;background:transparent;font-family:var(--clm-font-ui);font-size:1.25rem;font-weight:600;line-height:normal;color:var(--clm-text);text-decoration:none;cursor:pointer}.clm-tablinks__btn code{font-family:var(--clm-font-mono);font-size:1rem;line-height:normal;opacity:.75}.clm-tablinks__btn:hover{background:var(--clm-surface-hover)}.clm-tablinks__btn.is-active{background:var(--clm-ink);color:var(--clm-on-action)}.clm-filterchips{display:flex;gap:.4rem}.clm-filterchip{display:flex;align-items:center;gap:.6rem;height:3rem;padding:0 1.1rem;box-sizing:content-box;border:1px solid var(--clm-border);border-radius:999px;background:var(--clm-surface);font-family:var(--clm-font-ui);font-size:1.2rem;font-weight:600;line-height:normal;color:var(--clm-ink-2);cursor:pointer}.clm-filterchip code{font-family:var(--clm-font-mono);font-size:1rem;line-height:normal;opacity:.75}.clm-filterchip:hover{background:var(--clm-surface-hover)}.clm-filterchip.is-active{border-color:var(--clm-ink);background:var(--clm-ink);color:var(--clm-on-action)}.clm-srctag{display:inline-flex;align-items:center;gap:.5rem;height:1.8rem;padding:0 .6rem;box-sizing:content-box;border:1px solid transparent;border-radius:.5rem;background:var(--clm-action-tint);font-family:var(--clm-font-mono);font-size:.85rem;font-weight:600;letter-spacing:.08em;line-height:normal;text-transform:uppercase;color:var(--clm-purple-800);white-space:nowrap}.clm-srctag--ai{border:1.5px dashed var(--clm-border-ai);background:var(--clm-surface);color:var(--clm-text)}.clm-srctag--manual{background:var(--clm-ok-bg);color:var(--clm-ok-text)}.clm-srctag--lg{height:2.2rem;padding:0 .8rem;border-radius:.6rem}.clm-list-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:1.2rem;flex-wrap:wrap;margin-bottom:2rem}.clm-list-hero h1{font-size:var(--clm-type-title-size);font-weight:600;font-family:var(--clm-font-title);line-height:var(--clm-type-title-lh);letter-spacing:var(--clm-type-title-ls);color:var(--clm-ink);margin:0}.clm-list-hero__actions{display:flex;gap:1.2rem;flex-wrap:wrap}.clm-list-panel{padding:2.4rem}.clm-list-toolbar{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap;margin-bottom:1.6rem}.clm-list-search{flex:1;min-width:24rem}.clm-list-search__icon{font-size:1.8rem;color:var(--clm-text-faint);padding:0 .4rem 0 .8rem}.clm-list-select{width:18rem}.clm-list-row td{transition:background .12s ease}.clm-list-row:hover td{background:var(--clm-row-hover)}.clm-list-row .clm-list-action{opacity:0}.clm-list-row:hover .clm-list-action,.clm-list-row:focus-within .clm-list-action{opacity:1}.clm-list-row--link{cursor:pointer}.clm-list-actions{width:8.4rem;text-align:right;white-space:nowrap}.clm-list-num{text-align:right;font-family:var(--clm-font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.clm-list-name{min-width:26rem}.clm-list-name strong{display:block;font-size:1.35rem;font-weight:600;color:var(--clm-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:48rem}.clm-list-name small{display:block;margin-top:.3rem;font-family:var(--clm-font-mono);font-size:var(--clm-type-meta-size);color:var(--clm-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:40rem}.clm-list-muted{color:var(--clm-text-faint)}.clm-list-foot{display:flex;align-items:center;justify-content:space-between;gap:1.2rem;flex-wrap:wrap;min-height:var(--clm-h-pager);margin-top:1.6rem;padding:1.2rem 2rem;border-top:1px solid var(--clm-border);background:var(--clm-surface-3)}.clm-list-foot__label{font-size:1.2rem;color:var(--clm-text-muted)}.clm-list-foot__label strong{font-weight:600;color:var(--clm-ink)}.clm-list-foot__tools{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}.clm-list-foot__btn{display:inline-flex;align-items:center;gap:.5rem;height:3.2rem;padding:0 1.1rem;border-radius:var(--clm-radius-chip);color:var(--clm-text);font-size:1.2rem;font-weight:600}.clm-list-foot__btn .material-symbols-rounded{font-size:1.7rem;color:var(--clm-text-faint)}.clm-list-foot__btn:hover{background:var(--clm-surface-hover);color:var(--clm-ink)}.clm-pager{display:flex;align-items:center;gap:.5rem}.clm-pager__gap{padding:0 .4rem;color:var(--clm-text-faint)}.clm-pager__page{min-width:3rem;height:3rem;padding:0 .8rem;border-radius:.8rem;color:var(--clm-ink-3);font-size:1.25rem;font-weight:400;font-variant-numeric:tabular-nums}.clm-pager__page:hover{background:var(--clm-surface-hover);color:var(--clm-ink)}.clm-pager__page.is-active{background:var(--clm-action);color:var(--clm-on-action);font-weight:600}.clm-tab-stack{display:grid;gap:2rem}.clm-tab-card{padding:0;overflow:hidden}.clm-tab-card__head{display:flex;align-items:center;gap:1.4rem;padding:2rem 2.4rem;border-bottom:1px solid var(--clm-border-soft);flex-wrap:wrap}.clm-tab-card__icon{display:inline-flex;align-items:center;justify-content:center;width:4rem;height:4rem;border-radius:var(--clm-radius-chip);font-size:2rem;background:var(--clm-action-soft);color:var(--clm-action-deep)}.clm-tab-card__icon--danger{background:var(--clm-overdue-bg);color:var(--clm-overdue-text)}.clm-tab-card__titles{flex:1;min-width:16rem}.clm-tab-card__titles h3{font-size:var(--clm-type-section-size);font-weight:600;color:var(--clm-ink);margin:0}.clm-tab-card__titles p{margin:.2rem 0 0;font-size:1.25rem;color:var(--clm-text-muted)}.clm-tab-card__meta{font-size:1.15rem;color:var(--clm-text-faint)}.clm-tab-card__body{padding:2rem 2.4rem 2.4rem}.clm-tab-subtitle{margin:2.4rem 0 1rem;font-size:1.25rem;font-weight:600;color:var(--clm-text-muted);text-transform:uppercase;letter-spacing:.04em}.clm-tab-subtitle:first-child{margin-top:0}.clm-tab-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.4rem}.clm-tab-list>li{display:flex;gap:1rem;align-items:flex-start}.clm-tab-list strong{display:block;font-size:1.3rem;color:var(--clm-ink)}.clm-tab-list p,.clm-tab-list small{display:block;margin:.2rem 0 0;font-size:1.25rem;color:var(--clm-text-muted)}.clm-tab-list__icon{font-size:1.9rem;color:var(--clm-action-deep);flex:0 0 auto;margin-top:.1rem}.clm-tab-list__grow{flex:1;min-width:0}.clm-tab-chips{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin-top:2rem}.clm-tab-chips__label{font-size:1.25rem;font-weight:600;color:var(--clm-text-muted)}.clm-tab-note{display:flex;gap:.6rem;align-items:flex-start;margin:2rem 0 0;font-size:1.3rem;color:var(--clm-ink-2)}.clm-tab-note .material-symbols-rounded{font-size:1.8rem;color:var(--clm-due-text);flex:0 0 auto}.clm-tab-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2.4rem}.auth-split{--auth-hero-width: 50%;display:grid;grid-template-columns:1fr var(--auth-hero-width);height:100vh;background:var(--clm-surface)}.auth-split--register{--auth-hero-width: clamp(38rem, 40vw, 64rem)}@media(max-width:860px){.auth-split{grid-template-columns:1fr;grid-template-rows:auto 1fr;height:auto;min-height:100vh}}.auth-hero{position:relative;display:flex;flex-direction:column;height:100%;padding:4.8rem 5.2rem;background:radial-gradient(115% 85% at 80% 10%,var(--clm-action) 0%,rgba(121,84,253,0) 60%),linear-gradient(158deg,var(--clm-purple-700) 0%,var(--clm-purple-900) 100%);color:#fff;overflow:hidden}.auth-hero__brand{display:flex;align-items:center;gap:1rem;position:relative;z-index:1}.auth-hero__logo{height:2.8rem;width:auto;display:block}.auth-hero__tag{font-size:1.2rem;font-weight:700;letter-spacing:.08em;padding:.3rem .7rem;border-radius:.5rem;background:#ffffff29;color:#fff}.auth-hero__copy{position:relative;z-index:1;max-width:clamp(38rem,22.2vw + 12rem,62rem);margin:auto 0}.auth-hero__copy h1{color:#fff;font-size:clamp(2.8rem,1.389vw + 1.3rem,4.4rem);font-weight:600;line-height:1.2;letter-spacing:-.032em;margin-bottom:1.6rem}.auth-hero__subtitle{color:#ffffffd1;font-size:1.5rem;line-height:2.4rem;font-weight:400;margin-bottom:3.2rem}.auth-hero__badges{position:relative;z-index:1;font-size:1.2rem;font-weight:500;letter-spacing:.04em;color:#fff9}@media(max-width:860px){.auth-hero{padding:2.4rem 2rem 2.8rem}.auth-hero__copy{margin:2.4rem 0 0}.auth-hero__copy h1{font-size:2.2rem;margin-bottom:0}.auth-hero__subtitle,.auth-hero__badges{display:none}}.auth-form-wrap{display:flex;flex-direction:column;width:100%;padding:3rem 6rem 3.2rem 5.2rem;background:var(--clm-surface);overflow-y:auto}.auth-brand{display:flex;align-items:center;gap:1rem;flex:none}.auth-brand img{width:11.2rem;height:auto}.auth-brand__pill{padding:.4rem 1rem;border-radius:.7rem;background:var(--clm-rail-bg);color:var(--clm-action-deep);font-size:1.15rem;font-weight:700;letter-spacing:.04em;line-height:1.2}.auth-top{flex:none;display:flex;align-items:center;gap:.7rem;font-size:1.25rem;color:#6b6780}.auth-top--end{justify-content:flex-end}.auth-top a{font-weight:600;color:var(--clm-primary);text-decoration:none}.auth-top a:hover{text-decoration:underline}.auth-form{flex:1;min-height:0;width:100%;max-width:39.6rem;margin:auto;display:flex;flex-direction:column;justify-content:safe center}.auth-form--wide{max-width:none}.auth-form h1,.auth-form h2{font-family:var(--clm-font-title);font-size:3.2rem;font-weight:600;color:var(--clm-ink);letter-spacing:-.035em;line-height:1.13;margin-bottom:.9rem}.auth-form__subtitle{color:#5a5568;font-size:1.45rem;line-height:1.6;margin:0 0 2.4rem}.auth-form__subtitle strong{font-weight:600;color:var(--clm-ink)}.auth-form__subtitle code{font-family:var(--clm-font-mono);font-weight:600;color:var(--clm-ink)}.auth-field{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.3rem;--mat-sys-body-large-size: 1.35rem;--mat-form-field-container-height: 4.4rem;--mat-form-field-container-vertical-padding: 1.2rem;--mat-form-field-filled-with-label-container-padding-top: 0;--mdc-outlined-text-field-container-shape: 1.1rem;--mdc-outlined-text-field-outline-color: #e6e2f0;--mdc-outlined-text-field-hover-outline-color: #ded4fb;--mdc-outlined-text-field-focus-outline-color: #ded4fb;--mdc-outlined-text-field-outline-width: 1px;--mdc-outlined-text-field-focus-outline-width: 1px;--mdc-outlined-text-field-input-text-color: #16121f;--mdc-outlined-text-field-input-text-placeholder-color: #9a94ad;--mat-select-enabled-trigger-text-color: #16121f;--mat-select-placeholder-text-color: #9a94ad}.auth-field label{font-size:1.2rem;font-weight:500;color:#453f57}.auth-field mat-form-field{width:100%;font-weight:500}.auth-field .mat-mdc-form-field-focus-overlay{display:none}.auth-field .mat-mdc-form-field-flex{align-items:center}.auth-field .mat-mdc-form-field-text-prefix,.auth-field .mat-mdc-form-field-text-suffix{display:inline-flex;align-items:center;align-self:center}.auth-field .mat-mdc-form-field-subscript-wrapper{min-height:0;line-height:0}.auth-field .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-hint-wrapper,.auth-field .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-error-wrapper{position:static;padding:.5rem 0 0;font-size:1.15rem}.auth-field mat-form-field.mat-focused .mat-mdc-text-field-wrapper{box-shadow:0 0 0 3px #7955fd1a;border-radius:1.1rem}.auth-field input[readonly]{color:#6f6a80}.auth-field-warn{margin:-.6rem 0 0;font-size:1.25rem;line-height:1.45;color:#b45309}.auth-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.3rem}@media(max-width:480px){.auth-row{grid-template-columns:1fr;gap:0}}.auth-code-input{letter-spacing:.6em;font-weight:600}.auth-hint{font-size:1.2rem;color:#6b7280}.auth-error{font-size:1.2rem;color:var(--clm-danger)}.auth-submit{display:inline-flex;align-items:center;justify-content:center;gap:.9rem;width:100%;height:5rem;margin-top:2rem;padding:0 1.6rem;border:none;border-radius:var(--clm-radius-md);background:var(--clm-action);box-shadow:var(--clm-shadow-primary);color:var(--clm-on-action);font-size:1.45rem;font-weight:600;cursor:pointer;transition:var(--clm-transition)}.auth-submit:hover:not(:disabled){background:var(--clm-action-hover)}.auth-submit:disabled{background:var(--clm-neutral-chip-bg);box-shadow:none;color:var(--clm-text-faint);cursor:not-allowed}.auth-spinner{width:1.8rem;height:1.8rem;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:auth-spin .7s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-alt{margin-top:1.6rem;text-align:center;font-size:1.3rem;color:#4b5563}.auth-alt a{color:var(--clm-primary);font-weight:500}.auth-text-btn{align-self:center;margin-top:1.6rem;border:none;background:none;font-size:1.3rem;color:#4b5563;transition:var(--clm-transition)}.auth-text-btn:hover{color:var(--clm-primary)}.auth-otp-hint{margin:.4rem 0 0;font-size:1.25rem;color:#6b7280;text-align:center;line-height:1.5}.auth-back{align-self:flex-start;display:inline-flex;align-items:center;gap:.2rem;margin-bottom:1.6rem;padding:0;border:0;background:none;color:var(--clm-primary, #5a20e1);font-size:1.4rem;font-weight:600;cursor:pointer}.auth-back .material-symbols-rounded{font-size:2rem}.auth-back:hover{text-decoration:underline}.auth-found{display:flex;align-items:center;gap:1.3rem;padding:1.4rem 1.6rem;margin-bottom:2.4rem;border-radius:1.2rem;background:#faf9fe;border:1px solid #eeebf8}.auth-found__avatar{display:grid;place-items:center;width:4rem;height:4rem;border-radius:50%;background:#e9e5fb;color:var(--clm-primary, #5a20e1);font-weight:700;font-size:1.5rem;flex:0 0 auto}.auth-found__body{display:flex;flex-direction:column;min-width:0}.auth-found__body strong{font-size:1.5rem;color:#111827}.auth-found__body small{font-size:1.25rem;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-found__badge{display:inline-flex;align-items:center;gap:.4rem;margin-left:auto;padding:.4rem 1rem;border-radius:999px;background:#e2f4ee;color:#0d7a5f;font-size:1.2rem;font-weight:600;white-space:nowrap}.auth-found__badge .material-symbols-rounded{font-size:1.6rem}.auth-otp-error{display:flex;align-items:center;gap:1rem;margin:1.4rem 0 0;padding:1.2rem 1.4rem;border-radius:1.1rem;background:#fdf4f1;border:1px solid #f7ded7;color:#a33217;font-size:1.15rem;line-height:1.5}.auth-otp-error .material-symbols-rounded{font-size:1.6rem;color:#cc3d1c;flex:none}.auth-otp-meta{display:flex;align-items:center;gap:1.2rem;margin:1.4rem 0 2.2rem;font-size:1.25rem;color:var(--clm-text-dim)}.auth-otp-meta code{font-family:var(--clm-font-mono);font-weight:600;color:var(--clm-text)}.auth-otp-meta__gap{flex:1}.auth-otp-meta__timer,.auth-otp-meta__expired{display:inline-flex;align-items:center;gap:.5rem}.auth-otp-meta__timer .material-symbols-rounded,.auth-otp-meta__expired .material-symbols-rounded{font-size:1.8rem}.auth-otp-meta__expired{color:#a8243f;font-weight:600}.auth-field__hint{margin:.9rem 0 0;font-size:1.15rem;color:#9a94ad}.auth-submit__arrow{font-size:2rem;margin-left:.4rem}.auth-foot{display:flex;align-items:center;gap:.8rem;margin-top:auto;padding-top:3.2rem;font-size:1.15rem;color:#a9a3b8}.auth-foot a{color:inherit;text-decoration:none}.auth-foot a:hover{color:var(--clm-primary, #5a20e1);text-decoration:underline}.auth-field-ok{display:flex;align-items:center;gap:.4rem;margin:.4rem 0 0;font-size:1.25rem;font-weight:600;color:#0d7a5f}.auth-field-ok .material-symbols-rounded{font-size:1.7rem}.auth-terms{display:flex;align-items:flex-start;gap:.9rem;margin:.8rem 0 2rem;font-size:1.3rem;line-height:1.5;color:#4b5563;cursor:pointer}.auth-terms input{margin-top:.2rem;width:1.8rem;height:1.8rem;accent-color:var(--clm-primary, #5a20e1);flex:0 0 auto}.auth-terms a{color:var(--clm-primary, #5a20e1)}.auth-remember{display:block;margin:0 0 .4rem;font-size:1.3rem}.auth-remember .mdc-form-field>label{padding-left:.3rem;color:var(--clm-ink-2);cursor:pointer}.auth-trusted{display:flex;flex-direction:column;align-items:center;gap:.8rem;text-align:center;padding:2.4rem 0}.auth-trusted__icon{font-size:4.8rem;color:var(--clm-primary)}.auth-trusted h2{margin:0}.auth-trusted .auth-form__subtitle{margin-bottom:1.6rem}.auth-guard{margin-top:3rem;padding:2rem 2.2rem;border-radius:1.4rem;background:#ffffff14;border:1px solid rgba(255,255,255,.13);max-width:42rem}.auth-guard__title{font-size:1.05rem;font-weight:700;color:#ffffff8c;letter-spacing:.06em;margin-bottom:1.4rem}.auth-guard__list{display:flex;flex-direction:column;gap:1.3rem;list-style:none;margin:0;padding:0}.auth-guard__item{display:flex;align-items:center;gap:1.2rem}.auth-guard__item strong{display:block;font-size:1.25rem;font-weight:500;color:#fff}.auth-guard__item small{display:block;margin-top:.2rem;font-size:1.1rem;color:#ffffff80}.auth-guard__dot{width:.7rem;height:.7rem;border-radius:50%;background:#ffffff4d;flex:none}.auth-guard__dot--live{background:#31c48d}.auth-guard__note{margin-top:1.6rem;padding-top:1.4rem;border-top:1px solid rgba(255,255,255,.12);font-size:1.15rem;color:#ffffff8c;line-height:1.55}.auth-divider{display:flex;align-items:center;gap:1.4rem;margin:1.8rem 0}.auth-divider span{flex:1;height:1px;background:var(--clm-border)}.auth-divider small{font-size:1.25rem;color:var(--clm-text-dim)}.auth-option{display:flex;align-items:center;gap:1.2rem;width:100%;height:5.2rem;padding:0 1.4rem;border:1px solid var(--clm-border);border-radius:var(--clm-radius-md);background:var(--clm-surface);text-align:left;cursor:pointer;transition:border-color .14s var(--clm-ease),background .14s var(--clm-ease)}.auth-option:hover:not(:disabled){border-color:var(--clm-purple-200);background:var(--clm-surface-3)}.auth-option:disabled{opacity:.6;cursor:default}.auth-option__tile{display:inline-flex;align-items:center;justify-content:center;width:3.2rem;height:3.2rem;border-radius:var(--clm-radius-md);background:var(--clm-rail-bg);color:var(--clm-action-deep);flex:none}.auth-option__body{flex:1;min-width:0;display:flex;flex-direction:column}.auth-option__body strong{font-size:1.35rem;font-weight:600;color:var(--clm-ink)}.auth-option__body small{font-size:1.15rem;color:var(--clm-text-dim)}.auth-option__pill{padding:.3rem .7rem;border:1px solid var(--clm-ok-border);border-radius:.7rem;background:var(--clm-ok-bg);color:var(--clm-ok-text);font-size:1.1rem;font-weight:700;letter-spacing:.04em;flex:none}.auth-warn{display:flex;align-items:flex-start;gap:.8rem;margin-top:1.6rem;padding:1rem 1.2rem;border:1px solid var(--clm-due-border);border-radius:var(--clm-radius-md);background:var(--clm-due-bg);color:var(--clm-due-text);font-size:1.2rem;line-height:1.45}.auth-warn clm-icon{flex:none;margin-top:.1rem}.auth-warn--error{border-color:var(--clm-overdue-border);background:var(--clm-overdue-bg);color:var(--clm-overdue-text)}.auth-link{border:none;background:none;padding:0;font-size:1.25rem;font-weight:600;color:var(--clm-link);cursor:pointer}.auth-link:hover:not(:disabled){text-decoration:underline}.auth-link:disabled{color:var(--clm-text-faint);cursor:default}.auth-secondary{display:flex;align-items:center;justify-content:center;gap:1rem;width:100%;margin-top:1.6rem;padding:1.3rem;border:1px solid #e6e2f0;border-radius:1.1rem;background:#fff;color:#2b2440;font-size:1.35rem;font-weight:600;font-family:inherit;letter-spacing:-.014em;cursor:pointer}.auth-secondary .material-symbols-rounded{font-size:1.9rem;color:#453f57}.auth-secondary:hover:not(:disabled){background:#faf9fe}.auth-secondary:disabled{opacity:.6;cursor:default}.auth-field__hint--loose{margin-top:1rem;line-height:1.55}.auth-help{width:100%;max-width:39.6rem;margin:2rem auto 0;font-size:1.3rem;color:#5a5568}.auth-help a{font-weight:600;color:var(--clm-link);text-decoration:none}.auth-help a:hover{text-decoration:underline}.auth-help--foot{flex:none;max-width:none;margin:auto 0 0;padding-top:2.4rem}.auth-group{margin:.4rem 0 1.1rem;font-size:1.05rem;font-weight:700;color:#8b85a0;letter-spacing:.06em}.auth-group:first-of-type{margin-top:0}.auth-prefix{padding-right:.8rem;color:#6f6a80;font-size:1.35rem}.auth-prefix:empty{display:none}.auth-flag{margin-right:.8rem}@media(max-width:860px){.auth-form-wrap{padding:3.2rem 2.4rem}}.auth-field__hint--center{margin-top:1rem;text-align:center}.auth-field__box{display:flex;align-items:center;gap:1.1rem;padding:0 1.5rem;border-radius:1.1rem;border:1px solid #e6e2f0;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.auth-field__box .material-symbols-rounded{font-size:1.9rem;color:#9a94ad;flex:none;transition:color .15s ease}.auth-field__box:focus-within{border-color:#ded4fb;box-shadow:0 0 0 3px #7955fd1a}.auth-field__box:focus-within .material-symbols-rounded{color:var(--clm-primary)}.auth-field__box mat-form-field{flex:1;min-width:0}.auth-icon{display:inline-flex;align-items:center;padding-right:1.1rem;font-size:0;line-height:0;color:#9a94ad}.auth-field mat-form-field.mat-focused .auth-icon{color:var(--clm-primary)}.auth-submit-row{display:flex;align-items:center;gap:1.4rem;margin-top:1.8rem}.auth-submit-row .auth-submit{flex:1;margin-top:0}.auth-submit-row__hint{flex:none;max-width:17rem;margin:0;font-size:1.15rem;line-height:1.5;color:#9a94ad}.auth-field .mat-mdc-select-arrow-wrapper{display:none}.auth-suffix{display:inline-flex;align-items:center;font-size:0;line-height:0;padding-left:.8rem;color:#a9a3b8;pointer-events:none}.auth-count{position:relative;display:flex;flex-direction:column;gap:2.4rem;height:100%}.auth-count__brand{display:flex;align-items:center;gap:1.1rem}.auth-count__brand img{width:1.9rem;height:auto;filter:brightness(0) invert(1)}.auth-count__eyebrow{font-family:var(--clm-font-mono);font-size:1.05rem;font-weight:500;letter-spacing:.19em;text-transform:uppercase;color:#d6ccff}.auth-count__hero,.auth-count__badges{margin-top:auto}.auth-count__number{margin:0;font-family:var(--clm-font-title);font-size:13.2rem;font-weight:600;line-height:.92;letter-spacing:-.05em;color:#fff;font-variant-numeric:tabular-nums}.auth-count__lead{margin:1rem 0 0;max-width:18ch;font-family:var(--clm-font-title);font-size:2.4rem;font-weight:600;line-height:1.2;letter-spacing:-.025em;color:#fff;text-wrap:pretty}.auth-count__grid{display:grid;grid-template-columns:repeat(30,minmax(0,1fr));gap:.3rem}.auth-count__day{display:flex;align-items:flex-end;justify-content:center;height:4.4rem;padding-bottom:.5rem;border-radius:.4rem;background:#ffffff4d}.auth-count__day code{font-family:var(--clm-font-mono);font-size:.85rem;font-weight:600;color:#fff}.auth-count__day--today{background:#fff}.auth-count__day--today code{color:var(--clm-action-deep)}.auth-count__day--notice{background:var(--clm-due-border)}.auth-count__day--notice code{color:var(--clm-due-text)}.auth-count__day--after{background:#ffffff1f}.auth-count__day--after code{color:#bcaef0}.auth-count__legend{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:-1rem;font-size:1.2rem;color:#e3defb}.auth-count__legend span{display:inline-flex;align-items:center;gap:.7rem}.auth-count__key{width:1rem;height:1rem;border-radius:.3rem;background:#ffffff24}.auth-count__key--today{background:#fff}.auth-count__key--notice{background:var(--clm-due-border)}.auth-count__facts{display:grid;grid-template-columns:1fr 1fr;gap:2rem;padding-top:1.8rem;border-top:1px solid rgba(255,255,255,.18)}.auth-count__facts-title{margin:0 0 .4rem;font-family:var(--clm-font-mono);font-size:.95rem;letter-spacing:.16em;text-transform:uppercase;color:#bcaef0}.auth-count__facts-title--alert{color:#fbb5a6}.auth-count__facts-text{margin:0;font-size:1.4rem;line-height:1.5;color:#fff;text-wrap:pretty}.auth-count__facts-text code{font-family:var(--clm-font-mono);font-weight:600}.auth-count__badges{font-family:var(--clm-font-mono);font-size:1.05rem;letter-spacing:.17em;text-transform:uppercase;color:#bcaef0}@media(max-width:860px){.auth-split{grid-template-columns:1fr}.auth-hero--countdown{display:none}.auth-form-wrap{padding:2.4rem 2rem 2.8rem}}.clm-portal{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100vh;background:var(--clm-bg-surface)}@media(max-width:900px){.clm-portal{grid-template-columns:1fr}}.clm-portal__brand{position:relative;overflow:hidden;display:flex;align-items:center;padding:4.8rem;background:linear-gradient(145deg,var(--clm-primary-dark, #3a1d8a) 0%,var(--clm-primary, #5b31d6) 60%,#7a4ef0 100%);color:#fff}@media(max-width:900px){.clm-portal__brand{padding:3.2rem 2.4rem;min-height:28rem}}.clm-portal__orb{position:absolute;border-radius:50%;filter:blur(60px);opacity:.45}.clm-portal__orb--a{width:32rem;height:32rem;top:-8rem;right:-6rem;background:#9d7bff}.clm-portal__orb--b{width:26rem;height:26rem;bottom:-8rem;left:-4rem;background:#4ad6c4}.clm-portal__brand-content{position:relative;max-width:46rem}.clm-portal__brand-content h1{margin:2.4rem 0 1.2rem;font-family:var(--clm-font-display);font-size:3.6rem;font-weight:500;line-height:1.15}.clm-portal__brand-content p{margin:0;font-size:1.5rem;line-height:1.6;color:#ffffffd9}.clm-portal__logo{display:flex;align-items:center;gap:1rem}.clm-portal__logo img{height:2.8rem}.clm-portal__pill{padding:.3rem .9rem;border-radius:999px;background:#ffffff2e;font-size:1.15rem;font-weight:700;letter-spacing:.08em}.clm-portal__features{display:flex;flex-direction:column;gap:1.2rem;margin:3.2rem 0 0;padding:0;list-style:none}.clm-portal__features li{display:flex;align-items:center;gap:1rem;font-size:1.4rem;color:#ffffffeb}.clm-portal__features .material-symbols-rounded{font-size:2rem;color:#ffffffbf}.clm-portal__main{display:flex;align-items:center;justify-content:center;padding:4.8rem 2.4rem}.clm-portal__card{width:100%;max-width:42rem;display:flex;flex-direction:column;gap:1.2rem}.clm-portal__card h2{margin:1.2rem 0 0;font-family:var(--clm-font-display);font-size:2.4rem;font-weight:500;color:var(--clm-gray-900)}.clm-portal__card p{margin:0;font-size:1.35rem;line-height:1.6}.clm-portal__steps{display:flex;align-items:center;gap:1.6rem;flex-wrap:wrap}.clm-portal__step{display:inline-flex;align-items:center;gap:.6rem;font-size:1.2rem;font-weight:600;color:var(--clm-gray-400)}.clm-portal__step.is-active{color:var(--clm-primary)}.clm-portal__step-n{display:inline-flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--clm-gray-100);font-size:1.1rem}.clm-portal__step.is-active .clm-portal__step-n{background:var(--clm-violet-wash);color:var(--clm-primary)}.clm-portal__wide{width:100%;justify-content:center}.clm-portal__error{padding:1rem 1.2rem;border-radius:1rem;background:var(--clm-danger-wash);color:var(--clm-danger-dark);font-size:1.25rem}.clm-portal__link{align-self:center;border:none;background:none;padding:.6rem;font:inherit;font-size:1.25rem;color:var(--clm-primary);cursor:pointer}.clm-portal__link:disabled{color:var(--clm-gray-400);cursor:default}.material-symbols-rounded{font-family:Material Symbols Rounded;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;direction:ltr;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.clm-dialog-panel .mat-mdc-dialog-container{--mat-dialog-container-shape: var(--clm-radius-xl);--mat-dialog-container-color: var(--clm-surface)}.clm-dialog-panel .mat-mdc-dialog-surface{box-shadow:var(--clm-shadow-overlay)}.cdk-overlay-dark-backdrop{background:#16121f6b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@media(min-width:1025px){body.clm-shell-offsets .cdk-global-overlay-wrapper{padding-top:var(--clm-h-topbar);padding-left:var(--clm-w-rail)}body.clm-shell-offsets .cdk-overlay-dark-backdrop{top:var(--clm-h-topbar);left:var(--clm-w-rail)}body.clm-shell-offsets.clm-today-line .cdk-global-overlay-wrapper{padding-top:calc(var(--clm-h-topbar) + var(--clm-h-today))}body.clm-shell-offsets.clm-today-line .cdk-overlay-dark-backdrop{top:calc(var(--clm-h-topbar) + var(--clm-h-today))}}
