@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--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:"Inter Variable", "Inter", -apple-system, "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;--font-mono:"JetBrains Mono", "SF Mono", Consolas, monospace;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--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;-webkit-text-decoration:inherit;-webkit-text-decoration: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}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);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))}}:root{--bg:#fcfcfc;--surface:#fff;--canvas:#f6f6f7;--fg:#18181b;--muted:#71717a;--muted-bg:#f4f4f5;--hover:#fafafa;--border:#e4e4e7;--hairline:#e6e6e9;--input:#d4d4d8;--neutral-400:#a1a1aa;--neutral-600:#52525b;--neutral-700:#3f3f46;--neutral-800:#27272a;--primary:#2563eb;--primary-hover:#1d4ed8;--primary-active:#1e40af;--primary-text:#1d4ed8;--on-primary:#fafafa;--accent:#eff6ff;--accent-fg:#1e3a8a;--accent-bd:#bfdbfe;--success:#16a34a;--success-bg:#f0fdf4;--success-fg:#14532d;--success-text:#15803d;--warning:#d97706;--warning-bg:#fffbeb;--warning-fg:#78350f;--warning-text:#b45309;--warning-bd:#fde68a;--danger:#dc2626;--danger-bg:#fef2f2;--danger-fg:#7f1d1d;--danger-text:#b91c1c;--danger-bd:#fecaca;--danger-bd-strong:#fca5a5;--shadow-sm:0 1px 2px #18181b0d;--shadow-md:0 8px 24px #18181b14;--shadow-lg:0 16px 40px #18181b1f;--rail-bg:#111113;--rail-fg:#8b8b94;--rail-fg-hover:#e4e4e7;--rail-fg-active:#fafafa;--rail-hover:#1c1c20;--rail-active:#232327;--rail-divider:#27272a;--rail-indicator:#3b82f6}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;overflow:hidden}body{font-family:var(--font-sans,"Inter Variable", "Inter", -apple-system, "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif);color:var(--fg);background:var(--canvas);-webkit-font-smoothing:antialiased;font-size:14px;line-height:22px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--primary);outline-offset:2px}::selection{color:var(--accent-fg);background:var(--accent-bd)}.mono{font-family:var(--font-mono,"JetBrains Mono", "SF Mono", Consolas, monospace);font-variant-numeric:tabular-nums}.ai-tag{background:var(--accent);height:18px;color:var(--accent-fg);white-space:nowrap;border-radius:4px;align-items:center;gap:3px;padding:0 6px;font-size:11px;font-weight:500;display:inline-flex}.ai-tag:before{content:"✦";font-size:10px}.app-shell{isolation:isolate;background:var(--canvas);grid-template-columns:60px minmax(0,1fr);height:100%;display:grid;overflow:hidden}.app-rail{z-index:50;background:var(--rail-bg);flex-direction:column;align-items:center;min-height:0;padding:12px 0;display:flex;position:relative}.app-rail__brand{width:32px;height:32px;color:var(--rail-bg);background:var(--rail-fg-active);cursor:pointer;border:0;border-radius:8px;flex:none;place-items:center;margin-bottom:16px;font-size:14px;font-weight:700;transition:background-color .12s;display:grid}.app-rail__brand:hover{background:#fff}.app-rail__nav{scrollbar-width:none;flex-direction:column;flex:1;align-items:center;width:100%;min-height:0;display:flex;overflow:hidden auto}.app-rail__group{flex-direction:column;align-items:center;gap:4px;list-style:none;display:flex}.app-rail__group+.app-rail__group:before{content:"";background:var(--rail-divider);width:24px;height:1px;margin:6px 0}.app-rail__item{width:40px;height:40px;color:var(--rail-fg);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;transition:color .12s,background-color .12s;display:grid;position:relative}.app-rail__item:hover{color:var(--rail-fg-hover);background:var(--rail-hover)}.app-rail__item:active{background:var(--rail-active)}.app-rail__item[aria-current=page]{color:var(--rail-fg-active);background:var(--rail-active)}.app-rail__item[aria-current=page]:before{content:"";background:var(--rail-indicator);border-radius:0 3px 3px 0;width:3px;position:absolute;top:10px;bottom:10px;left:-10px}.app-rail__avatar{width:32px;height:32px;color:var(--rail-fg-hover);cursor:pointer;background:#2a2a2f;border:0;border-radius:50%;flex:none;place-items:center;margin-top:12px;font-size:12px;font-weight:500;transition:background-color .12s;display:grid}.app-rail__avatar:hover,.app-rail__avatar[aria-expanded=true]{background:#3a3a40}.app-rail-tip{color:var(--rail-fg-active);background:var(--fg);box-shadow:var(--shadow-md);white-space:nowrap;pointer-events:none;border-radius:6px;padding:4px 8px;font-size:12px;line-height:18px;position:fixed;left:68px;transform:translateY(-50%)}.app-user-menu{background:var(--surface);border:1px solid var(--border);width:220px;box-shadow:var(--shadow-md);border-radius:10px;padding:6px;position:absolute;bottom:12px;left:calc(100% + 8px)}.app-user-menu__identity{border-bottom:1px solid var(--hairline);margin-bottom:4px;padding:6px 8px 8px;line-height:18px;display:grid}.app-user-menu__identity strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.app-user-menu__identity small{color:var(--muted);font-size:12px}.app-user-menu__item{width:100%;height:32px;color:var(--fg);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;padding:0 8px;font-size:13px;transition:background-color .12s;display:flex}.app-user-menu__item:hover,.app-user-menu__item:focus-visible{background:var(--muted-bg)}.app-main{flex-direction:column;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.app-topbar{background:var(--surface);border-bottom:1px solid var(--hairline);flex:none;align-items:center;gap:8px;height:56px;padding:0 24px;display:flex}.app-topbar__crumb{color:var(--muted);white-space:nowrap;align-items:center;gap:8px;font-size:13px;display:inline-flex}.app-topbar__crumb span{color:var(--input)}.app-topbar h1{text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.01em;min-width:0;font-size:15px;font-weight:600;line-height:24px;overflow:hidden}.app-topbar__clock{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto;font-size:12px}.app-main__route{background:var(--canvas);flex:1;min-width:0;min-height:0;overflow:hidden}.app-page{height:100%;padding:24px;overflow:auto}.app-page__inner{width:min(1360px,100%);margin:0 auto}.page-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:20px;display:flex}.page-header--compact{background:var(--surface);border-bottom:1px solid var(--hairline);align-items:center;min-height:48px;margin-bottom:0;padding:8px 16px}.page-header__copy{min-width:0}.page-header--untitled .page-header__copy{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.page-header__title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.page-header h2{color:var(--fg);letter-spacing:-.02em;font-size:20px;font-weight:600;line-height:28px}.page-header--compact h2{font-size:15px;line-height:24px}.page-header p{max-width:72ch;color:var(--muted);margin-top:4px;font-size:13px;line-height:20px}.page-header--untitled p{margin-top:0}.page-header__meta,.page-header__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.page-header__actions{justify-content:flex-end}.saas-button{min-height:32px;color:var(--neutral-800);background:var(--surface);border:1px solid var(--border);cursor:pointer;white-space:nowrap;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:500;line-height:20px;text-decoration:none;transition:color .12s,background-color .12s,border-color .12s;display:inline-flex}.saas-button:hover{background:var(--hover);border-color:var(--input)}.saas-button:active{background:var(--muted-bg)}.saas-button--primary{color:var(--on-primary);background:var(--primary);border-color:var(--primary)}.saas-button--primary:hover{color:var(--on-primary);background:var(--primary-hover);border-color:var(--primary-hover)}.saas-button--primary:active{background:var(--primary-active)}.saas-button--ghost{color:var(--neutral-600);background:0 0;border-color:#0000}.saas-button--ghost:hover{color:var(--fg);background:var(--muted-bg);border-color:#0000}.saas-button--danger{color:var(--danger-text);border-color:var(--danger-bd)}.saas-button--danger:hover{background:var(--danger-bg);border-color:var(--danger-bd-strong)}.saas-button--sm{min-height:28px;padding:0 10px;font-size:12px}.saas-button:disabled,.saas-button[aria-disabled=true]{cursor:not-allowed;opacity:.45}.saas-button:disabled:hover,.saas-button[aria-disabled=true]:hover{background:var(--surface);border-color:var(--border)}.saas-button--primary:disabled:hover,.saas-button--primary[aria-disabled=true]:hover{background:var(--primary);border-color:var(--primary)}.saas-badge{min-height:20px;color:var(--neutral-600);background:var(--muted-bg);white-space:nowrap;border-radius:6px;flex-shrink:0;align-items:center;gap:4px;padding:0 6px;font-size:11px;font-weight:500;line-height:16px;display:inline-flex}.saas-badge--blue{color:var(--primary-text);background:var(--accent)}.saas-badge--success{color:var(--success-text);background:var(--success-bg)}.saas-badge--warning{color:var(--warning-text);background:var(--warning-bg)}.saas-badge--danger{color:var(--danger-text);background:var(--danger-bg)}.saas-badge--dot:before{content:"";background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.saas-panel{background:var(--surface);border:1px solid var(--hairline);border-radius:12px;min-width:0}.saas-panel__header{border-bottom:1px solid var(--hairline);align-items:center;gap:8px;min-height:44px;padding:0 16px;display:flex}.saas-panel__title{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.saas-panel__meta{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.saas-panel__actions{align-items:center;gap:6px;margin-left:auto;display:flex}.saas-tabs{background:var(--muted-bg);border-radius:8px;flex-shrink:0;align-items:center;padding:2px;display:inline-flex}.saas-tabs__tab{min-height:28px;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;padding:0 10px;font-size:13px;transition:color .12s,background-color .12s;display:inline-flex}.saas-tabs__tab:hover{color:var(--fg)}.saas-tabs__tab[aria-selected=true]{color:var(--fg);background:var(--surface);font-weight:500;box-shadow:0 1px 2px #18181b14}.saas-tabs--sm .saas-tabs__tab{min-height:24px;font-size:12px}.saas-tabs__count{color:var(--neutral-400);font-variant-numeric:tabular-nums}.saas-field{flex-direction:column;gap:6px;min-width:0;display:flex}.saas-field__label{color:var(--neutral-700);font-size:12px;font-weight:500}.saas-field__hint{color:var(--muted);font-size:11px;line-height:16px}.saas-input{width:100%;min-height:32px;color:var(--fg);background:var(--surface);border:1px solid var(--input);border-radius:6px;padding:0 10px;font-size:13px;transition:border-color .12s,box-shadow .12s}textarea.saas-input{resize:vertical;padding:8px 10px;line-height:20px}.saas-input::placeholder{color:var(--neutral-400)}.saas-input:hover{border-color:var(--neutral-400)}.saas-input:focus,.saas-input:focus-visible{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #2563eb26}.saas-input:disabled{color:var(--neutral-400);background:var(--muted-bg);cursor:not-allowed}.saas-alert,.saas-error,.saas-unavailable{color:var(--warning-fg);background:var(--warning-bg);border:1px solid var(--warning-bd);border-radius:8px;flex-wrap:wrap;align-items:baseline;gap:2px 8px;padding:10px 14px;font-size:13px;line-height:20px;display:flex}.saas-alert strong,.saas-error strong,.saas-unavailable strong{font-weight:600}.saas-alert--danger,.saas-error{color:var(--danger-fg);background:var(--danger-bg);border-color:var(--danger-bd)}.saas-alert--info{color:var(--accent-fg);background:var(--accent);border-color:var(--accent-bd)}.saas-empty{min-height:112px;color:var(--muted);border:1px dashed var(--border);text-align:center;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:24px;font-size:12px;line-height:18px;display:flex}.saas-empty--compact{text-align:left;border:0;align-items:flex-start;min-height:0;padding:12px}.saas-empty strong{color:var(--neutral-800);font-size:13px;font-weight:500}.saas-table{border-collapse:collapse;text-align:left;width:100%}.saas-table th{height:36px;color:var(--muted);white-space:nowrap;padding:0 16px;font-size:11px;font-weight:500}.saas-table td{color:var(--neutral-700);vertical-align:middle;padding:10px 16px;font-size:13px}.saas-table tbody tr{border-top:1px solid var(--hairline);transition:background-color .12s}.saas-table tbody tr:hover{background:var(--hover)}.saas-table tbody tr.selected,.saas-table tbody tr.selected:hover{background:var(--accent)}.saas-table .is-num{font-variant-numeric:tabular-nums;text-align:right}.saas-stat__label{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}.saas-stat__value{color:var(--fg);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:6px;font-size:24px;font-weight:600;line-height:1}.saas-stat__unit{color:var(--neutral-400);letter-spacing:0;margin-left:2px;font-size:13px;font-weight:500}.saas-stat__delta{margin-top:6px;font-size:12px}.saas-stat__delta--good{color:var(--success-text)}.saas-stat__delta--bad{color:var(--warning-text)}@media (width<=1080px){.app-page{padding:20px}}@media (width<=720px){.app-shell{grid-template-rows:minmax(0,1fr) 56px;grid-template-columns:minmax(0,1fr)}.app-rail{flex-direction:row;grid-row:2;gap:8px;min-width:0;padding:0 8px}.app-rail__brand{display:none}.app-rail__nav{flex-direction:row;height:100%;overflow:auto hidden}.app-rail__group{flex-direction:row}.app-rail__group+.app-rail__group:before{width:1px;height:24px;margin:0 6px}.app-rail__item[aria-current=page]:before{border-radius:0 0 3px 3px;width:auto;height:3px;inset:-8px 10px auto}.app-rail__avatar{margin-top:0}.app-rail-tip{display:none}.app-user-menu{inset:auto 8px calc(100% + 8px) auto}.app-topbar{height:52px;padding:0 16px}.app-page{padding:16px}.page-header:not(.page-header--compact),.page-header--compact{flex-direction:column;align-items:flex-start;gap:10px;height:auto}.page-header--compact{min-height:0;padding:10px 12px}.page-header__actions{justify-content:flex-start;width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@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-border-style{syntax:"*";inherits:false;initial-value:solid}@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}.app-rail__dot{background:var(--warning);width:8px;height:8px;box-shadow:0 0 0 2px var(--rail-bg);pointer-events:none;border-radius:50%;position:absolute;top:6px;right:6px}.app-rail__item:hover .app-rail__dot{box-shadow:0 0 0 2px var(--rail-hover)}.app-rail__item[aria-current=page] .app-rail__dot{box-shadow:0 0 0 2px var(--rail-active)}.aud-page{background:var(--canvas);flex-direction:column;height:100%;display:flex;overflow:hidden}.aud-page>.page-header{flex-shrink:0}.aud-content{flex:1;grid-template-columns:240px minmax(0,1fr) 320px;min-height:0;display:grid}.aud-muted{color:var(--muted);font-size:12px}.aud-seglist{background:var(--surface);border-right:1px solid var(--hairline);min-height:0;padding:8px;overflow-y:auto}.aud-group{color:var(--muted);padding:8px 8px 6px;font-size:12px;font-weight:500;line-height:18px}.aud-segcard{width:100%;color:var(--fg);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;flex-direction:column;gap:2px;padding:8px 10px;transition:background-color .12s;display:flex}.aud-segcard:hover{background:var(--hover)}.aud-segcard.on{background:var(--muted-bg)}.aud-segcard__top{align-items:center;gap:8px;min-width:0;display:flex}.aud-segcard__name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:500;line-height:20px;overflow:hidden}.aud-segcard__rules{color:var(--muted);overflow-wrap:anywhere;font-size:11px;line-height:16px}.aud-center{flex-direction:column;gap:20px;min-width:0;min-height:0;padding:20px;display:flex;overflow-y:auto}.aud-builder__header{flex-wrap:wrap;padding:6px 16px}.aud-builder__name{width:200px;min-height:28px}.aud-save-error{overflow-wrap:anywhere;margin:12px 16px 0}.aud-builder__body{gap:12px;padding:16px;display:grid}.aud-builder__match{color:var(--muted);align-items:center;gap:10px;font-size:12px;display:flex}.aud-rules{gap:8px;display:grid}.aud-rule-row{grid-template-columns:32px 150px 100px minmax(0,1fr) 28px;align-items:center;gap:8px;display:grid}.aud-rule-glue{color:var(--muted);text-align:right;font-size:12px}.aud-rule-del{width:28px;padding:0;font-size:16px}.aud-builder__foot{flex-wrap:wrap;align-items:center;gap:8px 12px;padding-left:40px;display:flex}.aud-estimate{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:4px;margin-left:auto;font-size:12px;display:flex}.aud-estimate b{color:var(--fg);font-variant-numeric:tabular-nums;font-size:15px;font-weight:600}.aud-estimate small{margin-left:4px;font-size:11px}.aud-estimate__error{color:var(--danger-text)}.aud-results__header{flex-wrap:wrap;padding:6px 16px}.aud-results__hint{color:var(--muted);font-size:12px}.aud-table-wrap{overflow-x:auto}.aud-table-wrap td{white-space:nowrap}.aud-table-wrap tbody tr{cursor:pointer}.aud-customer-button{color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;display:flex}.aud-customer-button__name{flex-direction:column;min-width:0;display:flex}.aud-customer-button b{color:var(--fg);font-size:13px;font-weight:500;line-height:18px;transition:color .12s}.aud-customer-button:hover b{color:var(--primary-text)}.aud-customer-button small{max-width:120px;color:var(--muted);text-overflow:ellipsis;font-size:11px;line-height:16px;overflow:hidden}.aud-avatar{width:32px;height:32px;color:var(--neutral-600);background:var(--muted-bg);border-radius:50%;flex-shrink:0;place-items:center;font-size:12px;font-weight:500;display:inline-grid}.aud-avatar--sm{width:24px;height:24px;font-size:11px}.aud-tags{flex-wrap:wrap;gap:4px;min-width:150px;max-width:260px;display:flex}.aud-drawer{background:var(--surface);border-left:1px solid var(--hairline);flex-direction:column;gap:20px;min-height:0;padding:16px;display:flex;overflow-y:auto}.aud-profile{align-items:center;gap:12px;min-width:0;display:flex}.aud-profile__id{flex-direction:column;min-width:0;display:flex}.aud-profile__id b{overflow-wrap:anywhere;font-size:14px;font-weight:600;line-height:20px}.aud-profile__id small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.aud-consent-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.aud-consent-row .saas-button{margin-left:auto}.aud-section h3{align-items:center;gap:6px;margin-bottom:8px;font-size:12px;font-weight:500;line-height:18px;display:flex}.aud-idmerge{list-style:none}.aud-idrow{border-top:1px solid var(--hairline);align-items:center;gap:8px;min-width:0;padding:8px 0;font-size:12px;display:flex}.aud-idrow__channel{width:88px;color:var(--muted);flex-shrink:0}.aud-idrow .mono{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.aud-kv{grid-template-columns:auto minmax(0,1fr);gap:6px 12px;font-size:12px;display:grid}.aud-kv dt{color:var(--muted)}.aud-kv dd{text-align:right;overflow-wrap:anywhere}.aud-note{color:var(--muted);margin-top:8px;font-size:11px;line-height:16px}@media (width<=1180px){.aud-content{grid-template-rows:none;grid-template-columns:220px minmax(0,1fr);grid-auto-rows:max-content;overflow-y:auto}.aud-seglist{grid-row:1/span 2;overflow:visible}.aud-center,.aud-drawer{overflow:visible}.aud-drawer{border-top:1px solid var(--hairline);border-left:0;grid-column:2}}@media (width<=720px){.aud-content{grid-template-columns:minmax(0,1fr)}.aud-seglist{border-right:0;border-bottom:1px solid var(--hairline);grid-row:auto;max-height:240px;overflow-y:auto}.aud-drawer{grid-column:auto}.aud-center{gap:12px;padding:12px}.aud-builder__name{order:1;width:100%}.aud-builder__header .saas-panel__actions{order:2}.aud-rule-row{grid-template-columns:24px minmax(0,1fr) minmax(0,1fr) 28px}.aud-rule-value{grid-column:2/4}.aud-builder__foot{padding-left:0}.aud-estimate{margin-left:0}}.inbox{background:var(--canvas);flex-direction:column;height:100%;display:flex;overflow:hidden}.inbox>.page-header{flex-shrink:0;position:relative}.inbox-body{flex:1;grid-template-columns:320px minmax(0,1fr) 300px;min-height:0;display:grid}.inbox-muted{color:var(--muted);font-size:12px;line-height:18px}.inbox-avatar{color:var(--muted);background:var(--muted-bg);border-radius:50%;flex-shrink:0;place-items:center;font-weight:500;display:inline-grid}.inbox-avatar--sm{width:24px;height:24px;font-size:11px}.inbox-avatar--md{width:32px;height:32px;font-size:12px}.inbox-avatar--lg{width:40px;height:40px;font-size:13px}.inbox-dot{background:var(--muted);border-radius:50%;flex-shrink:0;width:6px;height:6px}.inbox-dot--blue{background:var(--primary)}.inbox-dot--warning{background:var(--warning)}.inbox-dot--success{background:var(--success)}.inbox-dev{align-items:center;gap:2px;display:flex;position:relative}.inbox-dev__label{margin-right:2px}.inbox-dev__popover{z-index:50;background:var(--surface);border:1px solid var(--hairline);width:min(360px,100vw - 32px);box-shadow:var(--shadow-md);border-radius:10px;gap:10px;padding:12px;display:grid;position:absolute;top:calc(100% + 6px);right:0}.inbox-dev__samples{flex-wrap:wrap;gap:6px;display:flex}.inbox-dev__sample{cursor:pointer;border:0}.inbox-dev__sample:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.inbox-dev__footer{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.inbox-dev__ok,.inbox-dev__err{margin-right:auto;font-size:12px}.inbox-dev__ok{color:var(--success-fg)}.inbox-dev__err{color:var(--danger-fg)}.inbox-queue{background:var(--surface);border-right:1px solid var(--hairline);flex-direction:column;min-width:0;min-height:0;display:flex}.inbox-queue__filters{border-bottom:1px solid var(--hairline);gap:10px;padding:12px;display:grid}.inbox-search{display:block;position:relative}.inbox-search__icon{color:var(--muted);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.inbox-search .saas-input{padding-left:30px}.inbox-queue__tabs{justify-self:start;max-width:100%;overflow-x:auto}.inbox-queue__tabs .saas-tabs__tab{gap:4px;padding:0 8px}.inbox-queue__count--alert{color:var(--warning-fg);font-weight:600}.inbox-queue__error{margin:8px 12px 0;font-size:12px}.inbox-queue__list{flex:1;min-height:0;margin:0;padding:0;list-style:none;overflow-y:auto}.inbox-queue__empty{color:var(--muted);text-align:center;padding:24px;font-size:12px}.inbox-queue__row{width:100%;color:var(--fg);border:0;border-bottom:1px solid var(--hairline);cursor:pointer;text-align:left;background:0 0;gap:12px;padding:12px;transition:background-color .12s;display:flex}.inbox-queue__row:hover{background:var(--hover)}.inbox-queue__row.is-selected{background:var(--accent)}.inbox-queue__row:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.inbox-queue__main{flex-direction:column;flex:1;align-items:flex-start;gap:4px;min-width:0;display:flex}.inbox-queue__line{align-items:center;gap:6px;width:100%;min-width:0;display:flex}.inbox-queue__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:500;overflow:hidden}.inbox-queue__wait{color:var(--muted);font-variant-numeric:tabular-nums;flex-shrink:0;margin-left:auto;font-size:11px}.inbox-queue__line--meta{font-size:11px;line-height:16px}.inbox-queue__channel{color:var(--muted)}.inbox-queue__emotion{align-items:center;gap:6px;display:flex}.inbox-queue__reason{max-width:100%;color:var(--warning-fg);text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:16px;overflow:hidden}.inbox-thread{background:var(--canvas);flex-direction:column;min-width:0;min-height:0;display:flex}.inbox-thread__header{background:var(--surface);border-bottom:1px solid var(--hairline);flex-shrink:0;align-items:center;gap:6px 8px;min-height:48px;padding:8px 16px;display:flex}.inbox-thread__title{text-overflow:ellipsis;white-space:nowrap;min-width:48px;font-size:14px;font-weight:600;overflow:hidden}.inbox-thread__id{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1 1 0;font-size:11px;overflow:hidden}.inbox-thread__actions{flex-shrink:0;gap:8px;margin-left:auto;display:flex}.inbox-thread__placeholder{color:var(--muted);font-size:13px}.inbox-thread__notice{color:var(--warning-fg);background:var(--warning-bg);border-bottom:1px solid var(--hairline);flex-wrap:wrap;flex-shrink:0;align-items:baseline;gap:2px 10px;padding:8px 16px;font-size:12px;line-height:18px;display:flex}.inbox-thread__notice strong{font-weight:600}.inbox .assistant-timeline-status{border-bottom-color:var(--hairline);flex-shrink:0;padding:6px 16px}.inbox-thread__log{flex:1;min-height:0;padding:20px 24px;overflow-y:auto}.inbox-thread__state{color:var(--muted);text-align:center;padding:24px;font-size:13px}.inbox-thread__state--empty{padding:48px 24px}.inbox-thread__error{margin-bottom:16px}.inbox-note{color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 8px;margin:0 0 16px;font-size:11px;display:flex}.inbox-note>span:first-child{background:var(--surface);border:1px solid var(--hairline);text-align:center;border-radius:999px;padding:4px 12px;font-size:12px;line-height:18px}.inbox-msg{flex-direction:column;align-items:flex-start;max-width:72%;margin:0 0 16px;display:flex}.inbox-msg--ai,.inbox-msg--agent{align-items:flex-end;margin-left:auto}.inbox-msg__meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:4px;font-size:11px;line-height:18px;display:flex}.inbox-msg__bubble{max-width:100%;color:var(--fg);background:var(--surface);border:1px solid var(--hairline);overflow-wrap:anywhere;border-radius:12px;flex-direction:column;align-items:flex-start;gap:6px;padding:10px 14px;font-size:14px;line-height:22px;display:flex}.inbox-msg--ai .inbox-msg__bubble{background:var(--accent);border-color:#0000}.inbox-msg--agent .inbox-msg__bubble{background:var(--muted-bg);border-color:#0000}.inbox-msg__text{white-space:pre-wrap}.inbox-msg__hint{color:var(--muted);font-size:12px;line-height:18px}.inbox-media{border:1px solid var(--hairline);border-radius:8px;max-width:100%;display:block}.inbox-media--image{object-fit:cover;max-width:min(240px,100%);max-height:220px}.inbox-media--video{background:var(--fg);width:260px}.inbox-media--map{object-fit:cover;max-width:min(220px,100%);max-height:140px;margin-top:4px}.inbox-attachment{background:var(--surface);border:1px solid var(--hairline);border-radius:8px;align-items:center;gap:8px;max-width:100%;padding:8px 10px;display:flex}.inbox-attachment--stack{gap:4px;display:grid}.inbox-attachment audio{width:220px;max-width:100%}.inbox-attachment__icon{width:28px;height:28px;color:var(--muted);background:var(--muted-bg);border-radius:6px;flex-shrink:0;place-items:center;display:inline-grid}.inbox-attachment__body{min-width:0}.inbox-attachment__name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.inbox-composer{background:var(--surface);border-top:1px solid var(--hairline);flex-direction:column;flex-shrink:0;gap:8px;padding:12px;display:flex}.inbox-composer .copilot-panel{background:var(--accent);border-top:0;border-radius:8px;max-height:min(45vh,420px)}.inbox-composer .copilot-toggle{color:var(--accent-fg);background:0 0;border-radius:8px;padding:8px 12px;font-size:12px}.inbox-composer .copilot-toggle>span:last-child{color:var(--accent-fg)}.inbox-composer .copilot-content{padding:0 12px 12px}.inbox-composer .saas-input{resize:none;height:80px}.inbox-composer__error{font-size:12px;line-height:18px}.inbox-link-button{color:var(--primary);cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.inbox-link-button:disabled{cursor:not-allowed;opacity:.45}.inbox-link-button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.inbox-composer__footer{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.inbox-composer__hint{color:var(--muted);margin-right:auto;font-size:12px}.inbox-context{background:var(--surface);border-left:1px solid var(--hairline);flex-direction:column;gap:16px;min-width:0;min-height:0;padding:16px;display:flex;overflow-y:auto}.inbox-profile__who{align-items:center;gap:12px;display:flex}.inbox-profile__name{min-width:0}.inbox-profile__id{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.inbox-profile__channel{margin-top:4px}.inbox-profile__fields{gap:8px;margin:14px 0 0;font-size:12px;display:grid}.inbox-profile__field{justify-content:space-between;gap:12px;display:flex}.inbox-profile__field dt,.inbox-profile__field dd{color:var(--muted)}.inbox-profile__field dd{margin:0}.inbox-card{border:1px solid var(--hairline);border-radius:8px;padding:12px;font-size:12px;line-height:20px}.inbox-card__title{align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.inbox-emotion__score{font-variant-numeric:tabular-nums;margin-left:auto}.inbox-emotion__trend,.inbox-emotion__reasons{color:var(--muted)}.inbox-emotion__trend{margin-top:6px}.inbox-emotion__flags{margin-top:4px}.inbox-emotion__reasons{margin:6px 0 0;padding-left:16px;line-height:18px}.inbox-emotion--warning{border-color:color-mix(in srgb, var(--warning) 35%, var(--surface))}.inbox-emotion--warning :is(.inbox-emotion__score,.inbox-emotion__flags){color:var(--warning-fg)}.inbox-emotion--danger{border-color:color-mix(in srgb, var(--danger) 30%, var(--surface))}.inbox-emotion--danger :is(.inbox-emotion__score,.inbox-emotion__flags){color:var(--danger)}.inbox-exception__reason{margin:6px 0 0}.inbox-exception__error{margin-top:8px;padding:6px 10px;font-size:12px;line-height:18px}.inbox-exception__actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.inbox-exception--escalated{color:var(--warning-fg);background:var(--warning-bg);border-color:color-mix(in srgb, var(--warning) 35%, var(--surface))}.inbox-exception--handled{color:var(--accent-fg);background:var(--accent);border-color:var(--accent-bd)}.inbox-exception--resolved{color:var(--success-fg);background:var(--success-bg);border-color:color-mix(in srgb, var(--success) 30%, var(--surface))}.inbox-history{border-top:1px solid var(--hairline);padding-top:12px}.inbox-history__title{margin-bottom:6px;font-size:12px;font-weight:600}@media (width<=1180px){.inbox-body{grid-template-columns:280px minmax(0,1fr) 260px}}@media (width<=920px){.inbox{overflow-y:auto}.inbox-body{flex-direction:column;flex:none;display:flex}.inbox-queue{border-right:0;border-bottom:1px solid var(--hairline);max-height:360px}.inbox-thread{height:calc(100dvh - 112px);min-height:480px}.inbox-thread__header{flex-wrap:wrap}.inbox-thread__id{flex-basis:100%;order:1}.inbox-thread__log{padding:16px}.inbox-msg{max-width:88%}.inbox-composer__hint{display:none}.inbox-composer__send{margin-left:auto}.inbox-context{border-top:1px solid var(--hairline);border-left:0;overflow:visible}.inbox-dev{position:static}.inbox-dev__popover{width:auto;top:calc(100% - 4px);left:16px;right:16px}}.campaign-page{flex-direction:column;height:100%;display:flex}.campaign-body{flex:1;min-height:0;padding:24px;overflow-y:auto}.campaign-body>*{width:min(1240px,100%);margin-left:auto;margin-right:auto}.campaign-body>*+*{margin-top:20px}.campaign-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:20px;display:grid}.campaign-steps{list-style:none}.campaign-step{grid-template-columns:24px minmax(0,1fr);gap:12px;padding:20px;display:grid}.campaign-step+.campaign-step{border-top:1px solid var(--hairline)}.campaign-step__num{width:24px;height:24px;color:var(--surface);background:var(--fg);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;font-size:12px;font-weight:600;display:grid}.campaign-step__body{gap:12px;min-width:0;display:grid}.campaign-step__body h3{font-size:13px;font-weight:600;line-height:24px}.campaign-check{color:var(--fg);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:inline-flex}.campaign-check input{width:14px;height:14px;accent-color:var(--primary)}.campaign-window{grid-template-columns:minmax(0,1fr) 120px 120px;gap:12px;display:grid}.campaign-summary{position:sticky;top:0}.campaign-summary__list{gap:8px;padding:12px 16px;font-size:13px;line-height:20px;display:grid}.campaign-summary__list>div{justify-content:space-between;gap:12px;display:flex}.campaign-summary__list dt{color:var(--muted);flex-shrink:0}.campaign-summary__list dd{overflow-wrap:anywhere;text-align:right;min-width:0;font-weight:500}.campaign-summary__foot{border-top:1px solid var(--hairline);color:var(--muted);gap:8px;padding:16px;font-size:12px;line-height:20px;display:grid}.campaign-disclosure strong{color:var(--warning-fg);margin-right:6px;font-weight:600}.campaign-submit{width:100%;margin-top:4px}.campaign-results__empty,.campaign-outcome{padding:16px}.campaign-outcome__bar{background:var(--muted-bg);border-radius:999px;gap:2px;height:8px;display:flex;overflow:hidden}.campaign-outcome__seg{background:var(--input);flex-basis:0;min-width:3px}.campaign-outcome__seg--success{background:var(--success)}.campaign-outcome__seg--warning{background:var(--warning)}.campaign-outcome__seg--danger{background:var(--danger)}.campaign-outcome__legend{flex-wrap:wrap;gap:8px 20px;margin-top:12px;list-style:none;display:flex}.campaign-outcome__legend li{align-items:center;gap:6px;display:inline-flex}.campaign-outcome__legend strong{font-variant-numeric:tabular-nums;font-size:13px;font-weight:500}.campaign-table{border-top:1px solid var(--hairline);overflow-x:auto}.campaign-table .saas-table{min-width:640px}@media (width<=920px){.campaign-layout{grid-template-columns:minmax(0,1fr)}.campaign-summary{position:static}}@media (width<=720px){.campaign-page{overflow-y:auto}.campaign-page>.page-header{flex-shrink:0}.campaign-body{flex:none;padding:16px;overflow:visible}.campaign-step{padding:16px}.campaign-window{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.campaign-window>:first-child{grid-column:1/-1}}.channel-page{flex-direction:column;height:100%;display:flex}.channel-body{flex:1;min-height:0;padding:24px;overflow-y:auto}.channel-body>*{width:min(1240px,100%);margin-left:auto;margin-right:auto}.channel-body>*+*{margin-top:20px}.channel-sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.channel-strip{background:var(--surface);border:1px solid var(--hairline);border-radius:12px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));list-style:none;display:grid;overflow:hidden}.channel-strip__cell{border-right:1px solid var(--hairline);border-bottom:1px solid var(--hairline);min-width:0;margin:0 -1px -1px 0;padding:14px 16px}.channel-strip__name{align-items:center;gap:8px;font-size:13px;display:flex}.channel-strip__name strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:500;overflow:hidden}.channel-strip__status{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:12px}.channel-dot{background:var(--neutral-400);border-radius:50%;flex-shrink:0;width:8px;height:8px}.channel-strip__cell--ok .channel-dot{background:var(--success)}.channel-strip__cell--degraded .channel-dot{background:var(--warning)}.channel-strip__cell--down .channel-dot{background:var(--danger)}.channel-strip__note,.channel-strip__error{overflow-wrap:anywhere;margin-top:4px;font-size:12px;line-height:18px}.channel-strip__note{color:var(--muted)}.channel-strip__error{color:var(--warning-text)}.channel-strip__cell--down .channel-strip__error{color:var(--danger-text)}.channel-panel-header{flex-wrap:wrap;height:auto;min-height:44px;padding-top:8px;padding-bottom:8px}.channel-panel-header .saas-panel__meta{white-space:normal}.channel-panel-empty{padding:16px}.channel-scroll{overflow-x:auto}.channel-table{min-width:720px}.channel-table tbody th{color:var(--fg);text-align:left;vertical-align:top;white-space:nowrap;padding:10px 16px;font-size:13px;font-weight:500}.channel-table td{vertical-align:top}.channel-table small{color:var(--muted);white-space:nowrap;margin-top:4px;font-size:11px;font-weight:400;display:block}.channel-table .is-center{text-align:center}.channel-tags{flex-wrap:wrap;gap:4px;display:flex}.channel-muted{color:var(--muted);font-size:12px}.channel-check{color:var(--input)}.channel-check--on{color:var(--success)}.channel-error-text{color:var(--danger-text)}@media (width<=720px){.channel-page{overflow-y:auto}.channel-body{flex:none;padding:16px;overflow:visible}.channel-strip{grid-template-columns:minmax(0,1fr)}}.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:#555;--xy-background-pattern-lines-color-default:#333;--xy-background-pattern-cross-color-default:#333;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#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;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{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))}.flow-page{min-width:0;height:100%;color:var(--fg);background:var(--canvas);flex-direction:column;display:flex;overflow:hidden}.flow-page>.page-header{flex-shrink:0}.flow-toolbar-name{max-width:240px;color:var(--fg);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.flow-notice{min-height:36px;color:var(--accent-fg);background:var(--accent);border-bottom:1px solid var(--accent-bd);flex-shrink:0;align-items:center;gap:8px;padding:6px 16px;font-size:12px;line-height:18px;display:flex}.flow-notice a{color:var(--primary-text);font-weight:500}.flow-notice>span{min-height:18px;color:var(--on-primary);background:var(--primary);border-radius:4px;flex-shrink:0;align-items:center;padding:0 6px;font-size:11px;font-weight:500;display:inline-flex}.flow-notice button{width:24px;height:24px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;flex-shrink:0;margin-left:auto;font-size:16px;line-height:1}.flow-notice button:hover{background:var(--surface)}.flow-notice.is-error{color:var(--danger-fg);background:var(--danger-bg);border-color:var(--danger-bd)}.flow-notice.is-error>span{background:var(--danger)}.flow-workspace{flex:1;grid-template-columns:240px minmax(0,1fr) 320px;min-height:0;display:grid;overflow:hidden}.flow-left-rail,.flow-right-rail{background:var(--surface);flex-direction:column;min-width:0;min-height:0;display:flex}.flow-left-rail{border-right:1px solid var(--hairline);overflow-y:auto}.flow-right-rail{border-left:1px solid var(--hairline);overflow:hidden}.flow-rail-section+.flow-rail-section{border-top:1px solid var(--hairline);margin-top:8px}.flow-section-head{min-height:40px;color:var(--muted);justify-content:space-between;align-items:center;gap:8px;padding:12px 16px 6px;font-size:12px;font-weight:500;display:flex}.flow-section-head .mono{max-width:160px;color:var(--neutral-400);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:400;overflow:hidden}.flow-section-count{color:var(--neutral-400);font-variant-numeric:tabular-nums;font-size:11px}.flow-rail-hint{color:var(--muted);padding:0 16px 8px;font-size:11px;line-height:16px}.flow-definition-list{gap:2px;max-height:248px;padding:0 8px;display:grid;overflow-y:auto}.flow-definition-list>.saas-empty--compact{padding:4px 8px 8px}.flow-definition-item{text-align:left;width:100%;min-width:0;min-height:34px;color:var(--neutral-700);cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;font-size:13px;transition:color .12s,background-color .12s;display:flex}.flow-definition-item:hover:not(:disabled){color:var(--fg);background:var(--hover)}.flow-definition-item.is-active{color:var(--fg);background:var(--muted-bg);font-weight:500}.flow-definition-item:disabled{cursor:default}.flow-definition-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.flow-definition-item small{color:var(--muted);flex-shrink:0;font-size:11px;font-weight:400}.flow-live-dot{background:var(--input);border-radius:50%;flex-shrink:0;width:6px;height:6px}.flow-live-dot.is-live{background:var(--success)}.flow-create-row{gap:6px;padding:8px 16px 12px;display:flex}.flow-create-row .saas-input{flex:1;min-width:0;min-height:28px;font-size:12px}.flow-palette{gap:4px;padding:0 8px 16px;display:grid}.flow-palette-item{background:var(--surface);border:1px solid var(--hairline);cursor:grab;border-radius:8px;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:44px;padding:6px 4px 6px 8px;transition:border-color .12s;display:grid}.flow-palette-item:hover:not(.is-disabled){border-color:var(--input)}.flow-palette-item:active:not(.is-disabled){cursor:grabbing}.flow-palette-item.is-disabled{cursor:not-allowed;opacity:.5}.flow-palette-code{height:24px;color:var(--neutral-600);background:var(--muted-bg);letter-spacing:.04em;border-radius:4px;justify-content:center;align-items:center;font-size:10px;font-weight:600;display:inline-flex}.flow-palette-copy{min-width:0;display:grid}.flow-palette-copy strong{color:var(--fg);align-items:center;gap:6px;font-size:12px;font-weight:500;line-height:18px;display:flex}.flow-palette-copy small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:16px;overflow:hidden}.flow-palette-add{width:28px;padding:0;font-size:16px}.flow-palette-add:disabled:hover{background:0 0;border-color:#0000}.flow-canvas-shell{background:var(--canvas);min-width:0;min-height:0;position:relative}.flow-canvas-empty,.flow-canvas-shell>.react-flow{width:100%;height:100%}.flow-canvas-empty{justify-content:center;align-items:center;padding:24px;display:flex}.flow-canvas-empty .saas-empty{background:var(--surface);width:min(360px,100%)}.flow-canvas-shell .react-flow{--xy-controls-button-background-color:var(--surface);--xy-controls-button-background-color-hover:var(--hover);--xy-controls-button-color:var(--neutral-600);--xy-controls-button-color-hover:var(--fg);--xy-controls-button-border-color:var(--hairline);--xy-controls-box-shadow:var(--shadow-sm);--xy-minimap-background-color:var(--surface)}.flow-canvas-caption{z-index:4;pointer-events:none;position:absolute;top:12px;left:12px}.flow-canvas-tools{gap:6px;margin:12px;display:flex}.flow-canvas-shell .react-flow__controls{border:1px solid var(--hairline);border-radius:8px;overflow:hidden}.flow-canvas-shell .react-flow__minimap{border:1px solid var(--hairline);box-shadow:var(--shadow-sm);border-radius:8px;overflow:hidden}.flow-canvas-shell .react-flow__edge.selected .react-flow__edge-path,.flow-canvas-shell .react-flow__edge:focus-visible .react-flow__edge-path{stroke:var(--primary)!important;stroke-width:2px!important}.flow-node{width:208px;color:var(--fg);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:10px 12px;transition:border-color .12s,box-shadow .12s;position:relative;box-shadow:0 1px 2px #18181b0f}.flow-node:hover{border-color:var(--input)}.flow-node.is-selected{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb26}.flow-node-head{align-items:center;gap:6px;min-height:20px;margin-bottom:4px;display:flex}.flow-node-code{color:var(--neutral-400);letter-spacing:.06em;font-size:10px;font-weight:600}.flow-node-status{margin-left:auto}.flow-node-title{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;line-height:20px;overflow:hidden}.flow-node-desc{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:16px;overflow:hidden}.flow-node-ports{border-top:1px solid var(--hairline);margin:8px -12px -4px;padding-top:4px}.flow-port-label{color:var(--muted);text-align:right;padding:0 12px;font-size:10px;line-height:20px;position:relative}.flow-node .flow-handle{background:var(--surface);border:1.5px solid var(--primary);width:9px;height:9px}.flow-node .flow-handle:hover,.flow-node .flow-handle.connectingto,.flow-node .flow-handle.connectingfrom{background:var(--accent)}.flow-inspector-tabs{border-bottom:1px solid var(--hairline);flex-shrink:0;align-items:center;min-height:48px;padding:0 12px;display:flex}.flow-inspector-tabs .saas-tabs{width:100%}.flow-inspector-tabs .saas-tabs__tab{flex:1;justify-content:center}.flow-tab-alert{min-width:16px;height:16px;color:var(--surface);background:var(--danger);font-variant-numeric:tabular-nums;border-radius:8px;justify-content:center;align-items:center;padding:0 4px;font-size:10px;font-weight:600;display:inline-flex}.flow-inspector-scroll{flex:1;min-height:0;overflow-y:auto}.flow-inspector-section{padding-bottom:12px}.flow-inspector-section+.flow-inspector-section{border-top:1px solid var(--hairline)}.flow-inspector-section>.saas-empty--compact{padding:0 16px}.flow-form{gap:12px;padding:4px 16px;display:grid}.flow-node-summary{align-items:center;gap:8px;min-width:0;display:flex}.flow-node-summary strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;font-weight:600;overflow:hidden}.flow-form .saas-field__label .ai-tag{vertical-align:middle;margin-left:4px}.flow-form .saas-input.mono{font-size:12px}.flow-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.flow-form-grid .saas-field{justify-content:flex-end}.flow-gate-ok{color:var(--neutral-700);align-items:center;gap:8px;padding:0 16px;font-size:12px;line-height:18px;display:flex}.flow-gate-ok>span{width:18px;height:18px;color:var(--success-text);background:var(--success-bg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.flow-violations{gap:6px;padding:0 16px;display:grid}.flow-violations button{text-align:left;color:var(--danger-fg);background:var(--danger-bg);border:1px solid var(--danger-bd);cursor:pointer;border-radius:8px;gap:2px;padding:8px 10px;transition:border-color .12s;display:grid}.flow-violations button:hover{border-color:var(--danger-bd-strong)}.flow-violations strong{font-size:11px;font-weight:600}.flow-violations span{font-size:12px;line-height:18px}.flow-violations small{color:var(--danger-text);font-size:11px}.flow-diff-strip{color:var(--accent-fg);background:var(--accent);border:1px solid var(--accent-bd);border-radius:8px;flex-wrap:wrap;gap:4px 12px;margin:0 16px 8px;padding:8px 10px;font-size:12px;line-height:18px;display:flex}.flow-diff-strip strong{font-weight:600}.flow-diff-strip b{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:11px;font-weight:600}.flow-version-list{gap:2px;padding:0 8px;display:grid}.flow-version-list>.saas-empty--compact{padding:0 8px}.flow-version{border-radius:6px;align-items:center;gap:6px;min-width:0;padding-right:8px;transition:background-color .12s;display:flex}.flow-version:hover{background:var(--hover)}.flow-version.is-viewed{background:var(--accent)}.flow-version-main{text-align:left;min-width:0;color:var(--fg);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:1;gap:2px;padding:8px;display:grid}.flow-version-main:disabled{cursor:default}.flow-version-line{align-items:center;gap:8px;min-width:0;font-size:13px;display:flex}.flow-version-line strong{font-weight:600}.flow-version-kind{color:var(--muted);font-size:12px}.flow-version-line time{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto;font-size:11px}.flow-version-main small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.flow-wide{width:100%}.flow-run-loader{gap:6px;display:flex}.flow-run-loader .saas-input{flex:1;min-width:0;min-height:28px;font-size:12px}.flow-run-meta{background:var(--muted-bg);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;margin:12px 16px 0;padding:8px 10px;font-size:11px;display:grid}.flow-run-meta div{min-width:0}.flow-run-meta dt{color:var(--neutral-400);letter-spacing:.04em;font-size:10px}.flow-run-meta dd{color:var(--neutral-700);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.flow-trace{margin:12px 16px 0;display:grid}.flow-trace>.saas-empty--compact{padding:0}.flow-trace-row{text-align:left;width:100%;color:var(--fg);border:0;border-bottom:1px solid var(--hairline);cursor:pointer;background:0 0;grid-template-columns:8px 20px minmax(0,1fr) auto;align-items:start;gap:8px;padding:8px 4px;transition:background-color .12s;display:grid}.flow-trace-row:last-child{border-bottom:0}.flow-trace-row:hover{background:var(--hover)}.flow-trace-dot{background:var(--input);border-radius:50%;width:8px;height:8px;margin-top:5px}.flow-trace-row.status-succeeded .flow-trace-dot{background:var(--success)}.flow-trace-row.status-failed .flow-trace-dot,.flow-trace-row.status-indeterminate .flow-trace-dot{background:var(--danger)}.flow-trace-row.status-running .flow-trace-dot,.flow-trace-row.status-claimed .flow-trace-dot{background:var(--primary)}.flow-trace-index{color:var(--neutral-400);font-size:11px;line-height:18px}.flow-trace-main{gap:2px;min-width:0;display:grid}.flow-trace-main strong{font-size:12px;font-weight:500;line-height:18px}.flow-trace-main small,.flow-trace-status small{color:var(--muted);text-overflow:ellipsis;font-size:11px;overflow:hidden}.flow-trace-main em{color:var(--danger-text);font-size:11px;font-style:normal}.flow-trace-ai{color:var(--accent-fg);flex-wrap:wrap;align-items:center;gap:6px;font-size:11px;display:flex}.flow-trace-status{color:var(--neutral-600);white-space:nowrap;justify-items:end;font-size:11px;line-height:18px;display:grid}.flow-trace-row.status-succeeded .flow-trace-status{color:var(--success-text)}.flow-trace-row.status-failed .flow-trace-status,.flow-trace-row.status-indeterminate .flow-trace-status{color:var(--danger-text)}@media (width<=1180px){.flow-workspace{grid-template-columns:216px minmax(0,1fr) 288px}}@media (width<=920px){.flow-page{overflow-y:auto}.flow-workspace{flex-direction:column;flex:none;display:flex;overflow:visible}.flow-left-rail,.flow-right-rail,.flow-inspector-scroll{overflow:visible}.flow-left-rail{border-right:0;border-bottom:1px solid var(--hairline)}.flow-right-rail{border-left:0}.flow-definition-list{max-height:200px}.flow-palette{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.flow-canvas-shell{border-bottom:1px solid var(--hairline);flex:none;height:440px}}@media (width<=720px){.flow-canvas-shell{height:400px}.flow-canvas-shell .react-flow__minimap{display:none}.flow-toolbar-name{max-width:100%}}.ov-page{height:100%;color:var(--fg);background:var(--canvas);display:flex;overflow:hidden}.ov-main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.ov-scroll{flex:1;min-height:0;overflow-y:auto}.ov-content{gap:20px;width:min(1240px,100%);margin:0 auto;padding:24px;display:grid}.ov-partial{justify-content:space-between;align-items:center}.ov-hero{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:32px;padding:24px;display:grid}.ov-hero__lead{min-width:0}.ov-hero__label{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:4px 10px;font-size:13px;line-height:20px;display:flex}.ov-hero__label>span:first-child{color:var(--fg);font-weight:500}.ov-hero__scope{font-size:12px}.ov-hero__figure{color:var(--fg);letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin-top:12px;font-size:64px;font-weight:600;line-height:.95}.ov-hero__figure--empty{color:var(--input);font-weight:400}.ov-hero__unit{color:var(--muted);letter-spacing:0;margin-left:2px;font-size:28px}.ov-hero__caption{max-width:60ch;color:var(--muted);margin-top:12px;font-size:13px;line-height:20px}.ov-hero__stats{grid-template-columns:repeat(3,minmax(96px,auto));display:grid}.ov-stat{border-left:1px solid var(--hairline);min-width:0;padding:0 24px}.ov-stat dt{color:var(--muted);white-space:nowrap;font-size:12px;line-height:18px}.ov-stat dd{color:var(--fg);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:6px;font-size:24px;font-weight:600;line-height:28px}.ov-stat dd.ov-stat__value--warning{color:var(--warning)}.ov-stat dd.ov-stat__value--danger{color:var(--danger)}.ov-stat__na{color:var(--muted);letter-spacing:0;font-size:13px;font-weight:400}.ov-lanes{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:16px;display:grid}.ov-lane{background:var(--muted-bg);border-radius:12px;flex-direction:column;gap:8px;min-width:0;padding:8px;display:flex}.ov-lane__header{align-items:center;gap:8px;min-height:32px;padding:0 0 0 8px;font-size:13px;display:flex}.ov-lane__header h3{font-size:13px;font-weight:600;line-height:20px}.ov-lane__count{color:var(--muted);font-variant-numeric:tabular-nums}.ov-lane__hint{color:var(--muted);font-size:12px}.ov-lane__all{margin-left:auto}.ov-lane__cards{gap:8px;list-style:none;display:grid}.ov-lane__placeholder{min-height:112px;color:var(--muted);border:1px dashed var(--border);border-radius:10px;place-items:center;font-size:12px;display:grid}.ov-lane__empty{background:var(--surface);border-color:var(--hairline);border-style:solid}.ov-card{background:var(--surface);border:1px solid var(--hairline);min-width:0;box-shadow:var(--shadow-sm);border-radius:8px;padding:14px}.ov-card__head{align-items:center;gap:8px;min-width:0;display:flex}.ov-card__customer{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:600;line-height:20px;overflow:hidden}.ov-card__channel{color:var(--muted);white-space:nowrap;flex-shrink:0;margin-left:auto;font-size:12px}.ov-risk{border-radius:50%;flex-shrink:0;width:8px;height:8px}.ov-risk--high{background:var(--danger)}.ov-risk--medium{background:var(--warning)}.ov-risk--low{background:var(--muted)}.ov-risk--none{border:1px solid var(--input)}.ov-card__risk,.ov-card__reason{min-width:0;color:var(--muted);align-items:center;gap:6px;margin-top:8px;font-size:12px;line-height:18px;display:flex}.ov-card__reason-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ov-card__foot{border-top:1px solid var(--hairline);justify-content:space-between;align-items:center;gap:8px;min-height:28px;margin-top:12px;padding-top:12px;font-size:12px;display:flex}.ov-card__wait{color:var(--muted);font-variant-numeric:tabular-nums}.ov-card__wait--long{color:var(--warning-fg);font-weight:500}.ov-board{overflow:hidden}.ov-board__grid{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));list-style:none;display:grid}.ov-board__cell{min-width:0;box-shadow:1px 0 0 var(--hairline), 0 1px 0 var(--hairline);padding:14px 16px}.ov-board__name{min-width:0;color:var(--muted);white-space:nowrap;align-items:center;gap:8px;font-size:12px;line-height:18px;display:flex}.ov-status{border-radius:50%;flex-shrink:0;width:8px;height:8px}.ov-status--ok{background:var(--success)}.ov-status--warning{background:var(--warning)}.ov-status--danger{background:var(--danger)}.ov-status--off{background:var(--input)}.ov-board__state{margin-top:6px;font-size:15px;font-weight:600;line-height:22px}.ov-board__state--warning{color:var(--warning-fg)}.ov-board__state--danger{color:var(--danger-fg)}.ov-board__state--off{color:var(--muted)}.ov-board__note{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:16px;overflow:hidden}.ov-board__placeholder{min-height:96px;color:var(--muted);place-items:center;font-size:12px;display:grid}.ov-board__alert,.ov-board__empty{margin:16px}.ov-feed{background:var(--surface);border-left:1px solid var(--hairline);flex-direction:column;flex-shrink:0;width:320px;min-height:0;display:flex}.ov-feed__header{border-bottom:1px solid var(--hairline);flex-shrink:0;align-items:center;gap:8px;min-height:48px;padding:0 16px;display:flex}.ov-feed__header h3{font-size:13px;font-weight:600;line-height:20px}.ov-feed__pulse{color:var(--muted);align-items:center;gap:6px;margin-left:auto;font-size:12px;display:inline-flex}.ov-feed__pulse:before{content:"";background:var(--input);border-radius:50%;width:6px;height:6px}.ov-feed__pulse--live:before{background:var(--success)}.ov-feed__stale{color:var(--warning-fg);background:var(--warning-bg);border-bottom:1px solid var(--hairline);flex-shrink:0;padding:8px 16px;font-size:12px;line-height:18px}.ov-feed__list{flex:1;min-height:0;padding:4px 16px;list-style:none;overflow-y:auto}.ov-feed__item{border-bottom:1px solid var(--muted-bg);grid-template-columns:40px minmax(0,1fr);gap:8px;padding:10px 0;display:grid}.ov-feed__item:last-child{border-bottom:0}.ov-feed__item time{color:var(--muted);font-variant-numeric:tabular-nums;padding-top:1px;font-size:11px;line-height:18px}.ov-feed__body{min-width:0;font-size:12px;line-height:18px}.ov-feed__line{align-items:center;gap:6px;min-width:0;display:flex}.ov-feed__verb{flex-shrink:0;font-weight:500}.ov-feed__verb--neutral{color:var(--muted)}.ov-feed__verb--blue{color:var(--primary-hover)}.ov-feed__verb--success{color:var(--success-fg)}.ov-feed__verb--warning{color:var(--warning-fg)}.ov-feed__verb--danger{color:var(--danger)}.ov-feed__subject,.ov-feed__detail{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ov-feed__detail{color:var(--muted)}.ov-feed__placeholder{color:var(--muted);flex:1;place-items:center;font-size:12px;display:grid}.ov-feed__alert,.ov-feed__empty{margin:16px}.ov-feed__footer{border-top:1px solid var(--hairline);flex-shrink:0;padding:8px 12px}@media (width<=1080px){.ov-lanes{grid-template-columns:minmax(0,1fr)}}@media (width<=900px){.ov-hero{grid-template-columns:minmax(0,1fr);align-items:start;gap:20px}.ov-hero__stats{border-top:1px solid var(--hairline);grid-template-columns:repeat(3,minmax(0,1fr));padding-top:16px}.ov-stat{padding:0 12px}.ov-stat:first-child{border-left:0;padding-left:0}}@media (width<=720px){.ov-content{gap:16px;padding:16px}.ov-hero{padding:20px 16px}.ov-hero__figure{font-size:48px}.ov-hero__unit{font-size:22px}.ov-stat dd{font-size:20px;line-height:24px}.ov-board__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
