@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-amber-50:oklch(98.7% .022 95.277);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-600:oklch(66.6% .179 58.318);--color-green-400:oklch(79.2% .209 151.711);--color-indigo-50:oklch(96.2% .018 272.314);--color-indigo-500:oklch(58.5% .233 277.117);--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wider:.05em;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border)}body{background-color:var(--background);color:var(--foreground);font-family:system-ui,-apple-system,sans-serif}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.-right-0\.5{right:calc(var(--spacing) * -.5)}.-bottom-0\.5{bottom:calc(var(--spacing) * -.5)}.z-50{z-index:50}.col-1{grid-column:1}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.ml-2{margin-left:calc(var(--spacing) * 2)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-screen{height:100vh}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-6{width:calc(var(--spacing) * 6)}.w-fit{width:fit-content}.w-screen{width:100vw}.flex-1{flex:1}.shrink-0{flex-shrink:0}.origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y: calc(-50% - 2px) ;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-not-allowed{cursor:not-allowed}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}:where(.-space-x-1\.5>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * -1.5) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * -1.5) * calc(1 - var(--tw-space-x-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-full{border-radius:3.40282e38px}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-amber-200{border-color:var(--color-amber-200)}.bg-amber-50{background-color:var(--color-amber-50)}.bg-background{background-color:var(--background)}.bg-border{background-color:var(--border)}.bg-destructive{background-color:var(--destructive)}.bg-foreground{background-color:var(--foreground)}.bg-green-400{background-color:var(--color-green-400)}.bg-indigo-50{background-color:var(--color-indigo-50)}.bg-muted,.bg-muted\/30{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/30{background-color:color-mix(in oklab,var(--muted) 30%,transparent)}}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.fill-foreground{fill:var(--foreground)}.p-2{padding:calc(var(--spacing) * 2)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-balance{text-wrap:balance}.whitespace-nowrap{white-space:nowrap}.text-amber-600{color:var(--color-amber-600)}.text-background{color:var(--background)}.text-indigo-500{color:var(--color-indigo-500)}.text-muted-foreground{color:var(--muted-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}@media(hover:hover){.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive) 90%,transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary) 90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary) 80%,transparent)}}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.has-\[\>svg\]\:px-1\.5:has(>svg){padding-inline:calc(var(--spacing) * 1.5)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:bg-destructive\/60:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/60:is(.dark *){background-color:color-mix(in oklab,var(--destructive) 60%,transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,var(--input) 30%,transparent)}}@media(hover:hover){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--accent) 50%,transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--input) 50%,transparent)}}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}}.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}.erd-canvas{width:100%;height:100%}.table-node{background:var(--card);border:1px solid var(--border);border-radius:6px;min-width:200px;font-size:12px;transition:box-shadow .15s,border-color .15s;overflow:hidden;box-shadow:0 1px 3px #00000014,0 1px 2px #0000000f}.dark .table-node{box-shadow:0 1px 4px #0000004d,0 0 1px #0003}.table-node--selected{box-shadow:0 0 0 2px #4f46e5,0 4px 12px #4f46e526}.table-node--highlighted{animation:1.5s ease-in-out infinite highlight-pulse;box-shadow:0 0 0 2px #f59e0b,0 4px 16px #f59e0b40}@keyframes highlight-pulse{0%,to{box-shadow:0 0 0 2px #f59e0b,0 4px 16px #f59e0b40}50%{box-shadow:0 0 0 3px #f59e0b,0 4px 20px #f59e0b59}}.table-node__header{color:#fff;letter-spacing:.01em;justify-content:space-between;align-items:center;padding:6px 10px;font-size:12px;font-weight:600;display:flex}.table-node__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.table-node__body{flex-direction:column;display:flex}.table-node__empty{color:var(--muted-foreground);padding:8px 10px;font-size:11px;font-style:italic}.table-node__column{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:6px;min-height:26px;padding:3px 10px;display:flex;position:relative}.table-node__column:last-child{border-bottom:none}.table-node__column--pk{background:#4f46e50a}.dark .table-node__column--pk{background:#4f46e51a}.table-node__col-info{flex:1;align-items:center;gap:4px;min-width:0;display:flex}.table-node__col-marker{text-align:center;color:#eab308;flex-shrink:0;width:12px;font-size:10px}.table-node__col-name{color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.table-node__col-type{color:var(--muted-foreground);flex-shrink:0;font-size:11px}.table-node__col-badges{flex-shrink:0;gap:3px;display:flex}.table-node__badge{background:var(--secondary);color:var(--secondary-foreground);letter-spacing:.02em;border-radius:3px;padding:1px 4px;font-size:9px;font-weight:600}.table-node__handle{opacity:0;transition:opacity .15s;background:var(--border)!important;border:2px solid var(--card)!important;width:8px!important;height:8px!important}.table-node:hover .table-node__handle{opacity:1}.table-node__handle:hover{background:#4f46e5!important}.canvas-toolbar{background:var(--card);border:1px solid var(--border);border-radius:8px;align-items:center;gap:2px;padding:3px;display:flex;box-shadow:0 2px 8px #00000014,0 1px 2px #0000000a}.dark .canvas-toolbar{box-shadow:0 2px 10px #0006,0 1px 3px #0003}.canvas-toolbar__group{align-items:center;gap:2px;display:flex}.canvas-toolbar__divider{background:var(--border);flex-shrink:0;width:1px;height:18px;margin:0 4px}.canvas-toolbar__btn{color:var(--muted-foreground);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:5px;align-items:center;gap:5px;padding:5px 10px;font-size:11px;font-weight:500;transition:all .12s;display:flex}.canvas-toolbar__btn:hover{background:var(--accent);color:var(--foreground)}.canvas-toolbar__btn:active{transform:scale(.97)}.canvas-toolbar__btn[data-state=open]{background:var(--accent);color:var(--foreground)}.layout-dropdown{background:var(--card);border:1px solid var(--border);z-index:50;border-radius:8px;min-width:150px;padding:4px;animation:.12s ease-out canvas-dropdown-in;box-shadow:0 4px 16px #0000001f,0 1px 3px #0000000f}.dark .layout-dropdown{box-shadow:0 4px 20px #00000080,0 1px 4px #0000004d}@keyframes canvas-dropdown-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.layout-dropdown__item{color:var(--muted-foreground);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:5px;outline:none;align-items:center;gap:8px;padding:7px 10px;font-size:12px;font-weight:500;transition:all .1s;display:flex}.layout-dropdown__item[data-highlighted]{background:var(--accent);color:var(--foreground)}.minimap-panel{flex-direction:column;align-items:flex-end;gap:0;display:flex;background:0 0!important;margin:0!important;padding:0!important}.minimap-panel__toggle{border:1px solid var(--border);background:var(--card);color:var(--muted-foreground);cursor:pointer;border-bottom:none;border-radius:6px 6px 0 0;align-items:center;gap:4px;padding:3px 8px;font-size:10px;font-weight:500;line-height:1;transition:color .12s;display:flex}.minimap-panel__toggle:hover{color:var(--foreground)}.minimap-panel__chevron{transition:transform .2s}.minimap-panel__chevron--collapsed{transform:rotate(180deg)}.minimap-panel__body{border:1px solid var(--border);background:var(--card);opacity:1;border-radius:6px 0 0;max-height:200px;transition:max-height .25s,opacity .2s;overflow:hidden}.minimap-panel__body--hidden{opacity:0;border-color:#0000;max-height:0}.minimap-panel .react-flow__minimap{background:0 0!important;border:none!important;border-radius:0!important;width:160px!important;height:100px!important}.group-node{box-sizing:border-box;pointer-events:none;border:2px dashed;border-radius:8px;width:100%;height:100%;transition:border-color .15s,background-color .15s}.group-node--selected{border-style:solid}.group-node__label{letter-spacing:.03em;text-transform:uppercase;opacity:.8;-webkit-user-select:none;user-select:none;white-space:nowrap;font-size:11px;font-weight:600;position:absolute;top:6px;left:10px}.group-node__note{color:var(--muted-foreground);opacity:.7;-webkit-user-select:none;user-select:none;text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - 20px);font-size:10px;position:absolute;bottom:6px;left:10px;overflow:hidden}.dsl-editor{height:100%;overflow:auto}.dsl-editor .cm-editor{height:100%}.dark .dsl-editor .cm-editor{background-color:var(--card);color:var(--foreground)}.dark .dsl-editor .cm-activeLine{background-color:#8b5cf61a!important}.dark .dsl-editor .cm-gutters{background-color:var(--card)}.dsl-editor .cm-search{background:var(--card);border-bottom:1px solid var(--border);padding:6px 8px;font-family:inherit;font-size:12px}.dsl-editor .cm-search input{border:1px solid var(--border);background:var(--background);color:var(--foreground);border-radius:4px;outline:none;padding:3px 6px;font-family:inherit;font-size:12px}.dsl-editor .cm-search input:focus{border-color:var(--primary)}.dsl-editor .cm-search button{border:1px solid var(--border);background:var(--background);color:var(--foreground);cursor:pointer;border-radius:4px;padding:2px 8px;font-size:12px}.dsl-editor .cm-search button:hover{background:var(--accent)}.dsl-editor .cm-search label{color:var(--muted-foreground);font-size:12px}.dsl-editor .cm-searchMatch{background-color:#facc1566;border-radius:2px}.dsl-editor .cm-searchMatch-selected{background-color:#facc15b3}.project-modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;background:#0006;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.project-modal{background:var(--card);border:1px solid var(--border);border-radius:10px;flex-direction:column;width:640px;height:70vh;animation:.2s slideUp;display:flex;box-shadow:0 20px 60px #0003}.dark .project-modal{box-shadow:0 20px 60px #0009,0 0 1px #ffffff0d}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.project-modal__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.project-modal__title{color:var(--foreground);margin:0;font-size:14px;font-weight:600}.project-modal__close{width:24px;height:24px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;font-size:12px;transition:all .1s;display:flex}.project-modal__close:hover{background:var(--accent);color:var(--foreground)}.project-modal__layout{flex:1;min-height:0;display:flex}.project-modal__sidebar{border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:2px;width:180px;padding:8px;display:flex;overflow-y:auto}.project-modal__nav-item{color:var(--muted-foreground);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;width:100%;padding:7px 10px;font-size:12px;font-weight:500;transition:all .1s;display:flex}.project-modal__nav-item:hover{background:var(--accent);color:var(--foreground)}.project-modal__nav-item--active{color:#4f46e5;background:#4f46e51a}.project-modal__nav-icon{flex-shrink:0;align-items:center;display:flex}.project-modal__nav-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.project-modal__nav-count{color:var(--muted-foreground);background:var(--accent);text-align:center;border-radius:10px;flex-shrink:0;min-width:18px;padding:1px 6px;font-size:10px;font-weight:600}.project-modal__nav-item--active .project-modal__nav-count{color:#4f46e5;background:#4f46e526}.project-modal__content{flex-direction:column;flex:1;min-width:0;display:flex}.project-modal__search{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:8px 12px;display:flex}.project-modal__search-icon{color:var(--muted-foreground);flex-shrink:0}.project-modal__search-input{color:var(--foreground);background:0 0;border:none;outline:none;flex:1;padding:0;font-size:13px}.project-modal__search-input::placeholder{color:var(--muted-foreground)}.project-modal__body{flex:1;padding:8px;overflow-y:auto}.project-modal__empty{text-align:center;color:var(--muted-foreground);padding:24px 16px;font-size:13px}.project-modal__section-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted-foreground);padding:8px 12px 4px;font-size:10px;font-weight:600}.project-modal__role-badge{vertical-align:middle;letter-spacing:.02em;border-radius:3px;margin-left:6px;padding:1px 5px;font-size:9px;font-weight:600;display:inline-block}.project-modal__list{flex-direction:column;gap:2px;display:flex}.project-modal__item{border-radius:6px;justify-content:space-between;align-items:center;padding:8px 12px;transition:background .1s;display:flex}.project-modal__item:hover{background:var(--accent)}.project-modal__item--active{background:#4f46e514;border-left:3px solid #4f46e5}.project-modal__item-info{flex-direction:column;gap:1px;min-width:0;display:flex}.project-modal__item-name{color:var(--foreground);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.project-modal__item-meta{color:var(--muted-foreground);font-size:11px}.project-modal__item-actions{flex-shrink:0;gap:4px;display:flex}.project-modal__btn{border:1px solid var(--border);cursor:pointer;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:500;transition:all .1s}.project-modal__btn--load{color:#fff;background:#4f46e5;border-color:#4f46e5}.project-modal__btn--load:hover{background:#4338ca}.project-modal__btn--delete{color:var(--muted-foreground);background:0 0}.project-modal__btn--delete:hover{color:#ef4444;background:#ef444420;border-color:#ef4444}.project-name-input{color:var(--muted-foreground);background:0 0;border:1px solid #0000;border-radius:3px;outline:none;max-width:160px;padding:1px 4px;font-size:12px;transition:all .15s}.project-name-input:hover{border-color:var(--border)}.project-name-input:focus{color:var(--foreground);background:var(--card);border-color:#4f46e5}.project-name-wrapper{align-items:center;display:flex;position:relative}.project-name-edit-icon{color:var(--muted-foreground);opacity:0;pointer-events:none;font-size:11px;line-height:1;transition:opacity .15s;position:absolute;right:-14px}.project-name-wrapper:hover .project-name-edit-icon{opacity:.7}.project-name-wrapper:hover .project-name-input,.project-name-wrapper:focus-within .project-name-input{border-color:var(--border);color:var(--foreground)}.project-name-wrapper:focus-within .project-name-edit-icon{opacity:0}.project-role-badge{letter-spacing:.01em;white-space:nowrap;border:1px solid #0000;border-radius:4px;align-items:center;gap:4px;padding:2px 6px;font-size:11px;font-weight:500;display:inline-flex}.project-role-badge--viewer{background:var(--muted);color:var(--muted-foreground);border-color:var(--border)}.project-role-badge--editor{color:#4f46e5;background:#4f46e51a;border-color:#4f46e533}.project-role-badge--workspace{color:#16a34a;background:#22c55e1a;border-color:#22c55e33}.header-btn{border:1px solid var(--border);background:var(--card);color:var(--foreground);cursor:pointer;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:500;transition:all .12s}.header-btn:hover{color:#4f46e5;border-color:#4f46e5}.header-btn--primary{color:#fff;background:#4f46e5;border-color:#4f46e5}.header-btn--primary:hover{background:#4338ca}.header-btn--primary:disabled{opacity:.6;cursor:not-allowed}.pane{background:var(--card);flex-direction:column;flex-shrink:0;transition:width .2s;display:flex;overflow:hidden}.pane--left{border-right:1px solid var(--border)}.pane--right{border-left:1px solid var(--border)}.pane--collapsed{overflow:hidden}.pane__header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:4px;height:32px;padding:0 6px;display:flex}.pane--right .pane__header{flex-direction:row-reverse}.pane--collapsed .pane__header{border-bottom:none;flex-direction:column;justify-content:center;height:100%;padding:8px 0}.pane__title{color:var(--muted-foreground);letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:11px;font-weight:500;overflow:hidden}.pane__title--right{text-align:right}.pane__collapse-btn{width:20px;height:20px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;transition:background .12s,color .12s;display:flex}.pane__collapse-btn:hover{background:var(--accent);color:var(--foreground)}.pane__chevron{-webkit-user-select:none;user-select:none;font-size:16px;font-style:normal;line-height:1;transition:transform .2s;display:inline-block}.pane__chevron--flipped{transform:rotate(180deg)}.sticky-note-node{cursor:default;border:1.5px solid #00000026;border-radius:6px;flex-direction:column;width:200px;min-height:120px;font-family:inherit;transition:box-shadow .15s,border-color .15s;display:flex;box-shadow:3px 4px 12px #0000001f}.sticky-note-node--selected{box-shadow:0 0 0 2px,3px 4px 12px #0000002e}.sticky-note-node__toolbar{opacity:0;justify-content:space-between;align-items:center;gap:4px;padding:5px 6px 3px;transition:opacity .15s;display:flex}.sticky-note-node:hover .sticky-note-node__toolbar,.sticky-note-node--selected .sticky-note-node__toolbar{opacity:1}.sticky-note-node__colors{gap:3px;display:flex}.sticky-note-node__color-swatch{cursor:pointer;border:1.5px solid;border-radius:50%;width:13px;height:13px;padding:0;transition:transform .1s}.sticky-note-node__color-swatch:hover{transform:scale(1.25)}.sticky-note-node__color-swatch--active{outline-offset:1px;outline:2px solid #0006}.sticky-note-node__delete{cursor:pointer;color:#00000080;background:#0000001f;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;padding:0;font-size:13px;line-height:1;transition:background .1s,color .1s;display:flex}.sticky-note-node__delete:hover{color:#fff;background:#ef4444}.sticky-note-node__content{color:#000000bf;white-space:pre-wrap;word-break:break-word;cursor:text;flex:1;min-height:80px;padding:4px 10px 10px;font-size:12.5px;line-height:1.5}.sticky-note-node__placeholder{color:#00000059;font-style:italic}.sticky-note-node__textarea{color:#000000bf;resize:none;box-sizing:border-box;border:none;outline:none;flex:1;width:100%;min-height:80px;padding:4px 10px 10px;font-family:inherit;font-size:12.5px;line-height:1.5}.dark .sticky-note-node{box-shadow:3px 4px 12px #0006}.dark .sticky-note-node--selected{box-shadow:0 0 0 2px,3px 4px 12px #00000080}.dark .sticky-note-node__color-swatch--active{outline-color:#ffffff80}.dark .sticky-note-node__delete{color:#fff9;background:#ffffff1f}.dark .sticky-note-node__content{color:#ffffffd9}.dark .sticky-note-node__placeholder{color:#fff6}.dark .sticky-note-node__textarea{color:#ffffffd9}.schema-panel{flex-direction:column;height:100%;display:flex;overflow:hidden}.schema-panel__search{border-bottom:1px solid var(--border);flex-shrink:0;padding:6px 10px;position:relative}.schema-panel__search-input{border:1px solid var(--border);background:var(--background);width:100%;color:var(--foreground);border-radius:6px;outline:none;padding:5px 28px 5px 8px;font-size:12px;transition:border-color .15s}.schema-panel__search-input:focus{border-color:#4f46e5}.schema-panel__search-input::placeholder{color:var(--muted-foreground)}.schema-panel__search-clear{width:18px;height:18px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;font-size:10px;transition:all .1s;display:flex;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.schema-panel__search-clear:hover{background:var(--secondary);color:var(--foreground)}.schema-panel__tabs{border-bottom:1px solid var(--border);flex-shrink:0;display:flex}.schema-panel__tab{text-transform:uppercase;letter-spacing:.05em;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:6px 12px;font-size:11px;font-weight:600;transition:all .15s}.schema-panel__tab:hover{color:var(--foreground);background:var(--accent)}.schema-panel__tab--active{color:#4f46e5;border-bottom-color:#4f46e5}.schema-panel__content{flex:1;overflow-y:auto}.schema-panel__tables{flex-direction:column;display:flex}.schema-panel__divider{background:var(--border);flex-shrink:0;height:1px}.table-panel{padding:0}.table-panel__header{justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.table-panel__title{text-transform:uppercase;letter-spacing:.05em;color:var(--muted-foreground);font-size:11px;font-weight:600}.table-panel__add-btn{height:24px!important;padding:0 8px!important;font-size:11px!important}.table-panel__list{flex-direction:column;display:flex}.table-panel__empty{color:var(--muted-foreground);text-align:center;padding:12px;font-size:12px}.table-panel__item{cursor:pointer;justify-content:space-between;align-items:center;padding:6px 12px;transition:background .1s;display:flex}.table-panel__item:hover{background:var(--accent)}.table-panel__item--selected{background:#4f46e514;border-left:2px solid #4f46e5}.table-panel__item-info{align-items:baseline;gap:6px;min-width:0;display:flex}.table-panel__item-name{color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.table-panel__item-meta{color:var(--muted-foreground);flex-shrink:0;font-size:11px}.table-panel__delete-btn{opacity:0;transition:opacity .1s;width:20px!important;height:20px!important;padding:0!important;font-size:11px!important}.table-panel__item:hover .table-panel__delete-btn{opacity:1}.table-editor{flex-direction:column;gap:12px;padding:12px;display:flex}.table-editor__empty{text-align:center;color:var(--muted-foreground);padding:24px 12px;font-size:12px}.table-editor__field{flex-direction:column;gap:4px;display:flex}.table-editor__label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted-foreground);font-size:11px;font-weight:600}.table-editor__input{border:1px solid var(--border);background:var(--background);color:var(--foreground);border-radius:4px;outline:none;padding:4px 8px;font-size:13px;transition:border-color .15s}.table-editor__input:focus{border-color:#4f46e5}.table-editor__section{flex-direction:column;gap:6px;display:flex}.table-editor__section-header{justify-content:space-between;align-items:center;display:flex}.table-editor__empty-cols{color:var(--muted-foreground);text-align:center;padding:8px 0;font-size:12px}.color-picker{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.color-picker__swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;outline:none;width:22px;height:22px;transition:all .15s;box-shadow:0 1px 2px #0000001a}.color-picker__swatch:hover{transform:scale(1.15);box-shadow:0 2px 6px #0003}.color-picker__swatch--active{border-color:var(--foreground);box-shadow:0 0 0 2px var(--background),0 0 0 4px var(--foreground);transform:scale(1.1)}.color-picker__reset{border:1px dashed var(--border);width:22px;height:22px;color:var(--muted-foreground);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;font-size:11px;transition:all .15s;display:flex}.color-picker__reset:hover{border-color:var(--foreground);color:var(--foreground);background:var(--accent)}.column-editor{border:1px solid var(--border);background:var(--background);border-radius:4px;flex-direction:column;gap:4px;padding:6px 8px;display:flex}.column-editor__fields{gap:4px;display:flex}.column-editor__name{color:var(--foreground);background:0 0;border:1px solid #0000;border-radius:3px;outline:none;flex:1;min-width:0;padding:3px 6px;font-size:12px;font-weight:500}.column-editor__name:focus{border-color:var(--border);background:var(--card)}.column-editor__type{width:90px;color:var(--muted-foreground);background:0 0;border:1px solid #0000;border-radius:3px;outline:none;padding:3px 6px;font-size:12px}.column-editor__type:focus{border-color:var(--border);background:var(--card);color:var(--foreground)}.column-editor__actions{justify-content:space-between;align-items:center;display:flex}.column-editor__constraints{gap:3px;display:flex}.column-editor__constraint-btn{border:1px solid var(--border);color:var(--muted-foreground);cursor:pointer;background:0 0;border-radius:3px;padding:1px 5px;font-size:9px;font-weight:600;transition:all .1s}.column-editor__constraint-btn:hover{color:#4f46e5;border-color:#4f46e5}.column-editor__constraint-btn--active{color:#fff;background:#4f46e5;border-color:#4f46e5}.column-editor__delete{opacity:.5;width:20px!important;height:20px!important;padding:0!important;font-size:11px!important}.column-editor__delete:hover{opacity:1}.enum-editor{padding:0}.enum-editor__header{justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.enum-editor__title{text-transform:uppercase;letter-spacing:.05em;color:var(--muted-foreground);font-size:11px;font-weight:600}.enum-editor__empty{color:var(--muted-foreground);text-align:center;padding:12px;font-size:12px}.enum-editor__item{border-bottom:1px solid var(--border);padding:8px 12px}.enum-editor__item-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.enum-editor__name-input{color:var(--foreground);background:0 0;border:1px solid #0000;border-radius:3px;outline:none;padding:2px 6px;font-size:13px;font-weight:600}.enum-editor__name-input:focus{border-color:var(--border);background:var(--card)}.enum-editor__values{flex-direction:column;gap:3px;padding-left:8px;display:flex}.enum-editor__value-row{align-items:center;gap:4px;display:flex}.enum-editor__value-input{color:var(--foreground);background:0 0;border:1px solid #0000;border-radius:3px;outline:none;flex:1;padding:2px 6px;font-size:12px}.enum-editor__value-input:focus{border-color:var(--border);background:var(--card)}.enum-editor__value-delete{width:18px;height:18px;color:var(--muted-foreground);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:3px;font-size:10px;transition:opacity .1s}.enum-editor__value-row:hover .enum-editor__value-delete{opacity:1}.enum-editor__value-delete:hover{background:var(--destructive);color:#fff}.enum-editor__add-value{align-self:flex-start;height:22px!important;font-size:11px!important}.rel-editor{flex-direction:column;display:flex}.rel-editor__header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.rel-editor__title{text-transform:uppercase;letter-spacing:.05em;color:var(--muted-foreground);font-size:11px;font-weight:600}.rel-editor__count{opacity:.7;font-weight:400}.rel-editor__add-btn{border:1px solid var(--border);height:24px;color:var(--muted-foreground);cursor:pointer;white-space:nowrap;background:0 0;border-radius:4px;padding:0 8px;font-size:11px;transition:all .15s}.rel-editor__add-btn:hover{color:#4f46e5;background:#4f46e50f;border-color:#4f46e5}.rel-editor__add-form{border-bottom:1px solid var(--border);background:var(--card);flex-direction:column;gap:6px;padding:10px 12px;display:flex}.rel-editor__add-row{gap:4px;display:flex}.rel-editor__select{border:1px solid var(--border);background:var(--background);color:var(--foreground);cursor:pointer;border-radius:4px;outline:none;flex:1;min-width:0;padding:4px 6px;font-size:11px;transition:border-color .15s}.rel-editor__select:focus{border-color:#4f46e5}.rel-editor__select:disabled{opacity:.4;cursor:not-allowed}.rel-editor__select--type{flex:0 0 70px}.rel-editor__submit-btn{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:4px;align-self:flex-end;height:26px;padding:0 12px;font-size:11px;font-weight:600;transition:background .15s}.rel-editor__submit-btn:hover{background:#4338ca}.rel-editor__submit-btn:disabled{opacity:.4;cursor:not-allowed}.rel-editor__list{flex-direction:column;display:flex;overflow-y:auto}.rel-editor__empty{color:var(--muted-foreground);text-align:center;padding:20px 12px;font-size:12px;line-height:1.6}.rel-editor__item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:6px;padding:6px 12px;transition:background .1s;display:flex}.rel-editor__item:hover{background:var(--accent)}.rel-editor__item-label{color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-family:JetBrains Mono,Fira Code,monospace;font-size:12px;overflow:hidden}.rel-editor__item-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.rel-editor__type-select{border:1px solid var(--border);background:var(--background);color:var(--muted-foreground);cursor:pointer;border-radius:3px;outline:none;width:54px;padding:2px 4px;font-size:10px}.rel-editor__type-select:focus{color:var(--foreground);border-color:#4f46e5}.rel-editor__delete-btn{width:22px;height:22px;color:var(--muted-foreground);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;font-size:11px;transition:all .1s;display:flex}.rel-editor__item:hover .rel-editor__delete-btn{opacity:1}.rel-editor__delete-btn:hover{background:var(--destructive);color:#fff;opacity:1}.group-editor{flex-direction:column;display:flex}.group-editor__add-form{border-bottom:1px solid var(--border);background:var(--card);flex-direction:column;gap:8px;padding:10px 12px;display:flex}.group-editor__item{border-bottom:1px solid var(--border);flex-direction:column;gap:6px;padding:8px 12px;display:flex}.group-editor__item-header{align-items:center;gap:6px;display:flex}.group-editor__color-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.group-editor__name-input{color:var(--foreground);background:0 0;border:1px solid #0000;border-radius:3px;outline:none;flex:1;min-width:0;padding:2px 6px;font-size:13px;font-weight:600}.group-editor__name-input:focus{border-color:var(--border);background:var(--card)}.group-editor__member-count{color:var(--muted-foreground);flex-shrink:0;font-size:10px}.group-editor__color-row{flex-wrap:nowrap;overflow-x:auto}.color-picker__swatch--sm{width:16px!important;height:16px!important}.group-editor__table-list{flex-direction:column;gap:3px;max-height:120px;display:flex;overflow-y:auto}.group-editor__table-list--inline{flex-flow:wrap;max-height:none}.group-editor__checkbox-label{color:var(--foreground);cursor:pointer;border-radius:3px;align-items:center;gap:4px;padding:1px 4px;font-size:12px;transition:background .1s;display:flex}.group-editor__checkbox-label:hover{background:var(--accent)}.group-editor__checkbox-label input[type=checkbox]{accent-color:#4f46e5;cursor:pointer}.user-menu{align-items:center;display:flex;position:relative}.user-menu__avatar{cursor:pointer;color:#fff;letter-spacing:.5px;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;font-weight:700;transition:opacity .15s,transform .15s,box-shadow .15s;display:flex;box-shadow:0 0 0 2px #0000}.user-menu__avatar:hover{opacity:.9;transform:scale(1.07);box-shadow:0 0 0 2px #6366f166}.user-menu__avatar:active{transform:scale(.97)}.user-menu__dropdown{background:var(--popover);border:1px solid var(--border);z-index:1000;border-radius:12px;min-width:220px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 4px 6px -1px #00000026,0 16px 40px -4px #00000040}.dark .user-menu__dropdown{animation:.12s ease-out user-menu-in;overflow:hidden;box-shadow:0 4px 6px -1px #0006,0 16px 40px -4px #0009,0 0 1px #ffffff0d}@keyframes user-menu-in{0%{opacity:0;transform:translateY(-6px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.user-menu__info{align-items:center;gap:10px;padding:12px 14px;display:flex}.user-menu__info-avatar{color:#fff;letter-spacing:.5px;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:12px;font-weight:700;display:flex}.user-menu__info-text{flex-direction:column;gap:1px;min-width:0;display:flex}.user-menu__info-name{color:var(--foreground);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.user-menu__info-email{color:var(--muted-foreground);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.user-menu__divider{background:var(--border);height:1px;margin:0}.user-menu__plan{align-items:center;gap:8px;padding:8px 14px;display:flex}.user-menu__plan-label{color:var(--muted-foreground);font-size:11px}.user-menu__plan-badge{letter-spacing:.5px;text-transform:uppercase;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:700}.user-menu__plan-badge--free{color:#9ca3af;background:#6b728033}.user-menu__plan-badge--pro{color:#818cf8;background:#6366f12e}.user-menu__plan-badge--team{color:#34d399;background:#10b9812e}.user-menu__item{width:100%;color:var(--foreground);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:8px 14px;font-size:13px;transition:background .1s;display:flex;position:relative}.user-menu__item:hover:not(:disabled){background:var(--accent)}.user-menu__item:disabled{opacity:.45;cursor:default}.user-menu__item--danger{color:#f87171}.user-menu__item--danger:hover:not(:disabled){color:#fca5a5;background:#ef44441a}.user-menu__item-icon{text-align:center;flex-shrink:0;width:16px;font-size:14px}.user-menu__item-soon{text-transform:uppercase;letter-spacing:.5px;color:var(--muted-foreground);background:#6b728026;border-radius:3px;margin-left:auto;padding:1px 5px;font-size:9px;font-weight:600}.share-btn{border:1px solid var(--border);background:var(--card);color:var(--foreground);cursor:pointer;white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;gap:4px;padding:6px 14px;font-family:inherit;font-size:.8125rem;font-weight:500;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}.share-btn:hover:not(:disabled){background:var(--accent);color:var(--accent-foreground);border-color:#4f46e5}.share-btn--primary{color:#fff;background:#4f46e5;border-color:#4f46e5}.share-btn--primary:hover:not(:disabled){color:#fff;background:#4338ca;border-color:#4338ca}.share-modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;background:#00000080;justify-content:center;align-items:flex-start;padding-top:10vh;animation:.15s shareModalFadeIn;display:flex;position:fixed;inset:0}.share-modal{background:var(--card);border:1px solid var(--border);border-radius:14px;flex-direction:column;width:520px;max-width:calc(100vw - 2rem);max-height:80vh;animation:.2s shareModalSlideUp;display:flex;overflow:hidden;box-shadow:0 20px 60px #00000040}@keyframes shareModalSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.share-modal__header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.share-modal__title{color:var(--foreground);margin:0;font-size:1rem;font-weight:700}.share-modal__close{color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-family:inherit;font-size:1rem;transition:background .15s}.share-modal__tabs{border-bottom:1px solid var(--border);flex-shrink:0;display:flex}.share-modal__tab{color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:.625rem 1rem;font-family:inherit;font-size:.8125rem;font-weight:500;transition:color .15s,border-color .15s}.share-modal__body{background:var(--card);flex:1;padding:1rem 1.25rem;overflow-y:auto}.share-tab__label{color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .5rem;font-size:.8125rem;font-weight:600;display:block}.share-tab__options{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.share-tab__option{border:1px solid var(--border);cursor:pointer;color:var(--foreground);border-radius:8px;align-items:center;gap:.75rem;padding:.625rem .875rem;transition:border-color .15s,background .15s;display:flex}.share-tab__option--active{background:#4f46e50f;border-color:#4f46e5}.share-tab__option-icon{text-align:center;width:1.5rem;font-size:1.25rem}.share-tab__password-input{border:1px solid var(--border);background:var(--background);width:100%;color:var(--foreground);box-sizing:border-box;border-radius:6px;outline:none;margin-top:.25rem;padding:.5rem .75rem;font-family:inherit;font-size:.875rem;transition:border-color .15s}.share-tab__actions{flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;display:flex}.share-tab__error{color:#ef4444;margin:.25rem 0;font-size:.8125rem}.share-tab__success{color:#22c55e;margin:.25rem 0;font-size:.8125rem}.share-tab__url-row{background:var(--background);border:1px solid var(--border);border-radius:6px;margin-top:.25rem;padding:.5rem .75rem}.share-tab__url{color:var(--muted-foreground);word-break:break-all;font-size:.8125rem}.share-tab__workspace-info{text-align:center;flex-direction:column;align-items:center;gap:4px;padding:24px 16px;display:flex}.share-tab__workspace-info-icon{margin-bottom:4px;font-size:2rem}.collab-tab__invite{flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;display:flex}.collab-tab__input{border:1px solid var(--border);background:var(--background);min-width:180px;color:var(--foreground);border-radius:6px;outline:none;flex:1;padding:.5rem .75rem;font-family:inherit;font-size:.875rem;transition:border-color .15s}.collab-tab__role{border:1px solid var(--border);background:var(--background);color:var(--foreground);cursor:pointer;border-radius:6px;padding:.5rem .75rem;font-family:inherit;font-size:.875rem}.collab-tab__error{color:#ef4444;margin:.25rem 0 .75rem;font-size:.8125rem}.collab-tab__empty{color:var(--muted-foreground);text-align:center;padding:1.5rem 0;font-size:.875rem}.collab-tab__list{flex-direction:column;gap:.375rem;display:flex}.collab-item{border:1px solid var(--border);background:var(--card);border-radius:8px;align-items:center;gap:.75rem;padding:.5rem .625rem;display:flex}.collab-item__info{flex-direction:column;flex:1;min-width:0;display:flex}.collab-item__name{color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:500;overflow:hidden}.collab-item__email{color:var(--muted-foreground);font-size:.75rem}.collab-item__meta{flex-shrink:0;gap:.25rem;display:flex}.collab-item__badge{text-transform:capitalize;border-radius:4px;padding:2px 6px;font-size:.6875rem;font-weight:600}.collab-item__badge--editor{color:#4f46e5;background:#4f46e51f}.collab-item__badge--pending{color:#ca8a04;background:#eab3081f}.collab-item__remove{color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-family:inherit;font-size:.75rem;transition:background .15s,color .15s}.collab-item__remove:hover{color:#ef4444;background:#ef44441a}.history-panel-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;background:#0006;justify-content:flex-end;align-items:flex-start;animation:.15s shareModalFadeIn;display:flex;position:fixed;inset:0}.history-panel{background:var(--card);border-left:1px solid var(--border);flex-direction:column;width:380px;max-width:90vw;height:100vh;animation:.2s historyPanelSlideIn;display:flex;box-shadow:-8px 0 32px #00000026}@keyframes historyPanelSlideIn{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.history-panel__header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:.875rem 1rem;display:flex}.history-panel__title{color:var(--foreground);margin:0;font-size:.9375rem;font-weight:700}.history-panel__close{color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-family:inherit;font-size:1rem;transition:background .15s}.history-panel__body{background:var(--card);flex-direction:column;flex:1;padding:.875rem 1rem;display:flex;overflow-y:auto}.history-panel__subtitle{color:var(--muted-foreground);margin:0 0 .875rem;font-size:.8125rem}.history-panel__error{color:#ef4444;margin:.25rem 0 .75rem;font-size:.8125rem}.history-panel__loading,.history-panel__empty{color:var(--muted-foreground);text-align:center;padding:2rem 0;font-size:.875rem}.history-panel__list{flex-direction:column;gap:.375rem;display:flex}.history-panel__load-more{width:100%;margin-top:.875rem}.history-panel__gate{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.75rem;padding:2rem 1.5rem;display:flex}.history-panel__gate h3{color:var(--foreground);margin:0;font-size:1.125rem;font-weight:700}.history-panel__gate p{color:var(--muted-foreground);margin:0;font-size:.875rem;line-height:1.5}.history-item{border:1px solid var(--border);background:var(--card);border-radius:8px;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.6rem .75rem;transition:background .15s;display:flex}.history-item__meta{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.history-item__label{color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;font-weight:500;overflow:hidden}.history-item__date{color:var(--muted-foreground);font-size:.75rem}.history-item__actions{flex-shrink:0;align-items:flex-start;gap:.375rem;display:flex}.history-item__label-edit{align-items:center;gap:.375rem;display:flex}.history-item__label-input{background:var(--background);color:var(--foreground);border:1px solid #4f46e5;border-radius:5px;outline:none;flex:1;padding:3px 7px;font-family:inherit;font-size:.8125rem}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.connection-banner{z-index:50;border-radius:8px;align-items:center;gap:8px;padding:8px 14px;font-size:12px;line-height:1;animation:.2s bannerSlideIn;display:flex;position:fixed;bottom:16px;left:16px;box-shadow:0 2px 8px #0000001f}.connection-banner--success{color:#0c4714;background:#e2f9e2;border:1px solid oklch(85% .08 145)}.connection-banner--warn{color:#6b3900;color:oklch(40% .1 60);background:#fff3e4;background:oklch(97% .04 75);border:1px solid oklch(88% .08 75)}.connection-banner--error{color:#7c2524;background:#ffedeb;background:oklch(96% .04 25);border:1px solid oklch(88% .08 25)}.connection-banner__dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.connection-banner__dot--green{background:#22c55e}.connection-banner__dot--orange{background:#f97316}.connection-banner__dot--red{background:#ef4444}.connection-banner__action{cursor:pointer;color:inherit;background:0 0;border:1px solid;border-radius:4px;margin-left:4px;padding:2px 8px;font-size:11px;font-weight:500;transition:opacity .15s}.connection-banner__action:hover{opacity:.8}@keyframes bannerSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}:is(.dark *) .connection-banner--success{color:#9ecc9e;background:#152715;border-color:#254326}:is(.dark *) .connection-banner--warn{color:#edc793;background:#2d1f0a;border-color:#4d3612}:is(.dark *) .connection-banner--error{color:#febab4;background:#321a18;border-color:#562d2a}.viewer-page{background:var(--background);height:100vh;color:var(--foreground);flex-direction:column;display:flex;overflow:hidden}.viewer-topbar{border-bottom:1px solid var(--border);background:var(--card);flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;height:44px;padding:0 1rem;display:flex}.viewer-topbar__left{align-items:center;gap:.75rem;min-width:0;display:flex}.viewer-topbar__name{color:var(--foreground);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:600;overflow:hidden}.viewer-topbar__meta{color:var(--muted-foreground);white-space:nowrap;font-size:.75rem}.viewer-topbar__cta{color:#4f46e5;white-space:nowrap;border:1px solid #4f46e5;border-radius:6px;padding:4px 12px;font-size:.8125rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s}.viewer-topbar__cta:hover{color:#fff;background:#4f46e5}.viewer-gate{background:var(--background);justify-content:center;align-items:center;height:100vh;display:flex}.viewer-gate__card{background:var(--card);border:1px solid var(--border);border-radius:16px;flex-direction:column;align-items:center;gap:.75rem;width:360px;max-width:calc(100vw - 2rem);padding:2.5rem 2rem;display:flex;box-shadow:0 8px 32px #0000001f}.viewer-gate__lock{margin-bottom:.25rem;font-size:2.5rem;line-height:1}.viewer-gate__title{color:var(--foreground);margin:0;font-size:1.25rem;font-weight:700}.viewer-gate__desc{color:var(--muted-foreground);text-align:center;margin:0;font-size:.875rem}.viewer-gate__input{border:1px solid var(--border);background:var(--background);width:100%;color:var(--foreground);box-sizing:border-box;border-radius:8px;outline:none;margin-top:.25rem;padding:.625rem .875rem;font-family:inherit;font-size:.875rem;transition:border-color .15s}.viewer-gate__error{color:#ef4444;text-align:center;margin:0;font-size:.8125rem}.viewer-gate__btn{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:8px;width:100%;margin-top:.25rem;padding:.625rem;font-family:inherit;font-size:.875rem;font-weight:600;transition:background .15s,opacity .15s}.viewer-state{height:100vh;color:var(--foreground);background:var(--background);flex-direction:column;justify-content:center;align-items:center;gap:.75rem;display:flex}.viewer-state h2{margin:0;font-size:1.5rem;font-weight:700}.viewer-state p{color:var(--muted-foreground);margin:0;font-size:.9rem}.viewer-state__link{color:#4f46e5;border:1px solid #4f46e5;border-radius:6px;margin-top:.5rem;padding:6px 14px;font-size:.9rem;text-decoration:none;transition:background .15s}.viewer-state__link:hover{color:#fff;background:#4f46e5}.viewer-state__spinner{border:3px solid var(--border);border-top-color:#4f46e5;border-radius:50%;width:40px;height:40px;animation:.8s linear infinite viewerSpin}:root{--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(20.5% 0 0);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(97% 0 0);--secondary-foreground:oklch(20.5% 0 0);--muted:oklch(97% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(97% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--destructive-foreground:oklch(57.7% .245 27.325);--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--ring:oklch(70.8% 0 0);--radius:.625rem;--sidebar-background:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.5% 0 0);--sidebar-primary:oklch(20.5% 0 0);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(97% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-border:oklch(92.2% 0 0);--sidebar-ring:oklch(70.8% 0 0)}.dark{--background:oklch(15.5% .014 260);--foreground:oklch(93% .005 260);--card:oklch(18.5% .014 260);--card-foreground:oklch(93% .005 260);--popover:oklch(18.5% .014 260);--popover-foreground:oklch(93% .005 260);--primary:oklch(93% .005 260);--primary-foreground:oklch(18.5% .014 260);--secondary:oklch(22.5% .012 260);--secondary-foreground:oklch(90% .005 260);--muted:oklch(22.5% .012 260);--muted-foreground:oklch(65% .01 260);--accent:oklch(25% .03 265);--accent-foreground:oklch(93% .005 260);--destructive:oklch(39.6% .141 25.723);--destructive-foreground:oklch(63.7% .237 25.331);--border:oklch(28% .01 260);--input:oklch(28% .01 260);--ring:oklch(48% .15 265);--sidebar-background:oklch(17% .015 260);--sidebar-foreground:oklch(93% .005 260);--sidebar-primary:oklch(55% .2 265);--sidebar-primary-foreground:oklch(93% .005 260);--sidebar-accent:oklch(25% .015 260);--sidebar-accent-foreground:oklch(93% .005 260);--sidebar-border:oklch(28% .01 260);--sidebar-ring:oklch(48% .15 265)}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}.resize-handle{cursor:col-resize;z-index:10;background:0 0;flex-shrink:0;width:4px;transition:background .15s;position:relative}.resize-handle:after{content:"";width:8px;position:absolute;top:0;bottom:0;left:-2px}.resize-handle:hover{background:#4f46e540}.resize-handle--active{background:#4f46e5}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}.sql-preview-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:sql-preview-fade-in .15s ease}@keyframes sql-preview-fade-in{0%{opacity:0}to{opacity:1}}.sql-preview-panel{background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:0 20px 60px #0000004d;width:700px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column;overflow:hidden;animation:sql-preview-slide-up .2s ease}.dark .sql-preview-panel{box-shadow:0 20px 60px #0009,0 0 1px #ffffff0d}@keyframes sql-preview-slide-up{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.sql-preview-panel__header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}.sql-preview-panel__title{font-size:14px;font-weight:600;color:var(--foreground)}.sql-preview-panel__actions{display:flex;align-items:center;gap:6px}.sql-preview-panel__dialect-toggle{display:flex;background:var(--secondary);border-radius:6px;padding:2px;gap:2px}.sql-preview-panel__dialect-btn{font-size:11px;font-weight:500;padding:4px 12px;border-radius:4px;border:none;background:transparent;color:var(--muted-foreground);cursor:pointer;transition:all .15s ease}.sql-preview-panel__dialect-btn--active{background:var(--card);color:var(--foreground);box-shadow:0 1px 2px #0000001a}.sql-preview-panel__close{font-size:16px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px;border:none;background:transparent;color:var(--muted-foreground);cursor:pointer;transition:all .15s ease}.sql-preview-panel__close:hover{background:var(--secondary);color:var(--foreground)}.sql-preview-panel__content{flex:1;overflow:auto;padding:0}.sql-preview-panel__code{margin:0;padding:16px 18px;font-family:SF Mono,Fira Code,JetBrains Mono,monospace;font-size:12px;line-height:1.6;color:var(--foreground);background:transparent;white-space:pre-wrap;word-break:break-all;tab-size:2}.sql-preview-panel__empty{padding:40px 18px;text-align:center;color:var(--muted-foreground);font-size:13px}.sql-preview-panel__footer{display:flex;align-items:center;justify-content:space-between;padding:10px 18px;border-top:1px solid var(--border)}.sql-preview-panel__stats{font-size:11px;color:var(--muted-foreground)}.sql-preview-panel__footer-actions{display:flex;gap:6px}.sql-preview-panel__btn{font-size:11px;font-weight:500;padding:6px 14px;border-radius:6px;border:1px solid var(--border);background:var(--card);color:var(--foreground);cursor:pointer;transition:all .15s ease}.sql-preview-panel__btn:hover{background:var(--accent);border-color:#4f46e5;color:#4f46e5}.sql-preview-panel__btn--primary{background:#4f46e5;border-color:#4f46e5;color:#fff}.sql-preview-panel__btn--primary:hover{background:#4338ca;border-color:#4338ca;color:#fff}.sql-preview-panel__options{display:flex;gap:14px;padding:10px 18px;border-bottom:1px solid var(--border);background:var(--secondary)}.sql-preview-panel__option{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted-foreground);cursor:pointer;-webkit-user-select:none;user-select:none}.sql-preview-panel__option input[type=checkbox]{accent-color:#4f46e5}.sql-keyword{color:#7c3aed;font-weight:600}.sql-type{color:#2563eb}.sql-string{color:#16a34a}.sql-comment{color:var(--muted-foreground);font-style:italic}.sql-number{color:#ea580c}.dark .sql-keyword{color:#a78bfa}.dark .sql-type{color:#60a5fa}.dark .sql-string{color:#4ade80}.dark .sql-number{color:#fb923c}.sql-import-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:sql-import-fade-in .15s ease}@keyframes sql-import-fade-in{0%{opacity:0}to{opacity:1}}.sql-import-panel{background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:0 20px 60px #0000004d;width:700px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column;overflow:hidden;animation:sql-import-slide-up .2s ease}.dark .sql-import-panel{box-shadow:0 20px 60px #0009,0 0 1px #ffffff0d}@keyframes sql-import-slide-up{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.sql-import-panel__header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}.sql-import-panel__title{font-size:14px;font-weight:600;color:var(--foreground)}.sql-import-panel__actions{display:flex;align-items:center;gap:6px}.sql-import-panel__close{font-size:16px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px;border:none;background:transparent;color:var(--muted-foreground);cursor:pointer;transition:all .15s ease}.sql-import-panel__close:hover{background:var(--secondary);color:var(--foreground)}.sql-import-panel__content{flex:1;overflow:auto;padding:16px 18px;display:flex;flex-direction:column;gap:12px}.sql-import-panel__textarea{width:100%;min-height:260px;padding:12px 14px;font-family:SF Mono,Fira Code,JetBrains Mono,monospace;font-size:12px;line-height:1.6;color:var(--foreground);background:var(--secondary);border:1px solid var(--border);border-radius:8px;resize:vertical;outline:none;transition:border-color .15s ease}.sql-import-panel__textarea:focus{border-color:#4f46e5}.sql-import-panel__textarea::placeholder{color:var(--muted-foreground)}.sql-import-panel__drop-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px;border:2px dashed var(--border);border-radius:8px;color:var(--muted-foreground);font-size:12px;transition:all .15s ease;cursor:pointer}.sql-import-panel__drop-zone:hover,.sql-import-panel__drop-zone--active{border-color:#4f46e5;background:#4f46e50a;color:#4f46e5}.dark .sql-import-panel__drop-zone:hover,.dark .sql-import-panel__drop-zone--active{background:#4f46e51a}.sql-import-panel__drop-icon{font-size:24px}.sql-import-panel__drop-text{font-size:12px}.sql-import-panel__drop-hint{font-size:11px;opacity:.7}.sql-import-panel__dialect-row{display:flex;align-items:center;gap:10px}.sql-import-panel__dialect-label{font-size:12px;font-weight:500;color:var(--muted-foreground)}.sql-import-panel__dialect-toggle{display:flex;background:var(--secondary);border-radius:6px;padding:2px;gap:2px}.sql-import-panel__dialect-btn{font-size:11px;font-weight:500;padding:4px 12px;border-radius:4px;border:none;background:transparent;color:var(--muted-foreground);cursor:pointer;transition:all .15s ease}.sql-import-panel__dialect-btn--active{background:var(--card);color:var(--foreground);box-shadow:0 1px 2px #0000001a}.sql-import-panel__message{font-size:12px;padding:8px 12px;border-radius:6px}.sql-import-panel__message--error{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.2)}.sql-import-panel__message--success{background:#22c55e1a;color:#22c55e;border:1px solid rgba(34,197,94,.2)}.sql-import-panel__footer{display:flex;align-items:center;justify-content:flex-end;padding:10px 18px;border-top:1px solid var(--border);gap:6px}.sql-import-panel__btn{font-size:11px;font-weight:500;padding:6px 14px;border-radius:6px;border:1px solid var(--border);background:var(--card);color:var(--foreground);cursor:pointer;transition:all .15s ease}.sql-import-panel__btn:hover{background:var(--accent);border-color:#4f46e5;color:#4f46e5}.sql-import-panel__btn--primary{background:#4f46e5;border-color:#4f46e5;color:#fff}.sql-import-panel__btn--primary:hover{background:#4338ca;border-color:#4338ca;color:#fff}.sql-import-panel__btn:disabled{opacity:.5;cursor:not-allowed}.share-btn{display:inline-flex;align-items:center;justify-content:center;padding:6px 14px;border:1px solid var(--border);border-radius:6px;background:var(--card);color:var(--foreground);font-size:.8125rem;font-weight:500;cursor:pointer;white-space:nowrap;gap:4px;transition:background .15s,border-color .15s;text-decoration:none;font-family:inherit}.share-btn:hover:not(:disabled){background:var(--accent);border-color:#4f46e5;color:var(--accent-foreground)}.share-btn:disabled{opacity:.5;cursor:not-allowed}.share-btn--primary{background:#4f46e5;border-color:#4f46e5;color:#fff}.share-btn--primary:hover:not(:disabled){background:#4338ca;border-color:#4338ca;color:#fff}.share-btn--sm{padding:4px 10px;font-size:.75rem}.share-modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;display:flex;align-items:flex-start;justify-content:center;padding-top:10vh;animation:shareModalFadeIn .15s ease}@keyframes shareModalFadeIn{0%{opacity:0}to{opacity:1}}.share-modal{background:var(--card);border:1px solid var(--border);border-radius:14px;width:520px;max-width:calc(100vw - 2rem);max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000040;overflow:hidden;animation:shareModalSlideUp .2s ease}.dark .share-modal{box-shadow:0 20px 60px #0009,0 0 1px #ffffff0d}@keyframes shareModalSlideUp{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.share-modal__header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border);flex-shrink:0}.share-modal__title{font-size:1rem;font-weight:700;margin:0;color:var(--foreground)}.share-modal__close{background:none;border:none;color:var(--muted-foreground);cursor:pointer;font-size:1rem;padding:2px 6px;border-radius:4px;transition:background .15s;font-family:inherit}.share-modal__close:hover{background:var(--accent);color:var(--foreground)}.share-modal__tabs{display:flex;border-bottom:1px solid var(--border);flex-shrink:0}.share-modal__tab{flex:1;padding:.625rem 1rem;background:none;border:none;font-size:.8125rem;font-weight:500;color:var(--muted-foreground);cursor:pointer;border-bottom:2px solid transparent;transition:color .15s,border-color .15s;font-family:inherit}.share-modal__tab--active{color:#4f46e5;border-bottom-color:#4f46e5}.share-modal__body{flex:1;overflow-y:auto;padding:1rem 1.25rem;background:var(--card)}.share-tab__label{font-size:.8125rem;font-weight:600;color:var(--muted-foreground);margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.04em;display:block}.share-tab__options{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.share-tab__option{display:flex;align-items:center;gap:.75rem;padding:.625rem .875rem;border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:border-color .15s,background .15s;color:var(--foreground)}.share-tab__option--active{border-color:#4f46e5;background:#4f46e50f}.share-tab__option-icon{font-size:1.25rem;width:1.5rem;text-align:center}.share-tab__option small{color:var(--muted-foreground)}.share-tab__password-wrap{margin-bottom:1rem}.share-tab__password-input{width:100%;padding:.5rem .75rem;border:1px solid var(--border);border-radius:6px;background:var(--background);color:var(--foreground);font-size:.875rem;box-sizing:border-box;margin-top:.25rem;outline:none;transition:border-color .15s;font-family:inherit}.share-tab__password-input:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51f}.share-tab__actions{display:flex;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap}.share-tab__error{font-size:.8125rem;color:#ef4444;margin:.25rem 0}.share-tab__success{font-size:.8125rem;color:#22c55e;margin:.25rem 0}.share-tab__url-row{background:var(--background);border:1px solid var(--border);border-radius:6px;padding:.5rem .75rem;margin-top:.25rem}.share-tab__url{font-size:.8125rem;color:var(--muted-foreground);word-break:break-all}.share-tab__workspace-info{display:flex;flex-direction:column;align-items:center;gap:4px;padding:24px 16px;text-align:center}.share-tab__workspace-info-icon{font-size:2rem;margin-bottom:4px}.collab-tab__invite{display:flex;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap}.collab-tab__input{flex:1;min-width:180px;padding:.5rem .75rem;border:1px solid var(--border);border-radius:6px;background:var(--background);color:var(--foreground);font-size:.875rem;outline:none;transition:border-color .15s;font-family:inherit}.collab-tab__input:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51f}.collab-tab__role{padding:.5rem .75rem;border:1px solid var(--border);border-radius:6px;background:var(--background);color:var(--foreground);font-size:.875rem;cursor:pointer;font-family:inherit}.collab-tab__error{font-size:.8125rem;color:#ef4444;margin:.25rem 0 .75rem}.collab-tab__empty{color:var(--muted-foreground);font-size:.875rem;text-align:center;padding:1.5rem 0}.collab-tab__list{display:flex;flex-direction:column;gap:.375rem}.collab-item{display:flex;align-items:center;gap:.75rem;padding:.5rem .625rem;border:1px solid var(--border);border-radius:8px;background:var(--card)}.collab-item__info{flex:1;min-width:0;display:flex;flex-direction:column}.collab-item__name{font-size:.875rem;font-weight:500;color:var(--foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.collab-item__email{font-size:.75rem;color:var(--muted-foreground)}.collab-item__meta{display:flex;gap:.25rem;flex-shrink:0}.collab-item__badge{font-size:.6875rem;font-weight:600;padding:2px 6px;border-radius:4px;text-transform:capitalize}.collab-item__badge--editor{background:#4f46e51f;color:#4f46e5}.collab-item__badge--viewer{background:var(--muted);color:var(--muted-foreground)}.collab-item__badge--pending{background:#eab3081f;color:#ca8a04}.collab-item__remove{background:none;border:none;color:var(--muted-foreground);cursor:pointer;font-size:.75rem;padding:2px 6px;border-radius:4px;transition:background .15s,color .15s;font-family:inherit}.collab-item__remove:hover{background:#ef44441a;color:#ef4444}.history-panel-overlay{position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;display:flex;align-items:flex-start;justify-content:flex-end;animation:shareModalFadeIn .15s ease}.history-panel{background:var(--card);border-left:1px solid var(--border);width:380px;max-width:90vw;height:100vh;display:flex;flex-direction:column;box-shadow:-8px 0 32px #00000026;animation:historyPanelSlideIn .2s ease}.dark .history-panel{box-shadow:-8px 0 32px #00000080,0 0 1px #ffffff08}@keyframes historyPanelSlideIn{0%{transform:translate(24px);opacity:0}to{transform:translate(0);opacity:1}}.history-panel__header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem;border-bottom:1px solid var(--border);flex-shrink:0}.history-panel__title{font-size:.9375rem;font-weight:700;margin:0;color:var(--foreground)}.history-panel__close{background:none;border:none;color:var(--muted-foreground);cursor:pointer;font-size:1rem;padding:2px 6px;border-radius:4px;transition:background .15s;font-family:inherit}.history-panel__close:hover{background:var(--accent);color:var(--foreground)}.history-panel__body{flex:1;overflow-y:auto;padding:.875rem 1rem;display:flex;flex-direction:column;background:var(--card)}.history-panel__subtitle{font-size:.8125rem;color:var(--muted-foreground);margin:0 0 .875rem}.history-panel__error{font-size:.8125rem;color:#ef4444;margin:.25rem 0 .75rem}.history-panel__loading,.history-panel__empty{font-size:.875rem;color:var(--muted-foreground);text-align:center;padding:2rem 0}.history-panel__list{display:flex;flex-direction:column;gap:.375rem}.history-panel__load-more{margin-top:.875rem;width:100%}.history-panel__gate{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem 1.5rem;gap:.75rem}.history-panel__gate-icon{font-size:3rem;line-height:1}.history-panel__gate h3{font-size:1.125rem;font-weight:700;margin:0;color:var(--foreground)}.history-panel__gate p{font-size:.875rem;color:var(--muted-foreground);line-height:1.5;margin:0}.history-item{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.6rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--card);transition:background .15s}.history-item:hover{background:var(--accent)}.history-item__meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}.history-item__label{font-size:.8125rem;font-weight:500;color:var(--foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-item__label--editable{cursor:pointer}.history-item__label--empty{color:var(--muted-foreground);font-style:italic}.history-item__date{font-size:.75rem;color:var(--muted-foreground)}.history-item__actions{display:flex;gap:.375rem;flex-shrink:0;align-items:flex-start}.history-item__label-edit{display:flex;gap:.375rem;align-items:center}.history-item__label-input{flex:1;padding:3px 7px;border:1px solid #4f46e5;border-radius:5px;background:var(--background);color:var(--foreground);font-size:.8125rem;outline:none;font-family:inherit}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.ws-switcher{position:relative}.ws-switcher__trigger{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border:1px solid var(--border);border-radius:6px;background:var(--card);color:var(--foreground);font-size:.8125rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s;font-family:inherit;height:28px}.ws-switcher__trigger:hover{background:var(--accent);border-color:#4f46e5}.ws-switcher__icon{font-size:.75rem}.ws-switcher__label{max-width:120px;overflow:hidden;text-overflow:ellipsis}.ws-switcher__caret{font-size:.625rem;opacity:.6}.ws-switcher__dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:220px;max-width:280px;background:var(--popover, var(--card));border:1px solid var(--border);border-radius:10px;box-shadow:0 4px 6px -1px #00000026,0 16px 40px -4px #00000040;z-index:200;padding:4px;animation:ws-dropdown-in .12s ease-out}@keyframes ws-dropdown-in{0%{opacity:0;transform:translateY(-4px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.ws-switcher__item{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border:none;border-radius:6px;background:transparent;color:var(--foreground);font-size:.8125rem;font-family:inherit;cursor:pointer;text-align:left;transition:background .1s}.ws-switcher__item:hover{background:var(--accent)}.ws-switcher__item--active{background:var(--accent);font-weight:600}.ws-switcher__item--create{color:#4f46e5;font-weight:500}.ws-switcher__item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-switcher__item-plan{font-size:.625rem;padding:1px 6px;border-radius:9999px;background:#4f46e51a;color:#4f46e5;font-weight:600;letter-spacing:.02em}:is(.dark *) .ws-switcher__item-plan{background:#6366f126;color:#818cf8}.ws-switcher__item-badge{font-size:.6875rem;padding:1px 6px;border-radius:9999px;background:var(--muted);color:var(--muted-foreground);font-weight:500}.ws-switcher__divider{height:1px;background:var(--border);margin:4px 0}.ws-switcher__create-form{display:flex;gap:4px;padding:4px}.ws-switcher__create-input{flex:1;padding:5px 8px;border:1px solid var(--border);border-radius:6px;background:var(--background);color:var(--foreground);font-size:.8125rem;font-family:inherit;outline:none;transition:border-color .15s}.ws-switcher__create-input:focus{border-color:#4f46e5}.ws-switcher__create-btn{padding:5px 10px;border:none;border-radius:6px;background:#4f46e5;color:#fff;font-size:.8125rem;font-weight:500;font-family:inherit;cursor:pointer;transition:background .15s}.ws-switcher__create-btn:hover{background:#4338ca}.ws-switcher__error{padding:4px 10px;margin:4px;border-radius:5px;font-size:.75rem;color:#dc2626;background:#dc26260f}.ws-modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;display:flex;align-items:flex-start;justify-content:center;padding-top:8vh}.ws-modal{width:520px;max-height:82vh;background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:0 4px 6px -1px #00000026,0 20px 50px -4px #0000004d;display:flex;flex-direction:column;animation:ws-modal-in .15s ease-out}@keyframes ws-modal-in{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.ws-modal__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px}.ws-modal__title{font-size:1.1rem;font-weight:700;margin:0;color:var(--foreground)}.ws-modal__close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:6px;background:transparent;color:var(--muted-foreground);font-size:.875rem;cursor:pointer;transition:background .15s,color .15s}.ws-modal__close:hover{background:var(--accent);color:var(--foreground)}.ws-modal__tabs{display:flex;gap:0;padding:0 20px;border-bottom:1px solid var(--border)}.ws-modal__tab{display:flex;align-items:center;gap:6px;padding:8px 14px;border:none;background:transparent;color:var(--muted-foreground);font-size:.8125rem;font-weight:500;font-family:inherit;cursor:pointer;border-bottom:2px solid transparent;transition:color .15s,border-color .15s;margin-bottom:-1px}.ws-modal__tab:hover{color:var(--foreground)}.ws-modal__tab--active{color:#4f46e5;border-bottom-color:#4f46e5;font-weight:600}.ws-modal__tab-count{font-size:.6875rem;padding:0 5px;border-radius:9999px;background:var(--muted);color:var(--muted-foreground);font-weight:500;min-width:18px;text-align:center}.ws-modal__tab--active .ws-modal__tab-count{background:#4f46e51a;color:#4f46e5}.ws-modal__body{padding:16px 20px;overflow-y:auto;flex:1}.ws-modal__error{padding:8px 12px;margin-bottom:12px;border-radius:8px;background:#fef2f2;border:1px solid #fecaca;color:#dc2626;font-size:.8125rem}.dark .ws-modal__error{background:#dc26261a;border-color:#dc26264d;color:#f87171}.ws-modal__success{padding:8px 12px;margin-bottom:12px;border-radius:8px;background:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a;font-size:.8125rem;font-weight:500;animation:ws-flash-in .2s ease-out}@keyframes ws-flash-in{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.dark .ws-modal__success{background:#16a34a1a;border-color:#16a34a4d;color:#4ade80}.ws-modal__section{margin-bottom:16px}.ws-modal__label{display:block;font-size:.6875rem;font-weight:600;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.ws-modal__label--danger{color:#dc2626}.ws-modal__row{display:flex;gap:8px}.ws-modal__input{flex:1;padding:7px 10px;border:1px solid var(--border);border-radius:6px;background:var(--background);color:var(--foreground);font-size:.8125rem;font-family:inherit;outline:none;transition:border-color .15s}.ws-modal__input:focus{border-color:#4f46e5}.ws-modal__input--email{flex:2}.ws-modal__select{padding:7px 10px;border:1px solid var(--border);border-radius:6px;background:var(--background);color:var(--foreground);font-size:.8125rem;font-family:inherit;cursor:pointer;outline:none}.ws-modal__select--sm{padding:3px 8px;font-size:.75rem}.ws-modal__invite-row{display:flex;gap:6px}.ws-modal__seat-bar{padding:10px 12px;background:var(--background);border:1px solid var(--border);border-radius:8px}.ws-modal__seat-bar-info{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.ws-modal__seat-bar-label{font-size:.8125rem;font-weight:500;color:var(--foreground)}.ws-modal__seat-bar-pending{font-size:.6875rem;color:#d97706;font-weight:500}.ws-modal__seat-bar-track{width:100%;height:4px;border-radius:9999px;background:var(--muted);overflow:hidden}.ws-modal__seat-bar-fill{height:100%;border-radius:9999px;background:#4f46e5;transition:width .3s ease;min-width:2px}.ws-modal__members{display:flex;flex-direction:column;gap:2px}.ws-modal__member{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:8px;transition:background .1s}.ws-modal__member:hover{background:var(--accent)}.ws-modal__member-avatar{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#fff;letter-spacing:.5px;flex-shrink:0}.ws-modal__member-info{display:flex;flex-direction:column;min-width:0;flex:1}.ws-modal__member-name{display:flex;align-items:center;gap:6px;font-size:.8125rem;font-weight:500;color:var(--foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-modal__member-email{font-size:.6875rem;color:var(--muted-foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-modal__member-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.ws-modal__badge{font-size:.6875rem;padding:2px 8px;border-radius:9999px;background:var(--muted);color:var(--muted-foreground);font-weight:500;white-space:nowrap}.ws-modal__badge--owner{background:#4f46e51a;color:#4f46e5}.dark .ws-modal__badge--owner{background:#6366f126;color:#818cf8}.ws-modal__badge--pending{background:#d977061a;color:#d97706;font-size:.625rem}.dark .ws-modal__badge--pending{background:#d9770626;color:#fbbf24}.ws-modal__btn{display:inline-flex;align-items:center;justify-content:center;padding:7px 14px;border:1px solid var(--border);border-radius:6px;background:var(--card);color:var(--foreground);font-size:.8125rem;font-weight:500;cursor:pointer;white-space:nowrap;gap:4px;transition:background .15s,border-color .15s,transform .1s;font-family:inherit}.ws-modal__btn:hover:not(:disabled){background:var(--accent)}.ws-modal__btn:active:not(:disabled){transform:scale(.98)}.ws-modal__btn:disabled{opacity:.5;cursor:not-allowed}.ws-modal__btn--primary{background:#4f46e5;border-color:#4f46e5;color:#fff}.ws-modal__btn--primary:hover:not(:disabled){background:#4338ca;border-color:#4338ca;color:#fff}.ws-modal__btn--danger{background:transparent;border-color:#dc2626;color:#dc2626}.ws-modal__btn--danger:hover:not(:disabled){background:#dc2626;color:#fff}.ws-modal__btn--sm{padding:3px 8px;font-size:.75rem}.ws-modal__danger-zone{border:1px solid rgba(220,38,38,.2);border-radius:8px;padding:14px;background:#dc262605}.dark .ws-modal__danger-zone{background:#dc26260a;border-color:#dc262626}.ws-modal__danger-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.ws-modal__danger-info{display:flex;flex-direction:column;gap:2px}.ws-modal__danger-title{font-size:.8125rem;font-weight:500;color:var(--foreground)}.ws-modal__danger-desc{font-size:.6875rem;color:var(--muted-foreground);line-height:1.3}.billing-page{min-height:100vh;background:var(--background);display:flex;justify-content:center;padding:0 20px 60px}.billing-page__container{width:100%;max-width:900px}.billing-page__header{display:flex;align-items:center;justify-content:space-between;padding:16px 0}.billing-page__back{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border);border-radius:6px;background:var(--card);color:var(--muted-foreground);font-size:.8125rem;font-family:inherit;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.billing-page__back:hover{background:var(--accent);color:var(--foreground);border-color:var(--foreground)}.billing-page__manage{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border);border-radius:6px;background:var(--card);color:var(--muted-foreground);font-size:.8125rem;font-family:inherit;cursor:pointer;transition:all .15s}.billing-page__manage:hover:not(:disabled){border-color:#4f46e5;color:#4f46e5}.billing-page__manage:disabled{opacity:.5;cursor:not-allowed}.billing-page__title-area{text-align:center;margin-bottom:28px}.billing-page__title{font-size:1.75rem;font-weight:700;color:var(--foreground);margin:0 0 6px;letter-spacing:-.02em}.billing-page__desc{font-size:.9375rem;color:var(--muted-foreground);margin:0}.billing-page__error{padding:10px 14px;margin-bottom:16px;border-radius:8px;background:#fef2f2;border:1px solid #fecaca;color:#dc2626;font-size:.8125rem}.dark .billing-page__error{background:#dc26261a;border-color:#dc26264d;color:#f87171}.billing-page__success{display:flex;align-items:center;gap:8px;padding:10px 14px;margin-bottom:16px;border-radius:8px;background:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a;font-size:.8125rem;font-weight:500;animation:billing-success-in .3s ease-out}.dark .billing-page__success{background:#16a34a1a;border-color:#16a34a4d;color:#4ade80}.billing-page__success-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#16a34a;color:#fff;flex-shrink:0}.dark .billing-page__success-icon{background:#4ade80;color:#052e16}@keyframes billing-success-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.billing-page__mock-badge{display:block;text-align:center;padding:4px 12px;margin-bottom:16px;border-radius:6px;background:#d977061a;border:1px dashed rgba(217,119,6,.4);color:#d97706;font-size:.75rem;font-weight:600;letter-spacing:.02em}.dark .billing-page__mock-badge{background:#fbbf2414;border-color:#fbbf244d;color:#fbbf24}.billing-page__plans{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:12px;align-items:stretch}@media(max-width:720px){.billing-page__plans{grid-template-columns:1fr;max-width:380px;margin-left:auto;margin-right:auto}}.billing-card{position:relative;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:28px 22px 22px;display:flex;flex-direction:column;transition:border-color .2s,box-shadow .2s,transform .2s}.billing-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000000f}.dark .billing-card:hover{box-shadow:0 8px 24px #0000004d}.billing-card--current{border-color:#4f46e5}.billing-card--featured{border-color:#4f46e5;background:linear-gradient(to bottom,rgba(79,70,229,.03),transparent 40%);box-shadow:0 0 0 1px #4f46e526}.dark .billing-card--featured{background:linear-gradient(to bottom,rgba(99,102,241,.06),transparent 40%)}.billing-card--featured:hover{box-shadow:0 0 0 1px #4f46e54d,0 8px 24px #4f46e51a}.billing-card__ribbon{position:absolute;top:-1px;left:50%;transform:translate(-50%) translateY(-50%);display:inline-flex;align-items:center;gap:4px;padding:3px 14px;background:#4f46e5;color:#fff;font-size:.6875rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;border-radius:9999px;white-space:nowrap}.billing-card__header{margin-bottom:20px}.billing-card__name{font-size:1.0625rem;font-weight:700;margin:0 0 2px;color:var(--foreground)}.billing-card__tagline{font-size:.75rem;color:var(--muted-foreground);margin:0 0 12px}.billing-card__price{display:flex;align-items:baseline;gap:2px}.billing-card__amount{font-size:2.25rem;font-weight:800;color:var(--foreground);line-height:1;letter-spacing:-.03em}.billing-card__period{font-size:.8125rem;font-weight:400;color:var(--muted-foreground)}.billing-card__features{list-style:none;margin:0 0 auto;padding:0 0 20px;flex:1}.billing-card__features li{font-size:.8125rem;color:var(--foreground);padding:5px 0;display:flex;align-items:center;gap:8px}.billing-card__features li svg{color:#059669;flex-shrink:0}.dark .billing-card__features li svg{color:#34d399}.billing-card__features-divider{font-size:.6875rem!important;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-foreground)!important;padding:2px 0 4px!important;border-bottom:1px solid var(--border);margin-bottom:4px;gap:0!important}.billing-card__footer{margin-top:auto}.billing-card__cta{width:100%;padding:10px 16px;font-size:.875rem;font-weight:600}.billing-card__badge{text-align:center;padding:9px 8px;font-size:.75rem;font-weight:600;color:#4f46e5;background:#4f46e50f;border:1px solid rgba(79,70,229,.15);border-radius:8px}.dark .billing-card__badge{color:#818cf8;background:#6366f114;border-color:#6366f133}.billing-card__badge--muted{color:var(--muted-foreground);background:var(--accent);border-color:var(--border)}.billing-team-panel{margin-bottom:16px;animation:billing-expand .25s ease-out}@keyframes billing-expand{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.billing-team-panel__inner{background:var(--card);border:1px solid #4f46e5;border-radius:12px;padding:24px}.billing-team-panel__title{font-size:.9375rem;font-weight:600;color:var(--foreground);margin:0 0 16px}.billing-team-panel__empty{text-align:center;padding:8px 0}.billing-team-panel__empty p{font-size:.8125rem;color:var(--muted-foreground);margin:0 0 12px;line-height:1.5}.billing-team-panel__config{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.billing-team-panel__field{display:flex;align-items:center;gap:8px}.billing-team-panel__label{font-size:.75rem;font-weight:600;color:var(--muted-foreground);white-space:nowrap}.billing-team-panel__value{font-size:.8125rem;font-weight:600;color:var(--foreground)}.billing-team-panel__select{padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--background);color:var(--foreground);font-size:.8125rem;font-family:inherit;cursor:pointer;outline:none}.billing-team-panel__select:focus{border-color:#4f46e5}.billing-team-panel__stepper{display:flex;align-items:center;border:1px solid var(--border);border-radius:6px;overflow:hidden}.billing-team-panel__stepper-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:var(--card);color:var(--foreground);font-size:1rem;cursor:pointer;transition:background .1s}.billing-team-panel__stepper-btn:hover:not(:disabled){background:var(--accent)}.billing-team-panel__stepper-btn:disabled{opacity:.3;cursor:not-allowed}.billing-team-panel__stepper-val{display:flex;align-items:center;justify-content:center;width:36px;height:32px;font-size:.875rem;font-weight:700;color:var(--foreground);border-left:1px solid var(--border);border-right:1px solid var(--border);background:var(--background)}.billing-team-panel__checkout{margin-left:auto;display:flex;flex-direction:column;gap:10px;min-width:240px}.billing-team-panel__price-row{display:flex;align-items:center;justify-content:space-between;font-size:.8125rem;color:var(--muted-foreground)}.billing-team-panel__total{font-size:1.125rem;font-weight:700;color:var(--foreground)}.billing-page__trust{text-align:center;font-size:.75rem;color:var(--muted-foreground);margin:8px 0 0;opacity:.7}.billing-page__section-title{font-size:1rem;font-weight:600;color:var(--foreground);margin:32px 0 12px}.billing-page__workspaces{border-top:1px solid var(--border);margin-top:32px;padding-top:4px}.billing-page__ws-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.billing-ws-card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:14px 18px}.billing-ws-card__top{display:flex;align-items:center;justify-content:space-between}.billing-ws-card__name{font-size:.875rem;font-weight:600;color:var(--foreground)}.billing-ws-card__status{font-size:.6875rem;font-weight:600;padding:2px 8px;border-radius:9999px;text-transform:capitalize}.billing-ws-card__status--active{background:#16a34a1a;color:#16a34a}.dark .billing-ws-card__status--active{background:#4ade801a;color:#4ade80}.billing-ws-card__status--past_due{background:#d977061a;color:#d97706}.billing-ws-card__status--cancelled{background:#dc26261a;color:#dc2626}.billing-btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--foreground);font-size:.8125rem;font-weight:500;cursor:pointer;white-space:nowrap;gap:6px;transition:background .15s,border-color .15s,transform .1s;font-family:inherit;text-decoration:none}.billing-btn:hover:not(:disabled){background:var(--accent)}.billing-btn:active:not(:disabled){transform:scale(.98)}.billing-btn:disabled{opacity:.5;cursor:not-allowed}.billing-btn--primary{background:#4f46e5;border-color:#4f46e5;color:#fff}.billing-btn--primary:hover:not(:disabled){background:#4338ca;border-color:#4338ca;color:#fff}.billing-btn--secondary{background:transparent;border-color:#4f46e5;color:#4f46e5}.billing-btn--secondary:hover:not(:disabled){background:#4f46e50f}.seat-manager{display:flex;align-items:center;gap:8px;padding:8px 0 0;border-top:1px solid var(--border);margin-top:10px}.seat-manager__label{font-size:.8125rem;color:var(--muted-foreground);margin-right:auto}.seat-manager__count{font-size:1rem;font-weight:600;color:var(--foreground);min-width:28px;text-align:center}.seat-manager__btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border);border-radius:6px;background:var(--card);color:var(--foreground);font-size:1rem;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s}.seat-manager__btn:hover:not(:disabled){background:var(--accent);border-color:#4f46e5}.seat-manager__btn:disabled{opacity:.35;cursor:not-allowed}.upgrade-prompt{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px dashed var(--border);border-radius:10px;background:#4f46e508}.dark .upgrade-prompt{background:#4f46e50f}.upgrade-prompt__text{flex:1;font-size:.8125rem;color:var(--muted-foreground);line-height:1.4}.upgrade-prompt__cta{flex-shrink:0}.billing-page__faq{margin-top:32px;border:1px solid var(--border);border-radius:10px;background:var(--card);overflow:hidden}.billing-page__faq-toggle{display:flex;align-items:center;gap:8px;padding:14px 18px;font-size:.875rem;font-weight:600;color:var(--foreground);cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.billing-page__faq-toggle::-webkit-details-marker{display:none}.billing-page__faq-toggle svg{color:var(--muted-foreground)}.billing-page__faq-chevron{margin-left:auto;transition:transform .2s}.billing-page__faq[open] .billing-page__faq-chevron{transform:rotate(180deg)}.billing-page__faq-body{padding:0 18px 18px;border-top:1px solid var(--border);animation:billing-expand .2s ease-out}.billing-page__steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding-top:16px}@media(max-width:700px){.billing-page__steps{grid-template-columns:1fr}}.billing-page__step{display:flex;gap:10px;align-items:flex-start}.billing-page__step-num{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#4f46e51a;color:#4f46e5;font-size:.75rem;font-weight:700;flex-shrink:0}.dark .billing-page__step-num{background:#6366f126;color:#818cf8}.billing-page__step strong{display:block;font-size:.8125rem;font-weight:600;color:var(--foreground);margin-bottom:2px}.billing-page__step p{font-size:.75rem;color:var(--muted-foreground);margin:0;line-height:1.4}.toast-container{position:fixed;bottom:24px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;z-index:9999;pointer-events:none}.toast{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:8px;font-size:13px;font-weight:500;box-shadow:0 4px 16px #00000024;pointer-events:all}.dark .toast{box-shadow:0 4px 16px #00000080;cursor:pointer;animation:toast-in .2s cubic-bezier(.34,1.56,.64,1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}@keyframes toast-in{0%{opacity:0;transform:translateY(12px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.toast--success{background:#10b981eb;color:#fff}.toast--error{background:#ef4444eb;color:#fff}.toast--info{background:#4f46e5eb;color:#fff}.toast__icon{font-size:14px;font-weight:700;opacity:.9}.toast__message{white-space:nowrap}.viewer-page{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:var(--background);color:var(--foreground)}.viewer-canvas-wrap{flex:1;overflow:hidden}.viewer-topbar{display:flex;align-items:center;justify-content:space-between;padding:0 1rem;height:44px;border-bottom:1px solid var(--border);background:var(--card);flex-shrink:0;gap:1rem}.viewer-topbar__left{display:flex;align-items:center;gap:.75rem;min-width:0}.viewer-topbar__name{font-weight:600;font-size:.875rem;color:var(--foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.viewer-topbar__meta{font-size:.75rem;color:var(--muted-foreground);white-space:nowrap}.viewer-topbar__right{flex-shrink:0}.viewer-topbar__cta{font-size:.8125rem;font-weight:500;color:#4f46e5;text-decoration:none;border:1px solid #4f46e5;border-radius:6px;padding:4px 12px;white-space:nowrap;transition:background .15s,color .15s}.viewer-topbar__cta:hover{background:#4f46e5;color:#fff}.viewer-gate{display:flex;align-items:center;justify-content:center;height:100vh;background:var(--background)}.viewer-gate__card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:2.5rem 2rem;width:360px;max-width:calc(100vw - 2rem);display:flex;flex-direction:column;align-items:center;gap:.75rem;box-shadow:0 8px 32px #0000001f}.dark .viewer-gate__card{box-shadow:0 8px 32px #00000080,0 0 1px #ffffff0d}.viewer-gate__lock{font-size:2.5rem;line-height:1;margin-bottom:.25rem}.viewer-gate__title{font-size:1.25rem;font-weight:700;color:var(--foreground);margin:0}.viewer-gate__desc{font-size:.875rem;color:var(--muted-foreground);margin:0;text-align:center}.viewer-gate__input{width:100%;padding:.625rem .875rem;border:1px solid var(--border);border-radius:8px;background:var(--background);color:var(--foreground);font-size:.875rem;margin-top:.25rem;outline:none;box-sizing:border-box;transition:border-color .15s;font-family:inherit}.viewer-gate__input:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e526}.viewer-gate__error{font-size:.8125rem;color:#ef4444;margin:0;text-align:center}.viewer-gate__btn{width:100%;padding:.625rem;background:#4f46e5;color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;margin-top:.25rem;transition:background .15s,opacity .15s;font-family:inherit}.viewer-gate__btn:hover:not(:disabled){background:#4338ca}.viewer-gate__btn:disabled{opacity:.5;cursor:not-allowed}.viewer-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:.75rem;color:var(--foreground);background:var(--background)}.viewer-state__icon{font-size:3rem;line-height:1}.viewer-state h2{font-size:1.5rem;font-weight:700;margin:0}.viewer-state p{font-size:.9rem;color:var(--muted-foreground);margin:0}.viewer-state__link{font-size:.9rem;color:#4f46e5;text-decoration:none;margin-top:.5rem;padding:6px 14px;border:1px solid #4f46e5;border-radius:6px;transition:background .15s}.viewer-state__link:hover{background:#4f46e5;color:#fff}.viewer-state__spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:#4f46e5;border-radius:50%;animation:viewerSpin .8s linear infinite}@keyframes viewerSpin{to{transform:rotate(360deg)}}
