@import"https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap";:root{--font-sans: "Poppins", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .9375rem;--text-lg: 1.0625rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--weight-light: 300;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-none: 0;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 16px;--radius-full: 9999px;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--z-base: 0;--z-raised: 10;--z-dropdown: 100;--z-sticky: 200;--z-overlay: 300;--z-modal: 400;--z-toast: 500;--z-tooltip: 600;--duration-fast: .1s;--duration-base: .15s;--duration-slow: .25s;--ease-default: cubic-bezier(.4, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--color-success: #16a34a;--color-success-light: #dcfce7;--color-warning: #d97706;--color-warning-light: #fef3c7;--color-error: #dc2626;--color-error-light: #fee2e2;--color-info: #2563eb;--color-info-light: #dbeafe}.theme-conatel{--color-brand: #CC032E;--color-brand-hover: #a80025;--color-brand-active: #8a001e;--color-brand-light: #fce8ec;--color-brand-contrast: #ffffff;--color-accent: #757578;--color-accent-hover: #5e5e60;--color-accent-light: #f3f3f3;--color-primary: var(--color-brand);--color-primary-hover: var(--color-brand-hover);--color-primary-active: var(--color-brand-active);--color-primary-light: var(--color-brand-light);--color-primary-contrast: var(--color-brand-contrast);--color-secondary: var(--color-accent);--color-secondary-hover: var(--color-accent-hover);--color-secondary-light: var(--color-accent-light);--color-secondary-contrast: #ffffff;--color-neutral-50: #fafafa;--color-neutral-100: #f5f5f5;--color-neutral-200: #e5e5e5;--color-neutral-300: #d4d4d4;--color-neutral-400: #a3a3a3;--color-neutral-500: #737373;--color-neutral-600: #525252;--color-neutral-700: #404040;--color-neutral-800: #262626;--color-neutral-900: #171717;--color-bg: #ffffff;--color-bg-alt: #f9f9f9;--color-surface: #ffffff;--color-surface-raised: #ffffff;--color-overlay: rgba(0, 0, 0, .45);--color-text: #1a1a1a;--color-text-muted: #6b6b6b;--color-text-subtle: #9b9b9b;--color-text-inverse: #ffffff;--color-text-link: var(--color-brand);--color-text-link-hover: var(--color-brand-hover);--color-border: #e0e0e0;--color-border-strong: #b0b0b0;--color-border-focus: var(--color-brand);--focus-ring: 0 0 0 3px rgba(204, 3, 46, .25);--input-bg: #ffffff;--input-border: var(--color-border);--input-border-focus: var(--color-brand);--input-radius: var(--radius-md);--btn-radius: var(--radius-md);--card-bg: var(--color-surface);--card-border: var(--color-border);--card-radius: var(--radius-lg);--card-shadow: var(--shadow-sm);--badge-radius: var(--radius-full);--badge-primary-bg: var(--color-brand-light);--badge-primary-text: var(--color-brand)}.theme-vivion{--color-brand: #009CDE;--color-brand-hover: #007ab5;--color-brand-active: #005e8f;--color-brand-light: #e5f5fd;--color-brand-contrast: #ffffff;--color-accent: #BCC0C3;--color-accent-hover: #9ea3a7;--color-accent-light: #f4f5f5;--color-tertiary: #4F4F50;--color-tertiary-hover: #383839;--color-primary: var(--color-brand);--color-primary-hover: var(--color-brand-hover);--color-primary-active: var(--color-brand-active);--color-primary-light: var(--color-brand-light);--color-primary-contrast: var(--color-brand-contrast);--color-secondary: var(--color-accent);--color-secondary-hover: var(--color-accent-hover);--color-secondary-light: var(--color-accent-light);--color-secondary-contrast: #1a1a1a;--color-neutral-50: #fafafa;--color-neutral-100: #f5f5f5;--color-neutral-200: #e5e5e5;--color-neutral-300: #d4d4d4;--color-neutral-400: #a3a3a3;--color-neutral-500: #737373;--color-neutral-600: #525252;--color-neutral-700: #404040;--color-neutral-800: #262626;--color-neutral-900: #171717;--color-bg: #ffffff;--color-bg-alt: #f8fafc;--color-surface: #ffffff;--color-surface-raised: #ffffff;--color-overlay: rgba(0, 0, 0, .45);--color-text: #1a1a1a;--color-text-muted: #4F4F50;--color-text-subtle: #9b9b9b;--color-text-inverse: #ffffff;--color-text-link: var(--color-brand);--color-text-link-hover: var(--color-brand-hover);--color-border: #e0e0e0;--color-border-strong: #b0b0b0;--color-border-focus: var(--color-brand);--focus-ring: 0 0 0 3px rgba(0, 156, 222, .25);--input-bg: #ffffff;--input-border: var(--color-border);--input-border-focus: var(--color-brand);--input-radius: var(--radius-md);--btn-radius: var(--radius-md);--card-bg: var(--color-surface);--card-border: var(--color-border);--card-radius: var(--radius-lg);--card-shadow: var(--shadow-sm);--badge-radius: var(--radius-full);--badge-primary-bg: var(--color-brand-light);--badge-primary-text: var(--color-brand)}._button_s015b_1{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:1.5px solid transparent;border-radius:var(--btn-radius, var(--radius-md));font-family:var(--font-sans);font-weight:var(--weight-medium);line-height:var(--leading-tight);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default),color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default);text-decoration:none;white-space:nowrap;-webkit-user-select:none;user-select:none;outline:none}._button_s015b_1:focus-visible{box-shadow:var(--focus-ring)}._button_s015b_1:disabled,._button_s015b_1._loading_s015b_28{opacity:.5;cursor:not-allowed;pointer-events:none}._fullWidth_s015b_34{width:100%}._sm_s015b_39{padding:var(--space-1) var(--space-3);font-size:var(--text-sm)}._md_s015b_44{padding:var(--space-2) var(--space-4);font-size:var(--text-base)}._lg_s015b_49{padding:var(--space-3) var(--space-6);font-size:var(--text-lg)}._primary_s015b_55{background-color:var(--color-primary);color:var(--color-primary-contrast);border-color:var(--color-primary)}._primary_s015b_55:hover:not(:disabled){background-color:var(--color-primary-hover);border-color:var(--color-primary-hover)}._primary_s015b_55:active:not(:disabled){background-color:var(--color-primary-active);border-color:var(--color-primary-active)}._secondary_s015b_71{background-color:transparent;color:var(--color-primary);border-color:var(--color-primary)}._secondary_s015b_71:hover:not(:disabled){background-color:var(--color-primary-light)}._secondary_s015b_71:active:not(:disabled){background-color:var(--color-primary-light);border-color:var(--color-primary-active);color:var(--color-primary-active)}._ghost_s015b_87{background-color:transparent;color:var(--color-text);border-color:transparent}._ghost_s015b_87:hover:not(:disabled){background-color:var(--color-neutral-100)}._ghost_s015b_87:active:not(:disabled){background-color:var(--color-neutral-200)}._danger_s015b_101{background-color:var(--color-error);color:#fff;border-color:var(--color-error)}._danger_s015b_101:hover:not(:disabled){filter:brightness(.9)}._success_s015b_111{background-color:var(--color-success);color:#fff;border-color:var(--color-success)}._success_s015b_111:hover:not(:disabled){filter:brightness(.9)}._info_s015b_121{background-color:var(--color-info);color:#fff;border-color:var(--color-info)}._info_s015b_121:hover:not(:disabled){filter:brightness(.9)}._warning_s015b_131{background-color:var(--color-warning);color:#fff;border-color:var(--color-warning)}._warning_s015b_131:hover:not(:disabled){filter:brightness(.9)}._icon_s015b_142{display:inline-flex;align-items:center;flex-shrink:0;font-size:1.1em}._spinner_s015b_150{width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:var(--radius-full);animation:_spin_s015b_150 .6s linear infinite;flex-shrink:0}@keyframes _spin_s015b_150{to{transform:rotate(360deg)}}._heading_11ibi_1{font-family:var(--font-sans);font-weight:var(--weight-bold);line-height:var(--leading-tight);color:var(--color-text);margin:0}._light_11ibi_9{font-weight:var(--weight-medium)}._size-xs_11ibi_14{font-size:var(--text-xs)}._size-sm_11ibi_18{font-size:var(--text-sm)}._size-md_11ibi_22{font-size:var(--text-base)}._size-lg_11ibi_26{font-size:var(--text-lg)}._size-xl_11ibi_30{font-size:var(--text-xl)}._size-2xl_11ibi_34{font-size:var(--text-2xl)}._size-3xl_11ibi_38{font-size:var(--text-3xl)}._size-4xl_11ibi_42{font-size:var(--text-4xl)}._text_23jwr_1{font-family:var(--font-sans);line-height:var(--leading-normal);margin:0}._size-xs_23jwr_8{font-size:var(--text-xs)}._size-sm_23jwr_12{font-size:var(--text-sm)}._size-base_23jwr_16{font-size:var(--text-base)}._size-lg_23jwr_20{font-size:var(--text-lg)}._weight-light_23jwr_25{font-weight:var(--weight-light)}._weight-regular_23jwr_29{font-weight:var(--weight-regular)}._weight-medium_23jwr_33{font-weight:var(--weight-medium)}._weight-semibold_23jwr_37{font-weight:var(--weight-semibold)}._weight-bold_23jwr_41{font-weight:var(--weight-bold)}._color-default_23jwr_46{color:var(--color-text)}._color-muted_23jwr_50{color:var(--color-text-muted)}._color-subtle_23jwr_54{color:var(--color-text-subtle)}._color-inverse_23jwr_58{color:var(--color-text-inverse)}._color-primary_23jwr_62{color:var(--color-primary)}._color-error_23jwr_66{color:var(--color-error)}._align-left_23jwr_71{text-align:left}._align-center_23jwr_75{text-align:center}._align-right_23jwr_79{text-align:right}._wrapper_1gdyv_1{position:relative;display:inline-flex;align-items:center}._fullWidth_1gdyv_7,._fullWidth_1gdyv_7 ._input_1gdyv_8{width:100%}._input_1gdyv_8{font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--weight-regular);color:var(--color-text);background:var(--input-bg, var(--color-bg));border:1.5px solid var(--input-border, var(--color-border));border-radius:var(--input-radius, var(--radius-md));padding:var(--space-2) var(--space-3);outline:none;transition:border-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default);width:100%}._input_1gdyv_8::placeholder{color:var(--color-text-subtle)}._input_1gdyv_8:focus{border-color:var(--input-border-focus, var(--color-primary));box-shadow:var(--focus-ring)}._input_1gdyv_8:disabled{opacity:.5;cursor:not-allowed;background:var(--color-neutral-100)}._error_1gdyv_44 ._input_1gdyv_8{border-color:var(--color-error)}._error_1gdyv_44 ._input_1gdyv_8:focus{border-color:var(--color-error);box-shadow:0 0 0 3px rgba(var(--color-error),.2)}._iconLeft_1gdyv_54,._iconRight_1gdyv_55{position:absolute;display:flex;align-items:center;color:var(--color-text-muted);pointer-events:none;font-size:1rem}._iconLeft_1gdyv_54{left:var(--space-3)}._iconRight_1gdyv_55{right:var(--space-3)}._hasIconLeft_1gdyv_72{padding-left:calc(var(--space-3) * 2 + 1rem)}._hasIconRight_1gdyv_76{padding-right:calc(var(--space-3) * 2 + 1rem)}._disabled_1gdyv_80{opacity:.5}._textarea_fomu3_1{font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--weight-regular);color:var(--color-text);background:var(--input-bg, var(--color-bg));border:1.5px solid var(--input-border, var(--color-border));border-radius:var(--input-radius, var(--radius-md));padding:var(--space-2) var(--space-3);outline:none;resize:vertical;min-height:100px;transition:border-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default)}._textarea_fomu3_1::placeholder{color:var(--color-text-subtle)}._textarea_fomu3_1:focus{border-color:var(--input-border-focus, var(--color-primary));box-shadow:var(--focus-ring)}._textarea_fomu3_1:disabled{opacity:.5;cursor:not-allowed;background:var(--color-neutral-100)}._error_fomu3_33{border-color:var(--color-error)}._fullWidth_fomu3_37{width:100%}._wrapper_13qfs_1{position:relative;display:inline-block}._fullWidth_13qfs_6,._fullWidth_13qfs_6 ._select_13qfs_7{width:100%}._select_13qfs_7{font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--weight-regular);color:var(--color-text);background:var(--input-bg, var(--color-bg));border:1.5px solid var(--input-border, var(--color-border));border-radius:var(--input-radius, var(--radius-md));padding:var(--space-2) var(--space-8) var(--space-2) var(--space-3);outline:none;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;width:100%;transition:border-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default)}._select_13qfs_7:focus{border-color:var(--input-border-focus, var(--color-primary));box-shadow:var(--focus-ring)}._select_13qfs_7:disabled{opacity:.5;cursor:not-allowed;background:var(--color-neutral-100)}._error_13qfs_41{border-color:var(--color-error)}._arrow_13qfs_45{position:absolute;right:var(--space-3);top:50%;transform:translateY(-50%);pointer-events:none;color:var(--color-text-muted);font-size:.85rem}._wrapper_199wu_1{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer;-webkit-user-select:none;user-select:none}._disabled_199wu_9{opacity:.5;cursor:not-allowed}._input_199wu_15{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}._box_199wu_24{flex-shrink:0;width:1.125rem;height:1.125rem;border:1.5px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-bg);display:flex;align-items:center;justify-content:center;transition:border-color var(--duration-fast) var(--ease-default),background var(--duration-fast) var(--ease-default)}._box_199wu_24:after{content:"";display:block;width:.3rem;height:.55rem;border:2px solid #fff;border-top:none;border-left:none;transform:rotate(45deg) translateY(-1px);opacity:0;transition:opacity var(--duration-fast) var(--ease-default)}._input_199wu_15:checked+._box_199wu_24{background:var(--color-primary);border-color:var(--color-primary)}._input_199wu_15:checked+._box_199wu_24:after{opacity:1}._input_199wu_15:focus-visible+._box_199wu_24{box-shadow:var(--focus-ring);border-color:var(--color-primary)}._error_199wu_69 ._box_199wu_24{border-color:var(--color-error)}._label_199wu_73{font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text);line-height:var(--leading-normal)}._wrapper_1yn7j_1{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer;-webkit-user-select:none;user-select:none}._disabled_1yn7j_9{opacity:.5;cursor:not-allowed}._input_1yn7j_14{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}._track_1yn7j_23{flex-shrink:0;position:relative;display:inline-block;background:var(--color-border-strong);border-radius:var(--radius-full);transition:background var(--duration-fast) var(--ease-default)}._input_1yn7j_14:checked~._track_1yn7j_23{background:var(--color-primary)}._input_1yn7j_14:focus-visible~._track_1yn7j_23{box-shadow:var(--focus-ring)}._thumb_1yn7j_41{position:absolute;top:50%;transform:translateY(-50%);background:#fff;border-radius:var(--radius-full);box-shadow:var(--shadow-xs);transition:left var(--duration-fast) var(--ease-default)}._sm_1yn7j_52 ._track_1yn7j_23{width:2rem;height:1.1rem}._sm_1yn7j_52 ._thumb_1yn7j_41{width:.8rem;height:.8rem;left:.15rem}._sm_1yn7j_52 ._input_1yn7j_14:checked~._track_1yn7j_23 ._thumb_1yn7j_41{left:calc(100% - .8rem - .15rem)}._md_1yn7j_67 ._track_1yn7j_23{width:2.5rem;height:1.375rem}._md_1yn7j_67 ._thumb_1yn7j_41{width:1rem;height:1rem;left:.2rem}._md_1yn7j_67 ._input_1yn7j_14:checked~._track_1yn7j_23 ._thumb_1yn7j_41{left:calc(100% - 1.2rem)}._lg_1yn7j_82 ._track_1yn7j_23{width:3rem;height:1.625rem}._lg_1yn7j_82 ._thumb_1yn7j_41{width:1.2rem;height:1.2rem;left:.2rem}._lg_1yn7j_82 ._input_1yn7j_14:checked~._track_1yn7j_23 ._thumb_1yn7j_41{left:calc(100% - 1.4rem)}._label_1yn7j_97{font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text);line-height:var(--leading-normal)}._field_14vgz_1{display:flex;flex-direction:column;gap:var(--space-1)}._label_14vgz_7{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text);line-height:var(--leading-normal)}._required_14vgz_15{color:var(--color-error)}._control_14vgz_19{display:flex;flex-direction:column}._hint_14vgz_24{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-text-muted);margin:0;line-height:var(--leading-normal)}._error_14vgz_32{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-error);margin:0;line-height:var(--leading-normal)}._badge_107ff_1{display:inline-flex;align-items:center;gap:var(--space-1);border-radius:var(--badge-radius, var(--radius-full));font-family:var(--font-sans);font-weight:var(--weight-medium);line-height:1;white-space:nowrap}._sm_107ff_13{padding:.3rem var(--space-2);font-size:var(--text-xs)}._md_107ff_18{padding:.25rem var(--space-2);font-size:var(--text-sm)}._default_107ff_24{background:var(--color-neutral-100);color:var(--color-text-muted)}._primary_107ff_29{background:var(--badge-primary-bg, var(--color-primary-light));color:var(--badge-primary-text, var(--color-primary))}._success_107ff_34{background:var(--color-success-light);color:var(--color-success)}._warning_107ff_39{background:var(--color-warning-light);color:var(--color-warning)}._error_107ff_44{background:var(--color-error-light);color:var(--color-error)}._info_107ff_49{background:var(--color-info-light);color:var(--color-info)}._dot_107ff_55{display:inline-block;width:.5rem;height:.5rem;border-radius:var(--radius-full)}._dot-default_107ff_62{background:var(--color-neutral-400)}._dot-primary_107ff_66{background:var(--color-primary)}._dot-success_107ff_70{background:var(--color-success)}._dot-warning_107ff_74{background:var(--color-warning)}._dot-error_107ff_78{background:var(--color-error)}._dot-info_107ff_82{background:var(--color-info)}._alert_180sy_1{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border-left:4px solid;font-family:var(--font-sans)}._info_180sy_11{background:var(--color-info-light);border-color:var(--color-info);color:var(--color-text)}._success_180sy_17{background:var(--color-success-light);border-color:var(--color-success);color:var(--color-text)}._warning_180sy_23{background:var(--color-warning-light);border-color:var(--color-warning);color:var(--color-text)}._error_180sy_29{background:var(--color-error-light);border-color:var(--color-error);color:var(--color-text)}._icon_180sy_35{flex-shrink:0;font-size:1.25rem;display:flex;margin-top:.05rem}._info_180sy_11 ._icon_180sy_35{color:var(--color-info)}._success_180sy_17 ._icon_180sy_35{color:var(--color-success)}._warning_180sy_23 ._icon_180sy_35{color:var(--color-warning)}._error_180sy_29 ._icon_180sy_35{color:var(--color-error)}._body_180sy_58{flex:1;display:flex;flex-direction:column;gap:var(--space-1)}._title_180sy_65{font-weight:var(--weight-semibold);font-size:var(--text-sm);margin:0;color:var(--color-text)}._message_180sy_72{font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--leading-normal)}._close_180sy_78{flex-shrink:0;background:none;border:none;cursor:pointer;color:var(--color-text-muted);font-size:.875rem;padding:0;line-height:1;display:flex;align-items:center;justify-content:center;opacity:.6;transition:opacity var(--duration-fast) var(--ease-default)}._close_180sy_78:hover{opacity:1}@keyframes _spin_vxqk3_11{0%{transform:rotate(0)}to{transform:rotate(360deg)}}._spinner_vxqk3_11{animation:_spin_vxqk3_11 .8s linear infinite;color:var(--color-primary)}._xs_vxqk3_17{width:.75rem;height:.75rem}._sm_vxqk3_22{width:1rem;height:1rem}._md_vxqk3_27{width:1.5rem;height:1.5rem}._lg_vxqk3_32{width:2rem;height:2rem}._xl_vxqk3_37{width:3rem;height:3rem}._track_vxqk3_42{stroke:currentColor;opacity:.2}._arc_vxqk3_47{stroke:currentColor;stroke-dasharray:40 100}._wrapper_jkqgi_1{display:flex;flex-direction:column;gap:var(--space-1);width:100%}._header_jkqgi_8{display:flex;justify-content:space-between;align-items:baseline}._label_jkqgi_14{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text)}._value_jkqgi_21{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-text-muted)}._track_jkqgi_27{width:100%;background:var(--color-neutral-200);border-radius:var(--radius-full);overflow:hidden}._sm_jkqgi_34{height:4px}._md_jkqgi_38{height:8px}._lg_jkqgi_42{height:12px}._bar_jkqgi_46{height:100%;border-radius:var(--radius-full);transition:width var(--duration-base) var(--ease-out)}._primary_jkqgi_52{background:var(--color-primary)}._success_jkqgi_56{background:var(--color-success)}._warning_jkqgi_60{background:var(--color-warning)}._error_jkqgi_64{background:var(--color-error)}._card_mck7p_1{background:var(--card-bg, var(--color-surface));border-radius:var(--card-radius, var(--radius-lg));overflow:hidden;transition:box-shadow var(--duration-fast) var(--ease-default)}._bordered_mck7p_8{border:1px solid var(--card-border, var(--color-border))}._shadow_mck7p_12{box-shadow:var(--card-shadow, var(--shadow-sm))}._padded_mck7p_16{padding:var(--space-5)}._hoverable_mck7p_20:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}._header_mck7p_25{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}._body_mck7p_34{padding:var(--space-5)}._footer_mck7p_38{padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border);display:flex;align-items:center;gap:var(--space-2)}@keyframes _fadeIn_w87fm_1{0%{opacity:0}to{opacity:1}}@keyframes _slideUp_w87fm_1{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}._backdrop_w87fm_23{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-overlay, rgba(0, 0, 0, .45));display:flex;align-items:center;justify-content:center;z-index:var(--z-modal, 400);padding:var(--space-4);animation:_fadeIn_w87fm_1 var(--duration-fast) var(--ease-out)}._dialog_w87fm_35{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-height:90vh;width:100%;outline:none;animation:_slideUp_w87fm_1 var(--duration-base) var(--ease-out);overflow:hidden}._sm_w87fm_49{max-width:28rem}._md_w87fm_53{max-width:36rem}._lg_w87fm_57{max-width:48rem}._xl_w87fm_61{max-width:64rem}._full_w87fm_65{max-width:100%;max-height:100vh;border-radius:0}._header_w87fm_72{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);flex-shrink:0}._title_w87fm_81{font-family:var(--font-sans);font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-text)}._closeBtn_w87fm_88{background:none;border:none;cursor:pointer;color:var(--color-text-muted);font-size:1rem;padding:var(--space-1);border-radius:var(--radius-sm);display:flex;align-items:center;transition:color var(--duration-fast) var(--ease-default)}._closeBtn_w87fm_88:hover{color:var(--color-text)}._closeBtn_w87fm_88:focus-visible{outline:none;box-shadow:var(--focus-ring)}._body_w87fm_111{padding:var(--space-5);overflow-y:auto;flex:1}._footer_w87fm_118{padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border);display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);flex-shrink:0}._tabs_18z4f_1{display:flex;flex-direction:column}._tabList_18z4f_6{display:flex;border-bottom:2px solid var(--color-border);gap:0;overflow-x:auto}._tab_18z4f_1{padding:var(--space-2) var(--space-4);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-muted);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;white-space:nowrap;transition:color var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default)}._tab_18z4f_1:hover:not(:disabled){color:var(--color-text)}._tab_18z4f_1:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm) var(--radius-sm) 0 0}._tab_18z4f_1._active_18z4f_40{color:var(--color-primary);border-bottom-color:var(--color-primary)}._tab_18z4f_1:disabled{opacity:.4;cursor:not-allowed}._panel_18z4f_50{padding:var(--space-4) 0;outline:none}._navbar_1m6ra_1{background:var(--color-surface);border-bottom:1px solid var(--color-border);width:100%;position:sticky;top:0;z-index:var(--z-sticky, 300)}._transparent_1m6ra_10{background:transparent;border-color:transparent}._inner_1m6ra_15{max-width:1280px;margin:0 auto;padding:0 var(--space-5);height:4rem;display:flex;align-items:center;gap:var(--space-6)}._brand_1m6ra_25{flex-shrink:0}._nav_1m6ra_1{display:flex;align-items:center;gap:var(--space-1);flex:1}._actions_1m6ra_36{display:flex;align-items:center;gap:var(--space-2);margin-left:auto}._navItem_1m6ra_43{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-muted);text-decoration:none;padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);transition:color var(--duration-fast) var(--ease-default),background var(--duration-fast) var(--ease-default)}._navItem_1m6ra_43:hover{color:var(--color-text);background:var(--color-neutral-100)}._navItem_1m6ra_43._active_1m6ra_60{color:var(--color-primary);background:var(--color-primary-light)}._wrapper_1wt6l_1{width:100%;overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-lg)}._table_1wt6l_8{width:100%;border-collapse:collapse;font-family:var(--font-sans);font-size:var(--text-sm)}._thead_1wt6l_16{background:var(--color-neutral-50)}._headerCell_1wt6l_20{text-align:left;font-weight:var(--weight-semibold);color:var(--color-text-muted);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);white-space:nowrap}._stickyHeader_1wt6l_29 ._thead_1wt6l_16 ._headerCell_1wt6l_20{position:sticky;top:0;background:var(--color-neutral-50);z-index:1}._sortable_1wt6l_36{cursor:pointer;-webkit-user-select:none;user-select:none}._sortable_1wt6l_36:hover{background:var(--color-neutral-100)}._headerContent_1wt6l_45{display:inline-flex;align-items:center;gap:var(--space-1)}._sortIcon_1wt6l_51{font-size:.75rem;color:var(--color-text-subtle)}._cell_1wt6l_57{padding:var(--space-3) var(--space-4);color:var(--color-text);border-bottom:1px solid var(--color-border);vertical-align:middle}._align-left_1wt6l_65{text-align:left}._align-center_1wt6l_69{text-align:center}._align-right_1wt6l_73{text-align:right}._row_1wt6l_78:last-child ._cell_1wt6l_57{border-bottom:none}._row_1wt6l_78:hover ._cell_1wt6l_57{background:var(--color-neutral-50)}._clickable_1wt6l_86{cursor:pointer}._selected_1wt6l_90 ._cell_1wt6l_57{background:var(--color-primary-light)}._striped_1wt6l_95 tbody tr:nth-child(2n) ._cell_1wt6l_57{background:var(--color-neutral-50)}._dense_1wt6l_99 ._cell_1wt6l_57,._dense_1wt6l_99 ._headerCell_1wt6l_20{padding:var(--space-2) var(--space-3)}._bordered_1wt6l_104 ._cell_1wt6l_57,._bordered_1wt6l_104 ._headerCell_1wt6l_20{border:1px solid var(--color-border)}._wrapper_ocp5v_1{position:relative;display:inline-flex;align-items:center;justify-content:center;overflow:visible;flex-shrink:0}._circle_ocp5v_11{border-radius:var(--radius-full)}._square_ocp5v_15{border-radius:var(--radius-md)}._xs_ocp5v_20{width:1.5rem;height:1.5rem;font-size:.55rem}._sm_ocp5v_26{width:2rem;height:2rem;font-size:.7rem}._md_ocp5v_32{width:2.5rem;height:2.5rem;font-size:.875rem}._lg_ocp5v_38{width:3.5rem;height:3.5rem;font-size:1.25rem}._xl_ocp5v_44{width:5rem;height:5rem;font-size:1.75rem}._img_ocp5v_50{width:100%;height:100%;object-fit:cover;border-radius:inherit}._initials_ocp5v_57{font-family:var(--font-sans);font-weight:var(--weight-semibold);color:var(--color-primary-contrast);background:var(--color-primary);border-radius:inherit;width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-transform:uppercase}._status_ocp5v_72{position:absolute;bottom:2%;right:2%;width:25%;height:25%;min-width:8px;min-height:8px;border-radius:var(--radius-full);border:2px solid var(--color-bg)}._status-online_ocp5v_84{background:var(--color-success)}._status-away_ocp5v_88{background:var(--color-warning)}._status-busy_ocp5v_92{background:var(--color-error)}._status-offline_ocp5v_96{background:var(--color-neutral-400)}._horizontal_3x1p9_1{border:none;border-top:1px solid var(--color-border);margin:var(--space-4) 0}._vertical_3x1p9_7{display:inline-block;width:1px;height:1em;background:var(--color-border);vertical-align:middle;margin:0 var(--space-2)}._withLabel_3x1p9_16{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-4) 0}._line_3x1p9_23{flex:1;height:1px;background:var(--color-border)}._labelText_3x1p9_29{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-text-subtle);white-space:nowrap;text-transform:uppercase;letter-spacing:.05em}._wrapper_k3ofb_1{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-12, 3rem) var(--space-6);gap:var(--space-3)}._illustration_k3ofb_11{font-size:4rem;color:var(--color-neutral-300);margin-bottom:var(--space-2)}._title_k3ofb_17{font-family:var(--font-sans);font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-text);margin:0}._description_k3ofb_25{font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text-muted);margin:0;max-width:32rem;line-height:var(--leading-relaxed)}._action_k3ofb_34{margin-top:var(--space-2)}._sidebar_1hxle_1{display:flex;flex-direction:column;width:var(--sidebar-width, 240px);min-height:100vh;background-color:var(--color-surface);border-right:1px solid var(--color-border);transition:width var(--duration-slow) var(--ease-default);overflow:hidden;flex-shrink:0}._collapsed_1hxle_13{width:64px}._brand_1hxle_17{padding:var(--space-4) var(--space-4) var(--space-2);border-bottom:1px solid var(--color-border);flex-shrink:0;overflow:hidden}._nav_1hxle_24{flex:1;overflow-y:auto;padding:var(--space-2) var(--space-2);display:flex;flex-direction:column;gap:var(--space-1)}._bottom_1hxle_33{flex-shrink:0;border-top:1px solid var(--color-border);display:flex;flex-direction:column}._footer_1hxle_40{padding:var(--space-3) var(--space-4);overflow:hidden}._collapseBtn_1hxle_45{display:flex;align-items:center;justify-content:center;width:100%;padding:var(--space-2);background:none;border:none;cursor:pointer;color:var(--color-text-muted);font-size:var(--text-base);transition:color var(--duration-fast) var(--ease-default),background-color var(--duration-fast) var(--ease-default);outline:none}._collapseBtn_1hxle_45:hover{color:var(--color-text);background-color:var(--color-neutral-100)}._collapseBtn_1hxle_45:focus-visible{box-shadow:var(--focus-ring)}._item_1kjfi_1{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:none;background:none;color:var(--color-text-muted);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);text-decoration:none;cursor:pointer;width:100%;text-align:left;white-space:nowrap;transition:background-color var(--duration-fast) var(--ease-default),color var(--duration-fast) var(--ease-default);outline:none}._item_1kjfi_1:hover{background-color:var(--color-neutral-100);color:var(--color-text)}._item_1kjfi_1:focus-visible{box-shadow:var(--focus-ring)}._item_1kjfi_1._active_1kjfi_33{background-color:var(--color-primary-light);color:var(--color-primary);font-weight:var(--weight-semibold)}._item_1kjfi_1._collapsed_1kjfi_39{justify-content:center;padding:var(--space-2)}._icon_1kjfi_44{display:inline-flex;align-items:center;flex-shrink:0;font-size:1.1em}._label_1kjfi_51{flex:1;overflow:hidden;text-overflow:ellipsis}._toast_hjvoc_1{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);min-width:280px;max-width:400px;color:#fff;animation:_slideIn_hjvoc_1 var(--duration-slow) var(--ease-out)}@keyframes _slideIn_hjvoc_1{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}._success_hjvoc_28{background-color:var(--color-success)}._error_hjvoc_32{background-color:var(--color-error)}._warning_hjvoc_36{background-color:var(--color-warning)}._info_hjvoc_40{background-color:var(--color-info)}._icon_hjvoc_44{flex-shrink:0;font-size:var(--text-base);line-height:1}._message_hjvoc_50{flex:1;line-height:var(--leading-normal)}._close_hjvoc_55{flex-shrink:0;background:none;border:none;color:inherit;cursor:pointer;font-size:var(--text-sm);opacity:.8;padding:0;line-height:1;border-radius:var(--radius-sm);transition:opacity var(--duration-fast) var(--ease-default)}._close_hjvoc_55:hover{opacity:1}._close_hjvoc_55:focus-visible{box-shadow:var(--focus-ring);outline:none}._container_1a1az_1{position:fixed;z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-2);pointer-events:none;padding:var(--space-4)}._container_1a1az_1>*{pointer-events:all}._top_right_1a1az_16{top:0;right:0;align-items:flex-end}._top_left_1a1az_22{top:0;left:0;align-items:flex-start}._bottom_right_1a1az_28{bottom:0;right:0;align-items:flex-end;flex-direction:column-reverse}._bottom_left_1a1az_35{bottom:0;left:0;align-items:flex-start;flex-direction:column-reverse}._top_center_1a1az_42{top:0;left:50%;transform:translate(-50%);align-items:center}._bottom_center_1a1az_49{bottom:0;left:50%;transform:translate(-50%);align-items:center;flex-direction:column-reverse}._root_1m7ae_1{display:inline-flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}._sm_1m7ae_9 ._btn_1m7ae_9{width:28px;height:28px;font-size:var(--text-xs)}._md_1m7ae_15 ._btn_1m7ae_9{width:36px;height:36px;font-size:var(--text-sm)}._lg_1m7ae_21 ._btn_1m7ae_9{width:44px;height:44px;font-size:var(--text-base)}._btn_1m7ae_9{display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);color:var(--color-text-muted);font-family:var(--font-sans);font-weight:var(--weight-semibold);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default),color var(--duration-fast) var(--ease-default);outline:none}._btn_1m7ae_9:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);background-color:var(--color-primary-light)}._btn_1m7ae_9:focus-visible{box-shadow:var(--focus-ring)}._btn_1m7ae_9._active_1m7ae_55{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-contrast)}._disabled_1m7ae_61{opacity:.5;pointer-events:none}._selectedLabel_1m7ae_66{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-text-muted);margin-left:var(--space-2);font-style:italic}.theme-conatel,.theme-vivion{font-family:var(--font-sans),system-ui,-apple-system,sans-serif;color:var(--color-text);-webkit-font-smoothing:antialiased;--color-danger: var(--color-error);--color-primary: var(--color-brand);--color-primary-light: var(--color-brand-light);--color-bg-primary: var(--color-surface);--color-bg-tertiary: var(--color-surface);--color-text-primary: var(--color-text);--color-text-secondary: var(--color-text-muted);--color-accent-bg: var(--color-brand-light);--color-bg-hover: var(--color-bg-alt)}.form-label-app{font-family:var(--font-sans),system-ui,sans-serif;font-size:.75rem;line-height:1rem;display:block;margin-bottom:.5rem;font-weight:600;color:var(--color-text-primary)}.form-label-dropdown{font-family:var(--font-sans),system-ui,sans-serif;font-size:.8125rem;line-height:1.25rem;display:block;margin-bottom:.25rem;font-weight:600;color:var(--color-text-secondary)}.form-input,.form-select{width:100%;padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-sans),system-ui,sans-serif;font-size:1rem;transition:border-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default),background-color var(--duration-fast) var(--ease-default);background-color:var(--color-bg-tertiary);color:var(--color-text);box-sizing:border-box}button.form-select{text-align:left;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;font:inherit;line-height:1.25;margin:0;min-height:2.75rem;align-items:center}button.app-btn-outline-danger{border:1px solid var(--color-error)!important;color:var(--color-error)!important;background:transparent!important}button.app-btn-outline-danger:hover:not(:disabled){background:var(--color-error-light)!important}.required-mark,.form-label-app .required-mark{color:var(--color-danger, var(--color-error));font-weight:600}.form-input::placeholder{color:var(--color-text-subtle)}.form-input[type=checkbox],.form-input[type=radio],input[type=checkbox].form-input,input[type=radio].form-input{width:auto;min-width:1rem;padding:0;border:none;background:transparent;accent-color:var(--color-primary)}.form-input:focus,.form-select:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--focus-ring)}.form-select:hover:not(:disabled){background-color:var(--color-bg-alt)}.form-select:disabled,.form-input:disabled{opacity:.6;cursor:not-allowed}.input-password-wrap:focus-within{outline:none;border-color:var(--color-primary);box-shadow:var(--focus-ring)}.input-with-icon{position:relative;display:flex;align-items:center}.input-with-icon .material-symbols-outlined{position:absolute;left:1rem;color:var(--color-text-muted);font-size:1.25rem;pointer-events:none}.input-with-icon .form-input{padding-left:3rem}.input-with-icon .form-select{padding-left:3rem!important}.form-group{margin-bottom:var(--space-4, 1rem);text-align:left}.form-group .input-with-icon,.form-group .input-password-wrap.form-input{width:100%;max-width:100%}.form-group .input-with-icon .form-input{min-width:0}.btn-lg{padding:1rem;font-size:1.125rem;display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;box-sizing:border-box}.form-dropdown-panel{background-color:var(--color-bg-primary);z-index:var(--z-dropdown, 200);isolation:isolate}label:has(>input[type=checkbox][class*=_input_])>span[class*=_box_]{position:relative!important}label:has(>input[type=checkbox][class*=_input_])>span[class*=_box_]:after{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;margin:auto!important;display:block!important;width:.3rem!important;height:.55rem!important;border:2px solid #fff!important;border-top:none!important;border-left:none!important;transform:rotate(45deg)!important;transform-origin:center center!important}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#0b1120;position:relative;overflow:hidden;padding:var(--space-4)}.login-bg-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.4;pointer-events:none;animation:login-orb-float 12s ease-in-out infinite}.login-bg-orb--1{width:500px;height:500px;background:radial-gradient(circle,#0ea5e9 0%,transparent 70%);top:-15%;left:-10%;animation-delay:0s}.login-bg-orb--2{width:400px;height:400px;background:radial-gradient(circle,#6366f1 0%,transparent 70%);bottom:-10%;right:-8%;animation-delay:-4s}.login-bg-orb--3{width:300px;height:300px;background:radial-gradient(circle,#06b6d4 0%,transparent 70%);top:50%;left:50%;transform:translate(-50%,-50%);animation-delay:-8s;opacity:.2}@keyframes login-orb-float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-20px) scale(1.05)}66%{transform:translate(-20px,15px) scale(.95)}}.login-card{width:100%;max-width:420px;background:#0f172abf;backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4);border:1px solid rgba(148,163,184,.12);border-radius:20px;padding:44px 36px 36px;display:flex;flex-direction:column;align-items:center;gap:28px;animation:login-fade-in .5s ease-out;position:relative;z-index:1}.login-card--loading{align-items:center;justify-content:center;min-height:180px}@keyframes login-fade-in{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.login-brand{display:flex;flex-direction:column;align-items:center;gap:8px}.login-brand-icon{width:56px;height:56px;border-radius:16px;background:linear-gradient(135deg,#0ea5e9,#6366f1);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 8px 24px #0ea5e94d;margin-bottom:4px}.login-brand-name{margin:0;font-size:1.75rem;font-weight:700;letter-spacing:.06em;color:#f1f5f9;line-height:1}.login-brand-tagline{margin:0;font-size:.8125rem;color:#94a3b8;letter-spacing:.02em;text-align:center}.login-divider{width:100%;height:1px;background:linear-gradient(90deg,transparent,rgba(148,163,184,.2),transparent)}.login-form{width:100%;display:flex;flex-direction:column;gap:18px}.login-form .form-field,.login-field{width:100%}.login-field{display:flex;flex-direction:column;gap:6px}.login-field label{font-size:.8125rem;font-weight:500;color:#94a3b8}.login-input{width:100%;padding:11px 14px;border:1.5px solid rgba(148,163,184,.15);border-radius:10px;font-size:.9375rem;color:#f1f5f9;background:#1e293b80;transition:border-color .2s,box-shadow .2s,background .2s;outline:none}.login-input:focus{border-color:#0ea5e9;box-shadow:0 0 0 3px #0ea5e926;background:#1e293bcc}.login-input::placeholder{color:#475569}.login-error{padding:10px 14px;background:#dc26261a;border:1px solid rgba(220,38,38,.25);border-radius:10px;color:#fca5a5;font-size:.8125rem;text-align:center;animation:login-shake .4s ease-out}.login-error button{display:none}@keyframes login-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.login-btn{width:100%;padding:12px;border:none;border-radius:10px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:transform .15s,box-shadow .2s;background:linear-gradient(135deg,#0ea5e9,#6366f1);color:#fff;box-shadow:0 4px 14px #0ea5e940;margin-top:4px}.login-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #0ea5e959}.login-btn:active:not(:disabled){transform:translateY(0)}.login-btn:disabled{opacity:.5;cursor:not-allowed}.login-btn-loading{display:inline-flex;align-items:center;gap:8px}.login-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.25);border-top-color:#fff;border-radius:50%;animation:login-spin .6s linear infinite}@keyframes login-spin{to{transform:rotate(360deg)}}.login-footer{display:flex;flex-direction:column;align-items:center;gap:6px;padding-top:8px;width:100%}.login-footer-divider{width:40%;height:1px;background:linear-gradient(90deg,transparent,rgba(148,163,184,.15),transparent)}.login-footer-label{font-size:.6875rem;color:#475569;letter-spacing:.08em;text-transform:uppercase}.login-logo{height:32px;width:auto;object-fit:contain;opacity:.7;transition:opacity .2s}.login-logo:hover{opacity:1}.projects-page{min-height:100vh;background:radial-gradient(circle at 15% 10%,color-mix(in srgb,var(--color-primary-light, #e0f2fe) 40%,white) 0%,transparent 28%),linear-gradient(180deg,color-mix(in srgb,var(--color-bg, #f8fafc) 92%,white) 0%,var(--color-bg, #f8fafc) 100%)}.projects-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 24px;background:#fff;border-bottom:1px solid var(--color-border, #e2e8f0);box-shadow:0 1px 3px #0000000a}.topbar-left{display:flex;align-items:center;gap:12px;flex:0 0 auto}.topbar-logo{height:36px;width:auto}.topbar-right{display:flex;align-items:center;gap:12px;margin-left:auto;justify-content:flex-end;flex-wrap:wrap}.topbar-user{font-size:.8125rem;color:var(--color-text-muted, #64748b);padding:.35rem .7rem;border-radius:999px;background:#f8fafc;border:1px solid #e2e8f0}.topbar-link{font-size:.8125rem;color:var(--color-primary, #0ea5e9);text-decoration:none;cursor:pointer;border:none;background:none;padding:0}.topbar-link:hover{text-decoration:underline}@media (max-width: 768px){.projects-topbar{align-items:flex-start;flex-direction:column}.topbar-logo{height:30px}.topbar-right{width:100%;margin-left:0}}.projects-content{max-width:1100px;margin:0 auto;padding:40px 24px}.projects-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}.projects-header h1{font-size:1.5rem;font-weight:600;margin:0;color:var(--color-text, #1a2332)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.projects-empty{text-align:center;padding:60px 20px;color:var(--color-text-muted, #64748b)}.projects-empty--loading{display:flex;flex-direction:column;align-items:center;gap:12px}.projects-empty p{margin:8px 0}.project-card{background:#fff;border:1px solid var(--color-border, #e2e8f0);border-radius:12px;overflow:hidden;cursor:pointer;transition:box-shadow .2s,transform .15s}.project-card:hover{box-shadow:0 4px 16px #00000014;transform:translateY(-2px)}.project-card-image{height:140px;display:flex;align-items:center;justify-content:center;overflow:hidden}.project-card-image img{width:100%;height:100%;object-fit:cover}.project-card-initials{width:72px;height:72px;display:flex;align-items:center;justify-content:center;background:#ffffff29;color:#fff}.project-card-initials-wrap{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.project-card-body{padding:16px 20px}.project-card-body h3{margin:0 0 4px;font-size:1.05rem;font-weight:600;color:var(--color-text, #1a2332)}.project-card-key{font-size:.75rem;color:var(--color-text-muted, #94a3b8);font-family:monospace;margin-bottom:8px}.project-card-desc{font-size:.8125rem;color:var(--color-text-muted, #64748b);margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-card-footer{display:flex;align-items:center;gap:8px;font-size:.75rem;color:var(--color-text-muted, #94a3b8)}.project-card-actions{margin-left:auto;display:flex;gap:4px}.project-card-action-btn{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:4px;border-radius:4px;color:var(--color-text-muted, #94a3b8);transition:color .15s,background .15s}.project-card-action-btn:hover{color:var(--color-text, #e2e8f0);background:#ffffff14}.project-card-action-btn--danger:hover{color:var(--color-error, #f87171);background:#f871711a}.delete-warning{display:flex;align-items:flex-start;gap:10px;padding:12px 0 4px}.delete-warning-icon{flex-shrink:0;color:var(--color-warning, #f59e0b);margin-top:1px}.delete-warning-icon .delete-warning-icon--lab{color:var(--color-info, #60a5fa)}.delete-warning-icon .delete-warning--secondary{margin-top:10px;opacity:.85}.delete-warning-icon .delete-checking{display:flex;align-items:center;gap:10px;padding:16px 0}.delete-warning-icon .delete-lab-confirm-label{display:flex;align-items:flex-start;gap:8px;margin-top:14px;cursor:pointer}.delete-warning-icon .delete-lab-confirm-label input[type=checkbox]{flex-shrink:0;margin-top:2px;cursor:pointer}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;animation:dialog-fade .2s ease-out}@keyframes dialog-fade{0%{opacity:0}to{opacity:1}}.dialog-card{background:#fff;border-radius:12px;box-shadow:0 20px 60px #00000026;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;padding:28px 32px 24px;animation:dialog-slide .25s ease-out}@keyframes dialog-slide{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.dialog-card h2{margin:0 0 20px;font-size:1.2rem;font-weight:600}.dialog-form{display:flex;flex-direction:column;gap:12px}.dialog-field{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}.dialog-field label{font-size:.8125rem;font-weight:500;color:var(--color-text, #334155)}.dialog-field input,.dialog-field textarea,.dialog-field select{padding:8px 12px;border:1.5px solid var(--color-border, #e2e8f0);border-radius:8px;font-size:.875rem;outline:none;transition:border-color .2s}.dialog-field input:focus,.dialog-field textarea:focus,.dialog-field select:focus{border-color:var(--color-primary, #0ea5e9)}.dialog-field textarea{resize:vertical;min-height:60px}.dialog-field .field-hint{font-size:.75rem;color:var(--color-text-muted, #94a3b8)}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.image-preview-row{display:flex;align-items:center;gap:10px;padding:8px;border:1.5px solid var(--color-border, #e2e8f0);border-radius:8px;background:var(--color-bg, #f8fafc)}.image-preview-thumb{width:40px;height:40px;object-fit:contain;border-radius:6px;border:1px solid var(--color-border, #e2e8f0);background:#fff}.image-preview-name{flex:1;font-size:.8125rem;color:var(--color-text-muted, #94a3b8);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-preview-remove{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:4px;background:transparent;color:var(--color-text-muted, #94a3b8);cursor:pointer}.image-preview-remove:hover{background:var(--color-border, #e2e8f0);color:var(--color-text, #334155)}.dialog-btn-secondary{padding:8px 16px;border:1.5px solid var(--color-border, #e2e8f0);border-radius:8px;background:#fff;font-size:.8125rem;cursor:pointer;color:var(--color-text, #334155)}.dialog-btn-secondary:hover{background:var(--color-bg, #f8fafc)}.dialog-btn-primary{padding:8px 16px;border:none;border-radius:8px;background:var(--color-primary, #0ea5e9);color:#fff;font-size:.8125rem;font-weight:600;cursor:pointer}.dialog-btn-primary:hover:not(:disabled){filter:brightness(1.08)}.dialog-btn-primary:disabled{opacity:.6;cursor:not-allowed}.dialog-error{color:#dc2626;font-size:.8125rem;margin-top:8px}/**
* Copyright (c) 2014 The xterm.js authors. All rights reserved.
* Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
* https://github.com/chjj/term.js
* @license MIT
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*
* Originally forked from (with the author's permission):
*   Fabrice Bellard's javascript vt100 for jslinux:
*   http://bellard.org/jslinux/
*   Copyright (c) 2011 Fabrice Bellard
*   The original design remains. The terminal itself
*   has been extended to include xterm CSI codes, among
*   other features.
*/.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgb(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgb(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #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: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color, var(--xy-background-color-props, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}.admin-page{min-height:100vh;background:var(--color-bg, #f8fafc)}.admin-content{max-width:1100px;margin:0 auto;padding:32px 24px}.admin-tabs{display:flex;gap:0;border-bottom:2px solid var(--color-border, #e2e8f0);margin-bottom:28px}.admin-tab{padding:10px 20px;border:none;background:none;font-size:.875rem;font-weight:500;color:var(--color-text-muted, #64748b);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s}.admin-tab:hover{color:var(--color-text, #334155)}.admin-tab--active,.admin-tab[aria-selected=true]{color:var(--color-primary, #0ea5e9);border-bottom-color:var(--color-primary, #0ea5e9)}.admin-tabs-wrap,.admin-tabs-wrap>div,.admin-tabs{overflow:visible!important;overflow-x:visible!important}.admin-message{margin-top:16px}.users-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.users-header h2{margin:0;font-size:1.1rem;font-weight:600}.users-loading{display:flex;justify-content:center;padding:32px 0}.users-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 1px 4px #0f172a0f;border:1px solid var(--color-border, #e2e8f0)}.users-table th{text-align:left;padding:12px 14px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted, #64748b);background:#f8fafc;border-bottom:1px solid var(--color-border, #e2e8f0)}.users-table td{padding:10px 14px;font-size:.8125rem;border-bottom:1px solid var(--color-border, #f1f5f9);color:var(--color-text, #334155);vertical-align:middle}.users-table tr:last-child td{border-bottom:none}.users-table tr:hover td{background:#f8fafc}.user-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.6875rem;font-weight:600;text-transform:uppercase}.user-badge--admin{background:#dbeafe;color:#1d4ed8}.user-badge--user{background:#f1f5f9;color:#64748b}.user-badge--inactive{background:#fef2f2;color:#dc2626}.user-actions{display:flex;gap:6px;justify-content:flex-end}.user-action-btn{padding:4px 8px;border:1px solid var(--color-border, #e2e8f0);border-radius:4px;background:#fff;font-size:.75rem;cursor:pointer;color:var(--color-text-muted, #64748b)}.user-action-btn:hover{background:var(--color-bg, #f8fafc);color:var(--color-text, #334155)}.user-action-btn--danger:hover{background:#fef2f2;color:#dc2626;border-color:#fecaca}.config-panel{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000000f;padding:24px;max-width:600px}.config-panel h2{margin:0 0 20px;font-size:1.1rem;font-weight:600}.config-field{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}.config-field label{font-size:.8125rem;font-weight:500;color:var(--color-text, #334155)}.config-field input,.config-field select{padding:8px 12px;border:1.5px solid var(--color-border, #e2e8f0);border-radius:8px;font-size:.875rem;outline:none}.config-field input:focus,.config-field select:focus{border-color:var(--color-primary, #0ea5e9)}.config-field .config-hint{font-size:.75rem;color:var(--color-text-muted, #94a3b8)}.config-success{color:#16a34a;font-size:.8125rem;margin-top:8px}.config-success-alert{margin-top:12px}.user-projects-description{margin-bottom:16px}.user-projects-cell{display:flex;flex-wrap:wrap;gap:4px;padding:0;border:none;background:none;cursor:pointer;min-height:24px;align-items:center;text-align:left}.user-projects-cell:hover .user-project-tag{border-color:var(--color-primary, #0ea5e9)}.user-project-tag{display:inline-block;padding:3px 8px;border-radius:4px;font-size:.6875rem;font-weight:600;background:#f0f9ff;color:#0369a1;border:1px solid #bae6fd;transition:border-color .15s}.user-projects-empty{font-size:.75rem;color:var(--color-text-muted, #94a3b8);font-style:italic}.user-projects-list{display:flex;flex-direction:column;gap:8px;max-height:280px;overflow-y:auto;margin-bottom:16px}.user-projects-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1.5px solid var(--color-border, #e2e8f0);border-radius:8px;cursor:pointer;transition:background .15s,border-color .15s}.user-projects-item:hover{background:var(--color-bg, #f8fafc)}.user-projects-item:has(input:checked){border-color:var(--color-primary, #0ea5e9);background:#f0f9ff}.user-projects-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary, #0ea5e9);flex-shrink:0}.user-projects-item-info{display:flex;flex-direction:column;gap:1px}.user-projects-item-name{font-size:.8125rem;font-weight:500;color:var(--color-text, #334155)}.user-projects-item-key{font-size:.6875rem;color:var(--color-text-muted, #94a3b8)}:root{color-scheme:light}*{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);background:radial-gradient(circle at 15% 10%,color-mix(in srgb,var(--color-primary-light) 45%,white) 0%,transparent 28%),linear-gradient(180deg,color-mix(in srgb,var(--color-bg) 92%,white) 0%,var(--color-bg) 100%);color:var(--color-text)}.portal-shell{max-width:1600px;margin:0 auto;padding:var(--space-6);display:grid;gap:var(--space-4)}.portal-header{display:flex;flex-direction:column;gap:var(--space-3)}.header-top-row{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-4)}.header-left{display:flex;align-items:center;gap:var(--space-2)}.workspace-back-link{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);color:var(--color-text-secondary);transition:background .15s,color .15s;text-decoration:none}.workspace-back-link:hover{background:var(--color-surface-hover, rgba(0, 0, 0, .06));color:var(--color-text-primary)}.header-copy{min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.header-side{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-3)}.brand-strip{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap;justify-content:flex-end}.brand-logo{display:block;object-fit:contain;max-width:100%}.itaipu-logo{height:44px}.vivion-logo{height:36px}.stage-box{display:flex;flex-direction:column;gap:var(--space-2);min-width:220px}.stage-box input,.desired-state-row select{min-height:40px;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:0 var(--space-3);background:var(--color-surface);color:var(--color-text);font-family:var(--font-sans)}.status-strip{display:flex;gap:var(--space-6);flex-wrap:wrap}.status-item{display:flex;flex-direction:column;gap:var(--space-2)}.header-controls{display:flex;gap:var(--space-3);flex-direction:row;align-items:flex-end;flex:0 1 auto}.control-block{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-5)}.tandem-selectors{display:flex;gap:var(--space-3);flex-direction:row}.selector-group{display:flex;flex-direction:column;gap:var(--space-2);min-width:160px}.selector-label{font-weight:600;font-size:var(--text-sm)}.selector-group select,.stage-box input,.desired-state-row select{min-height:40px;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:0 var(--space-3);background:var(--color-surface);color:var(--color-text);font-family:var(--font-sans)}.selector-group select:disabled,.stage-box input:disabled,.desired-state-row select:disabled{opacity:.6;cursor:not-allowed}.apply-button{width:auto;min-height:40px;padding:8px 16px;white-space:nowrap}.status-panel{border-left:4px solid var(--color-primary, #3b82f6)}.status-top-row{display:flex;align-items:start;gap:var(--space-6)}.activity-toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%) translateY(100%);opacity:0;pointer-events:none;transition:transform .3s ease,opacity .3s ease;z-index:9000;display:flex;align-items:center;gap:10px;padding:8px 16px;border-radius:var(--radius-md, 6px);background:color-mix(in srgb,var(--color-surface, #1e1e2e) 85%,#000);border:1px solid var(--color-border, #333);box-shadow:0 4px 20px #0006;max-width:600px;min-width:200px}.activity-toast--visible{transform:translate(-50%) translateY(0);opacity:1;pointer-events:auto}.activity-toast-text{font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:12px;color:var(--color-text, #e0e0e0);line-height:1.4;flex:1;min-width:0;word-break:break-word}.activity-toast--visible .activity-toast-text{color:var(--color-text, #e0e0e0)}.activity-toast:has(.activity-spinner){border-color:color-mix(in srgb,var(--color-primary, #58a6ff) 40%,transparent)}.activity-toast:has(.activity-spinner) .activity-toast-text{color:var(--color-primary, #58a6ff)}.activity-toast-close{background:none;border:none;color:var(--color-text-muted, #888);cursor:pointer;padding:2px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm, 4px);flex-shrink:0}.activity-toast-close:hover{color:var(--color-text, #e0e0e0);background:color-mix(in srgb,var(--color-text) 10%,transparent)}.activity-spinner{width:8px;height:8px;border-radius:50%;background:var(--color-primary, #58a6ff);flex-shrink:0;animation:activity-pulse 1s ease-in-out infinite}@keyframes activity-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.75)}}.status-block{display:flex;flex-direction:column;gap:var(--space-1)}.status-block--primary{min-width:0;flex:1}.status-block--manage{margin-left:auto;align-self:flex-start}.snapshot-active-actions{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2)}.status-block-label{font-size:var(--text-xs, .75rem);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-9, #888)}.status-block-value{display:flex;align-items:center;gap:var(--space-2)}.status-stage-name{font-size:var(--font-size-4, 1.125rem);font-weight:700;color:var(--color-text);word-break:break-word}.status-stage-description{font-size:var(--text-sm);color:var(--color-text-muted, #666);margin-top:.15rem;font-style:italic}.status-message-text{font-size:var(--text-sm);color:var(--color-text-muted, #666);line-height:1.5;word-break:break-word}.status-drift-banner{margin-top:var(--space-3);padding:var(--space-2) var(--space-3);background:color-mix(in srgb,var(--color-warning, #f59e0b) 12%,var(--color-surface));border:1px solid color-mix(in srgb,var(--color-warning, #f59e0b) 30%,transparent);border-radius:var(--radius-md);font-size:var(--text-sm)}.status-drift-banner--info{background:color-mix(in srgb,var(--color-info, #3b82f6) 8%,var(--color-surface));border-color:color-mix(in srgb,var(--color-info, #3b82f6) 25%,transparent)}.toolbar-apply-group{display:flex;align-items:center;gap:var(--space-2)}.toolbar-select{min-height:32px;padding:0 var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-sm)}.toolbar-select:disabled{opacity:.6;cursor:not-allowed}.toolbar-label{font-size:var(--text-sm);color:var(--gray-10)}.portal-section-card{overflow:hidden}.portal-section-card>*{padding-left:0!important;padding-right:0!important;padding-bottom:0!important}.portal-section-card .section-tabs{padding-left:var(--space-4);padding-right:var(--space-4)}.react-flow__node{background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important;width:auto!important}.react-flow__node.selected,.react-flow__node:focus,.react-flow__node:focus-visible{box-shadow:none!important}.react-flow{--xy-node-border-default: none;--xy-node-background-color-default: transparent;--xy-node-boxshadow-hover-default: none;--xy-node-boxshadow-selected-default: none}.topology-header-row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);flex-shrink:0}.section-tabs{display:flex;align-items:center;gap:0;border-bottom:2px solid var(--gray-6);margin-bottom:0;flex-shrink:0}.section-tab{padding:var(--space-2) var(--space-4);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;font-size:var(--font-size-3);font-weight:500;color:var(--gray-11);cursor:pointer;transition:color .15s,border-color .15s}.section-tab:hover{color:var(--gray-12)}.section-tab--active{color:var(--accent-11);border-bottom-color:var(--accent-9);font-weight:600}.tests-placeholder{display:flex;align-items:center;justify-content:center;min-height:300px;color:var(--gray-11);font-size:var(--font-size-3)}.topology-controls{display:flex;align-items:center;gap:var(--space-3)}.edge-interface-label{position:absolute;pointer-events:none;font-size:10px;font-weight:600;line-height:1.2;color:var(--color-text-muted);background:color-mix(in srgb,var(--color-bg-card) 92%,transparent);border:1px solid var(--color-border);border-radius:6px;padding:2px 6px;white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis}.react-flow__edge{cursor:pointer}.react-flow__edge:hover .react-flow__edge-path{stroke:var(--color-accent, #60a5fa)!important;stroke-width:3!important}.link-detail-panel{position:absolute;z-index:6;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:10px 12px;width:320px;box-shadow:var(--shadow-md);pointer-events:auto}.link-detail-header{display:flex;align-items:center;justify-content:space-between}.link-detail-title{font-size:13px}.link-detail-close{background:none;border:none;cursor:pointer;color:var(--color-text-muted);padding:2px;border-radius:4px}.link-detail-close:hover{color:var(--color-text);background:var(--color-bg-card)}.link-detail-link-key{font-size:11px;color:var(--color-text-muted);margin-top:2px;margin-bottom:8px;word-break:break-all}.link-detail-section{margin-bottom:8px}.link-detail-label{display:block;font-size:11px;font-weight:600;color:var(--color-text-muted);margin-bottom:3px}.link-detail-node-label{display:block;font-size:11px;font-weight:700;color:var(--color-text);margin-bottom:4px}.link-detail-field{display:flex;align-items:center;gap:6px}.link-detail-field .link-detail-input{flex:1}.link-detail-field-tag{flex-shrink:0;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 5px;border-radius:3px;line-height:1}.link-detail-field-tag--real{background:color-mix(in srgb,var(--color-primary) 20%,transparent);color:var(--color-primary)}.link-detail-field-tag--cml{background:color-mix(in srgb,var(--color-text-muted) 15%,transparent);color:var(--color-text-muted)}.link-detail-cml-row{display:flex;align-items:center;gap:6px;margin-top:3px}.link-detail-cml-value{font-size:11px;color:var(--color-text-muted);font-family:monospace}.link-detail-input{width:100%;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);color:var(--color-text);font-size:12px;padding:5px 8px;font-family:inherit}.link-detail-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 25%,transparent)}.link-detail-cml-hint{display:block;font-size:10px;color:var(--color-text-muted);margin-top:2px;opacity:.7}.link-detail-error{margin-top:4px;font-size:11px;color:#b91c1c}.topology-control-btn{min-width:28px;min-height:28px}.topology-control-token{display:inline-flex;align-items:center;justify-content:center;width:14px;font-size:10px;font-weight:700;letter-spacing:.02em;color:var(--color-text-muted)}.download-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-3)}.topology-expanded-shell{position:fixed;left:2vw;top:2vh;width:96vw;height:96vh;z-index:30;padding:var(--space-4);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);overflow:auto}.console-panel{position:fixed;display:flex;flex-direction:column;background:#1e1e2e;border:1px solid var(--color-border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:0 8px 32px #0006;overflow:hidden}.console-titlebar{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:var(--color-primary);color:#fff;cursor:grab;-webkit-user-select:none;user-select:none;flex-shrink:0}.console-titlebar:active{cursor:grabbing}.console-title{font-size:var(--text-sm);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.console-close-btn{background:none;border:none;color:#fff;cursor:pointer;padding:2px 6px;border-radius:var(--radius-sm);line-height:1;display:inline-flex;align-items:center;justify-content:center}.console-close-btn:hover{background:#fff3}.console-terminal{flex:1;overflow:hidden}.console-resize-handle{position:absolute;right:0;bottom:0;width:16px;height:16px;cursor:nwse-resize;background:linear-gradient(135deg,transparent 50%,rgba(255,255,255,.2) 50%)}.node-popup{position:absolute;z-index:5;background:linear-gradient(180deg,#fff,#fafcff);border:1px solid color-mix(in srgb,var(--color-border) 82%,#9fb7d9 18%);border-radius:12px;padding:12px;width:300px;box-shadow:0 14px 28px #0f172a29;pointer-events:auto}.node-popup--dragging{-webkit-user-select:none;user-select:none}.node-popup-header{margin-bottom:10px;cursor:grab}.node-popup--dragging .node-popup-header{cursor:grabbing}.node-popup-title-row{display:flex;align-items:center;gap:6px}.node-popup-title{display:block;font-size:13px;line-height:1.2}.node-popup-copy-btn{display:flex;align-items:center;justify-content:center;flex-shrink:0;background:transparent;border:none;padding:2px;cursor:pointer;color:var(--color-text-muted);border-radius:3px;transition:color .15s,background .15s}.node-popup-copy-btn:hover{color:var(--color-text);background:color-mix(in srgb,var(--color-border) 60%,transparent 40%)}.node-popup-subtitle{margin-top:4px;font-size:12px;color:var(--color-text-muted)}.node-popup-section{margin-top:12px;padding-top:10px;border-top:1px solid color-mix(in srgb,var(--color-border) 76%,#ffffff 24%)}.node-popup-section--danger{border-top-color:color-mix(in srgb,#ef4444 28%,var(--color-border) 72%)}.node-popup-section-title{font-size:11px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:6px}.node-popup-section>.crud-btn{margin-top:8px;width:100%;min-height:34px}.hidden-file-input{display:none}.node-popup-description-block{margin-top:0}.node-popup-description-label{display:block;font-size:11px;font-weight:600;color:var(--color-text-muted);margin-bottom:4px}.node-popup-description-input{width:100%;min-height:64px;resize:vertical;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);color:var(--color-text);font-size:12px;line-height:1.35;padding:6px 8px;font-family:inherit}.node-popup-btn--secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.node-popup-inline-error{margin-top:4px;font-size:11px;color:#b91c1c}.node-popup-btn{margin-top:8px;min-height:34px;padding:7px 12px;background:var(--color-primary);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:12px;font-weight:600;width:100%;transition:filter .15s,opacity .15s;display:inline-flex;align-items:center;justify-content:center;gap:6px}.node-popup-row{display:grid;gap:8px}.node-popup-row .node-popup-btn{margin-top:0}.node-popup-row--two{grid-template-columns:repeat(2,minmax(0,1fr))}.node-popup-row--three{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:8px}.node-popup-row--three .node-popup-btn{min-height:34px;padding:6px 8px;font-size:11px;gap:4px}.node-popup-btn:hover:not(:disabled){filter:brightness(1.1)}.node-popup-btn:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.4)}.node-popup-btn--control{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}@keyframes icon-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.icon-spin{animation:icon-spin 1s linear infinite}@media (max-width: 900px){.header-top-row{flex-direction:column;align-items:stretch}.header-left{align-items:flex-start}.header-side{align-items:stretch}.brand-strip{justify-content:flex-start}.status-top-row{flex-direction:column;gap:var(--space-3)}.toolbar-apply-group{flex-wrap:wrap}.topology-header-row{flex-direction:column;align-items:stretch}.section-tabs,.topology-controls{flex-wrap:wrap}.download-actions{flex-direction:column;align-items:stretch}.topology-expanded-shell{left:1vw;top:1vh;width:98vw;height:98vh;padding:10px;border-radius:10px}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-card{min-width:360px;max-width:480px;width:90vw}.original-config-window{position:fixed;min-width:520px;min-height:320px;max-width:min(92vw,1100px);max-height:88vh;background:#0f172a;border:none;border-radius:14px 14px 0 0;box-shadow:0 18px 56px #0f172a52;overflow:hidden;display:flex;flex-direction:column}.original-config-modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:6px 12px;background:var(--color-primary);color:#fff;cursor:grab;-webkit-user-select:none;user-select:none;flex-shrink:0}.original-config-modal-header:active{cursor:grabbing}.original-config-title-drag{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;padding-right:12px}.original-config-title{font-size:13px;font-weight:700;color:#fff;letter-spacing:.01em}.original-config-toolbox{display:flex;align-items:center;gap:8px}.original-config-filename{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-style:italic;color:#ffffffbf}.original-config-search-input{width:220px;height:30px;border:1px solid rgba(0,0,0,.2);border-radius:6px;background:#fff;color:#1e293b;padding:0 10px;font-size:12px;outline:none;box-shadow:inset 0 1px 2px #0000000f;transition:border-color .15s}.original-config-search-input::placeholder{color:#94a3b8}.original-config-search-input:focus{border-color:#00000059;box-shadow:inset 0 1px 2px #0000000f,0 0 0 2px #3b82f626}.original-config-search-count{min-width:44px;height:24px;padding:0 8px;border-radius:999px;background:#ffffff26;color:#fff;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.original-config-nav-btn,.original-config-delete-btn,.original-config-close-btn{border:none;background:transparent;cursor:pointer;line-height:1;padding:4px;border-radius:6px;color:#fff;display:inline-flex;align-items:center;justify-content:center}.original-config-nav-btn:hover:not(:disabled),.original-config-close-btn:hover,.original-config-delete-btn:hover:not(:disabled){background:#fff3}.original-config-nav-btn:disabled,.original-config-delete-btn:disabled{opacity:.4;cursor:not-allowed}.original-config-delete-btn:hover:not(:disabled){background:color-mix(in srgb,#ef4444 18%,transparent)}.original-config-modal-body{padding:0;flex:1;min-height:0;display:flex;flex-direction:column}.original-config-filesize{font-style:normal;opacity:.6}.original-config-content{margin:0;flex:1;min-height:0;overflow:auto;border:none;border-radius:0;background:#0f172a;color:#e2e8f0;padding:var(--space-3);font-family:Fira Code,Cascadia Code,Consolas,monospace;font-size:12px;line-height:1.45;white-space:pre-wrap;word-break:break-word}.original-config-match{background:#fde68a;color:#111827;border-radius:2px;padding:0 1px}.original-config-match--active{background:#f59e0b;color:#111827}.original-config-loading,.original-config-empty{font-size:13px;color:var(--color-text-muted);padding:var(--space-4)}.original-config-error{font-size:13px;color:#b91c1c;padding:var(--space-4)}.original-config-resize-handle{position:absolute;background:transparent}.original-config-resize-handle.resize-n{top:0;left:6px;right:6px;height:5px;cursor:ns-resize}.original-config-resize-handle.resize-s{bottom:0;left:6px;right:6px;height:5px;cursor:ns-resize}.original-config-resize-handle.resize-e{right:0;top:6px;bottom:6px;width:5px;cursor:ew-resize}.original-config-resize-handle.resize-w{left:0;top:6px;bottom:6px;width:5px;cursor:ew-resize}.original-config-resize-handle.resize-ne{top:0;right:0;width:10px;height:10px;cursor:nesw-resize}.original-config-resize-handle.resize-nw{top:0;left:0;width:10px;height:10px;cursor:nwse-resize}.original-config-resize-handle.resize-se{bottom:0;right:0;width:10px;height:10px;cursor:nwse-resize}.original-config-resize-handle.resize-sw{bottom:0;left:0;width:10px;height:10px;cursor:nesw-resize}.node-ring{display:inline-flex;align-items:center;justify-content:center;width:62px;height:62px;border-radius:50%;border:3px solid transparent;transition:border-color .3s}.node-ring--unknown{border-color:#9ca3af}.node-ring--defined{border-color:#60a5fa}.node-ring--booting{border-color:#60a5fa;animation:node-pulse 1.5s ease-in-out infinite}.node-ring--booted{border-color:#34d399}.node-ring--stopped{border-color:#f87171}@keyframes node-pulse{0%,to{opacity:1}50%{opacity:.5}}.node-badge-stack{position:absolute;top:-6px;right:-10px;display:flex;flex-direction:column;align-items:flex-end;gap:2px;pointer-events:none}.node-site-badge{display:inline-block;font-size:9px;font-weight:700;padding:1px 6px;border-radius:8px;background:#e5e7eb;color:#374151;border:1px solid #d1d5db;letter-spacing:.02em;pointer-events:none}.node-state-badge{display:inline-block;font-size:9px;font-weight:600;padding:1px 6px;border-radius:8px;color:#fff;pointer-events:none}.node-state-badge.node-ring--booted{background:#34d399;color:#064e3b}.node-state-badge.node-ring--stopped{background:#f87171}.node-state-badge.node-ring--booting{background:#60a5fa}.node-state-badge.node-ring--defined{background:#93c5fd;color:#1e3a5f}.node-state-badge.node-ring--unknown{background:#9ca3af}.node-migration-pill{display:inline-block;font-size:9px;font-weight:600;padding:1px 6px;border-radius:8px;margin-top:3px;pointer-events:none}.migration-planned{background:#e0e7ff;color:#3730a3}.migration-in_progress{background:#fef3c7;color:#92400e}.migration-validated{background:#d1fae5;color:#065f46}.migration-completed{background:#e0e7ff;color:#1e3a8a}.stream-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.stream-output{max-height:300px;overflow-y:auto;background:#1e1e2e;color:#cdd6f4;font-family:Fira Code,Cascadia Code,Consolas,monospace;font-size:12px;line-height:1.5;padding:var(--space-3);border-radius:var(--radius-md)}.stream-line{white-space:pre-wrap;word-break:break-all}.stage-panel-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;z-index:10000}.stage-panel{position:fixed;top:0;right:0;width:420px;max-width:90vw;height:100vh;z-index:10010;background:var(--color-surface);border-left:1px solid var(--color-border);box-shadow:-4px 0 24px #00000026;display:flex;flex-direction:column;overflow:hidden}.stage-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-4) var(--space-3);border-bottom:1px solid var(--color-border);flex-shrink:0}.stage-panel-close{background:none;border:none;font-size:22px;cursor:pointer;color:var(--color-text-muted);padding:2px 8px;border-radius:var(--radius-sm);line-height:1}.stage-panel-close:hover{background:var(--color-border)}.stage-panel-list{flex:1;overflow-y:auto;padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-3)}.stage-panel-item{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.stage-panel-item--deployed{border-color:var(--color-primary, #3b82f6);background:color-mix(in srgb,var(--color-primary, #3b82f6) 5%,var(--color-surface))}.stage-panel-item--selected:not(.stage-panel-item--deployed){border-color:var(--color-border-strong, #64748b);background:color-mix(in srgb,var(--color-border-strong, #64748b) 8%,var(--color-surface))}.stage-panel-item-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2)}.stage-panel-item-name{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-3, .9375rem)}.stage-panel-item-meta{font-size:var(--text-xs, .75rem);color:var(--color-text-muted);white-space:nowrap}.stage-panel-item-desc{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-1)}.stage-panel-item-actions{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap}.stage-panel-apply-group{display:flex;align-items:center;gap:var(--space-2)}.stage-panel-footer{padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);flex-shrink:0}.stage-panel-create-form{display:flex;flex-direction:column;gap:var(--space-2)}.stage-panel-field{margin-bottom:0}.stage-panel-input{width:100%}.stage-panel-select{min-width:180px}.stage-panel-create-actions{display:flex;gap:var(--space-2);justify-content:flex-end}.topology-container--disabled .react-flow{opacity:.4;pointer-events:none}.topology-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;align-items:center;justify-content:center;background:#ffffff80;pointer-events:none}.topology-overlay-text{font-size:var(--font-size-4, 1.125rem);font-weight:600;color:var(--color-text-muted);padding:var(--space-3) var(--space-5);background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.topology-save-indicator{position:absolute;right:12px;top:12px;z-index:9;pointer-events:none;font-size:11px;font-weight:600;letter-spacing:.01em;border-radius:999px;padding:4px 10px;border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-bg-card) 94%,transparent);color:var(--color-text-muted);box-shadow:var(--shadow-sm)}.topology-save-indicator--saving{color:var(--color-warning, #a16207)}.topology-save-indicator--saved{color:var(--color-success, #15803d)}.topology-save-indicator--error{color:var(--color-danger, #b91c1c)}.topology-toolbar-actions{position:absolute;top:8px;right:8px;display:flex;gap:6px;z-index:5}.topology-toolbar-actions .crud-btn{color:#fff;font-weight:700}.cml-control{position:relative;display:inline-flex}.cml-control__trigger{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;font-size:12px;font-weight:700;border-radius:4px;border:1px solid transparent;background:var(--color-primary, #58a6ff);color:#fff;cursor:pointer;white-space:nowrap;transition:filter .15s,box-shadow .15s}.cml-control__trigger:hover{filter:brightness(1.1)}.cml-control__trigger--open{box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary, #58a6ff) 40%,transparent)}.cml-control__label{max-width:140px;overflow:hidden;text-overflow:ellipsis}.cml-control__state-dot{display:inline-block;width:7px;height:7px;border-radius:50%;flex-shrink:0}.cml-control__state-dot--started{background:#66bb6a;box-shadow:0 0 4px #66bb6a99}.cml-control__state-dot--stopped{background:#ef5350;box-shadow:0 0 4px #ef535080}.cml-control__state-dot--defined_on_core{background:#ffa726;box-shadow:0 0 4px #ffa72680}.cml-control__state-dot--none{background:#666}.cml-control__drift-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;border-radius:8px;background:#e65100;color:#fff;line-height:1}.cml-control__chevron{transition:transform .2s;opacity:.6}.cml-control__chevron--open{transform:rotate(180deg)}.cml-control__panel{position:absolute;top:calc(100% + 6px);right:0;z-index:20;min-width:280px;max-width:360px;background:var(--color-surface, #1e1e2e);border:1px solid var(--color-border, #333);border-radius:8px;box-shadow:0 6px 24px #00000073;overflow:hidden;font-size:12px}.cml-control__info-section{padding:10px 12px;display:flex;flex-direction:column;gap:6px;border-bottom:1px solid var(--color-border, #333)}.cml-control__info-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.cml-control__info-label{color:var(--color-text-muted, #888);font-size:11px}.cml-control__info-value{color:var(--color-text, #e0e0e0);font-size:11px;font-family:JetBrains Mono,Fira Code,monospace}.cml-control__empty{color:var(--color-text-muted, #666);font-size:11px;text-align:center;padding:4px 0}.cml-control__state-badge{font-weight:600;text-transform:uppercase;letter-spacing:.5px;font-size:10px;padding:2px 6px;border-radius:4px}.cml-control__state-badge--started{color:#66bb6a;background:#66bb6a26}.cml-control__state-badge--stopped{color:#ef5350;background:#ef535026}.cml-control__state-badge--defined_on_core{color:#ffa726;background:#ffa72626}.cml-control__drift-section{border-bottom:1px solid var(--color-border, #333)}.cml-control__drift-row{display:flex;align-items:center;gap:6px;padding:8px 12px;width:100%;background:#ff980014;border:none;color:#ffb74d;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s}.cml-control__drift-row:hover{background:#ff980024}.cml-control__drift-row>.cml-control__chevron{margin-left:auto}.cml-control__drift-detail{border-top:1px solid rgba(255,152,0,.15)}.cml-control__drift-detail .drift-detail-panel{width:100%;max-height:320px;border:none;border-radius:0;box-shadow:none}.cml-control__actions{padding:8px;display:flex;flex-direction:column;gap:4px}.cml-control__action-btn{display:flex;align-items:center;gap:6px;padding:7px 10px;font-size:12px;font-weight:500;border:none;border-radius:5px;cursor:pointer;width:100%;transition:background .15s,opacity .15s}.cml-control__action-btn:disabled{opacity:.45;cursor:not-allowed}.cml-control__action-btn--start{background:#66bb6a26;color:#66bb6a}.cml-control__action-btn--start:hover:not(:disabled){background:#66bb6a40}.cml-control__action-btn--stop{background:#ef535026;color:#ef5350}.cml-control__action-btn--stop:hover:not(:disabled){background:#ef535040}.cml-control__action-btn--destroy{background:#d32f2f1f;color:#ef9a9a;border-top:1px solid rgba(211,47,47,.18);margin-top:2px}.cml-control__action-btn--destroy:hover:not(:disabled){background:#d32f2f40;color:#ef5350}.config-diff-window{position:fixed;min-width:520px;min-height:320px;max-width:min(92vw,1100px);max-height:88vh;display:flex;flex-direction:column;background:#0f172a;border:none;border-radius:14px 14px 0 0;box-shadow:0 18px 56px #0f172a52;overflow:hidden}.config-diff-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:6px 12px;background:var(--color-primary);color:#fff;cursor:grab;-webkit-user-select:none;user-select:none;flex-shrink:0}.config-diff-header:active{cursor:grabbing}.config-diff-title-area{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;padding-right:12px}.config-diff-title{font-size:13px;font-weight:700;color:#fff;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.config-diff-subtitle{font-size:11px;font-style:italic;color:#ffffffbf}.config-diff-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}.config-diff-select{height:28px;padding:0 8px;font-size:12px;font-weight:600;border:1px solid rgba(255,255,255,.25);border-radius:6px;background:#ffffff1a;color:#fff;cursor:pointer;outline:none;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.config-diff-select:hover:not(:disabled){background:#ffffff2e}.config-diff-select:disabled{opacity:.5;cursor:not-allowed}.config-diff-select option{background:#1e293b;color:#e2e8f0}.config-diff-vs{font-size:11px;font-weight:700;color:#ffffff80;text-transform:uppercase;letter-spacing:.05em}.config-diff-stats{display:flex;gap:6px;min-width:44px;height:24px;padding:0 8px;border-radius:999px;background:#ffffff26;font-size:11px;font-weight:700;font-family:Fira Code,Cascadia Code,Consolas,monospace;align-items:center;justify-content:center}.config-diff-stat--added{color:#4ade80}.config-diff-stat--removed{color:#f87171}.config-diff-close-btn{border:none;background:transparent;cursor:pointer;line-height:1;padding:4px;border-radius:6px;color:#fff;display:inline-flex;align-items:center;justify-content:center}.config-diff-close-btn:hover{background:#fff3}.config-diff-body{padding:0;flex:1;min-height:0;display:flex;flex-direction:column}.config-diff-content{margin:0;flex:1;min-height:0;overflow:auto;border:none;border-radius:0;background:#0f172a;color:#e2e8f0;padding:var(--space-3);font-family:Fira Code,Cascadia Code,Consolas,monospace;font-size:12px;line-height:1.45;white-space:pre-wrap;word-break:break-word}.config-diff-line--added{background:#22c55e26;color:#4ade80}.config-diff-line--removed{background:#ef444426;color:#f87171}.config-diff-line--header{color:#60a5fa;font-weight:600}.config-diff-line--context{color:#94a3b8}.config-diff-loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:48px 24px;font-size:14px;color:#94a3b8}.config-diff-error{padding:24px;font-size:13px;color:#f87171;text-align:center}.config-diff-resize{position:absolute;background:transparent}.config-diff-resize.resize-n{top:0;left:6px;right:6px;height:5px;cursor:ns-resize}.config-diff-resize.resize-s{bottom:0;left:6px;right:6px;height:5px;cursor:ns-resize}.config-diff-resize.resize-e{right:0;top:6px;bottom:6px;width:5px;cursor:ew-resize}.config-diff-resize.resize-w{left:0;top:6px;bottom:6px;width:5px;cursor:ew-resize}.config-diff-resize.resize-ne{top:0;right:0;width:10px;height:10px;cursor:nesw-resize}.config-diff-resize.resize-nw{top:0;left:0;width:10px;height:10px;cursor:nwse-resize}.config-diff-resize.resize-se{bottom:0;right:0;width:10px;height:10px;cursor:nwse-resize}.config-diff-resize.resize-sw{bottom:0;left:0;width:10px;height:10px;cursor:nesw-resize}.crud-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:1000;display:flex;align-items:center;justify-content:center}.crud-dialog{background:var(--color-surface, #1a1d23);border:1px solid var(--color-border, #333);border-radius:12px;width:500px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 12px 48px #0009}.crud-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--color-border, #333);font-size:15px;font-weight:600;color:var(--color-text, #e0e0e0)}.crud-dialog-close{background:none;border:none;color:var(--color-text-muted, #888);cursor:pointer;padding:2px}.crud-dialog-close:hover{color:var(--color-text, #e0e0e0)}.crud-dialog-body{padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.crud-dialog-footer{padding:14px 20px;border-top:1px solid var(--color-border, #333);display:flex;justify-content:flex-end;gap:8px}.crud-field-label{font-size:12px;font-weight:500;color:var(--color-text-muted, #aaa);margin-top:10px;margin-bottom:3px}.crud-required{color:#e57373}.crud-field-hint{font-size:11px;color:var(--color-text-muted, #777);margin-top:2px}.crud-section-title{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--color-text-muted, #666);margin-top:16px;padding-bottom:4px;border-bottom:1px solid var(--color-border, #2a2e35)}.crud-section-title:first-child{margin-top:0}.crud-input,.crud-select{width:100%;padding:8px 10px;font-size:13px;background:var(--color-bg, #0d1117);border:1px solid var(--color-border, #333);border-radius:6px;color:var(--color-text, #e0e0e0);box-sizing:border-box;transition:border-color .15s}.crud-input:focus,.crud-select:focus{outline:none;border-color:var(--color-primary, #58a6ff)}.crud-input--error{border-color:#e57373}.crud-field-row{display:flex;gap:6px;align-items:center}.crud-field-or{font-size:11px;color:var(--color-text-muted, #888);white-space:nowrap}.crud-new-site-inline{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:8px;background:#58a6ff0f;border:1px dashed rgba(88,166,255,.25);border-radius:6px}.crud-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 14px;font-size:13px;border-radius:4px;border:1px solid transparent;cursor:pointer;white-space:nowrap}.crud-btn:disabled{opacity:.5;cursor:not-allowed}.crud-btn--primary{background:var(--color-primary, #58a6ff);color:#000}.crud-btn--primary:hover:not(:disabled){filter:brightness(1.1)}.crud-btn--secondary{background:transparent;color:var(--color-text, #e0e0e0);border-color:var(--color-border, #333)}.crud-btn--secondary:hover:not(:disabled){background:var(--color-border, #333)}.crud-btn--sm{padding:4px 8px;font-size:12px}.crud-btn--danger{background:#d32f2f;color:#fff;border-color:#d32f2f}.crud-btn--danger:hover:not(:disabled){background:#e53935}.crud-error{padding:8px;background:#d32f2f26;border:1px solid rgba(211,47,47,.3);border-radius:4px;font-size:12px;color:#ef9a9a;word-break:break-word}.crud-warnings{padding:8px;background:#ff98001a;border:1px solid rgba(255,152,0,.25);border-radius:4px}.crud-warning-item{font-size:12px;color:#ffcc80}.edge-drift-label{position:absolute;pointer-events:none;font-size:9px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;padding:1px 5px;border-radius:3px;white-space:nowrap}.edge-drift-label--added{background:#66bb6a33;border:1px solid rgba(102,187,106,.5);color:#66bb6a}.edge-drift-label--removed{background:#ef535033;border:1px solid rgba(239,83,80,.5);color:#ef5350}.edge-drift-label--modified{background:#ffa72633;border:1px solid rgba(255,167,38,.5);color:#ffa726}.drift-detail-panel{width:320px;max-height:440px;background:var(--color-surface, #1e1e2e);border:1px solid var(--color-border, #333);border-radius:8px;box-shadow:0 4px 20px #0006;display:flex;flex-direction:column;overflow:hidden;font-size:12px}.drift-detail-explainer{display:flex;gap:6px;align-items:flex-start;padding:8px 10px;background:#ffffff08;border-bottom:1px solid var(--color-border, #333);font-size:11px;line-height:1.45;color:var(--color-text-muted, #999)}.drift-detail-explainer>svg{flex-shrink:0;margin-top:2px;color:#64b5f6}.drift-text-added{color:#66bb6a;font-weight:600}.drift-text-removed{color:#ef5350;font-weight:600}.drift-text-modified{color:#ffa726;font-weight:600}.drift-detail-body{overflow-y:auto;padding:6px 0;flex:1}.drift-detail-section{padding:0 10px;margin-bottom:6px}.drift-detail-section-title{display:flex;align-items:center;gap:4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:3px 0;margin-bottom:2px}.drift-detail-section-title--added{color:#66bb6a}.drift-detail-section-title--removed{color:#ef5350}.drift-detail-section-title--modified{color:#ffa726}.drift-detail-hint{font-weight:400;text-transform:none;letter-spacing:normal;font-size:10px;color:var(--color-text-muted, #888);opacity:.8}.drift-detail-item{display:flex;align-items:center;gap:4px;width:100%;padding:3px 6px;margin:1px 0;border:none;border-radius:4px;background:transparent;color:var(--color-text, #ddd);font-size:11px;font-family:JetBrains Mono,Fira Code,monospace;cursor:pointer;text-align:left}.drift-detail-item:hover{background:#ffffff0f}.drift-detail-item--added{color:#a5d6a7}.drift-detail-item--added:hover{background:#66bb6a1a}.drift-detail-item--removed{color:#ef9a9a}.drift-detail-item--removed:hover{background:#ef53501a}.drift-detail-item--modified{color:#ffcc80}.drift-detail-item--modified:hover{background:#ffa7261a}.drift-detail-footer{padding:8px 10px;border-top:1px solid var(--color-border, #333);font-size:10px;color:var(--color-text-muted, #888);text-align:center;line-height:1.3}.drift-detail-footer p{margin:0 0 6px}.drift-deploy-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;width:100%;padding:6px 12px;border:none;border-radius:5px;background:#1976d2;color:#fff;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s}.drift-deploy-btn:hover:not(:disabled){background:#1565c0}.drift-deploy-btn:disabled{opacity:.5;cursor:not-allowed}.node-popup-delete-confirm{margin-top:6px;padding:8px;background:#d32f2f1a;border:1px solid rgba(211,47,47,.25);border-radius:4px;font-size:12px;color:#ef9a9a}.node-popup-delete-confirm p{margin:0 0 6px}.crud-warning-hint{font-size:11px;color:#ef9a9a;font-style:italic;margin:0 0 4px}.node-popup-delete-confirm-actions{display:flex;gap:6px;margin-top:6px}.device-node-drift-added{outline:2px dashed #66bb6a;outline-offset:3px;border-radius:6px}.device-node-drift-removed{outline:2px dashed #ef5350;outline-offset:3px;border-radius:6px;opacity:.6}.wm-panel{position:fixed;top:50%;right:0;transform:translateY(-50%);z-index:2000;display:flex;flex-direction:row;align-items:flex-start;pointer-events:auto}.wm-panel-toggle{position:relative;display:flex;align-items:center;justify-content:center;width:32px;min-height:40px;padding:8px 0;background:var(--color-primary);color:#fff;border:none;border-radius:6px 0 0 6px;cursor:pointer;box-shadow:-2px 0 8px #0000004d;transition:background .15s;flex-shrink:0}.wm-panel-toggle:hover{background:var(--color-primary-hover, #2563eb)}.wm-panel-badge{position:absolute;top:2px;right:2px;min-width:16px;height:16px;font-size:10px;font-weight:700;line-height:16px;text-align:center;background:#f59e0b;color:#1e1e2e;border-radius:8px;padding:0 3px}.wm-panel-count{position:absolute;top:2px;right:2px;min-width:16px;height:16px;font-size:10px;font-weight:700;line-height:16px;text-align:center;background:#ffffff4d;color:#fff;border-radius:8px;padding:0 3px}.wm-panel-body{width:260px;max-height:420px;background:#1e1e2e;border:1px solid var(--color-border);border-right:none;border-radius:8px 0 0 8px;box-shadow:-4px 0 16px #0006;display:flex;flex-direction:column;overflow:hidden}.wm-panel-header{padding:10px 12px 8px;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.wm-panel-title{font-size:12px;font-weight:600;color:#ffffffb3;text-transform:uppercase;letter-spacing:.6px}.wm-panel-list{flex:1;overflow-y:auto;padding:6px 0}.wm-panel-item{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;gap:6px;transition:background .12s}.wm-panel-item:hover{background:#ffffff0f}.wm-panel-item--minimized{opacity:.55}.wm-panel-item--minimized:hover{opacity:.85}.wm-panel-item-info{display:flex;align-items:center;gap:8px;flex:1;min-width:0;cursor:pointer}.wm-panel-item-icon{flex-shrink:0;color:var(--color-primary)}.wm-panel-item-text{display:flex;flex-direction:column;min-width:0}.wm-panel-item-type{font-size:10px;color:#ffffff73;text-transform:uppercase;letter-spacing:.4px;line-height:1.2}.wm-panel-item-label{font-size:12px;color:#ffffffe6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.wm-panel-item-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.wm-panel-action-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:none;border:none;color:#ffffff80;cursor:pointer;border-radius:var(--radius-sm);padding:0;transition:background .12s,color .12s}.wm-panel-action-btn:hover{background:#ffffff1f;color:#ffffffe6}.wm-panel-action-btn--close:hover{background:#ef444433;color:#f87171}.console-titlebar-actions{display:flex;align-items:center;gap:2px}.console-minimize-btn{background:none;border:none;color:#fff;cursor:pointer;padding:2px 6px;border-radius:var(--radius-sm);line-height:1;display:inline-flex;align-items:center;justify-content:center}.console-minimize-btn:hover{background:#fff3}.original-config-minimize-btn{background:none;border:none;color:#fff;cursor:pointer;padding:2px 6px;border-radius:var(--radius-sm);line-height:1;display:inline-flex;align-items:center;justify-content:center}.original-config-minimize-btn:hover{background:#fff3}.config-diff-minimize-btn{background:none;border:none;color:#fff;cursor:pointer;padding:2px 6px;border-radius:var(--radius-sm);line-height:1;display:inline-flex;align-items:center;justify-content:center}.config-diff-minimize-btn:hover{background:#fff3}.chat-toggle-btn{position:fixed;bottom:24px;right:24px;z-index:1100;width:52px;height:52px;border-radius:50%;border:none;background:linear-gradient(135deg,var(--color-accent, #2563eb) 0%,#4f46e5 100%);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #2563eb59,0 2px 4px #0003;transition:transform .2s ease,box-shadow .2s ease;animation:chat-fab-entrance .3s ease-out}@keyframes chat-fab-entrance{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.chat-toggle-btn:hover{transform:scale(1.1);box-shadow:0 6px 24px #2563eb73,0 2px 8px #00000040}.chat-panel{position:fixed;top:0;right:0;width:440px;height:100vh;z-index:1090;background:var(--color-surface, #1e1e2e);border-left:1px solid var(--color-border, #2d2d3f);display:flex;flex-direction:column;box-shadow:-6px 0 24px #00000059;animation:chat-panel-slide .25s ease-out}@keyframes chat-panel-slide{0%{transform:translate(100%)}to{transform:translate(0)}}.chat-panel-header{display:flex;align-items:center;gap:6px;padding:10px 12px;border-bottom:1px solid var(--color-border, #e0e0e0);background:var(--color-surface, #ffffff);flex-shrink:0}.chat-panel-brand{display:flex;align-items:center;gap:7px;margin-right:auto;color:var(--color-primary, #2563eb)}.chat-panel-title{font-weight:700;font-size:.88rem;letter-spacing:.03em;color:var(--color-text, inherit)}.chat-panel-btn{background:none;border:none;color:var(--color-text-muted, #6b6b6b);cursor:pointer;padding:6px;border-radius:var(--radius-md, 6px);transition:color .15s,background .15s;flex-shrink:0}.chat-panel-btn:hover{color:var(--color-text, #1a1a1a);background:var(--color-neutral-100, #f5f5f5)}.chat-panel-body{flex:1;display:flex;flex-direction:column;overflow:hidden}.chat-conv-list{padding:14px;display:flex;flex-direction:column;gap:4px;overflow-y:auto;flex:1}.chat-new-conv-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:11px 16px;margin-bottom:8px;border-radius:10px;border:1px dashed var(--color-border, #e0e0e0);background:var(--color-bg, #ffffff);color:var(--color-primary, #009CDE);font-size:.85rem;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s}.chat-new-conv-btn:hover{background:var(--color-primary-light, #e5f5fd);border-color:var(--color-primary, #009CDE)}.chat-conv-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:8px;cursor:pointer;background:transparent;border:1px solid transparent;transition:background .15s,border-color .15s}.chat-conv-item:hover{background:var(--color-neutral-100, #f5f5f5);border-color:var(--color-border, #e0e0e0)}.chat-conv-icon{flex-shrink:0;padding-top:2px;color:var(--color-text-subtle, #9b9b9b)}.chat-conv-info{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}.chat-conv-title{font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}.chat-conv-meta{display:flex;align-items:center;gap:8px;font-size:.72rem;color:var(--color-text-subtle, #9b9b9b)}.chat-conv-stage{background:var(--color-neutral-100, #f5f5f5);padding:1px 6px;border-radius:4px;font-size:.7rem;letter-spacing:.02em;color:var(--color-text-muted, #4F4F50)}.chat-conv-time{display:inline-flex;align-items:center;gap:3px}.chat-conv-delete{background:none;border:none;color:inherit;cursor:pointer;opacity:0;padding:4px;border-radius:4px;flex-shrink:0;margin-top:1px;transition:opacity .15s,color .15s}.chat-conv-item:hover .chat-conv-delete{opacity:.4}.chat-conv-delete:hover{opacity:1!important;color:#ef4444}.chat-empty{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;color:var(--color-text-subtle, #9b9b9b);margin-top:48px;font-size:.9rem}.chat-empty-sub{font-size:.78rem;opacity:.7;max-width:240px;line-height:1.45}.chat-nav-bar{flex-shrink:0;padding:8px 12px;border-bottom:1px solid var(--color-border, #e0e0e0)}.chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}.chat-back{display:inline-flex;align-items:center;gap:6px;background:var(--color-neutral-100, #f5f5f5);border:1px solid var(--color-border, #e0e0e0);color:var(--color-primary, #009CDE);cursor:pointer;font-size:var(--text-sm, .82rem);font-weight:var(--weight-medium, 500);padding:6px 14px;border-radius:var(--radius-md, 6px);transition:background .15s,border-color .15s,color .15s}.chat-back:hover{background:var(--color-primary-light, #e5f5fd);border-color:var(--color-primary, #009CDE);color:var(--color-primary-hover, #007ab5)}.chat-message{display:flex}.chat-message--user{justify-content:flex-end}.chat-message--assistant{flex-direction:column;align-items:flex-start}.chat-tool-events-group{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:4px;max-width:100%}.chat-bubble{max-width:85%;padding:10px 14px;border-radius:14px;font-size:.88rem;line-height:1.55;word-break:break-word}.chat-bubble--user{background:linear-gradient(135deg,var(--color-primary, #009CDE) 0%,var(--color-primary-hover, #007ab5) 100%);color:var(--color-primary-contrast, #fff);border-bottom-right-radius:4px}.chat-bubble--assistant{background:var(--color-bg-alt, #f8fafc);border:1px solid var(--color-border, #e0e0e0);border-bottom-left-radius:4px}.chat-bubble--streaming{opacity:.9}.chat-markdown{line-height:1.55;word-break:break-word}.chat-markdown>*:first-child{margin-top:0}.chat-markdown>*:last-child{margin-bottom:0}.chat-markdown p{margin:.4em 0}.chat-markdown ul,.chat-markdown ol{margin:.4em 0;padding-left:1.4em}.chat-markdown li{margin:.15em 0}.chat-markdown h1,.chat-markdown h2,.chat-markdown h3,.chat-markdown h4,.chat-markdown h5,.chat-markdown h6{margin:.6em 0 .3em;line-height:1.3}.chat-markdown h1{font-size:1.1rem}.chat-markdown h2{font-size:1rem}.chat-markdown h3{font-size:.95rem}.chat-markdown table{border-collapse:collapse;margin:.5em 0;font-size:.82rem;width:100%}.chat-markdown th,.chat-markdown td{border:1px solid var(--color-border, #e0e0e0);padding:4px 8px;text-align:left}.chat-markdown th{background:var(--color-neutral-50, #fafafa);font-weight:600}.chat-markdown blockquote{margin:.4em 0;padding:.2em .8em;border-left:3px solid var(--color-border-strong, #b0b0b0);color:var(--color-text-muted, #4F4F50)}.chat-markdown hr{border:none;border-top:1px solid var(--color-border, #e0e0e0);margin:.6em 0}.chat-markdown pre{background:var(--color-neutral-100, #f5f5f5);padding:10px;border-radius:8px;overflow-x:auto;font-size:.8rem;margin:6px 0;border:1px solid var(--color-border, #e0e0e0)}.chat-markdown code{font-family:Fira Code,Cascadia Code,JetBrains Mono,monospace;font-size:.82rem}.chat-markdown :not(pre)>code{background:var(--color-neutral-100, #f5f5f5);padding:.15em .35em;border-radius:4px}.chat-tool-calls{margin-top:6px;display:flex;flex-wrap:wrap;gap:4px}.chat-tool-card{background:var(--color-neutral-50, #fafafa);border:1px solid var(--color-border, #e0e0e0);border-radius:8px;padding:6px 10px;font-size:.78rem;cursor:pointer;transition:background .15s,border-color .15s}.chat-tool-card:hover{background:var(--color-neutral-100, #f5f5f5)}.chat-tool-card--active{border-color:var(--color-primary, #009CDE);background:var(--color-primary-light, #e5f5fd)}.chat-tool-card--result{border-color:#22c55e66;background:#22c55e0f}.chat-tool-card-header{display:flex;align-items:center;gap:6px}.chat-tool-name{font-weight:500;font-size:.8rem}.chat-tool-result-label{font-size:.78rem;color:#22c55e;font-weight:500}.chat-tool-args,.chat-tool-output{font-size:.75rem;margin-top:6px;max-height:200px;overflow-y:auto;white-space:pre-wrap;word-break:break-all;background:var(--color-neutral-100, #f5f5f5);padding:8px;border-radius:6px;border:1px solid var(--color-border, #e0e0e0);font-family:Fira Code,Cascadia Code,JetBrains Mono,monospace;color:var(--color-text, #1a1a1a)}.chat-spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.chat-confirmation{margin:8px 0}.chat-confirm-title{font-weight:600;font-size:.88rem;margin-bottom:6px}.chat-confirm-tool{font-size:.82rem;margin-bottom:6px}.chat-confirm-args{font-size:.75rem;background:var(--color-neutral-100, #f5f5f5);padding:8px;border-radius:6px;max-height:150px;overflow-y:auto;margin-bottom:10px;border:1px solid var(--color-border, #e0e0e0);font-family:Fira Code,Cascadia Code,JetBrains Mono,monospace;color:var(--color-text, #1a1a1a)}.chat-confirm-actions{display:flex;gap:8px}.chat-confirm-tool-item+.chat-confirm-tool-item{margin-top:10px;padding-top:10px;border-top:1px solid var(--color-border, #e0e0e0)}.chat-error{color:#ef4444;font-size:.82rem;padding:8px 12px;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:8px}.chat-bubble--reasoning{background:var(--color-neutral-50, #fafafa);border:1px dashed var(--color-border-strong, #b0b0b0);border-bottom-left-radius:4px;opacity:.85;font-style:italic}.chat-reasoning-header{display:flex;align-items:center;gap:6px;font-weight:600;font-size:.78rem;color:var(--color-text-muted, #4F4F50);margin-bottom:4px;font-style:normal}.chat-reasoning-text{font-size:.82rem;color:var(--color-text-muted, #4F4F50)}.chat-scroll-bottom{position:absolute;bottom:8px;left:50%;transform:translate(-50%);z-index:10;width:32px;height:32px;border-radius:50%;border:1px solid var(--color-border, #e0e0e0);background:var(--color-surface, #ffffff);color:var(--color-text-muted, #4F4F50);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #00000026;transition:background .15s,color .15s,box-shadow .15s;animation:chat-fab-entrance .2s ease-out}.chat-scroll-bottom:hover{background:var(--color-primary-light, #e5f5fd);color:var(--color-primary, #009CDE);box-shadow:0 4px 12px #0003}.chat-bubble-wrapper{position:relative}.chat-copy-btn{position:absolute;top:6px;right:6px;width:26px;height:26px;border-radius:6px;border:1px solid var(--color-border, #e0e0e0);background:var(--color-surface, #ffffff);color:var(--color-text-muted, #6b6b6b);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s,background .15s,color .15s}.chat-bubble-wrapper:hover .chat-copy-btn{opacity:.7}.chat-copy-btn:hover{opacity:1!important;background:var(--color-primary-light, #e5f5fd);color:var(--color-primary, #009CDE)}.chat-suggestions{display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:48px;padding:0 24px;text-align:center}.chat-suggestions-title{font-size:.9rem;font-weight:600;color:var(--color-text, #1a1a1a)}.chat-suggestions-sub{font-size:.82rem;color:var(--color-text-muted, #4F4F50);line-height:1.45;max-width:280px}.chat-suggestions-chips{display:flex;flex-direction:column;gap:6px;width:100%;max-width:320px}.chat-suggestion-chip{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:10px;border:1px solid var(--color-border, #e0e0e0);background:var(--color-bg, #ffffff);color:var(--color-text, #1a1a1a);font-size:.82rem;cursor:pointer;text-align:left;transition:background .15s,border-color .15s,color .15s}.chat-suggestion-chip:hover{background:var(--color-primary-light, #e5f5fd);border-color:var(--color-primary, #009CDE);color:var(--color-primary, #009CDE)}.chat-delete-confirm{position:absolute;right:0;top:100%;z-index:10;display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--color-surface, #ffffff);border:1px solid var(--color-border, #e0e0e0);border-radius:8px;box-shadow:0 4px 12px #00000026;font-size:.75rem;white-space:nowrap;animation:chat-fab-entrance .15s ease-out}.chat-delete-confirm-label{color:var(--color-text-muted, #4F4F50);font-weight:500}.chat-toolbar{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;padding:6px 12px;border-bottom:1px solid var(--color-border, #e0e0e0);background:var(--color-bg-alt, #f8fafc);flex-shrink:0}.chat-toolbar-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.chat-toolbar-group{display:inline-flex;align-items:center;gap:6px;min-width:0}.chat-toolbar-group--state{flex-direction:column;align-items:flex-start;gap:2px}.chat-toolbar-group--model{font-size:.65rem;color:var(--color-text-subtle, #9b9b9b);opacity:.85;gap:4px;margin-left:auto}.chat-model-icon{opacity:.6;flex-shrink:0}.chat-model-label{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-toolbar-label,.chat-toolbar-state-label{font-size:.68rem;font-weight:var(--weight-medium, 500);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-subtle, #9b9b9b);flex-shrink:0}.chat-exec-state{font-size:.72rem;font-weight:700;border-radius:999px;padding:2px 0;border:none;background:transparent;color:var(--color-text-muted, #4F4F50);flex-shrink:0}.chat-exec-state--streaming,.chat-exec-state--awaiting_confirmation{padding:3px 10px;color:#0369a1;border-color:#0369a140;border:1px solid rgba(3,105,161,.25);background:#0ea5e91f}.chat-exec-state--cancelling{padding:3px 10px;color:#b45309;border:1px solid rgba(180,83,9,.25);border-color:#b4530940;background:#f59e0b24}.chat-exec-state--cancelled{padding:3px 10px;color:#b91c1c;border:1px solid rgba(185,28,28,.25);border-color:#b91c1c40;background:#ef44441f}.chat-exec-state--completed{padding:2px 0;color:#166534}.chat-exec-state--failed{padding:3px 10px;color:#991b1b;border:1px solid rgba(153,27,27,.28);border-color:#991b1b47;background:#ef44442e}.chat-stop-stream-btn{display:inline-flex;align-items:center;gap:5px;border:1px solid rgba(239,68,68,.35);background:#ef44441a;color:#b91c1c;border-radius:6px;font-size:.72rem;font-weight:600;padding:5px 9px;cursor:pointer;transition:all .15s ease}.chat-stop-stream-btn:hover:not(:disabled){background:#ef444429;border-color:#b91c1c73}.chat-stop-stream-btn:disabled{opacity:.5;cursor:not-allowed}.chat-toolbar-modes-row{display:flex;align-items:center;gap:8px;min-width:0}.chat-safety-control{display:inline-flex;flex-wrap:wrap;width:fit-content;max-width:100%;background:var(--color-neutral-100, #f5f5f5);border-radius:var(--radius-lg, 8px);padding:3px;gap:2px;border:1px solid var(--color-border, #e0e0e0)}.chat-safety-seg{display:flex;align-items:center;gap:5px;padding:5px 12px;font-size:.72rem;font-weight:var(--weight-medium, 500);border:none;border-radius:var(--radius-md, 6px);background:transparent;color:var(--color-text-muted, #4F4F50);cursor:pointer;transition:all .2s ease;white-space:nowrap;line-height:1}.chat-safety-seg:hover:not(:disabled):not(.chat-safety-seg--active){color:var(--color-text, #1a1a1a);background:var(--color-neutral-200, #e5e5e5)}.chat-safety-seg:disabled{opacity:.4;cursor:not-allowed}.chat-safety-seg--active{color:var(--color-primary-contrast, #fff);background:var(--color-primary, #009CDE);box-shadow:var(--shadow-sm)}.chat-safety-seg--active:hover:not(:disabled){color:var(--color-primary-contrast, #fff);background:var(--color-primary-hover, #007ab5)}@media (max-width: 540px){.chat-toolbar-group--state{margin-left:0}}.chat-panel--fullscreen{width:100vw!important;border-left:none;animation:none}.chat-panel--fullscreen .chat-messages,.chat-panel--fullscreen .chat-input-area{max-width:820px;margin:0 auto;width:100%}.chat-panel--fullscreen .chat-bubble{max-width:75%}.chat-input-area{display:flex;gap:8px;padding:10px 16px 14px;align-items:flex-end;border-top:1px solid var(--color-border, #e0e0e0);background:var(--color-surface, #ffffff);flex-shrink:0}.chat-input{flex:1;resize:none;background:var(--color-bg, #ffffff);border:1px solid var(--color-border, #e0e0e0);border-radius:var(--radius-lg, 10px);padding:10px 14px;color:var(--color-text, #1a1a1a);font-family:inherit;font-size:.88rem;line-height:1.4;transition:border-color .2s,box-shadow .2s}.chat-input:focus{outline:none;border-color:var(--color-primary, #009CDE);box-shadow:var(--focus-ring, 0 0 0 3px rgba(0, 156, 222, .25))}.chat-input:disabled{opacity:.5}.chat-messages-wrapper{position:relative;flex:1;overflow:hidden;display:flex;flex-direction:column}.chat-panel--closing{animation:chat-panel-slide-out .2s ease-in forwards}@keyframes chat-panel-slide-out{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}@media (max-width: 480px){.chat-panel{width:100vw;border-left:none}.chat-toggle-btn{bottom:16px;right:16px;width:44px;height:44px}.chat-bubble{max-width:92%}.chat-input-area{padding:8px 12px 12px}.chat-toolbar-modes-row{overflow-x:auto}.chat-safety-seg span{display:none}}
