.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #555;--xy-background-pattern-lines-color-default: #333;--xy-background-pattern-cross-color-default: #333;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}:root{--zoom: 1;--app-h: calc(100vh / var(--zoom));--topbar-h: 60px;--primary-50: #fbe9ec;--primary-100: #f6d0d6;--primary-200: #eba6b0;--primary-500: #d4233b;--primary-600: #ad0e22;--primary-700: #8a0b1b;--primary-900: #4d0711;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-900: #111827;--bg: var(--gray-50);--surface: #ffffff;--surface-2: var(--gray-50);--surface-3: var(--gray-100);--border: var(--gray-200);--text: var(--gray-900);--text-dim: var(--gray-600);--text-faint: var(--gray-500);--muted: var(--text-dim);--accent: var(--primary-600);--accent-2: var(--primary-600);--accent-soft: var(--primary-50);--ink: var(--gray-900);--green: #16a34a;--green-soft: #dcfce7;--red: #dc2626;--red-soft: #fee2e2;--amber: #b45309;--amber-soft: #fef3c7;--blue: #1d4ed8;--blue-soft: #dbeafe;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--text-xs: 12px;--text-sm: 14px;--text-base: 16px;--text-md: 16px;--radius: 8px;--radius-sm: 8px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08), 0 0 0 1px rgba(0, 0, 0, .04);--shadow: 0 2px 6px rgba(0, 0, 0, .08), 0 0 0 1px rgba(0, 0, 0, .04);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .1), 0 1px 3px rgba(0, 0, 0, .06);--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;font-family:Helvetica Neue,Helvetica,Arial,Roboto,Open Sans,ui-sans-serif,system-ui,-apple-system,sans-serif;letter-spacing:0;color-scheme:light}:root[data-theme=dark]{color-scheme:dark;--gray-50: #171a20;--gray-100: #1f232b;--gray-200: #2b3038;--gray-300: #3a4150;--gray-400: #737b8a;--gray-500: #98a1b2;--gray-600: #b3bccb;--gray-700: #d5d9e0;--gray-900: #f2f4f7;--bg: #0e1014;--surface: #171a20;--surface-2: #12151a;--surface-3: #1f232b;--border: #2b3038;--text: #f2f4f7;--text-dim: #b3bccb;--text-faint: #98a1b2;--primary-50: rgba(173, 14, 34, .2);--accent-soft: rgba(173, 14, 34, .2);--ink: #2b313c;--green: #4ade80;--green-soft: rgba(22, 163, 74, .18);--red: #f87171;--red-soft: rgba(220, 38, 38, .2);--amber: #fbbf24;--amber-soft: rgba(180, 83, 9, .24);--blue: #93c5fd;--blue-soft: rgba(29, 78, 216, .24);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4), 0 0 0 1px rgba(255, 255, 255, .04);--shadow: 0 2px 8px rgba(0, 0, 0, .45), 0 0 0 1px rgba(255, 255, 255, .04);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .55), 0 1px 3px rgba(0, 0, 0, .4)}*{box-sizing:border-box}html{font-size:16px}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-size:16px;zoom:var(--zoom);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}button{font-family:inherit}.shell{display:flex;height:var(--app-h);overflow:hidden}.sidebar{width:220px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;position:sticky;top:0;height:var(--app-h);transition:width .2s ease;z-index:50}.sidebar.collapsed{width:72px}.sidebar.hidden{width:0;border-right:none;overflow:hidden}.sidebar.collapsed .brand{justify-content:center;padding:0}.sidebar.collapsed .brand-name{display:none}.sidebar.collapsed .nav-section{height:0;padding:0;margin:12px;overflow:hidden;border-top:1px solid var(--gray-100)}.sidebar.collapsed .nav-item{justify-content:center;gap:0;padding:9px}.sidebar.collapsed .nav-label{display:none}.sidebar.collapsed .user-pill{flex-direction:column;gap:8px;padding:10px 8px 12px}.sidebar.collapsed .user-pill .meta{display:none}.main-col{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.topbar{position:sticky;top:0;z-index:40;height:var(--topbar-h);display:flex;align-items:center;gap:14px;padding:0 24px;background:var(--primary-600);color:#fff;box-shadow:var(--shadow-sm)}.crumbs{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;letter-spacing:.01em;color:#fffc;min-width:0}.crumbs .current{font-weight:600}.crumbs .sidebar-visibility{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--radius-sm);background:transparent;color:#fffc;cursor:pointer;transition:background .15s,color .15s}.crumbs .sidebar-visibility:hover{background:#ffffff1f;color:#fff}.crumbs .sidebar-visibility:focus-visible{outline:2px solid rgba(255,255,255,.7);outline-offset:1px}.crumbs .home{display:inline-flex;color:#fffc}.crumbs .home:hover{color:#fff}.crumbs .sep{color:#fff9;display:inline-flex}.crumbs .current{color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crumb-seg{display:inline-flex;align-items:center;gap:8px;min-width:0}.crumbs .crumb-link{color:#fffc;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crumbs .crumb-link:hover{color:#fff}.topbar-user{margin-left:auto;display:inline-flex;align-items:center;gap:12px}.topbar-id{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15}.topbar-id .who{font-size:16px;font-weight:600;color:#fff;letter-spacing:-.01em;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-id .portal{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.22em;color:#fffc;margin-top:2px}.topbar-divider{height:32px;width:1px;background:#fff3}.topbar-mark{width:30px;height:30px;border-radius:8px;background:#ffffff26;display:grid;place-items:center;font-weight:800;font-size:16px;color:#fff}.brand{height:var(--topbar-h);display:flex;align-items:center;gap:11px;padding:0 20px;border-bottom:1px solid var(--gray-100)}.brand-mark{width:34px;height:34px;border-radius:8px;background:var(--primary-600);display:grid;place-items:center;font-weight:800;color:#fff;font-size:16px}.brand-name{font-weight:700;letter-spacing:-.01em;color:var(--gray-900);font-size:16px}.brand-name small{display:block;color:var(--text-faint);font-weight:600;font-size:12px;letter-spacing:.15em;text-transform:uppercase;margin-top:1px}.brand-logo-img{height:32px;width:auto;max-width:160px;object-fit:contain;display:block}.brand-logo-mark,.sidebar.collapsed .brand-logo-img{display:none}.sidebar.collapsed .brand-logo-mark{display:block;width:34px;height:34px;object-fit:contain}.topbar-logo{display:flex;flex-direction:column;align-items:center;gap:2px}.topbar-logo img{height:22px;width:auto;display:block}.topbar-theme{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 auto;border:none;border-radius:var(--radius-sm);background:#ffffff1f;color:#fff;cursor:pointer;transition:background .15s}.topbar-theme:hover{background:#ffffff38}.topbar-theme:focus-visible{outline:2px solid rgba(255,255,255,.7);outline-offset:1px}.topbar-version{font-size:12px;font-weight:600;letter-spacing:.03em;line-height:1;color:#ffffff9e;cursor:default}.nav{flex:1;overflow-y:auto;padding:16px 0}.nav-section{font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:var(--gray-500);padding:16px 20px 8px}.nav-item{display:flex;align-items:center;gap:12px;padding:8px 12px;margin:2px 8px;border-radius:var(--radius-sm);color:var(--gray-700);font-size:16px;font-weight:500;letter-spacing:-.01em;transition:background .18s,color .18s}button.nav-item{background:none;border:0;width:calc(100% - 16px);font-family:inherit;text-align:left;cursor:pointer}.nav-item:hover{background:var(--gray-100);color:var(--gray-900)}.nav-item.active{background:var(--primary-600);color:#fff;box-shadow:var(--shadow-sm)}.nav-item .ico{display:inline-flex;width:18px;justify-content:center;color:var(--primary-600)}.nav-item:hover .ico{color:var(--primary-600)}.nav-item.active .ico{color:#fff}.user-pill{margin-top:auto;border-top:1px solid var(--gray-100);padding:8px 12px 12px;display:flex;align-items:center;gap:8px}.user-avatar{width:36px;height:36px;border-radius:50%;background:var(--primary-50);border:1px solid var(--primary-100);display:grid;place-items:center;font-size:14px;font-weight:600;color:var(--primary-600);flex-shrink:0}.user-pill .meta{flex:1;min-width:0}.user-pill .meta .name{font-size:14px;font-weight:600;color:var(--gray-900);letter-spacing:-.01em;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-pill .meta .role{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.18em;color:var(--gray-500);margin-top:3px}.user-pill .signout{flex-shrink:0;width:32px;height:32px;border:none;background:transparent;border-radius:var(--radius-sm);color:var(--gray-400);cursor:pointer;display:grid;place-items:center;transition:color .15s,background .15s}.user-pill .signout:hover{color:var(--primary-600);background:var(--gray-100)}.content{flex:1;overflow:auto;padding:28px 32px 64px;width:100%}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:24px}.page-title{font-size:30px;font-weight:750;margin:0;letter-spacing:-.03em;line-height:1.1;color:var(--gray-900)}.page-sub{color:var(--gray-500);font-size:13px;margin:6px 0 0}.num,.tabular-nums{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.page-header{background:var(--surface);border-bottom:1px solid var(--border);margin:-28px -32px 28px;padding:12px 32px}.page-header .ph-back{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:500;color:var(--gray-500);margin-bottom:12px;background:none;border:none;padding:0;cursor:pointer;transition:color .15s}.page-header .ph-back:hover{color:var(--gray-900)}.event-page{height:calc(var(--app-h) - var(--topbar-h));margin:-28px -32px -64px;display:flex;flex-direction:column;overflow:hidden}.event-head{flex:0 0 auto;display:flex;align-items:center;gap:16px;background:var(--surface);border-bottom:1px solid var(--border);padding:12px 32px}.event-head-back{flex:0 0 auto}.event-head-main{flex:1 1 auto;display:flex;align-items:center;gap:16px;min-width:0}.event-head-titleblock{min-width:0}.event-brand-logo{height:44px;max-width:140px;object-fit:contain;flex:0 0 auto}.event-head-pipe{width:1px;align-self:stretch;background:var(--gray-200);flex:0 0 auto}.event-head.collapsed .event-brand-logo{height:24px;max-width:90px}.event-head-title{display:flex;align-items:center;gap:10px}.event-head-meta{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;margin-top:4px;font-size:13px;color:var(--gray-500)}.event-head-meta .sep{color:var(--gray-300)}.event-head.collapsed{padding:8px 32px}.event-head.collapsed .event-head-title{font-size:17px;letter-spacing:-.02em}.event-head-synced{flex:0 0 auto;font-size:12px;color:var(--gray-500);white-space:nowrap}.event-head-actions{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.event-head-side{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.event-head-pills{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px}@keyframes evo-spin{to{transform:rotate(360deg)}}.spin{animation:evo-spin .8s linear infinite}.event-head .ph-back{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--gray-500);background:none;border:none;padding:0;margin-bottom:2px;cursor:pointer;transition:color .15s}.event-head .ph-back:hover{color:var(--gray-900)}.event-head-title{font-size:22px;font-weight:750;letter-spacing:-.03em;line-height:1.15;margin:0;color:var(--gray-900)}.event-head-pills .badge{background:transparent;border:1px solid currentColor;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:2px 8px}.drive{display:grid;grid-template-columns:300px 1fr;gap:14px;height:calc(100% + 34px);margin-bottom:-34px;min-height:480px}.drive-tree{display:flex;flex-direction:column;min-height:0;overflow:hidden}.drive-tree-body{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding:8px 6px;min-height:0}.drive-tree-foot{border-top:1px solid var(--border);padding:10px;display:flex;gap:8px}.drive-node{position:relative;display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:var(--radius-sm);cursor:pointer;font-size:14px;color:var(--gray-600);white-space:nowrap}.drive-node:hover{background:var(--gray-100)}.drive-node.active{background:transparent;color:var(--gray-900);font-weight:650}.drive-node.active:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:2.5px;border-radius:2px;background:var(--primary-600)}.drive-node.active .drive-folder-ico{color:var(--primary-600)}.drive-caret{background:none;border:0;padding:0;cursor:pointer;color:var(--gray-500);display:inline-flex;width:14px;flex:0 0 auto}.drive-folder-ico{color:var(--gray-400);flex:0 0 auto}.drive-main-title .drive-folder-ico{color:var(--accent)}.drive-node-name{overflow:hidden;text-overflow:ellipsis}.drive-node-lock{color:var(--gray-400);flex:0 0 auto}.drive-node-count{margin-left:auto;flex:0 0 auto;background:var(--gray-100);color:var(--gray-600);border-radius:999px;font-size:11px;font-weight:600;padding:1px 7px}.drive-group{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--gray-500);padding:9px 8px 3px}.drive-group-toggle{display:flex;align-items:center;gap:5px;width:100%;border:0;background:none;cursor:pointer;text-align:left;padding:10px 8px 4px}.drive-group-toggle:hover{color:var(--gray-700)}.drive-group-count{margin-left:auto;font-size:12px;font-weight:600;color:var(--gray-400);letter-spacing:0}.drive-main{display:flex;flex-direction:column;min-height:0;overflow:hidden}.drive-main-head{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border);flex:0 0 auto}.drive-main-title{display:flex;align-items:center;gap:8px;font-weight:700;font-size:15px;margin-right:auto;min-width:0}.drive-main-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drive-main-body{flex:1 1 auto;overflow:auto;min-height:0}.drive-main-body .dt.drive-list{border:none;border-radius:0}.drive-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;padding:16px}.drive-filterbar{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--border);flex:0 0 auto}.drive-bulkbar{display:flex;align-items:center;gap:8px;padding:8px 16px;border-bottom:1px solid var(--border);background:var(--gray-50)}.folder-pick{display:flex;align-items:center;gap:8px;width:100%;border:0;background:none;padding:9px 12px;margin-bottom:2px;border-radius:var(--radius-sm);font-size:14px;color:var(--gray-700);cursor:pointer;text-align:left}.folder-pick:hover{background:var(--gray-100)}.folder-pick.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.folder-pick:disabled{opacity:.45;cursor:not-allowed;background:none}.drive-card{position:relative;display:flex;flex-direction:column}.drive-card-check{position:absolute;top:8px;left:8px;z-index:2;width:16px;height:16px;accent-color:var(--primary-600);cursor:pointer;opacity:0;transition:opacity .12s}.drive-card:hover .drive-card-check,.drive-card-check:checked,.drive-card-check:focus-visible{opacity:1}.drive-card.selected .drive-card-preview{border-color:var(--primary-600)}.drive-card-preview{height:120px;background:var(--gray-50);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:0;transition:border-color .12s}.drive-thumb-img{width:100%;height:100%;object-fit:cover;display:block}.drive-thumb-loading{width:100%;height:100%;background:linear-gradient(90deg,var(--gray-100),var(--gray-50),var(--gray-100))}.drive-card:hover .drive-card-preview{border-color:var(--gray-300)}.drive-card-name{font-size:12.5px;font-weight:500;padding:8px 2px 1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drive-card-meta{font-size:12px;color:var(--gray-500);padding:2px 2px 0;display:flex;flex-direction:column;gap:1px;min-width:0}.drive-card-meta>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drive-card-actions{display:flex;gap:2px;padding:4px 0 0;margin-top:auto;opacity:0;transition:opacity .12s}.drive-card:hover .drive-card-actions,.drive-card:focus-within .drive-card-actions{opacity:1}.icon-btn{background:none;border:0;cursor:pointer;padding:5px;border-radius:var(--radius-sm);color:var(--gray-500);display:inline-flex}.icon-btn:hover{background:var(--gray-100);color:var(--gray-900)}.icon-btn.danger:hover{background:var(--red-soft);color:var(--red)}.icon-btn:disabled{color:var(--gray-300);cursor:not-allowed;background:none}.drive-viewer-body{position:relative;align-items:center;justify-content:center}.drive-viewer-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:40px;height:40px;border-radius:50%;background:#ffffff1f;border:0;display:grid;place-items:center;cursor:pointer;color:#ffffffd9;transition:background .12s}.drive-viewer-nav:hover{color:#fff;background:#ffffff40}.drive-viewer-nav.left{left:14px}.drive-viewer-nav.right{right:14px}.needs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}.needs-card{text-align:left;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;cursor:pointer;display:flex;flex-direction:column;gap:4px;transition:border-color .12s,background .12s,box-shadow .12s}.needs-card:hover{border-color:#d97706;background:var(--surface);box-shadow:var(--shadow-sm)}.needs-n{font-size:22px;font-weight:700;color:var(--gray-900);line-height:1}.needs-label{font-size:13px;color:var(--gray-600)}.report-filters{display:flex;flex-direction:column;gap:12px}.report-filter-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.report-filter-field{display:flex;align-items:center;gap:8px}.report-saved-select{flex:0 1 320px;min-width:200px}.report-card{display:flex;flex-direction:column;gap:12px}.report-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.report-card-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--gray-900)}.report-col-pills{gap:8px}.report-card{position:relative}.report-card-head+.report-filter-row{margin-top:2px}.report-card .filter-pill{border-radius:999px;padding:6px 13px;background:var(--surface);border-color:var(--gray-200);color:var(--gray-700);font-weight:600}.report-card .filter-pill:hover{background:var(--surface-2);border-color:var(--gray-300);color:var(--text)}.report-card .filter-pill.active{background:var(--primary-50);border-color:var(--primary-300);color:var(--primary-700)}.report-card .filter-pill.active:hover{background:var(--primary-100);border-color:var(--primary-500);color:var(--primary-700)}.report-card .filter-pill svg{color:var(--gray-400)}.report-card .filter-pill.active svg{color:var(--primary-500)}.report-card .report-filter-field{gap:8px}.report-card .report-filter-field .filter-label{color:var(--gray-500)}.report-saved-cols{display:flex;align-items:flex-start;gap:28px;flex-wrap:wrap}.report-saved-col{display:flex;flex-direction:column;gap:6px;flex:1 1 300px;min-width:260px}.report-saved-col>.report-saved-select{flex:none;width:100%}.report-saved-actions{display:flex;align-items:center;gap:8px}.report-saved-actions .report-saved-select{flex:1 1 auto;min-width:0}.filter-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--gray-500);white-space:nowrap}.filter-pill{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:6px 13px;font-size:13px;font-weight:600;color:var(--gray-600);cursor:pointer;transition:background .12s,border-color .12s,color .12s;display:inline-flex;align-items:center;gap:6px;line-height:1}.filter-pill:hover{border-color:var(--accent);color:var(--accent)}.filter-pill.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.filter-pill.exclude{background:var(--gray-100);border-color:var(--gray-400);color:var(--gray-600);font-weight:600;text-decoration:line-through}.filter-pill.exclude svg{flex:0 0 auto}.event-layout{flex:1 1 auto;min-height:0;display:flex;align-items:stretch}.event-menu{flex:0 0 172px;display:flex;flex-direction:column;gap:2px;padding:14px 8px;background:var(--surface);border-right:1px solid var(--border);overflow:hidden auto}.event-menu-toggle{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;width:28px;height:28px;margin:0 0 8px 2px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--gray-500);cursor:pointer;transition:color .15s,background .15s}.event-menu-toggle:hover{color:var(--gray-900);background:var(--gray-100)}.event-menu button{position:relative;display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:8px 12px;border-radius:var(--radius-sm);background:transparent;border:0;cursor:pointer;color:var(--gray-600);font-size:13.5px;font-weight:500;transition:background .15s,color .15s}.event-menu button .ico{display:inline-flex;width:18px;justify-content:center;color:var(--gray-400);transition:color .15s}.event-menu button:hover{background:var(--gray-50);color:var(--gray-900)}.event-menu button:hover .ico{color:var(--gray-600)}.event-menu button.active{background:transparent;color:var(--gray-900);font-weight:650}.event-menu button.active:before{content:"";position:absolute;left:0;top:7px;bottom:7px;width:2.5px;border-radius:2px;background:var(--primary-600)}.event-menu button.active .ico{color:var(--primary-600)}.event-menu.collapsed{flex-basis:60px}.event-menu.collapsed button{justify-content:center;padding:9px}.event-menu.collapsed button .label{display:none}.event-content{flex:1 1 auto;min-width:0;min-height:0;overflow-y:auto;padding:14px 16px 48px}.detail-head.activity-head{background:var(--surface);border-bottom:1px solid var(--border);margin:-14px -16px 0;padding:12px 24px}.activity-head .detail-title{font-size:18px}.event-content:has(>.activity-layout){display:flex;flex-direction:column;overflow:hidden}.activity-layout{display:flex;align-items:stretch;flex:1 1 auto;min-height:0;margin:0 -16px -48px}.activity-nav{flex:0 0 162px;display:flex;flex-direction:column;gap:2px;padding:6px 8px 14px;background:var(--surface);border-right:1px solid var(--border)}.activity-nav button .label{white-space:nowrap}.activity-nav button{position:relative;display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:8px 12px;border-radius:var(--radius-sm);background:transparent;border:0;cursor:pointer;color:var(--gray-600);font-size:13.5px;font-weight:500;transition:background .15s,color .15s}.activity-nav button .ico{display:inline-flex;width:18px;justify-content:center;color:var(--gray-400);transition:color .15s}.activity-nav button:hover{background:var(--gray-50);color:var(--gray-900)}.activity-nav button:hover .ico{color:var(--gray-600)}.activity-nav button.active{background:transparent;color:var(--gray-900);font-weight:650}.activity-nav button.active:before{content:"";position:absolute;left:0;top:7px;bottom:7px;width:2.5px;border-radius:2px;background:var(--primary-600)}.activity-nav button.active .ico{color:var(--primary-600)}.activity-content{flex:1 1 auto;min-width:0;overflow-y:auto;padding:14px 16px 48px 24px}.setup-content{display:flex;flex-direction:column;gap:14px}.runsheet-table{width:100%;border-collapse:collapse}.runsheet-table th{text-align:left;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--gray-500);font-weight:700;padding:10px 14px;border-bottom:1px solid var(--border)}.runsheet-table td{padding:9px 14px;border-bottom:1px solid var(--gray-100);font-size:13px;vertical-align:top}.runsheet-table tr:last-child td{border-bottom:0}.runsheet-table .icon-btn{padding:3px}.rs-tabs{display:flex;align-items:center;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--border);padding-bottom:2px}.rs-tab{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:8px 8px 0 0;cursor:pointer;font-size:13px;font-weight:600;color:var(--muted);border:1px solid transparent;border-bottom:none;position:relative;top:1px}.rs-tab:hover{background:var(--gray-50);color:var(--text)}.rs-tab.active{background:var(--surface);color:var(--text);border-color:var(--border);border-bottom:2px solid var(--accent)}.rs-tab-x{display:inline-flex;padding:1px;border:0;background:transparent;border-radius:4px;color:var(--muted);cursor:pointer;opacity:.6}.rs-tab-x:hover{opacity:1;background:var(--gray-100);color:var(--danger, #dc2626)}.rs-tab-add{display:inline-flex;align-items:center;padding:5px 8px;border:0;background:transparent;border-radius:6px;color:var(--muted);cursor:pointer}.rs-tab-add:hover{background:var(--gray-100);color:var(--text)}.rs-tab-input{width:130px;height:30px}.rs-export-row{display:flex;align-items:center;gap:8px;padding:5px 2px;font-size:13px;color:var(--text);cursor:pointer}.rs-export-row input{width:15px;height:15px;cursor:pointer}.rs-export-list{margin-top:4px;padding-top:6px;border-top:1px solid var(--border);max-height:260px;overflow-y:auto}.runsheet-split{display:flex;gap:16px;align-items:stretch;height:calc(100vh - 240px);min-height:460px}.runsheet-split>.rs-list-col{flex:0 0 20%;min-width:160px;display:flex;flex-direction:column;min-height:0}.rs-list-filter{flex:none;margin-bottom:8px}.rs-list-filter .input{width:100%}.rs-list-col>.rs-list{flex:1 1 auto;min-height:0;overflow-y:auto}.runsheet-split>.card{flex:1 1 0;min-width:0;height:100%}.rs-timeline-card{display:flex;flex-direction:column;overflow:hidden;padding:0}.rt-toolbar{flex:none;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:6px 10px;border-bottom:1px solid var(--border);background:var(--surface)}.rt-zoom{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.rt-zoom button{padding:4px 10px;font-size:12px;font-weight:600;line-height:1;background:var(--surface);color:var(--text);border:0;border-left:1px solid var(--border);cursor:pointer}.rt-zoom button:first-child{border-left:0}.rt-zoom button.active{background:var(--accent);color:#fff}.rt-owner-filter{max-width:180px}.rt-settings{position:relative;display:inline-flex}.rt-settings-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.rt-settings-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:41;min-width:180px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 28px #0000002e;padding:6px}.rt-settings-label{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint);padding:4px 8px}.rt-settings-opt{display:block;width:100%;text-align:left;border:0;background:transparent;padding:7px 8px;border-radius:6px;font-size:13px;color:var(--text);cursor:pointer}.rt-settings-opt:hover{background:var(--gray-100)}.rt-settings-opt.active{background:var(--accent-soft, var(--gray-100));color:var(--accent);font-weight:700}.rt-tooltip{position:fixed;z-index:300;max-width:300px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-left:3px solid var(--border);border-radius:10px;box-shadow:0 10px 30px #0000002e;padding:9px 12px;pointer-events:none}.rt-tt-time{font-size:13px;font-weight:800;font-variant-numeric:tabular-nums;margin-bottom:4px}.rt-tt-owner{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.02em;padding:2px 8px;border-radius:999px;background:var(--gray-100);color:var(--gray-600);margin-bottom:6px}.rt-tt-text{font-size:12.5px;line-height:1.4;color:var(--text)}.rt-scroll{flex:1 1 auto;overflow:auto;min-height:0}.runsheet-root.rs-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;margin:0;padding:16px 22px;background:var(--bg);overflow:auto}.rs-fullscreen .runsheet-split{height:calc(100vh - 108px)}.rs-swatches{display:flex;flex-wrap:wrap;gap:8px}.rs-swatch{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;box-shadow:0 0 0 1px var(--border) inset}.rs-swatch.active{border-color:var(--text)}.rs-swatch-none{background:var(--surface);position:relative}.rs-swatch-none:after{content:"";position:absolute;left:50%;top:2px;bottom:2px;width:2px;background:#ef4444;transform:rotate(45deg);transform-origin:center}.rs-list{display:flex;flex-direction:column;gap:8px;padding-right:2px}.rs-item{display:flex;align-items:flex-start;gap:8px;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--border);border-radius:10px;padding:10px 12px}.rs-item:hover{box-shadow:0 1px 4px #0000000f}.rs-item-when{flex:0 0 auto;width:46px;display:flex;flex-direction:column;line-height:1.15;padding-top:1px}.rs-when-start{font-size:14px;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.rs-when-end{font-size:10px;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}.rs-item-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:5px;align-items:flex-start}.rs-item-title{font-size:12px;font-weight:500;color:var(--text);line-height:1.3;white-space:pre-wrap;word-break:break-word}.rs-chip{font-size:10px;font-weight:700;letter-spacing:.02em;padding:2px 7px;border-radius:999px;background:var(--gray-100);color:var(--gray-600);white-space:nowrap}.gi-date-head{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--gray-500, #6b7280);padding:2px 2px 0}.gi-list-full .rs-item{align-items:flex-start}.gi-item-notes{font-size:12px;color:var(--gray-600, #4b5563);line-height:1.45;word-break:break-word;white-space:pre-wrap}.rs-chip svg{display:inline-block;vertical-align:-1px;margin-right:1px}.field .req{color:var(--red-500, #ef4444);font-weight:700}.rs-item-actions{display:flex;flex-shrink:0;opacity:0;transition:opacity .12s}.rs-item:hover .rs-item-actions,.rs-item:focus-within .rs-item-actions{opacity:1}.rs-item-actions .icon-btn{padding:3px}@media (max-width: 1000px){.runsheet-split{flex-direction:column;height:auto;min-height:0}.runsheet-split>.rs-list{flex:none;width:100%}.runsheet-split>.card{flex:none;width:100%;height:70vh}.rs-item-actions{opacity:1}}.runsheet-timeline{display:grid;min-width:max-content}.rt-corner{position:sticky;top:0;z-index:3;background:var(--surface);border-bottom:1px solid var(--border)}.rt-lane-head{position:sticky;top:0;z-index:3;background:var(--surface);border-bottom:1px solid var(--border);border-left:1px solid var(--gray-100);padding:8px 12px;font-size:12px;font-weight:700;color:var(--text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.rt-axis{position:relative}.rt-hour{position:absolute;right:8px;transform:translateY(-50%);font-size:10px;font-weight:700;color:var(--gray-500);font-variant-numeric:tabular-nums;white-space:nowrap}.rt-hour.half,.rt-hour.quarter{font-size:9px;font-weight:600;color:var(--gray-400, #9aa3af)}.rt-lane{position:relative;border-left:1px solid var(--gray-100)}.rt-gridline{position:absolute;left:0;right:0;height:0}.rt-gridline.hour{border-top:2px solid var(--gray-300, #cbd5e1)}.rt-gridline.half{border-top:1px dashed var(--gray-200, #e5e7eb)}.rt-gridline.quarter{border-top:1px dotted var(--gray-100)}.rt-block{position:absolute;box-sizing:border-box;border-radius:7px;padding:2px 7px;overflow:hidden;text-align:left;display:flex;flex-direction:column;gap:1px;font:inherit;color:var(--text);box-shadow:0 1px 2px #0000000d}.rt-block:hover{box-shadow:0 2px 8px #0000001f;z-index:1}.rt-block-time{font-size:10px;font-weight:700;color:var(--gray-600);font-variant-numeric:tabular-nums;white-space:nowrap}.rt-block-text{font-size:12px;line-height:1.2;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.rt-block.short,.rt-block.point{flex-direction:row;align-items:baseline;gap:5px;padding:1px 6px}.rt-block.short .rt-block-text,.rt-block.point .rt-block-text{-webkit-line-clamp:1;white-space:nowrap;text-overflow:ellipsis}.rt-block.point{border-radius:5px;box-shadow:none}.rt-block.point .rt-block-time{font-size:9px}.rt-block.point .rt-block-text{font-size:11px;font-weight:500}.rt-untimed{border-top:1px solid var(--border);padding:10px 14px}.rt-untimed-head{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--gray-500);font-weight:700;margin-bottom:6px}.rt-untimed-row{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;border:0;background:transparent;text-align:left;font:inherit;font-size:13px;color:var(--text);border-radius:6px}.rt-untimed-row:hover{background:var(--gray-50)}.rt-untimed-owner{font-size:11px;font-weight:700;color:var(--muted);flex:0 0 auto}@media (max-width: 900px){.activity-layout{flex-direction:column;align-items:stretch}.activity-nav{flex-direction:row;flex-wrap:wrap;flex-basis:auto;border-right:0;border-bottom:1px solid var(--border)}.activity-content{padding:16px 16px 48px}}.event-content.flush{padding-bottom:16px}.switch{position:relative;width:40px;height:23px;flex:0 0 auto;border:none;border-radius:999px;background:var(--gray-300);padding:0;cursor:pointer;transition:background .15s}.switch:after{content:"";position:absolute;top:2px;left:2px;width:19px;height:19px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:left .15s}.switch.on{background:var(--green)}.switch.on:after{left:19px}.switch:disabled{opacity:.55;cursor:default}.detail-head{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:14px;row-gap:4px;align-items:center;margin-bottom:16px}.detail-head>.back-btn{grid-column:1;grid-row:1}.detail-head>.detail-head-titlewrap{grid-column:2;grid-row:1}.detail-head>.detail-sub{grid-column:2;grid-row:2;margin:0}.detail-head>.detail-head-metarow{grid-column:2;grid-row:2}.detail-head-metarow{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap;min-width:0}.detail-head-metarow>.detail-sub{min-width:0}.detail-head .ph-back{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:500;color:var(--gray-500);margin-bottom:8px;cursor:pointer;transition:color .15s}.detail-head .ph-back:hover{color:var(--gray-900)}.detail-head-titlewrap{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}.detail-title{font-size:22px;font-weight:700;letter-spacing:-.02em;line-height:1.2;margin:0;color:var(--gray-900);min-width:0;overflow-wrap:anywhere}.detail-head-stat{margin-left:auto;gap:14px}@media (max-width: 640px){.detail-head-stat{margin-left:0}.detail-head-stat .checkin-stat{align-items:flex-start}}.detail-sub{font-size:14px;margin:6px 0 0}@media (max-width: 820px){.shell{height:auto;min-height:100vh;overflow:visible}.sidebar{height:auto;min-height:100vh}.main-col,.content{overflow:visible}.event-page{height:auto;overflow:visible}.event-layout{flex-direction:column}.event-menu{flex-direction:row;flex-wrap:wrap;flex-basis:auto;overflow:visible;border-right:0;border-bottom:1px solid var(--border)}.event-content{overflow:visible;padding:14px 16px 48px}}.page-header .ph-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.page-header .ph-overline{font-size:14px;text-transform:uppercase;letter-spacing:.22em;color:var(--gray-500);margin:0 0 8px}.page-header .ph-titlewrap{min-width:0;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.page-header .ph-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.breadcrumb{font-size:14px;color:var(--text-faint);margin-bottom:10px}.breadcrumb a:hover{color:var(--primary-600)}.crumb-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}.crumb-row .breadcrumb{margin-bottom:0}.back-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex:none;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text-dim);cursor:pointer;transition:background .12s,border-color .12s,color .12s}.back-btn:hover{background:var(--gray-50);border-color:var(--gray-300);color:var(--text)}.card{background:var(--surface);border:1px solid var(--gray-200);border-radius:var(--radius)}.card-pad{padding:24px 26px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:26px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px}.stat .label{color:var(--gray-500);font-size:14px;font-weight:600}.stat-strip{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.stat-strip .stat{background:transparent;border:0;border-radius:0;border-left:1px solid var(--gray-200);padding:16px 22px 18px}.stat-strip .stat:first-child{border-left:0}.stat-strip .label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--gray-500)}.stat-strip .value{font-size:27px;margin-top:6px;letter-spacing:-.02em}.stat-strip .value small{font-size:13px;font-weight:600;color:var(--gray-500);letter-spacing:0}.stat-strip .value-accent{color:var(--primary-600)}.stat-grid.compact{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:0}.stat-grid.compact .stat{padding:11px 13px}.stat-grid.compact .label{font-size:11.5px}.stat-grid.compact .value{font-size:21px;margin-top:3px}.stat-grid.compact .value small{font-size:12px}.stat .value{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:32px;font-weight:700;margin-top:8px;letter-spacing:-.03em;color:var(--gray-900)}.stat .value small{font-size:16px;color:var(--text-faint);font-weight:600}.table{width:100%;border-collapse:collapse;font-size:16px}.table th{text-align:left;padding:12px 16px;color:var(--gray-500);font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--border);background:var(--surface)}.table td{padding:12px 16px;border-bottom:1px solid var(--gray-100);font-size:var(--text-base);color:var(--gray-700)}.table tbody tr{transition:background .1s}.table tbody tr:hover{background:var(--gray-50)}.table tbody tr.clickable{cursor:pointer}.table tbody tr:last-child td{border-bottom:none}.muted{color:var(--text-faint)}.dt{overflow:visible}.dt-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 16px;border-bottom:1px solid var(--border)}.dt-toolbar-right{margin-left:auto;display:flex;align-items:center;gap:8px}.dt-bulk{display:flex;align-items:center;gap:8px;padding:4px 10px;background:var(--primary-50);border:1px solid var(--primary-100);border-radius:var(--radius-sm)}.dt-bulk-count{font-size:14px;font-weight:600;color:var(--primary-700)}.dt-picker{position:relative}.dt-picker-menu{position:absolute;right:0;margin-top:6px;width:244px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);z-index:30;padding:6px;max-height:320px;overflow:auto}.dt-picker-item{display:flex;align-items:center;gap:2px;padding:3px 8px 3px 4px;border-radius:var(--radius-sm);border-top:2px solid transparent}.dt-picker-item:hover{background:var(--gray-50)}.dt-picker-item.draggable{cursor:grab}.dt-picker-item.draggable:active{cursor:grabbing}.dt-picker-item.dt-drop{border-top-color:var(--primary-600)}.dt-picker-grip{display:grid;place-items:center;width:18px;color:var(--gray-400);flex-shrink:0}.dt-picker-toggle{display:flex;align-items:center;gap:9px;flex:1;min-width:0;padding:5px 0;font-size:14px;color:var(--gray-700);cursor:pointer}.dt-check{width:16px;height:16px;border-radius:4px;border:1px solid var(--gray-300);display:grid;place-items:center;color:#fff;flex-shrink:0}.dt-check.on{background:var(--primary-600);border-color:var(--primary-600)}.dt-sort{display:inline-flex;align-items:center;gap:4px;cursor:pointer;-webkit-user-select:none;user-select:none}.dt-sort:hover{color:var(--gray-900)}.dt-sort-idle{color:var(--gray-300)}.dt-scroll{overflow-x:auto}.tbc-child td:first-child{padding-left:34px}.row-menu{position:fixed;min-width:170px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);z-index:80;padding:5px;display:flex;flex-direction:column}.row-menu-item{display:block;width:100%;text-align:left;background:none;border:0;border-radius:var(--radius-sm);padding:8px 10px;font-size:13.5px;font-weight:600;color:var(--text);cursor:pointer}.row-menu-item:hover:not(:disabled){background:var(--gray-100)}.row-menu-item.danger{color:var(--red)}.row-menu-item.danger:hover:not(:disabled){background:var(--red-soft)}.row-menu-item:disabled{color:var(--gray-400);cursor:default}.dt-spacer{width:auto;padding:0!important;border-bottom:none!important}.dt-th{position:relative}.table.dt-fixed{table-layout:fixed}.dt-fixed th{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dt-fixed td{overflow:hidden}.dt-resize{position:absolute;top:0;right:0;height:100%;width:10px;cursor:col-resize;-webkit-user-select:none;user-select:none;touch-action:none;display:flex;align-items:center;justify-content:center}.dt-resize:after{content:"";width:1px;height:50%;background:var(--gray-200);transition:background .15s,height .15s,width .15s}.dt-resize:hover:after{background:var(--primary-500);height:100%;width:2px}.dt-th[draggable=true]{cursor:grab}.dt-th.dt-drop{box-shadow:inset 2px 0 0 var(--primary-500)}.dt-state{text-align:center;color:var(--text-faint);padding:32px 16px}.dt-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 16px;border-top:1px solid var(--border);font-size:14px;color:var(--gray-600)}.dt-foot-controls{display:flex;align-items:center;gap:10px}.dt-pagesize{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--gray-500)}.dt-pagesize .input{width:auto;padding:5px 8px}.dt input[type=checkbox]{accent-color:var(--primary-600);width:15px;height:15px}.badge{display:inline-flex;align-items:center;gap:5px;padding:2.5px 7px;border-radius:4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;background:var(--gray-100);color:var(--gray-600);white-space:nowrap}.badge.green{background:var(--green-soft);color:var(--green)}.badge.red{background:var(--red-soft);color:var(--red)}.badge.amber{background:var(--amber-soft);color:var(--amber)}.badge.accent{background:var(--primary-50);color:var(--primary-600)}.badge.blue{background:var(--blue-soft);color:var(--blue)}.vip-star{color:#ffc400;display:inline-flex;vertical-align:middle}:root[data-theme=dark] .vip-star{color:#ffd21a}.returning-badge{color:#0d9488;display:inline-flex;vertical-align:middle}:root[data-theme=dark] .returning-badge{color:#2dd4bf}:root[data-theme=dark] .badge.accent{color:#f0aab2}.accom-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.accom-hotel{font-size:18px;font-weight:600;line-height:1.2;color:var(--text)}.accom-room{margin-top:4px;font-size:13px;color:var(--text-dim)}.accom-stay{display:flex;align-items:flex-end;flex-wrap:wrap;gap:16px 24px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.accom-timeline{flex:1;min-width:240px;display:flex;align-items:flex-end;gap:12px}.accom-node{display:flex;flex-direction:column;gap:3px}.accom-node--end{align-items:flex-end}.accom-guests{display:flex;flex-direction:column;gap:3px;align-items:flex-end}.accom-k{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint)}.accom-v{font-size:15px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}.accom-connector{flex:1;display:flex;align-items:center;gap:10px;min-width:60px;padding-bottom:5px}.accom-connector .line{flex:1;height:1px;background:var(--border)}.accom-nights{font-size:12px;font-weight:600;color:var(--text-dim);white-space:nowrap}.accom-meta{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:16px}.accom-meta .field{margin:0}.notes-block{margin-top:6px;padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface-3);font-size:13px;line-height:1.6;color:var(--text-dim)}.notes-block--pre{white-space:pre-line}.chips{display:flex;flex-wrap:wrap;gap:6px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 13px;border-radius:var(--radius-sm);border:1px solid var(--gray-200);background:var(--surface);color:var(--gray-700);font-size:14px;font-weight:500;line-height:1.2;white-space:nowrap;cursor:pointer;transition:background .12s,border-color .12s,opacity .12s}.btn>svg{flex-shrink:0}.btn:hover{background:var(--gray-50);border-color:var(--gray-300)}.btn:disabled,.btn.primary:disabled,.btn.danger:disabled{background:var(--gray-100);border-color:var(--gray-200);color:var(--gray-400);opacity:1;cursor:not-allowed}.btn.primary{background:var(--primary-600);border-color:var(--primary-600);color:#fff}.btn.primary:hover{background:var(--primary-700);border-color:var(--primary-700)}.btn.danger{color:var(--red);border-color:var(--gray-200)}.btn.danger:hover{background:var(--red-soft);border-color:var(--red-soft)}.btn.ghost{background:transparent;border-color:transparent}.btn.ghost:hover{background:var(--gray-100)}.btn.sm{padding:5px 10px;font-size:14px}.btn.icon{padding:6px 8px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}.field label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--gray-500)}.cb-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 24px;align-items:start}@media (max-width: 900px){.cb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 520px){.cb-grid{grid-template-columns:1fr}}.welfare-list{display:flex;flex-direction:column;gap:12px}.welfare-item{display:grid;grid-template-columns:132px minmax(0,1fr);gap:8px 16px;align-items:start}.welfare-item>label{padding-top:3px}.welfare-vals{min-width:0}.welfare-vals .chips{max-width:100%}.welfare-vals .badge{white-space:normal;max-width:100%;text-align:left;line-height:1.35}@media (max-width: 640px){.welfare-item{grid-template-columns:1fr;gap:4px}}.input{padding:9px 12px;border-radius:var(--radius-sm);border:1px solid var(--gray-200);background:var(--surface);color:var(--text);font-size:14px;width:100%}.input::placeholder{color:var(--gray-400)}.flag-type-presets{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.flag-type-preset{padding:4px 10px;border-radius:999px;border:1px solid var(--gray-200);background:var(--surface);color:var(--text);font-size:12px;line-height:1.4;cursor:pointer}.flag-type-preset:hover{background:var(--gray-100)}.flag-type-preset.is-active{border-color:var(--primary-500);background:var(--primary-50, var(--gray-100));color:var(--primary-700, var(--text));font-weight:600}.input:focus{outline:none;border-color:transparent;box-shadow:0 0 0 2px var(--primary-500)}:where(button,[role=button],a,select,summary,[tabindex]):focus-visible{outline:2px solid var(--primary-600);outline-offset:2px}.topbar :where(a,button):focus-visible,.nav-item.active:focus-visible,.event-menu button.active--unused:focus-visible{outline-color:#fff}.nav-item:focus-visible,.event-menu button:focus-visible,tr:focus-visible{outline-offset:-2px}.search{position:relative;flex:1 1 280px;max-width:360px}.search .input{padding-left:34px;width:100%}.search .ico{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--gray-400);display:inline-flex}.row{display:flex;align-items:center;gap:10px}.between{justify-content:space-between}.wrap,.facts-row{flex-wrap:wrap}.facts-row>.field{min-width:160px}.spacer{flex:1}.stack{display:flex;flex-direction:column}.gap-xs{gap:var(--space-1)}.gap-sm{gap:var(--space-2)}.gap-md{gap:var(--space-4)}.gap-lg{gap:var(--space-5)}.mt{margin-top:16px}.mt-sm{margin-top:var(--space-2)}.mt-lg{margin-top:28px}.m-0{margin:0}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-md{font-size:var(--text-md)}.strong{font-weight:600}.ml-sm{margin-left:var(--space-2)}.section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--gray-900);margin:0 0 12px}.empty{text-align:center;padding:56px 20px;color:var(--text-faint)}.empty .big{font-size:28px;margin-bottom:12px;display:inline-flex;color:var(--gray-300)}.spinner{width:22px;height:22px;border:2.5px solid var(--gray-200);border-top-color:var(--primary-600);border-radius:50%;animation:spin .7s linear infinite}.center-load{display:grid;place-items:center;padding:60px}@keyframes spin{to{transform:rotate(360deg)}}.banner{padding:12px 16px;border-radius:var(--radius-sm);font-size:14px;margin-bottom:18px;border:1px solid}.banner.event-status-banner{border-radius:0;margin-bottom:0}.banner.error{background:var(--red-soft);border-color:#fca5a5;color:#991b1b}.banner.info{background:var(--primary-50);border-color:var(--primary-100);color:var(--primary-700)}.banner.success{background:var(--green-soft);border-color:#86efac;color:#166534}:root[data-theme=dark] .banner.error{border-color:#f8717173;color:#fca5a5}:root[data-theme=dark] .banner.info{border-color:#eba6b066;color:#f0aab2}:root[data-theme=dark] .banner.success{border-color:#86efac66;color:#86efac}:root[data-theme=dark] .banner.info strong,:root[data-theme=dark] .banner.error strong,:root[data-theme=dark] .banner.success strong{color:inherit}.progress{height:7px;border-radius:999px;background:var(--gray-200);overflow:hidden;min-width:90px}.progress>span{display:block;height:100%;background:var(--primary-600);border-radius:999px}.msg-thread{display:flex;flex-direction:column;gap:10px;max-height:55vh;min-height:120px;overflow-y:auto;padding:2px}.msg-row{max-width:min(72%,520px)}.msg-row.team{align-self:flex-end}.msg-bubble{background:var(--gray-100);color:var(--gray-900);border-radius:12px 12px 12px 4px;padding:8px 12px;font-size:14px;line-height:1.45;white-space:pre-wrap;word-break:break-word}.msg-row.team .msg-bubble{background:var(--ink);color:#fff;border-bottom-left-radius:12px;border-bottom-right-radius:4px}.msg-row.team .msg-bubble.broadcast{background:var(--primary-600)}.msg-row.team .msg-bubble.poll{background:#2563eb}.msg-meta{font-size:11px;color:var(--gray-500);margin-top:3px}.msg-actions{display:inline-flex;gap:2px;align-self:center;opacity:0;transition:opacity .12s}.msg-row:hover .msg-actions{opacity:1}.msg-bubble.unsent{background:var(--gray-100);color:var(--gray-500);text-decoration:line-through;border:1px dashed var(--gray-300)}.msg-row.team .msg-bubble.unsent{background:var(--gray-100);color:var(--gray-500)}.msg-edited{background:none;border:0;padding:0;font-size:11px;color:var(--gray-500);text-decoration:underline dotted;cursor:pointer}.msg-edited:hover{color:var(--gray-900)}.msg-history{margin-top:6px;padding:8px 10px;border-left:2px solid var(--gray-200);display:flex;flex-direction:column;gap:6px}.msg-row.team .msg-history{text-align:right;border-left:0;border-right:2px solid var(--gray-200)}.msg-history-item{display:flex;flex-direction:column;gap:1px}.msg-history-body{font-size:13px;color:var(--gray-600);white-space:pre-wrap}.msg-history-body.old,.msgs-history-entry .msgs-history-body.old{color:var(--gray-400);text-decoration:line-through}.msg-history-meta{font-size:12px;color:var(--gray-400)}.msg-row.team .msg-meta{text-align:right}.msg-composer{display:flex;align-items:flex-end;gap:10px;margin-top:14px}.checkin-stat{display:flex;flex-direction:column;align-items:flex-end;gap:5px}.checkin-stat-line{font-size:12.5px;color:var(--gray-500)}.checkin-stat-line .num{font-weight:700;color:var(--gray-900)}.dash-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-bottom:26px}@media (max-width: 860px){.dash-grid{grid-template-columns:1fr}}.src-row{display:flex;align-items:center;gap:12px;padding:8px 0}.src-row+.src-row{border-top:1px solid var(--gray-100)}.src-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;display:inline-block}.src-label{width:96px;flex-shrink:0;font-size:14px;color:var(--gray-700)}.src-bar{flex:1}.src-count{width:32px;text-align:right;font-weight:600;color:var(--gray-900)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:grid;place-items:center;z-index:50;padding:20px}.confirm-backdrop{z-index:300}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:440px;box-shadow:var(--shadow-lg);overflow:hidden}.modal-head{padding:18px 20px;border-bottom:1px solid var(--border);font-weight:700;font-size:16px}.modal-body{padding:20px}.modal-foot{padding:14px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px}.modal-wide{max-width:560px}.modal-form{max-width:min(1000px,94vw);width:94vw;height:90vh;display:flex;flex-direction:column}.modal-form .modal-head,.modal-form .modal-foot{flex:0 0 auto}.modal-form .modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:24px 26px;display:flex;flex-direction:column;gap:16px}.modal-form .modal-body .field{margin:0}.modal-form .modal-body label{font-size:13px;margin-bottom:6px}.modal-form .modal-body .input{font-size:14px}.modal-form .modal-body>.field:last-child{flex:1 1 auto;display:flex;flex-direction:column;min-height:180px}.modal-form .modal-body>.field:last-child textarea{flex:1 1 auto;min-height:160px;resize:vertical}.modal-backdrop:has(.modal-viewer){background:#0c0c10e6}.modal-viewer{max-width:1200px;width:94vw;height:92vh;display:flex;flex-direction:column;background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible}.modal-viewer .modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 4px 14px;border-bottom:0;color:#fff;font-weight:500;font-size:14px}.modal-viewer .modal-head .btn{background:#ffffff1a;border-color:transparent;color:#ffffffe6}.modal-viewer .modal-head .btn:hover{background:#fff3}.modal-viewer .modal-head .btn.danger{color:#fca5a5}.modal-viewer .modal-head .btn.danger:hover{background:#dc26264d}.modal-viewer .modal-head .muted{color:#ffffff8c}.modal-viewer .modal-body{padding:0;flex:1 1 auto;min-height:0;overflow:auto;background:transparent;display:flex}.modal-viewer iframe{width:100%;height:100%;border:0;border-radius:var(--radius-sm);background:#fff}.modal-viewer img{max-width:100%;max-height:100%;margin:auto;object-fit:contain;border-radius:var(--radius-sm)}.modal-viewer .viewer-close{background:none;border:none;cursor:pointer;color:#ffffffb3;display:inline-flex;padding:4px;border-radius:var(--radius-sm)}.modal-viewer .viewer-close:hover{color:#fff;background:#ffffff26}.modal-wide .modal-body{max-height:calc(100vh - 200px);overflow-y:auto}.import-divider{height:1px;background:var(--border);margin:22px 0}.modal-program{max-width:1240px;width:95vw;height:92vh;display:flex;flex-direction:column}.modal-program .modal-body{padding:0;flex:1 1 auto;min-height:0;display:flex}.program-edit{flex:0 0 42%;max-width:520px;overflow-y:auto;padding:20px;border-right:1px solid var(--border)}.program-preview{flex:1 1 auto;min-width:0;background:var(--gray-100, #f1f2f4);display:flex;position:relative}.program-preview iframe{width:100%;height:100%;border:0;background:#fff}.xpages{display:flex;flex-direction:column;gap:8px;margin-bottom:12px;max-height:52vh;overflow-y:auto;padding-right:2px}.xpage-card{border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px;background:var(--surface)}.xpage-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.xpage-type{font-size:12px;font-weight:700}.xpage-place{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--muted)}.xpage-thumb{width:100%;height:70px;object-fit:cover;border-radius:4px;margin-bottom:6px;display:block}.xday-items{display:flex;flex-direction:column;gap:8px}.xday-item{border-left:2px solid var(--border);padding-left:8px}.xday-item-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:3px}.xday-time{font-size:11px;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}.program-preview .program-preview-empty{margin:auto;color:var(--muted);font-size:13px}.program-day-block{border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px;margin-bottom:14px}.program-day-block>.program-day-title{font-weight:700;font-size:13px;margin-bottom:10px}.program-item-field{margin-top:10px}.program-item-field>label{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}.program-add-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.program-pagelist{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;max-height:34vh;overflow-y:auto;padding-right:2px}.program-page-row{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:var(--surface)}.program-page-row.sel{border-color:var(--primary, #e2231a);box-shadow:0 0 0 1px var(--primary, #e2231a) inset}.program-page-row .pp-label{flex:1 1 auto;min-width:0;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.program-page-row .pp-type{font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);margin-right:6px}.program-page-row .pp-tools{display:flex;gap:2px;flex:0 0 auto}.program-page-row .pp-tools button{border:0;background:none;cursor:pointer;color:var(--muted);padding:3px;border-radius:4px;display:inline-flex}.program-page-row .pp-tools button:hover:not(:disabled){background:var(--gray-100, #eef0f2);color:var(--ink, #1a1a1a)}.program-page-row .pp-tools button:disabled{opacity:.3;cursor:default}.program-page-editor{border-top:1px solid var(--border);padding-top:14px}.program-page-editor>h4{margin:0 0 12px;font-size:13px;font-weight:700}.program-img-drop{border:1px dashed var(--border);border-radius:var(--radius-sm);padding:14px;text-align:center}.program-img-thumb{max-width:100%;max-height:160px;border-radius:var(--radius-sm);display:block;margin:0 auto 10px}.program-check{display:flex;align-items:center;gap:8px;margin:10px 0;font-size:13px}.bc-steps{display:flex;align-items:center;justify-content:center;gap:14px;margin:6px 0 20px}.bc-step-line{width:48px;height:1px;background:var(--gray-300);flex:0 0 auto}.bc-step{display:inline-flex;align-items:center;gap:8px;border:0;background:none;padding:4px 2px;font-size:14px;font-weight:500;color:var(--gray-500);cursor:pointer;transition:color .12s}.bc-step:hover{color:var(--gray-900)}.bc-step .num{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--gray-200);color:var(--gray-600);font-size:12px;font-weight:700;transition:background .12s,color .12s}.bc-step.active{color:var(--gray-900);font-weight:600}.bc-step.active .num{background:var(--primary-600);color:#fff}.bc-step.done:not(.active) .num{background:var(--green);color:#fff}.bc-group{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.bc-group>*{flex:0 0 auto}.bc-group .bc-picklist,.bc-group .search,.bc-group>.row{align-self:stretch}.bc-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--gray-500)}.broadcast-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,400px);gap:20px;align-items:start;margin-bottom:16px}.bc-preview{margin-top:12px;background:var(--gray-50);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;font-size:14px}@media (max-width: 1100px){.broadcast-layout{grid-template-columns:minmax(0,1fr)}}.bc-picklist{max-height:190px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-sm)}.bc-pickrow{padding:7px 10px;cursor:pointer;font-size:14px}.bc-pickrow:hover{background:var(--gray-50)}.bc-pickrow input[type=checkbox]{accent-color:var(--primary-600)}.bc-chip{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:2px 4px 2px 11px;font-size:13px;color:var(--gray-700)}.contact-row{padding:11px 0;border-top:1px solid var(--border)}.contact-row:first-child{padding-top:0;border-top:0}.contact-row:last-child{padding-bottom:0}.contact-group-head{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim);margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid var(--border)}.contact-group-count{font-size:11px;font-weight:700;letter-spacing:0;color:var(--text-faint);background:var(--gray-100);border-radius:999px;padding:1px 8px;text-transform:none}.fp-zoombar{display:flex;align-items:center;gap:4px;justify-content:flex-end;margin-bottom:8px}.fp-zoom-pct{font-size:12px;font-weight:700;color:var(--text-dim);font-variant-numeric:tabular-nums;min-width:42px;text-align:center}.fp-viewer{overflow:auto;height:72vh;min-height:360px;display:flex;align-items:safe center;justify-content:safe center;border:1px solid var(--gray-200);border-radius:10px;background:var(--gray-50)}.fp-viewer>img{flex:0 0 auto}.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.contact-cell{align-items:flex-start;gap:8px;border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:var(--gray-50)}@media (max-width: 1100px){.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 700px){.contact-grid{grid-template-columns:1fr}}.brand-cell{display:flex;align-items:center;gap:12px}.brand-logo{width:34px;height:34px;border-radius:8px;object-fit:contain;background:#fff;border:1px solid var(--border);flex:none}.brand-logo.placeholder{display:grid;place-items:center;color:var(--gray-400);background:var(--gray-50)}.color-cell{display:flex;align-items:center;gap:8px;font-variant-numeric:tabular-nums}.color-swatch{width:18px;height:18px;border-radius:5px;border:1px solid var(--border);flex:none}.brand-dot{width:8px;height:8px;border-radius:50%;flex:none}.note-list{display:flex;flex-direction:column;gap:10px}.note{background:var(--gray-50);border:1px solid var(--gray-100);border-radius:8px;padding:10px 12px}.note-head{display:flex;align-items:center;gap:8px;margin-bottom:3px}.note-author{font-weight:650;font-size:13.5px}.note-time{font-size:12px;color:var(--text-faint)}.note-del{margin-left:auto;border:none;background:transparent;color:var(--gray-400);cursor:pointer;padding:2px;display:inline-flex}.note-del:hover{color:var(--red)}.note-body{font-size:14px;white-space:pre-wrap}.pass-card{border-radius:16px;padding:18px 18px 20px;box-shadow:var(--shadow-lg);overflow:hidden}.pass-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.pass-logo{max-height:40px;max-width:160px;object-fit:contain}.pass-logo-text{font-weight:700;font-size:16px;letter-spacing:.2px}.pass-hero{margin:12px -18px 16px;height:92px;display:grid;place-items:center;overflow:hidden}.pass-hero-logo{max-width:80%;max-height:56px;width:auto;height:auto;object-fit:contain}.pass-hero-fallback{display:grid;place-items:center;font-weight:800;font-size:20px;letter-spacing:.5px}.pass-label{font-size:10px;font-weight:700;letter-spacing:.8px}.pass-value{font-size:16px;font-weight:600;margin-top:2px}.pass-row{display:flex;justify-content:space-between;gap:28px;margin-top:14px}.pass-qr{display:flex;justify-content:center;margin-top:22px}.pass-qr-inner{background:#fff;border-radius:6px;padding:9px}.pass-qr-inner img{width:150px;height:150px;display:block}.pass-previews{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,360px));gap:24px;align-items:start}.pass-col{display:grid;gap:16px}.email-designs-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:stretch}.email-designs-layout>div:last-child{min-height:0}@media (max-width: 820px){.email-designs-layout{grid-template-columns:1fr}}.email-preview-frame{width:100%;flex:1;min-height:360px;border:1px solid var(--gray-200);border-radius:var(--radius);background:#fff}.email-vars{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.email-var-chip{font-size:12.5px;font-weight:600;color:var(--text);background:var(--surface-3);border:1px solid var(--border);border-radius:999px;padding:4px 11px;cursor:pointer}.email-var-chip:hover{background:var(--border)}.pass-send{margin-top:4px;padding:18px 20px;border:1px solid var(--gray-200);border-radius:12px;background:var(--surface);display:flex;flex-direction:column;gap:14px}.pass-send-head{display:flex;align-items:flex-start;gap:13px}.pass-send-icon{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:var(--radius);background:var(--surface-3);color:var(--text)}.pass-send-head h3{margin:0 0 3px;font-size:15px;line-height:1.3}.pass-send-desc{margin:0;font-size:13px;line-height:1.55;color:var(--gray-500)}.pass-send-desc code{font-size:12px;padding:1px 4px;border-radius:4px;background:var(--gray-100)}.pass-wallet-label{font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--muted, #6b7280)}.gpass-card{border-radius:16px;padding:18px;box-shadow:var(--shadow-lg);overflow:hidden}.gpass-top{display:flex;align-items:center;gap:10px}.gpass-logo{width:32px;height:32px;border-radius:50%;object-fit:contain;flex:none}.gpass-logo-fallback{display:grid;place-items:center;font-weight:800;font-size:16px}.gpass-issuer{font-weight:700;font-size:14px;letter-spacing:.2px}.gpass-header{font-size:20px;font-weight:700;margin-top:16px;line-height:1.25}.gpass-modules{display:grid;gap:14px;margin-top:18px}.gpass-qr{display:flex;justify-content:center;margin-top:22px}.gpass-qr-inner{background:#fff;border-radius:6px;padding:9px}.gpass-qr-inner img{width:150px;height:150px;display:block}.logo-picker{display:flex;align-items:center;gap:14px}.logo-preview{width:56px;height:56px;border-radius:var(--radius);object-fit:contain;background:#fff;border:1px solid var(--border);flex:none}.logo-preview.placeholder{display:grid;place-items:center;color:var(--gray-400);background:var(--gray-50)}.color-field{display:flex;align-items:center;gap:8px}.color-input{width:42px;height:38px;padding:2px;border:1px solid var(--gray-200);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;flex:none}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:20px}.tab{padding:10px 16px;font-size:16px;font-weight:600;color:var(--text-dim);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.tab.active{color:var(--primary-600);border-bottom-color:var(--primary-600)}.segmented{display:inline-flex;align-self:flex-start;align-items:center;gap:2px;padding:3px;background:var(--gray-100);border:1px solid var(--gray-200);border-radius:8px}.segmented button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:5px 13px;font-size:13px;font-weight:600;color:var(--gray-500);border-radius:6px;cursor:pointer;white-space:nowrap;transition:background .12s ease,color .12s ease}.segmented button:hover{color:var(--gray-900)}.segmented button.active{background:var(--surface);color:var(--gray-900);box-shadow:0 1px 2px #00000014}.ticket-link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:stretch}@media (max-width: 900px){.ticket-link-grid{grid-template-columns:minmax(0,1fr)}}.ticket-link-row{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.msgs-fill{height:100%}.msgs-split{display:flex;align-items:stretch;padding:0;overflow:hidden;flex:1 1 auto;min-height:360px}.msgs-side{flex:0 0 300px;display:flex;flex-direction:column;min-width:0;border-right:1px solid var(--border)}.msgs-side-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px 8px}.msgs-side-search{padding:0 14px 10px;border-bottom:1px solid var(--border)}.msgs-side-search .search{max-width:none}.msgs-side-list{flex:1;overflow-y:auto;min-height:0}.msgs-section-label{padding:10px 14px 5px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--gray-500)}.msgs-item{display:flex;align-items:flex-start;gap:10px;width:100%;text-align:left;padding:11px 14px;border:0;border-bottom:1px solid var(--border);background:var(--surface);cursor:pointer;transition:background .12s}.msgs-item:hover{background:var(--gray-50)}.msgs-item.selected{background:var(--gray-100)}.msgs-item.unread .msgs-item-name{font-weight:700}.msgs-item.broadcast{background:var(--surface-2);cursor:default}.msgs-item-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.msgs-item-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.msgs-item-name{font-size:14px;font-weight:600;color:var(--gray-900);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msgs-item-time{font-size:11px;color:var(--gray-500);flex:0 0 auto}.msgs-item-preview{font-size:13px;color:var(--gray-500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msgs-unread{flex:0 0 auto;align-self:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center}.msgs-avatar{flex:0 0 auto;width:32px;height:32px;border-radius:50%;background:var(--gray-100);color:var(--gray-600);font-size:12px;font-weight:700;display:grid;place-items:center}.msgs-newchat-list{margin-top:10px;max-height:320px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px}.msgs-pane{flex:1;display:flex;flex-direction:column;min-width:0}.msgs-pane-head{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--border)}.msgs-embedded{flex:1;display:flex;flex-direction:column;min-height:0;padding:12px 16px 14px}.msgs-embedded .msg-thread{flex:1;max-height:none}.msgs-embedded .msg-composer{margin-top:10px}.msgs-embedded.bc-split-top{flex:0 0 auto;max-height:42%;overflow:auto}.bc-split-bottom{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;border-top:1px solid var(--border)}.bc-roster{display:flex;flex-direction:column;min-height:0;flex:1}.bc-roster-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid var(--border)}.bc-roster-scroll{flex:1 1 auto;min-height:0;overflow:auto}.bc-roster-table th{position:sticky;top:0;z-index:1}.bc-roster-table td{padding:9px 16px}.bc-contact{display:flex;flex-direction:column;gap:1px;min-width:0}.bc-contact-link{color:var(--gray-700);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.bc-contact-link:hover{text-decoration:underline}.bc-contact-link.muted{color:var(--gray-500)}.bc-contact-masked{display:inline-flex;align-items:center;gap:8px}.bc-reveal-btn{padding:2.5px 8px;font-size:11px;font-weight:600;font-family:inherit}.msgs-history-side{border-right:0;border-left:1px solid var(--border)}.msgs-history-entry{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:11px 14px;border-bottom:1px solid var(--border)}.msgs-history-entry .msgs-history-body{font-size:13px;color:var(--gray-600);white-space:pre-wrap;overflow-wrap:anywhere}.msgs-history-entry .msgs-history-meta{font-size:11px;color:var(--gray-400)}@media (max-width: 1250px){.msgs-history-side{display:none}}@media (max-width: 900px){.msgs-side{flex-basis:220px}}.booking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}@media (max-width: 1100px){.booking-grid{grid-template-columns:1fr}}.booking-card{padding:18px 20px;display:flex;flex-direction:column;min-height:200px}.booking-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.booking-title{font-weight:700;font-size:15px;letter-spacing:-.01em;color:var(--gray-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.booking-ref{font-size:11.5px;font-weight:600;color:var(--gray-500)}.booking-guests{display:flex;flex-wrap:wrap;align-content:flex-start;gap:8px;flex:1;margin-top:12px;padding-top:12px;border-top:1px solid var(--gray-100)}.booking-card-foot{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding-top:12px;border-top:1px solid var(--gray-100)}.booking-guest{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--gray-200);background:var(--surface);border-radius:6px;padding:4px 10px;font-size:13px;font-weight:550;color:var(--gray-700);cursor:pointer;transition:border-color .12s,color .12s}.booking-guest:hover{border-color:var(--primary-600);color:var(--primary-600)}.booking-guest.muted-chip{color:var(--gray-500);cursor:default;border-style:dashed}.roster-group-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:0 4px 6px}.roster-group-title{font-size:11.5px;font-weight:700;letter-spacing:.01em;color:var(--gray-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.roster-group-count{flex:0 0 auto;font-size:11px;font-weight:700;color:var(--gray-400)}.roster-row{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--surface);border:1px solid var(--gray-200);border-radius:10px}.roster-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;text-align:left;border:0;background:none;padding:0;cursor:pointer}.roster-row-name{font-size:15px;font-weight:650;color:var(--gray-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.roster-row-main:hover .roster-row-name{color:var(--primary-600)}.roster-row-sub{font-size:12px;color:var(--gray-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.roster-row-actions{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:4px;white-space:nowrap}.roster-row-status{display:inline-flex;align-items:center;gap:8px}.roster-row-when{font-size:11px;color:var(--gray-500)}.inv-units{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px;margin-top:12px}@media (max-width: 1100px){.inv-units{grid-template-columns:1fr}}.inv-unit{display:flex;align-items:center;gap:10px}.inv-unit-idx{flex:0 0 30px;font-size:12px;color:var(--gray-500)}.group-row td{background:var(--gray-50);font-weight:650;cursor:pointer;-webkit-user-select:none;user-select:none;border-top:1px solid var(--gray-200)}.group-row:hover td{background:var(--gray-100)}.group-row-inner{display:flex;align-items:flex-start;gap:6px}.group-row .chev{display:inline-flex;flex-shrink:0;margin-top:1px;color:var(--text-dim)}.group-sub{font-size:12px;font-weight:400;margin-top:2px}.kv{display:grid;grid-template-columns:160px 1fr;gap:11px 16px;font-size:16px}.kv dt{color:var(--text-faint);font-weight:500}.kv dd{margin:0;color:var(--gray-900)}.login-shell{min-height:var(--app-h);display:grid;place-items:center;background:var(--gray-50);padding:24px}.login-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:28px 26px}.login-brand{display:flex;align-items:center;gap:13px;margin-bottom:22px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:999px}.db-layout{flex:1 1 auto;min-width:0;min-height:0;display:flex;align-items:stretch}.db-models{flex:0 0 240px;display:flex;flex-direction:column;min-height:0;background:var(--surface);border-right:1px solid var(--border);padding:12px 10px}.db-models .search{flex:0 0 auto;max-width:none;margin:0 2px 10px}.db-models-list{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.db-model-item{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:7px 10px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--gray-700);font-size:14px;text-align:left;cursor:pointer}.db-model-item:hover{background:var(--gray-100);color:var(--gray-900)}.db-model-item.active{background:var(--primary-600);color:#fff;font-weight:600;box-shadow:var(--shadow-sm)}.db-model-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.db-model-count{flex-shrink:0;font-size:12px;font-variant-numeric:tabular-nums;color:var(--text-dim)}.db-model-item.active .db-model-count{color:#ffffffd9}.db-content{flex:1 1 auto;min-width:0;min-height:0;display:flex;flex-direction:column;padding:16px 20px;overflow:hidden}.db-content>.db-table{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.db-table .dt-scroll{flex:1 1 auto;min-height:0;overflow:auto}.db-table .dt-toolbar,.db-table .dt-foot{flex:0 0 auto}.db-cell{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.db-cell.null{color:var(--gray-400)}.db-empty-pane{flex:1 1 auto;display:grid;place-items:center;color:var(--text-dim);text-align:center}.db-table .dt-fixed thead th{position:sticky;top:0;z-index:2;background:var(--surface)}.dash-grid.dash-main{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start}@media (max-width: 860px){.dash-grid.dash-main{grid-template-columns:1fr}}.dash-col{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.dash-scroll{max-height:520px;overflow-y:auto;display:flex;flex-direction:column}.dash-activity{display:block;padding:10px 4px;border-radius:var(--radius-sm);color:inherit;text-decoration:none}.dash-activity+.dash-activity{border-top:1px solid var(--gray-100)}.dash-activity:hover{background:var(--gray-50)}.dash-activity-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:6px}.dash-activity-name{flex:1;min-width:0;font-weight:600;font-size:14px;color:var(--gray-900);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-activity-top>.muted{flex-shrink:0}.sidebar.collapsed .nav{overflow:visible}.sidebar.collapsed .nav-item{position:relative}.sidebar.collapsed .nav-label{display:block;position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%) translate(-4px);background:var(--ink);color:#fff;font-size:13px;font-weight:600;line-height:1;padding:7px 11px;border-radius:var(--radius-sm);white-space:nowrap;box-shadow:var(--shadow-sm);opacity:0;pointer-events:none;transition:opacity .12s ease,transform .12s ease;z-index:60}.sidebar.collapsed .nav-item:hover .nav-label,.sidebar.collapsed .nav-item:focus-visible .nav-label{opacity:1;transform:translateY(-50%) translate(0)}.event-menu.collapsed{overflow:visible}.event-menu.collapsed button{position:relative}.event-menu.collapsed button .label{display:block;position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%) translate(-4px);background:var(--ink);color:#fff;font-size:13px;font-weight:600;line-height:1;padding:7px 11px;border-radius:var(--radius-sm);white-space:nowrap;box-shadow:var(--shadow-sm);opacity:0;pointer-events:none;z-index:60}.event-menu.collapsed button:hover .label,.event-menu.collapsed button:focus-visible .label{opacity:1;transform:translateY(-50%) translate(0);transition:opacity .12s ease,transform .12s ease}.logs-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;padding:16px 20px;overflow:hidden}.logs-toolbar{flex:0 0 auto;display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.logs-toolbar .search{flex:0 0 auto}.logs-scroll{flex:1 1 auto;min-height:0;overflow:auto;padding:8px 0;background:var(--surface)}.log-line{display:flex;align-items:baseline;gap:10px;padding:3px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.5}.log-line:hover{background:var(--gray-50)}.log-line.error{background:color-mix(in srgb,var(--primary-50) 55%,transparent)}.log-time{flex-shrink:0;color:var(--gray-400);font-variant-numeric:tabular-nums}.log-level{flex-shrink:0;width:46px;font-weight:700;font-size:11.5px;letter-spacing:.04em}.log-level.info{color:var(--gray-500)}.log-level.warn{color:var(--amber)}.log-level.error{color:var(--primary-600)}.log-msg{white-space:pre-wrap;word-break:break-word;color:var(--gray-700);min-width:0}.activity-details-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,400px);gap:20px;align-items:start;margin-bottom:16px}@media (max-width: 1100px){.activity-details-layout{grid-template-columns:minmax(0,1fr)}}.event-details-layout{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-start}.event-details-layout>:first-child{flex:1 1 480px}.event-details-layout>:last-child{flex:1 1 340px;min-width:0;max-width:400px}.location-field{position:relative;min-width:0}.location-field .input{width:100%}.location-suggest{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:40;margin:0;padding:4px;list-style:none;background:var(--surface, #fff);border:1px solid var(--gray-200);border-radius:var(--radius-sm);box-shadow:0 8px 24px #0000001f;max-height:280px;overflow-y:auto}.location-suggest li{display:flex;align-items:baseline;gap:6px;padding:8px 10px;border-radius:var(--radius-sm);cursor:pointer;min-width:0}.location-suggest li .main{font-weight:600;white-space:nowrap;flex-shrink:0}.location-suggest li .sub{color:var(--text-dim);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.location-suggest li.active{background:var(--surface-3, var(--gray-100))}.location-suggest li.attribution{justify-content:flex-end;color:var(--text-dim);font-size:11px;padding:4px 10px 2px;cursor:default}.splitz-new-btn{display:inline-flex;align-items:center;gap:6px}.splitz-section-head{margin:2px 0 12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.splitz-section-head h3{margin:0;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-500)}.splitz-list{display:flex;flex-direction:column;gap:8px}.splitz-batch{border:1px solid var(--gray-200);border-radius:var(--radius-sm);background:var(--surface);padding:12px 14px}.splitz-batch-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.splitz-batch-main{min-width:0;flex:1}.splitz-batch-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.splitz-batch-icon{color:var(--gray-400);flex:none}.splitz-batch-file{font-size:12px;color:var(--gray-400);margin-top:2px}.splitz-batch-meta{font-size:12px;color:var(--text-dim);margin-top:4px}.splitz-batch-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.splitz-batch-error{font-size:12px;color:var(--red, #c0392b);margin-top:8px}.splitz-batch-tickets{margin-top:12px}.splitz-empty{text-align:center;padding:40px 24px;border:1px dashed var(--gray-200);border-radius:var(--radius-sm);color:var(--gray-400)}.splitz-new-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.splitz-drop{border:2px dashed var(--gray-300);border-radius:var(--radius-sm);padding:32px 24px;text-align:center;cursor:pointer;transition:border-color .15s ease,background .15s ease}.splitz-drop:hover,.splitz-drop.drag{border-color:var(--primary-500);background:var(--primary-50, rgba(59, 130, 246, .06))}.splitz-drop-icon{color:var(--gray-400)}.splitz-drop.drag .splitz-drop-icon{color:var(--primary-600)}@media (max-width: 520px){.splitz-new-fields{grid-template-columns:1fr}}.splitz-pick-bar{display:flex;align-items:center;gap:6px;font-size:12px;margin-bottom:6px}.splitz-pick-list{max-height:320px;overflow-y:auto;border:1px solid var(--gray-200);border-radius:var(--radius-sm)}.splitz-pick{display:flex;align-items:center;gap:10px;padding:8px 12px;font-size:14px;cursor:pointer;border-bottom:1px solid var(--gray-100, var(--gray-200))}.splitz-pick:last-child{border-bottom:none}.splitz-pick:hover{background:var(--gray-50, rgba(0, 0, 0, .02))}.splitz-pick.on{background:var(--primary-50, rgba(59, 130, 246, .07))}.splitz-pick input{flex:none}.splitz-pick-name{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.splitz-pick-count{flex:none;font-size:12px}.splitz-assign-list{max-height:48vh;overflow-y:auto;border:1px solid var(--gray-200);border-radius:var(--radius-sm)}.splitz-assign-list thead th{position:sticky;top:0;background:var(--surface);z-index:1}.splitz-seat-select{width:auto;padding:4px 8px;font-size:12px;cursor:pointer}.gopass .field-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--gray-900)}.gopass .sm{font-size:13px}.gopass-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:20px;align-items:start}@media (max-width: 860px){.gopass-grid{grid-template-columns:1fr}}.gopass-section{border:1px solid var(--rule, #e5e7eb);border-radius:var(--radius);padding:12px 14px;margin:0}.gopass-section legend{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--gray-700, #374151);padding:0 6px}.gopass-section[disabled]{opacity:.6}.gopass-preview-col{display:flex;flex-direction:column;gap:8px;position:sticky;top:12px}.gopass-card{position:relative;border-radius:18px;overflow:hidden;min-height:380px;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 24px #0000002e}.gopass-cover{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.gopass-scrim{position:absolute;top:0;right:0;bottom:0;left:0}.gopass-content{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;padding:28px 20px;width:100%;text-align:center}.gopass-field{display:flex;flex-direction:column;align-items:center;gap:2px}.gopass-name{font-size:20px;font-weight:700}.gopass-event{font-size:14px}.gopass-tier{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.gopass-caption{font-size:10px;font-weight:700;letter-spacing:.14em}.gopass-token{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}.gopass-qr{border-radius:12px;padding:12px;box-shadow:0 2px 10px #00000026;display:inline-flex}.gopass-logo{max-height:44px;max-width:60%;object-fit:contain}.gopass select,.gopass input[type=text]{padding:7px 10px;border-radius:var(--radius-sm);border:1px solid var(--gray-200);background:var(--surface);color:var(--text);font-size:14px;line-height:1.2}.gopass input[type=text]::placeholder{color:var(--gray-400)}.gopass select:focus,.gopass input[type=text]:focus{outline:none;border-color:transparent;box-shadow:0 0 0 2px var(--primary-500)}.gopass select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:30px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center}.gopass select:hover{border-color:var(--gray-300)}.gopass-move-group{display:inline-flex}.gopass-move-group .gopass-move:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.gopass-move-group .gopass-move:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin-left:-1px}.gopass-move{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1px solid var(--gray-200);background:var(--surface);color:var(--gray-500);cursor:pointer;transition:background .12s,color .12s,border-color .12s}.gopass-move:hover:not(:disabled){background:var(--gray-100);color:var(--gray-900);border-color:var(--gray-300)}.gopass-move:disabled{opacity:.4;cursor:default}.gopass input[type=checkbox]{accent-color:var(--primary-600);width:16px;height:16px;cursor:pointer}.gopass input[type=range]{accent-color:var(--primary-600);cursor:pointer}.gopass-inherit{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:24px;border:1px solid var(--gray-200);border-radius:12px;background:var(--gray-50);align-self:start}.gopass-inherit-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--gray-200);color:var(--gray-600)}.gopass-inherit-title{margin:0;font-size:16px;font-weight:600;color:var(--gray-900)}.sissy-fab{position:fixed;left:18px;bottom:96px;z-index:60;width:36px;height:36px;padding:0;border-radius:50%;border:1px solid var(--primary-100);background:var(--primary-50);cursor:pointer;box-shadow:var(--shadow);overflow:hidden;transition:transform .12s ease,box-shadow .12s ease}.sissy-fab:hover{transform:scale(1.08);box-shadow:var(--shadow-lg),0 0 0 4px #ad0e221f}.sissy-fab img{width:100%;height:100%;object-fit:cover;display:block}.sidebar.hidden~.sissy-fab{display:none}.sissy-panel{position:fixed;z-index:70;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);overflow:hidden}.sissy-panel.floating{width:360px;max-width:calc(100vw - 28px);height:560px;border-radius:18px;box-shadow:var(--shadow-lg)}.sissy-panel.docked{right:0;top:0;bottom:0;width:340px;max-width:92vw;border-radius:0;border-left:1px solid var(--border);box-shadow:var(--shadow-lg)}body.sissy-docked .main-col{margin-right:340px;transition:margin-right .2s ease}body.sissy-docked #jsd-widget{right:340px!important;transition:right .2s ease}:root[data-theme=dark] #jsd-widget{background:transparent!important;color-scheme:light}.sissy-head{display:flex;align-items:center;gap:10px;padding:10px 12px;color:#fff;background:linear-gradient(90deg,var(--primary-700),var(--primary-500));-webkit-user-select:none;user-select:none;flex:0 0 auto}.sissy-avatar{position:relative;width:38px;height:38px;flex:0 0 auto;border-radius:999px;overflow:hidden;border:2px solid rgba(255,255,255,.7)}.sissy-avatar img{width:100%;height:100%;object-fit:cover;display:block}.sissy-avatar.thinking{animation:sissy-pulse 1.4s ease-in-out infinite}.sissy-avatar.thinking:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:999px;border:2px solid transparent;border-top-color:#fff;animation:sissy-spin .9s linear infinite}@keyframes sissy-pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes sissy-spin{to{transform:rotate(360deg)}}.sissy-id{flex:1;min-width:0}.sissy-name{font-weight:700;font-size:14px;display:flex;align-items:center;gap:8px}.sissy-typing-pill{font-size:10px;font-weight:600;padding:1px 7px;border-radius:999px;background:#ffffff38}.sissy-tag{font-size:11px;opacity:.88}.sissy-head-actions{display:flex;align-items:center;gap:2px}.sissy-head-actions button{display:grid;place-items:center;width:28px;height:28px;border:none;border-radius:8px;background:transparent;color:#fff;cursor:pointer}.sissy-head-actions button:hover:not(:disabled){background:#fff3}.sissy-head-actions button:disabled{opacity:.45;cursor:default}.sissy-grip{display:grid;place-items:center;width:22px;opacity:.7}.sissy-body{flex:1 1 0;min-height:0;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;background:linear-gradient(180deg,var(--surface-2),var(--surface))}.sissy-intro{display:flex;flex-direction:column;gap:10px}.sissy-hello{font-weight:700;font-size:15px}.sissy-suggest-label{font-size:12px;font-weight:600;color:var(--text-dim);margin-top:2px}.sissy-suggestions{display:flex;flex-direction:column;gap:8px}.sissy-chip{text-align:left;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:13px;cursor:pointer}.sissy-chip:hover{border-color:var(--primary-600)}.sissy-msg{padding:9px 12px;border-radius:14px;font-size:13px;line-height:1.5;white-space:pre-wrap;max-width:88%}.sissy-msg.user{align-self:flex-end;color:#fff;background:linear-gradient(90deg,var(--primary-700),var(--primary-600));border-bottom-right-radius:4px}.sissy-msg.assistant{align-self:flex-start;background:var(--surface);color:var(--text);border:1px solid var(--border);border-bottom-left-radius:4px}.sissy-thinking{color:var(--text-dim);font-style:italic}.sissy-error{color:var(--red);font-size:12px}.sissy-md{white-space:normal}.sissy-md>:first-child{margin-top:0}.sissy-md>:last-child{margin-bottom:0}.sissy-md p{margin:0 0 8px}.sissy-md ol,.sissy-md ul{margin:4px 0;padding-left:20px;display:flex;flex-direction:column;gap:5px}.sissy-md li{margin:0}.sissy-md li::marker{color:var(--text-dim)}.sissy-md strong{font-weight:700}.sissy-md a{color:var(--primary-600);font-weight:600;text-decoration:underline;cursor:pointer}.sissy-md a:hover{color:var(--primary-700)}.sissy-md code{background:var(--surface-2);padding:1px 5px;border-radius:5px;font-size:12px}.sissy-input{display:flex;gap:8px;align-items:flex-end;padding:10px;border-top:1px solid var(--border);background:var(--surface-2);flex:0 0 auto}.sissy-input textarea{flex:1;resize:none;min-height:38px;max-height:96px;padding:9px 11px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;font-size:13px}.sissy-input textarea:focus{outline:none;border-color:var(--primary-600);box-shadow:0 0 0 3px #ad0e2226}.sissy-send{display:grid;place-items:center;width:38px;height:38px;flex:0 0 auto;border:none;border-radius:var(--radius);color:#fff;background:linear-gradient(90deg,var(--primary-700),var(--primary-600));cursor:pointer}.sissy-send:disabled{opacity:.5;cursor:default}.purge-danger-zone{margin-top:12px;padding:12px;border:1px solid var(--primary-200);border-radius:var(--radius-sm);background:var(--primary-50);display:flex;flex-direction:column;gap:10px;align-items:flex-start;max-width:460px}.purge-danger-warn{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;color:var(--primary-700)}.purge-danger-warn svg{flex:0 0 auto;margin-top:1px}.confirm-require{font-size:13px;color:var(--text)}.confirm-require code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;background:var(--surface-2);border:1px solid var(--border);border-radius:5px;padding:1px 6px;color:var(--primary-700);white-space:normal;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.db-section{height:calc(var(--app-h) - var(--topbar-h));margin:-28px -32px -64px;display:flex;flex-direction:column;overflow:hidden}.db-section-head{flex:0 0 auto;display:flex;align-items:center;padding:10px 16px;border-bottom:1px solid var(--border)}.db-section-body{flex:1 1 auto;min-height:0;display:flex;align-items:stretch}.schema-tab{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;position:relative}.schema-loading{flex:1 1 auto;display:grid;place-items:center}.schema-count{font-size:12px;color:var(--text-dim);white-space:nowrap;padding-left:2px}.schema-flow{flex:1 1 auto;min-height:0;position:relative;overflow:hidden;background:var(--bg)}.schema-flow .react-flow{background:transparent}.schema-flow-inner{position:absolute;top:0;left:0;width:calc(100% * var(--zoom));height:calc(100% * var(--zoom));zoom:calc(1 / var(--zoom))}.schema-toolbar{position:absolute;top:12px;left:12px;z-index:5;display:flex;align-items:center;gap:8px;padding:8px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.schema-toolbar .search{flex:0 0 auto;margin:0}.schema-node{width:240px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);font-size:11px;overflow:hidden;transition:opacity .15s ease,box-shadow .15s ease,border-color .15s ease}.schema-node.dim{opacity:.25}.schema-node.match{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft),var(--shadow)}.schema-node-head{display:flex;align-items:baseline;justify-content:space-between;gap:6px;padding:8px 10px;background:var(--accent-soft);border-bottom:1px solid var(--border)}.schema-node-name{font-weight:700;font-size:12.5px;color:var(--text);letter-spacing:.01em}.schema-node-table{font-family:var(--mono);font-size:10px;color:var(--text-dim);white-space:nowrap}.schema-node-body{padding:4px 0}.schema-col{display:grid;grid-template-columns:16px 1fr auto;align-items:center;gap:6px;height:22px;padding:0 10px;white-space:nowrap}.schema-col.empty{color:var(--text-faint);font-style:italic;grid-template-columns:1fr;justify-items:center}.schema-col-key{display:inline-flex;align-items:center;justify-content:center}.schema-col-key .pk{color:var(--amber)}.schema-col-key .fk{color:var(--accent)}.schema-col-dot{width:3px;height:3px;border-radius:50%;background:var(--text-faint)}.schema-col-name{font-family:var(--mono);color:var(--text);overflow:hidden;text-overflow:ellipsis}.schema-col-name.pk{font-weight:700}.schema-col-type{font-family:var(--mono);font-size:10px;color:var(--text-dim)}.schema-col-uniq{color:var(--green);margin-left:3px;font-weight:700}.schema-handle{opacity:0;width:1px;height:1px;min-width:0;min-height:0;border:none}.schema-flow .react-flow__edge-text{font-family:var(--mono)}.policy-md{color:var(--text);line-height:1.6}.policy-md>:first-child{margin-top:0}.policy-md>:last-child{margin-bottom:0}.policy-md h1{font-size:22px;margin:24px 0 12px}.policy-md h2{font-size:18px;margin:22px 0 10px}.policy-md h3{font-size:15px;margin:18px 0 8px}.policy-md p{margin:0 0 12px}.policy-md ul,.policy-md ol{margin:8px 0 12px;padding-left:22px;display:flex;flex-direction:column;gap:6px}.policy-md li::marker{color:var(--text-dim)}.policy-md a{color:var(--primary-600);text-decoration:underline}.policy-md a:hover{color:var(--primary-700)}.policy-md code{background:var(--surface-2);padding:1px 5px;border-radius:5px;font-size:12px;font-family:var(--mono)}.policy-md blockquote{margin:0 0 12px;padding:4px 14px;border-left:3px solid var(--border);color:var(--text-dim)}.policy-md table{border-collapse:collapse;margin:8px 0 14px}.policy-md th,.policy-md td{border:1px solid var(--border);padding:6px 10px;text-align:left}.policy-md hr{border:none;border-top:1px solid var(--border);margin:20px 0}.public-shell{min-height:100vh;display:flex;flex-direction:column;background:var(--bg);color:var(--text)}.public-header{display:flex;align-items:center;gap:12px;padding:16px 24px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg);z-index:2}.public-header-mark{font-weight:800;letter-spacing:.04em;color:var(--primary-600)}.public-header-logo{height:28px;width:auto;max-width:160px;object-fit:contain;display:block}.public-header-brand{color:var(--text-dim);font-size:14px;font-weight:600}.public-foot{text-align:center;padding:20px;color:var(--text-dim);font-size:12px;border-top:1px solid var(--border)}.public-muted{color:var(--text-dim)}.public-title{font-size:26px;font-weight:700;margin:0 0 6px}.public-updated{color:var(--text-dim);font-size:13px;margin:0 0 20px}.public-main{flex:1;width:100%;max-width:760px;margin:0 auto;padding:48px 24px;box-sizing:border-box}.public-reader{flex:1;width:100%;max-width:1040px;margin:0 auto;box-sizing:border-box;display:grid;grid-template-columns:240px 1fr;gap:32px;padding:32px 24px}.public-side{align-self:start;position:sticky;top:80px}.public-side-head{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);margin:0 0 10px;padding:0 10px}.public-side-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.public-side-item{display:block;padding:8px 10px;border-radius:8px;text-decoration:none;color:var(--text);font-size:14px;font-weight:500}.public-side-item:hover{background:var(--surface-2)}.public-side-item.active{background:var(--primary-50);color:var(--primary-600);font-weight:600}:root[data-theme=dark] .public-side-item.active{background:#ad0e222e;color:#f0aab2}.public-content{min-width:0;max-width:720px}@media (max-width: 720px){.public-reader{grid-template-columns:1fr;gap:16px}.public-side{position:static}.public-side-list{flex-direction:row;flex-wrap:wrap;gap:6px}}.policy-preview{border:1px solid var(--border);border-radius:var(--radius);padding:20px 24px;background:var(--bg);min-height:240px}.policy-preview-brand{color:var(--text-dim);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin:0 0 4px}.policy-preview-title{font-size:22px;font-weight:700;margin:0 0 16px}.policy-editor .mdxeditor{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.policy-editor .policy-editor-content{min-height:320px}.policy-editor-loading{display:grid;place-items:center;min-height:320px;border:1px solid var(--border);border-radius:var(--radius)}::selection{background:var(--primary-100);color:var(--primary-700)}.btn.primary:focus-visible{outline:2px solid var(--primary-700);outline-offset:2px}.btn:not(:disabled):active{transform:translateY(1px)}.btn.primary:not(:disabled):active{background:var(--primary-700);border-color:var(--primary-700)}.input:hover:not(:focus):not(:disabled){border-color:var(--gray-300)}*{scrollbar-width:thin;scrollbar-color:var(--gray-300) transparent}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:999px;border:3px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.ta-wrap{display:flex;flex-direction:column;gap:16px}.ta-settings{display:flex;flex-wrap:wrap;gap:20px 32px;align-items:flex-start}.ta-toggle{display:flex;gap:10px;align-items:flex-start;cursor:pointer;max-width:320px}.ta-toggle input{margin-top:3px;flex:0 0 auto}.ta-toggle>span{display:flex;flex-direction:column;line-height:1.35}.ta-hint{margin-top:2px}.ta-landmarks{display:flex;flex-wrap:wrap;gap:10px}.ta-landmark-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 8px 6px 10px;border:1px solid var(--border);border-radius:8px;background:var(--gray-50)}.ta-landmark-dot{width:10px;height:10px;border-radius:50%;flex:0 0 auto}.ta-lm-stage{background:var(--primary-500)}.ta-lm-kitchen{background:var(--amber)}.ta-lm-entry{background:var(--green)}.ta-lm-exit{background:var(--red)}.ta-landmark-label{width:120px}.ta-landmark-row{display:inline-flex;align-items:center;gap:4px}.ta-landmark-row input{width:52px}.ta-grid{display:flex;flex-direction:column;gap:14px}.ta-grid-row{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch;padding:10px;border:1px dashed var(--border);border-radius:10px;background:var(--gray-50)}.ta-table{display:flex;flex-direction:column;gap:8px;width:132px;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.ta-table-head{display:flex;align-items:center;gap:4px}.ta-table-label{font-weight:650}.ta-table-fields{display:flex;gap:8px}.ta-mini{display:flex;flex-direction:column;gap:2px;font-size:11px;color:var(--muted);flex:1}.ta-mini input,.ta-mini select{width:100%}.ta-add-table{align-self:center;height:40px}.ta-savebar{position:sticky;bottom:0;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:0 -2px 10px #0000000a}.ta-modeswitch{display:inline-flex;gap:6px}.ta-canvas-bar{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center}.ta-name-input{max-width:280px}.ta-palette{flex-wrap:wrap}.ta-palette-sep{width:1px;height:20px;background:var(--border);margin:0 2px}.ta-canvas-layout{display:flex;gap:16px;align-items:flex-start}.ta-canvas-card{flex:1;min-width:0;overflow:hidden}.ta-canvas{position:relative;width:100%;-webkit-user-select:none;user-select:none;touch-action:none;line-height:0}.ta-canvas-img{width:100%;display:block;height:auto}.ta-canvas-foot{padding:8px 12px;border-top:1px solid var(--border);line-height:1.4}.ta-token{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:18px;min-height:18px;box-sizing:border-box;overflow:visible;background:var(--surface);border:2px solid var(--primary-500);color:var(--text);box-shadow:0 1px 4px #0000002e;touch-action:none}.ta-token-round{border-radius:50%}.ta-token-rect{border-radius:6px}.ta-token.selected{outline:2px solid var(--primary-600);outline-offset:2px;z-index:5}.ta-resize-handle{position:absolute;right:-7px;bottom:-7px;width:14px;height:14px;border-radius:50%;background:var(--primary-600);border:2px solid #fff;box-shadow:0 1px 3px #0006;cursor:nwse-resize;touch-action:none;z-index:6}.ta-token-label{font-size:12px;font-weight:700;line-height:1}.ta-token-seats{font-size:9px;color:var(--muted);line-height:1;margin-top:1px}.ta-swatches{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.ta-swatches-sm{margin-top:6px}.ta-swatch{width:20px;height:20px;border-radius:50%;border:2px solid var(--border);padding:0;cursor:pointer;box-shadow:0 1px 2px #00000026;transition:transform .08s}.ta-swatches-sm .ta-swatch{width:16px;height:16px}.ta-swatch:hover{transform:scale(1.12)}.ta-swatch.selected{border-color:var(--text);box-shadow:0 0 0 2px var(--primary-600)}.ta-swatch-none{background:var(--surface);position:relative}.ta-swatch-none:after{content:"";position:absolute;left:1px;right:1px;top:50%;height:2px;background:#ef4444;transform:rotate(-45deg)}.ta-color-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:middle;box-shadow:0 0 0 1px #0000001f}.ta-tier-1{border-color:#16a34a}.ta-tier-2{border-color:#65a30d}.ta-tier-3{border-color:#ca8a04}.ta-tier-4{border-color:#ea580c}.ta-tier-5{border-color:#dc2626}.ta-tier-6{border-color:#9333ea}.ta-landmark-token{position:absolute;display:flex;align-items:center;justify-content:center;transform:translate(-50%,-50%);padding:4px 10px;border-radius:6px;box-sizing:border-box;min-width:24px;min-height:20px;overflow:visible;font-size:11px;font-weight:700;color:#fff;white-space:nowrap;box-shadow:0 1px 4px #00000040;touch-action:none}.ta-landmark-token.selected{outline:2px solid #fff;outline-offset:1px;z-index:5}.ta-landmark-ro{pointer-events:none;opacity:.9}.ta-landmark-token.ta-lm-stage{background:var(--primary-600)}.ta-landmark-token.ta-lm-kitchen{background:#ca8a04}.ta-landmark-token.ta-lm-entry{background:#16a34a}.ta-landmark-token.ta-lm-exit{background:#dc2626}.ta-inspector{width:260px;flex:0 0 260px;display:flex;flex-direction:column;gap:10px;position:sticky;top:12px}@media (max-width: 900px){.ta-canvas-layout{flex-direction:column}.ta-inspector{width:100%;flex-basis:auto;position:static}}.ta-wrap.ta-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;margin:0;padding:16px 22px;background:var(--bg);overflow:auto}.ta-topnav{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.ta-viewswitch{display:flex;gap:6px}.ta-seat-layout{display:flex;gap:16px;align-items:stretch}.ta-seat-surface{flex:1;min-width:0;overflow:hidden}.ta-seat-panel-wrap{flex:0 0 320px;width:320px;position:relative}.ta-seat-panel{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;min-height:0;overflow:hidden}.ta-occupants{flex:1;min-height:0;overflow-y:auto}.ta-occupants-card{padding:18px 20px}.ta-occupant-remove{margin-left:auto;flex:none;color:var(--muted)}.ta-occupant-remove:hover{color:#dc2626}.ta-seat-token{cursor:pointer}.ta-token.ta-over{border-color:#dc2626!important;background:var(--red-soft)}.ta-token.ta-drop{outline:2px dashed var(--primary-600);outline-offset:2px}.ta-seat-grid{display:flex;flex-wrap:wrap;gap:10px}.ta-seat-card{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:76px;padding:12px 14px;border:2px solid var(--primary-500);border-radius:8px;background:var(--surface);color:var(--text);cursor:pointer}.ta-seat-card.selected{outline:2px solid var(--primary-600);outline-offset:2px}.ta-seat-card.ta-drop{outline:2px dashed var(--primary-600);outline-offset:2px}.ta-seat-card.ta-over{border-color:#dc2626;color:#dc2626}.ta-segmented{display:flex;gap:2px;padding:10px 12px;border-bottom:1px solid var(--border)}.ta-seg-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:12px;font-weight:600;padding:6px 8px;border:1px solid var(--border);background:var(--surface, transparent);color:var(--muted);cursor:pointer;transition:all .08s}.ta-seg-btn:first-child{border-radius:7px 0 0 7px}.ta-seg-btn:last-child{border-radius:0 7px 7px 0}.ta-seg-btn:not(:first-child){border-left:none}.ta-seg-btn:hover{color:var(--text)}.ta-seg-btn.active{background:var(--primary-600);border-color:var(--primary-600);color:#fff}.ta-seg-count{font-size:11px;opacity:.8}.ta-seg-btn.active .ta-seg-count{opacity:.95}.ta-seat-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 12px;border-bottom:1px solid var(--border)}.ta-search-box{flex:1 1 160px;display:flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid var(--border);border-radius:7px}.ta-search-box:focus-within{border-color:var(--primary-600)}.ta-search-input{flex:1;border:none;background:transparent;outline:none;font-size:13px;color:var(--text);min-width:0}.ta-filters-toggle{position:relative;flex:none}.ta-filters-toggle.has-active{border-color:var(--primary-600);color:var(--primary-700)}.ta-filter-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;margin-left:2px;border-radius:999px;background:var(--primary-600);color:#fff;font-size:10px;font-weight:700}.ta-seat-filters{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--surface-2, rgba(0,0,0,.02))}.ta-filter-chip{font-size:11px;font-weight:600;padding:3px 10px;border-radius:999px;cursor:pointer;border:1px solid var(--border);background:var(--surface, transparent);color:var(--muted);transition:all .08s}.ta-filter-chip:hover{color:var(--text);border-color:var(--text)}.ta-filter-chip.active{background:var(--primary-600);border-color:var(--primary-600);color:#fff}.ta-filter-clear{border-style:dashed}.ta-group-select{flex:none;min-width:120px}.ta-table-note{width:100%;margin-top:6px;font-size:12px}.ta-live-summary{margin-top:12px}.ta-live-summary-toggle{display:flex;align-items:center;gap:6px;width:100%;padding:10px 12px;font-size:13px;font-weight:700;border:1px solid var(--border);border-radius:8px;background:var(--surface, transparent);color:var(--text);cursor:pointer}.ta-live-summary-toggle:hover{border-color:var(--text)}.ta-live-summary>.ta-wrap{margin-top:10px}.ta-filter-count{padding:0 12px 8px;border-bottom:1px solid var(--border)}.ta-group-header{position:sticky;top:0;z-index:1;padding:6px 12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);background:var(--surface-2, var(--bg));border-bottom:1px solid var(--border)}.ta-group-header.draggable{cursor:grab;display:flex;align-items:center;gap:4px}.ta-group-header.draggable:hover{background:var(--hover, rgba(0,0,0,.04));color:var(--text)}.ta-group-header.draggable:active{cursor:grabbing}.ta-group-grip{flex:none;opacity:.5}.ta-group-header.draggable:hover .ta-group-grip{opacity:.9}.ta-guest-list{display:flex;flex-direction:column}.ta-guest-list.scroll{overflow-y:auto;flex:1}.ta-guest-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border)}.ta-guest-row.draggable{cursor:grab}.ta-guest-row.draggable:hover{background:var(--hover, rgba(0,0,0,.03))}.ta-guest-row.armed{background:var(--primary-50);outline:2px solid var(--primary-500);outline-offset:-2px}.ta-guest-row.seated{cursor:default}.ta-guest-main{display:flex;flex-direction:column;gap:2px;min-width:0}.ta-guest-name{font-weight:600;font-size:13px;display:flex;align-items:center;gap:4px;flex-wrap:wrap}.ta-vip{color:#eab308}.ta-guest-flag{font-size:10px;font-weight:700;padding:0 4px;border-radius:4px;background:var(--primary-50);color:var(--primary-700)}.ta-guest-flag.muted{background:var(--border);color:var(--muted)}.ta-party-badge{display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:700;padding:1px 6px;border-radius:10px;background:var(--primary-50);color:var(--primary-700);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ta-guest-table{flex:none;font-weight:700;font-size:13px;color:var(--text);white-space:nowrap}.ta-guest-diet{display:inline-flex;align-items:center;gap:3px;font-size:11px;color:var(--muted)}.ta-welfare-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.ta-welfare-tag{display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:600;padding:1px 6px;border-radius:4px;line-height:1.5;border:1px solid transparent}.ta-welfare-tag svg{flex:none}.ta-welfare-tag.diet{background:var(--border);color:var(--muted)}.ta-welfare-tag.allergen{background:#fde8e8;color:#b42318}.ta-welfare-tag.access{background:#e8f0fe;color:#1a56db}:root[data-theme=dark] .ta-welfare-tag.allergen{background:#b4231840;color:#fca5a5}:root[data-theme=dark] .ta-welfare-tag.access{background:#1a56db47;color:#93c5fd}.ta-seat-hint{padding:8px 12px;border-top:1px solid var(--border)}@media (max-width: 900px){.ta-seat-layout{flex-direction:column}.ta-seat-panel-wrap{width:100%;flex-basis:auto;position:static}.ta-seat-panel{position:static;width:100%;max-height:70vh}}.ta-summary{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.ta-summary-table{display:flex;flex-direction:column;padding:18px 20px}.ta-summary-unseated{border:1px dashed var(--border)}.ta-summary-table-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.ta-summary-table-name{font-size:16px;font-weight:700;display:inline-flex;align-items:center}.ta-summary-seatpill{flex:none;font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;background:var(--border);color:var(--muted)}.ta-summary-seatpill.over{background:#fde8e8;color:#b42318}:root[data-theme=dark] .ta-summary-seatpill.over{background:#b4231840;color:#fca5a5}.ta-tier-badge{font-size:10px;font-weight:700;margin-left:8px;padding:1px 6px;border-radius:10px;border:1px solid var(--border);color:var(--muted);vertical-align:middle}.ta-over-text{color:#dc2626;font-weight:700}.ta-summary-roll{padding:10px 12px;background:var(--primary-50);border-radius:8px;margin-bottom:12px;color:var(--text);line-height:1.5}.ta-summary-roll-label{display:block;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}.ta-summary-note{display:flex;align-items:flex-start;gap:6px;margin-bottom:12px;padding:8px 12px;background:var(--border);border-radius:8px;color:var(--text);line-height:1.45}.ta-summary-note svg{flex:none;margin-top:2px}.ta-summary-empty{margin:2px 0 0}.ta-summary-guests{display:flex;flex-direction:column}.ta-summary-guest{font-size:13px;line-height:1.4;padding:10px 0;border-top:1px solid var(--border)}.ta-summary-guest:first-child{padding-top:2px;border-top:none}.ta-summary-guest:last-child{padding-bottom:0}.ta-summary-guest-head{display:flex;align-items:center;flex-wrap:wrap;gap:4px 6px}.ta-summary-guest-name{font-weight:700}.ta-summary-guest-sub{margin-top:1px}.ta-summary-guest .ta-welfare-tags{margin-top:6px}.ta-summary-guest-note{display:flex;align-items:flex-start;gap:4px;margin-top:6px;color:var(--muted);font-style:italic}.ta-summary-guest-note svg{flex:none;margin-top:3px}
