:root{--primitive-neutral-0: #ffffff;--primitive-neutral-25: #fbfcfe;--primitive-neutral-50: #f7faff;--primitive-neutral-100: #e8edf3;--primitive-neutral-200: #d8e0ea;--primitive-neutral-300: #c5cfda;--primitive-neutral-500: #718094;--primitive-neutral-600: #61708a;--primitive-neutral-700: #3d4a5a;--primitive-neutral-900: #10203a;--primitive-dark-950: #071221;--primitive-dark-900: #0e1b33;--primitive-dark-800: #172a48;--primitive-blue-50: #eff8ff;--primitive-blue-100: #d9eeff;--primitive-blue-700: #00679a;--primitive-green-50: #effbf5;--primitive-green-200: #c5efd7;--primitive-green-700: #0f7145;--primitive-amber-50: #fff8e8;--primitive-amber-200: #f9dfa0;--primitive-amber-800: #805304;--primitive-red-50: #fff3f2;--primitive-red-200: #ffd0cb;--primitive-red-700: #b42f26;--primitive-violet-50: #fcf4fe;--primitive-violet-200: #f0caf7;--primitive-violet-700: #8c319d;--color-surface-application: #f3f7fc;--color-surface-primary: var(--primitive-neutral-0);--color-surface-secondary: #f8fafc;--color-surface-technical: var(--primitive-dark-950);--color-surface-technical-elevated: var(--primitive-dark-900);--color-content-primary: var(--primitive-neutral-900);--color-content-secondary: var(--primitive-neutral-600);--color-content-muted: #728092;--color-content-inverse: var(--primitive-neutral-50);--color-border-subtle: var(--primitive-neutral-200);--color-border-default: #bcc6d2;--color-border-strong: #728092;--color-border-on-dark: rgb(255 255 255 / .13);--color-border-on-dark-interactive: rgb(143 225 255 / .42);--color-focus: #00abff;--color-link: var(--primitive-blue-700);--color-information: var(--primitive-blue-700);--color-success: #168653;--color-warning: #b87808;--color-error: #d53d32;--color-critical: #a3261e;--color-offline: var(--primitive-neutral-600);--color-unavailable: #728092;--color-disconnected: var(--primitive-neutral-600);--color-selected: #008ed6;--color-synchronizing: #1478b5;--elevation-none: none;--elevation-surface: 0 2px 4px 0 rgb(14 27 51 / .1), 0 10px 24px -2px rgb(14 27 51 / .14);--elevation-interactive: 0 3px 7px -1px rgb(14 27 51 / .14), 0 16px 38px -4px rgb(14 27 51 / .2);--elevation-floating: 0 6px 14px -2px rgb(14 27 51 / .18), 0 28px 64px -7px rgb(14 27 51 / .28);--elevation-overlay: 0 10px 24px -4px rgb(14 27 51 / .22), 0 40px 96px -10px rgb(14 27 51 / .36);--elevation-interactive-hover: 0 5px 10px -2px rgb(14 27 51 / .16), 0 22px 48px -5px rgb(14 27 51 / .24);--backdrop-default: rgb(7 18 33 / .34);--backdrop-strong: rgb(7 18 33 / .5);--backdrop-default-dark: rgb(2 8 18 / .5);--backdrop-strong-dark: rgb(2 8 18 / .68);--shadow-100: 0 1px 2px rgb(7 18 33 / .05), 0 4px 12px rgb(7 18 33 / .05);--shadow-200: 0 12px 30px rgb(7 18 33 / .1);--shadow-300: 0 24px 60px rgb(7 18 33 / .18);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 22px;--radius-control: var(--radius-md);--radius-container: var(--radius-lg);--radius-overlay: var(--radius-xl);--font-family-sans: "Inter", sans-serif;--font-family-mono: "JetBrains Mono", monospace;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-emphasis: 650;--type-display-size: 48px;--type-display-line: 52px;--type-page-size: 32px;--type-page-line: 38px;--type-section-size: 22px;--type-section-line: 28px;--type-overlay-size: 20px;--type-overlay-line: 26px;--type-subheading-size: 17px;--type-subheading-line: 23px;--type-card-size: 16px;--type-card-line: 22px;--type-kpi-large-size: 32px;--type-kpi-large-line: 36px;--type-kpi-compact-size: 22px;--type-kpi-compact-line: 26px;--type-body-size: 15px;--type-body-line: 23px;--type-secondary-size: 14px;--type-secondary-line: 21px;--type-compact-size: 13px;--type-compact-line: 18px;--type-meta-size: 12px;--type-meta-line: 17px;--type-table-compact-line: 16px;--type-code-line: 19px;--type-action-line: 20px;--space-4: 4px;--space-8: 8px;--space-12: 12px;--space-16: 16px;--space-20: 20px;--space-24: 24px;--space-32: 32px;--space-40: 40px;--space-48: 48px;--space-64: 64px;--space-field-gap-compact: var(--space-12);--space-field-gap-standard: var(--space-16);--space-field-gap-comfortable: var(--space-16);--space-card-padding-compact: var(--space-12);--space-card-padding-standard: var(--space-16);--space-card-padding-comfortable: var(--space-20);--space-section-gap-standard: var(--space-24);--space-section-gap-comfortable: var(--space-32);--space-leading-content: var(--space-8);--offset-leading-action-text: 11px;--size-leading-index: 14px;--size-leading-icon: 20px;--size-leading-action: 40px;--size-app-status-bar: 32px;--density-compact-control: 32px;--density-standard-control: 36px;--density-comfortable-control: 40px;--grid-sidebar-width: 280px;--grid-content-max-width: 1440px;--layer-app-chrome: 100;--layer-modal: 500;--duration-micro: .12s;--duration-fast: .15s;--duration-interactive: .18s;--duration-moderate: .2s;--duration-spin: .8s;--easing-ease: ease;--easing-ease-out: ease-out;--easing-linear: linear;--focus-ring-color: var(--color-focus);--focus-ring-width: 2px;--focus-ring-offset: 2px}@media(max-width:1439px){:root{--grid-sidebar-width: 240px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}:root{--navy-950: #071221;--navy-900: #0e1b33;--navy-800: #172a48;--brand-cyan: #00abff;--brand-cyan-soft: #8fe1ff;--brand-violet: #d96fed;--brand-navy: #0e1b33;--brand-navy-deep: #071221;--brand-gradient-ft: linear-gradient(135deg, #00abff 0%, #d96fed 100%);--color-focus: #00abff}[data-density=compact],.ft-density-compact{--ctrl-h: 32px;--ctrl-gap: 12px;--ctrl-pad-x: 12px;--ctrl-font-size: 13px;--ctrl-font-line: 18px;--card-pad: 12px;--section-gap: 20px}[data-density=standard],.ft-density-standard{--ctrl-h: 36px;--ctrl-gap: 16px;--ctrl-pad-x: 16px;--ctrl-font-size: 14px;--ctrl-font-line: 20px;--card-pad: 16px;--section-gap: 24px}[data-density=comfortable],.ft-density-comfortable{--ctrl-h: 40px;--ctrl-gap: 16px;--ctrl-pad-x: 20px;--ctrl-font-size: 14px;--ctrl-font-line: 20px;--card-pad: 20px;--section-gap: 32px}:root{--ctrl-h: 36px;--ctrl-gap: 16px;--ctrl-pad-x: 16px;--ctrl-font-size: 14px;--ctrl-font-line: 20px;--card-pad: 16px;--section-gap: 24px;--ft-alvo-de-toque: 44px;--ft-field-width-standard: 380px}@media(pointer:coarse){.ft-btn,.ft-upload__zone,.ft-field__input,.ft-field__select,.ft-search__input,.ft-tabs__item,.ft-checkbox,.ft-radio,.ft-toggle{min-height:var(--ft-alvo-de-toque)}.ft-paginator__btn,.ft-paginator__page,.ft-kpi-card__help,.ft-table__toggle{min-height:var(--ft-alvo-de-toque);min-width:var(--ft-alvo-de-toque)}}.ft-focus-ring{outline:2px solid var(--color-focus, var(--brand-cyan, #00abff));outline-offset:2px}.ft-icon-action{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;background:transparent;border:none;border-radius:8px;cursor:pointer;color:var(--color-content-secondary, var(--neutral-600, #61708a));padding:0;transition:color .15s ease}.ft-icon-action:hover:not([disabled]){color:var(--color-content-default, var(--neutral-900, #10203a))}.ft-icon-action:focus-visible{outline:2px solid var(--color-focus, var(--brand-cyan, #00abff));outline-offset:2px}.ft-icon-action[disabled],.ft-icon-action[aria-disabled=true]{opacity:.4;cursor:not-allowed}.ft-icon-action[data-state=selected]{color:var(--brand-cyan, #00abff)}.ft-icon-action[data-state=selected]:before{content:"";position:absolute;left:0;top:25%;width:2px;height:50%;background:var(--brand-cyan, #00abff);border-radius:0 2px 2px 0}.ft-icon-action[data-state=error]{color:var(--color-status-danger, var(--red-50, #fff3f2))}.ft-icon-action__tooltip{position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);background:var(--neutral-900, #10203a);color:var(--neutral-0, #ffffff);font-size:12px;line-height:16px;padding:4px 8px;border-radius:6px;white-space:nowrap;pointer-events:none;z-index:100;opacity:0;transition:opacity .1s ease}.ft-icon-action:hover .ft-icon-action__tooltip,.ft-icon-action:focus-visible .ft-icon-action__tooltip,.ft-icon-action[data-tooltip-open=true] .ft-icon-action__tooltip{opacity:1}@keyframes ft-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ft-icon-action--loading svg{animation:ft-spin 1s linear infinite}.ft-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:var(--ctrl-h);padding:0 var(--ctrl-pad-x);font-size:var(--ctrl-font-size);line-height:var(--ctrl-font-line);font-weight:500;font-family:inherit;border-radius:8px;border:1.5px solid transparent;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease,opacity .15s ease;text-decoration:none;white-space:nowrap}.ft-btn:focus-visible{outline:2px solid var(--color-focus, var(--brand-cyan, #00abff));outline-offset:2px}.ft-btn[disabled]{opacity:.4;cursor:not-allowed;pointer-events:none}.ft-btn--full-width{width:100%}.ft-btn--primary{background:var(--brand-cyan, #00abff);color:var(--navy-950, #071221);border-color:var(--brand-cyan, #00abff)}.ft-btn--primary:hover:not([disabled]){background:var(--cyan-soft, #8fe1ff);border-color:var(--cyan-soft, #8fe1ff)}.ft-btn--secondary{background:transparent;color:var(--brand-cyan, #00abff);border-color:var(--brand-cyan, #00abff)}.ft-btn--secondary:hover:not([disabled]){background:color-mix(in srgb,var(--brand-cyan, #00abff) 10%,transparent)}.ft-btn--tertiary{background:var(--color-surface-raised, var(--neutral-100, #e8edf3));color:var(--color-content-default, var(--neutral-900, #10203a));border-color:transparent}.ft-btn--tertiary:hover:not([disabled]){background:var(--neutral-200, #d8e0ea)}.ft-btn--ghost{background:transparent;color:var(--color-content-default, var(--neutral-900, #10203a));border-color:transparent}.ft-btn--ghost:hover:not([disabled]){background:var(--color-surface-raised, var(--neutral-100, #e8edf3))}.ft-btn--danger{background:var(--color-status-danger, #b91c1c);color:var(--neutral-0, #ffffff);border-color:var(--color-status-danger, #b91c1c)}.ft-btn--danger:hover:not([disabled]){opacity:.85}.ft-btn--compact{--ctrl-h: 32px;--ctrl-pad-x: 12px;--ctrl-font-size: 13px}.ft-btn--standard{--ctrl-h: 36px;--ctrl-pad-x: 16px;--ctrl-font-size: 14px}.ft-btn--comfortable{--ctrl-h: 40px;--ctrl-pad-x: 20px;--ctrl-font-size: 14px}.ft-btn--loading{pointer-events:none}.ft-btn--loading .ft-btn__spinner{animation:ft-spin 1s linear infinite}.ft-field{display:flex;flex-direction:column;gap:4px}.ft-field--standard{max-width:var(--ft-field-width-standard)}.ft-field__label{font-size:13px;line-height:18px;font-weight:500;color:var(--color-content-default, var(--neutral-900, #10203a))}.ft-field__required{color:var(--color-status-danger, #b91c1c);margin-left:2px}.ft-field__control{position:relative;display:flex;align-items:center}.ft-field__input{width:100%;height:var(--ctrl-h);padding:0 var(--ctrl-pad-x);font-size:var(--ctrl-font-size);line-height:var(--ctrl-font-line);font-family:inherit;background:var(--color-surface-default, var(--neutral-25, #fbfcfe));border:1.5px solid var(--color-border-default, var(--neutral-200, #d8e0ea));border-radius:8px;color:var(--color-content-default, var(--neutral-900, #10203a));transition:border-color .15s ease;outline:none}.ft-field__input::placeholder{color:var(--color-content-tertiary, var(--neutral-500, #718094))}.ft-field__input:focus{border-color:var(--color-focus, var(--brand-cyan, #00abff));box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-cyan, #00abff) 20%,transparent)}.ft-field__input[disabled]{opacity:.4;cursor:not-allowed;background:var(--neutral-100, #e8edf3)}.ft-field__textarea{height:auto;padding-top:8px;padding-bottom:8px;line-height:1.4;resize:vertical}.ft-field__textarea--fixed{resize:none}.ft-field__count{align-self:flex-end;font-size:12px;line-height:16px;color:var(--color-content-secondary, var(--neutral-600, #61708a))}.ft-field__input--numeric{font-variant-numeric:tabular-nums}.ft-field__input--end{text-align:right}.ft-field__label--hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ft-field__input--error{border-color:var(--color-status-danger, #b91c1c)}.ft-field__prefix,.ft-field__suffix{position:absolute;display:flex;align-items:center;color:var(--color-content-secondary, var(--neutral-600, #61708a));pointer-events:none}.ft-field__prefix{left:12px}.ft-field__suffix{right:12px}.ft-field__input--with-prefix{padding-left:36px}.ft-field__input--with-suffix{padding-right:36px}.ft-field__hint{font-size:12px;line-height:17px;color:var(--color-content-secondary, var(--neutral-600, #61708a))}.ft-field__error{font-size:12px;line-height:17px;color:var(--color-status-danger, #b91c1c);display:flex;align-items:center;gap:4px}.ft-field__select{appearance:none;width:100%;height:var(--ctrl-h);padding:0 var(--ctrl-pad-x);padding-right:36px;font-size:var(--ctrl-font-size);font-family:inherit;background:var(--color-surface-default, var(--neutral-25, #fbfcfe));border:1.5px solid var(--color-border-default, var(--neutral-200, #d8e0ea));border-radius:8px;color:var(--color-content-default, var(--neutral-900, #10203a));cursor:pointer;outline:none}.ft-field__select:focus{border-color:var(--color-focus, var(--brand-cyan, #00abff));box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-cyan, #00abff) 20%,transparent)}.ft-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:var(--ctrl-font-size);line-height:var(--ctrl-font-line);color:var(--color-content-default, var(--neutral-900, #10203a))}.ft-checkbox__box{width:16px;height:16px;border:1.5px solid var(--color-border-default, var(--neutral-300, #c5cfda));border-radius:4px;display:flex;align-items:center;justify-content:center;background:var(--color-surface-default, var(--neutral-25, #fbfcfe));flex-shrink:0;transition:all .15s ease}.ft-checkbox input{position:absolute;opacity:0;width:0;height:0}.ft-checkbox:has(input:checked) .ft-checkbox__box{background:var(--brand-cyan, #00abff);border-color:var(--brand-cyan, #00abff);color:var(--navy-950, #071221)}.ft-checkbox:has(input:focus-visible) .ft-checkbox__box{outline:2px solid var(--color-focus, var(--brand-cyan, #00abff));outline-offset:2px}.ft-checkbox:has(input:disabled){opacity:.4;cursor:not-allowed}.ft-radio{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:var(--ctrl-font-size);line-height:var(--ctrl-font-line);color:var(--color-content-default, var(--neutral-900, #10203a))}.ft-radio__dot{width:16px;height:16px;border:1.5px solid var(--color-border-default, var(--neutral-300, #c5cfda));border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--color-surface-default, var(--neutral-25, #fbfcfe));flex-shrink:0;transition:all .15s ease}.ft-radio__dot:after{content:"";width:6px;height:6px;border-radius:50%;background:transparent;transition:background .15s ease}.ft-radio input{position:absolute;opacity:0;width:0;height:0}.ft-radio:has(input:checked) .ft-radio__dot{border-color:var(--brand-cyan, #00abff)}.ft-radio:has(input:checked) .ft-radio__dot:after{background:var(--brand-cyan, #00abff)}.ft-radio:has(input:focus-visible) .ft-radio__dot{outline:2px solid var(--color-focus, var(--brand-cyan, #00abff));outline-offset:2px}.ft-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:var(--ctrl-font-size);line-height:var(--ctrl-font-line)}.ft-toggle__track{position:relative;width:36px;height:20px;background:var(--neutral-300, #c5cfda);border-radius:10px;transition:background .2s ease;flex-shrink:0}.ft-toggle__thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;background:var(--neutral-0, #ffffff);border-radius:50%;transition:transform .2s ease;box-shadow:0 1px 3px #0003}.ft-toggle input{position:absolute;opacity:0;width:0;height:0}.ft-toggle:has(input:checked) .ft-toggle__track{background:var(--brand-cyan, #00abff)}.ft-toggle:has(input:checked) .ft-toggle__thumb{transform:translate(16px)}.ft-toggle:has(input:focus-visible) .ft-toggle__track{outline:2px solid var(--color-focus, var(--brand-cyan, #00abff));outline-offset:2px}.ft-toggle:has(input:disabled){opacity:.4;cursor:not-allowed}.ft-search{position:relative;display:flex;align-items:center}.ft-search__icon{position:absolute;left:10px;color:var(--color-content-secondary, var(--neutral-600, #61708a));pointer-events:none}.ft-search__input{width:100%;height:var(--ctrl-h);padding:0 36px;font-size:var(--ctrl-font-size);font-family:inherit;background:var(--color-surface-default, var(--neutral-25, #fbfcfe));border:1.5px solid var(--color-border-default, var(--neutral-200, #d8e0ea));border-radius:8px;color:var(--color-content-default, var(--neutral-900, #10203a));outline:none;transition:border-color .15s ease}.ft-search__input::placeholder{color:var(--color-content-tertiary, var(--neutral-500, #718094))}.ft-search__input:focus{border-color:var(--color-focus, var(--brand-cyan, #00abff));box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-cyan, #00abff) 20%,transparent)}.ft-search__loader{position:absolute;right:10px;color:var(--color-content-secondary, var(--neutral-600, #61708a));animation:ft-spin 1s linear infinite}.ft-upload{display:flex;flex-direction:column;gap:8px}.ft-upload__zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;border:2px dashed var(--color-border-default, var(--neutral-200, #d8e0ea));border-radius:12px;background:var(--color-surface-default, var(--neutral-25, #fbfcfe));cursor:pointer;transition:border-color .15s ease,background .15s ease;text-align:center}.ft-upload__zone:hover{border-color:var(--brand-cyan, #00abff);background:color-mix(in srgb,var(--brand-cyan, #00abff) 5%,transparent)}.ft-upload__zone--dragging{border-color:var(--brand-cyan, #00abff);background:color-mix(in srgb,var(--brand-cyan, #00abff) 10%,transparent)}.ft-upload__zone[aria-disabled=true]{opacity:.4;cursor:not-allowed}.ft-upload__zone input[type=file]{display:none}.ft-upload__error,.ft-upload__loading,.ft-upload__empty{margin:6px 0 0;font-size:13px;line-height:18px}.ft-upload__error{color:var(--color-status-danger, #b91c1c)}.ft-upload__loading,.ft-upload__empty{color:var(--color-content-secondary, var(--neutral-600, #61708a))}.ft-upload__files{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.ft-upload__file{display:flex;align-items:center;gap:8px;font-size:13px}.ft-upload__file-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ft-upload__file-size{color:var(--color-content-secondary, var(--neutral-600, #61708a));flex-shrink:0}.ft-upload__label{font-size:14px;font-weight:500;color:var(--color-content-default, var(--neutral-900, #10203a))}.ft-upload__hint{font-size:12px;color:var(--color-content-secondary, var(--neutral-600, #61708a))}.ft-app-shell{display:flex;height:100vh;overflow:hidden;position:relative}.ft-app-shell__sidebar-wrap{flex-shrink:0;height:100%;z-index:200}.ft-app-shell__main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.ft-app-shell__topbar{flex-shrink:0}.ft-app-shell__content{flex:1;overflow-y:auto;background:var(--color-surface-application, var(--neutral-50, #f3f7fc))}.ft-app-shell__backdrop{display:none;position:fixed;inset:0;background:color-mix(in srgb,var(--navy-950, #071221) 60%,transparent);z-index:199}@media(max-width:767px){.ft-app-shell__sidebar-wrap{position:fixed;top:0;left:0;height:100%;transform:translate(-100%);transition:transform .25s ease}.ft-app-shell__sidebar-wrap--open{transform:translate(0)}.ft-app-shell__sidebar-wrap--open~.ft-app-shell__backdrop{display:block}}.ft-sidebar{display:flex;flex-direction:column;height:100%;background:var(--brand-sidebar-bg, var(--navy-900, #0e1b33));color:var(--neutral-100, #e8edf3);transition:width .2s ease;overflow:hidden}.ft-sidebar--expanded{width:240px}.ft-sidebar--collapsed{width:64px}.ft-sidebar__header{display:flex;align-items:center;justify-content:space-between;padding:16px;height:56px;border-bottom:1px solid color-mix(in srgb,var(--neutral-0, #fff) 10%,transparent);flex-shrink:0}.ft-sidebar__logo,.ft-sidebar__brand{display:flex;align-items:center;gap:8px;font-weight:600;font-size:15px;color:var(--neutral-0, #ffffff);overflow:hidden;white-space:nowrap;flex:1;min-width:0}.ft-sidebar__logo svg,.ft-sidebar__logo img{flex-shrink:0}.ft-sidebar__nav{flex:1;display:flex;flex-direction:column;gap:2px;padding:8px;overflow-y:auto}.ft-sidebar__footer{padding:8px;border-top:1px solid color-mix(in srgb,var(--neutral-0, #fff) 10%,transparent)}.ft-nav-group{margin-bottom:4px}.ft-nav-group__header{padding:4px 10px 2px}.ft-nav-group__label{display:flex;align-items:center;justify-content:space-between;width:100%;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--neutral-500, #718094);background:transparent;border:none;padding:0;cursor:default;font-family:inherit}.ft-nav-group__label--toggle{cursor:pointer;color:var(--neutral-400, #93a1b4);transition:color .15s ease}.ft-nav-group__label--toggle:hover{color:var(--neutral-200, #c5cfda)}.ft-nav-group__label--toggle:focus-visible{outline:2px solid var(--color-focus, var(--brand-cyan, #00abff));border-radius:4px}.ft-nav-group__chevron{transition:transform .2s ease}.ft-nav-group__chevron--collapsed{transform:rotate(-90deg)}.ft-nav-group__items{display:flex;flex-direction:column;gap:2px;margin-top:2px}.ft-nav-item{display:flex;align-items:center;gap:10px;padding:0 10px;height:36px;border-radius:8px;color:var(--neutral-300, #c5cfda);text-decoration:none;cursor:pointer;transition:background .15s ease,color .15s ease;white-space:nowrap;overflow:hidden;border:none;background:transparent;width:100%;text-align:left;font-size:14px;font-family:inherit;position:relative}.ft-nav-item:hover{background:color-mix(in srgb,var(--neutral-0, #fff) 8%,transparent);color:var(--neutral-0, #ffffff)}.ft-nav-item--selected{background:color-mix(in srgb,var(--brand-cyan, #00abff) 15%,transparent);color:var(--brand-cyan, #00abff);font-weight:500}.ft-nav-item--selected:before{content:"";position:absolute;left:0;top:20%;width:3px;height:60%;background:var(--brand-cyan, #00abff);border-radius:0 3px 3px 0}.ft-nav-item:focus-visible{outline:2px solid var(--color-focus, var(--brand-cyan, #00abff));outline-offset:-2px}.ft-nav-item__label{flex:1;overflow:hidden;text-overflow:ellipsis}.ft-nav-item__badge{font-size:11px;padding:1px 6px;border-radius:99px;background:var(--brand-cyan, #00abff);color:var(--navy-950, #071221);font-weight:600;flex-shrink:0}.ft-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 20px;height:56px;background:var(--color-surface-default, var(--neutral-25, #fbfcfe));border-bottom:1px solid var(--color-border-default, var(--neutral-200, #d8e0ea));flex-shrink:0}.ft-topbar__start{display:flex;align-items:center;gap:12px;flex:1;min-width:0;overflow:hidden}.ft-topbar__end{display:flex;align-items:center;gap:8px;flex-shrink:0}.ft-topbar__logo{display:flex;align-items:center;flex-shrink:0}.ft-topbar__workspace,.ft-topbar__mobile-trigger{flex-shrink:0}.ft-topbar__title{font-size:16px;font-weight:600;color:var(--color-content-default, var(--neutral-900, #10203a));flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ft-topbar__actions{display:flex;align-items:center;gap:8px}.ft-topbar__user{flex-shrink:0}.ft-breadcrumb{display:flex;align-items:center;gap:4px;font-size:13px;line-height:18px;flex:1;overflow:hidden}.ft-breadcrumb__item{color:var(--color-content-secondary, var(--neutral-600, #61708a));text-decoration:none;white-space:nowrap;max-width:160px;overflow:hidden;text-overflow:ellipsis;cursor:pointer;border:none;background:transparent;font-family:inherit;font-size:inherit;padding:0}.ft-breadcrumb__item:hover{color:var(--color-content-default, var(--neutral-900, #10203a))}.ft-breadcrumb__item:focus-visible{outline:2px solid var(--color-focus, var(--brand-cyan, #00abff));border-radius:2px}.ft-breadcrumb__item--current{color:var(--color-content-default, var(--neutral-900, #10203a));font-weight:500;cursor:default}.ft-breadcrumb__separator{color:var(--color-content-tertiary, var(--neutral-500, #718094));flex-shrink:0}.ft-user-menu{position:relative}.ft-user-menu__trigger{display:flex;align-items:center;gap:8px;width:100%;padding:6px 10px;border:none;background:transparent;cursor:pointer;border-radius:8px;font-family:inherit;transition:background .15s ease;color:var(--neutral-200, #c5cfda);text-align:left}.ft-user-menu__trigger:hover{background:color-mix(in srgb,var(--neutral-0, #fff) 8%,transparent)}.ft-user-menu__trigger:focus-visible{outline:2px solid var(--color-focus, var(--brand-cyan, #00abff));outline-offset:-2px}.ft-user-menu__avatar{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:color-mix(in srgb,var(--brand-cyan, #00abff) 20%,transparent);color:var(--brand-cyan, #00abff);font-size:12px;font-weight:600;flex-shrink:0;overflow:hidden}.ft-user-menu__identity{display:flex;flex-direction:column;min-width:0;flex:1}.ft-user-menu__name{font-size:13px;font-weight:500;color:var(--neutral-100, #e8edf3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ft-user-menu__email{font-size:11px;color:var(--neutral-400, #93a1b4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ft-user-menu__dropdown{position:absolute;left:8px;right:8px;background:var(--color-surface-overlay, var(--neutral-0, #ffffff));border:1px solid var(--color-border-default, var(--neutral-200, #d8e0ea));border-radius:10px;box-shadow:0 8px 24px color-mix(in srgb,var(--navy-950, #071221) 16%,transparent);z-index:300;overflow:hidden}.ft-user-menu__dropdown--top{bottom:calc(100% + 8px)}.ft-user-menu__dropdown--bottom{top:calc(100% + 8px)}.ft-user-menu__header{display:flex;flex-direction:column;padding:12px 14px 10px;border-bottom:1px solid var(--color-border-subtle, var(--neutral-100, #e8edf3))}.ft-user-menu__header-name{font-size:13px;font-weight:600;color:var(--color-content-default, var(--neutral-900, #10203a))}.ft-user-menu__header-email{font-size:12px;color:var(--color-content-secondary, var(--neutral-600, #61708a));margin-top:1px}.ft-user-menu__items{padding:6px}.ft-user-menu__item{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border:none;background:transparent;cursor:pointer;border-radius:6px;font-family:inherit;font-size:13px;color:var(--color-content-default, var(--neutral-900, #10203a));text-align:left;transition:background .1s ease}.ft-user-menu__item:hover:not([disabled]){background:var(--color-surface-hover, var(--neutral-50, #f3f7fc))}.ft-user-menu__item--danger{color:var(--color-error, var(--red-600, #d92d20))}.ft-user-menu__item--danger:hover:not([disabled]){background:color-mix(in srgb,var(--color-error, var(--red-600, #d92d20)) 8%,transparent)}.ft-user-menu__item[disabled]{opacity:.4;cursor:not-allowed}.ft-user-menu__item:focus-visible{outline:2px solid var(--color-focus, var(--brand-cyan, #00abff));outline-offset:-2px}.ft-ws-switcher{position:relative}.ft-ws-switcher__trigger{display:flex;align-items:center;gap:8px;padding:6px 10px;border:none;background:transparent;cursor:pointer;border-radius:8px;font-family:inherit;color:var(--neutral-200, #c5cfda);transition:background .15s ease;max-width:200px;min-width:0}.ft-ws-switcher__trigger:hover{background:color-mix(in srgb,var(--neutral-0, #fff) 8%,transparent)}.ft-ws-switcher__trigger:focus-visible{outline:2px solid var(--color-focus, var(--brand-cyan, #00abff));outline-offset:-2px}.ft-ws-switcher__trigger[disabled]{opacity:.5;cursor:wait}.ft-ws-switcher__logo,.ft-ws-switcher__initials{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;background:color-mix(in srgb,var(--brand-cyan, #00abff) 20%,transparent);color:var(--brand-cyan, #00abff);font-size:11px;font-weight:700;flex-shrink:0;overflow:hidden}.ft-ws-switcher__label{flex:1;font-size:13px;font-weight:500;color:var(--neutral-100, #e8edf3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.ft-ws-switcher__chevron{flex-shrink:0;color:var(--neutral-400, #93a1b4)}.ft-ws-switcher__loading{display:inline-block;width:14px;height:14px;border:2px solid color-mix(in srgb,var(--neutral-0, #fff) 20%,transparent);border-top-color:var(--brand-cyan, #00abff);border-radius:50%;animation:ft-spin .7s linear infinite;flex-shrink:0}@keyframes ft-spin{to{transform:rotate(360deg)}}.ft-ws-switcher__list{position:absolute;top:calc(100% + 8px);left:0;min-width:220px;max-width:300px;background:var(--color-surface-overlay, var(--neutral-0, #ffffff));border:1px solid var(--color-border-default, var(--neutral-200, #d8e0ea));border-radius:10px;box-shadow:0 8px 24px color-mix(in srgb,var(--navy-950, #071221) 16%,transparent);z-index:300;padding:6px;overflow:hidden}.ft-ws-switcher__option{display:flex;align-items:center;gap:10px;width:100%;padding:7px 10px;border:none;background:transparent;cursor:pointer;border-radius:6px;font-family:inherit;font-size:13px;text-align:left;transition:background .1s ease;color:var(--color-content-default, var(--neutral-900, #10203a))}.ft-ws-switcher__option:hover{background:var(--color-surface-hover, var(--neutral-50, #f3f7fc))}.ft-ws-switcher__option--selected{background:color-mix(in srgb,var(--brand-cyan, #00abff) 8%,transparent)}.ft-ws-switcher__option:focus-visible{outline:2px solid var(--color-focus, var(--brand-cyan, #00abff));outline-offset:-2px}.ft-ws-switcher__option-logo,.ft-ws-switcher__option-initials{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;background:color-mix(in srgb,var(--brand-cyan, #00abff) 15%,transparent);color:var(--brand-cyan, #00abff);font-size:11px;font-weight:700;flex-shrink:0}.ft-ws-switcher__option-text{display:flex;flex-direction:column;min-width:0;flex:1}.ft-ws-switcher__option-label{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ft-ws-switcher__option-desc{font-size:11px;color:var(--color-content-secondary, var(--neutral-600, #61708a));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ft-ws-switcher__check{flex-shrink:0;color:var(--brand-cyan, #00abff)}.ft-tabs{display:flex;border-bottom:1px solid var(--color-border-default, var(--neutral-200, #d8e0ea));gap:0}.ft-tabs__item{display:flex;align-items:center;height:var(--ctrl-h);padding:0 16px;font-size:var(--ctrl-font-size);font-family:inherit;font-weight:500;color:var(--color-content-secondary, var(--neutral-600, #61708a));border:none;background:transparent;border-bottom:2px solid transparent;cursor:pointer;transition:color .15s ease,border-color .15s ease;margin-bottom:-1px;white-space:nowrap}.ft-tabs__item:hover:not([disabled]){color:var(--color-content-default, var(--neutral-900, #10203a))}.ft-tabs__item--active{color:var(--brand-cyan, #00abff);border-bottom-color:var(--brand-cyan, #00abff)}.ft-tabs__item[disabled]{opacity:.4;cursor:not-allowed}.ft-tabs__item:focus-visible{outline:2px solid var(--color-focus, var(--brand-cyan, #00abff));outline-offset:-2px}.ft-card{background:var(--color-surface-raised, var(--neutral-25, #fbfcfe));border:1px solid var(--color-border-default, var(--neutral-200, #d8e0ea));border-radius:12px;padding:var(--card-pad)}.ft-kpi-card{display:flex;flex-direction:column;gap:8px;background:var(--color-surface-raised, var(--neutral-25, #fbfcfe));border:1px solid var(--color-border-default, var(--neutral-200, #d8e0ea));border-radius:12px;padding:var(--card-pad);min-width:140px}.ft-kpi-card__label{font-size:12px;line-height:17px;font-weight:500;color:var(--color-content-secondary, var(--neutral-600, #61708a));display:flex;align-items:center;gap:6px}.ft-kpi-card__description{margin-top:4px;font-size:12px;line-height:17px;color:var(--color-content-secondary, var(--neutral-600, #61708a))}.ft-kpi-card__help{background:none;border:none;cursor:pointer;color:var(--color-content-secondary, var(--neutral-600, #61708a));padding:2px 6px}.ft-kpi-card__value{font-size:32px;line-height:36px;font-weight:600;color:var(--color-content-default, var(--neutral-900, #10203a));display:flex;align-items:baseline;gap:4px}.ft-kpi-card--compact .ft-kpi-card__value{font-size:22px;line-height:26px}.ft-kpi-card__unit{font-size:16px;font-weight:500;color:var(--color-content-secondary, var(--neutral-600, #61708a))}.ft-kpi-card__trend{font-size:12px;display:flex;align-items:center;gap:4px}.ft-kpi-card__trend--up{color:var(--green-700, #0f7145)}.ft-kpi-card__trend--down{color:var(--color-status-danger, #b91c1c)}.ft-kpi-card__trend--flat{color:var(--color-content-secondary, var(--neutral-600, #61708a))}.ft-kpi-card--success{border-left:3px solid var(--green-700, #0f7145)}.ft-kpi-card--warning{border-left:3px solid var(--amber-800, #805304)}.ft-kpi-card--danger{border-left:3px solid var(--color-status-danger, #b91c1c)}.ft-kpi-card--loading .ft-kpi-card__value{background:var(--neutral-100, #e8edf3);color:transparent;border-radius:4px;animation:ft-pulse 1.5s ease infinite}@keyframes ft-pulse{0%,to{opacity:1}50%{opacity:.5}}.ft-summary-card{background:var(--color-surface-raised, var(--neutral-25, #fbfcfe));border:1px solid var(--color-border-default, var(--neutral-200, #d8e0ea));border-radius:12px;padding:var(--card-pad);display:flex;flex-direction:column;gap:12px}.ft-summary-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.ft-summary-card__title{font-size:15px;line-height:23px;font-weight:600;color:var(--color-content-default, var(--neutral-900, #10203a))}.ft-summary-card__items{display:flex;flex-direction:column;gap:8px}.ft-summary-card__item{display:flex;align-items:center;justify-content:space-between;font-size:13px;line-height:18px}.ft-summary-card__item-label{color:var(--color-content-secondary, var(--neutral-600, #61708a))}.ft-summary-card__item-value{font-weight:500;color:var(--color-content-default, var(--neutral-900, #10203a))}.ft-data-card{background:var(--color-surface-raised, var(--neutral-25, #fbfcfe));border:1px solid var(--color-border-default, var(--neutral-200, #d8e0ea));border-radius:12px;padding:var(--card-pad);display:flex;flex-direction:column;gap:12px}.ft-data-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.ft-data-card__title{font-size:15px;font-weight:600;color:var(--color-content-default, var(--neutral-900, #10203a))}.ft-data-card__subtitle{font-size:13px;color:var(--color-content-secondary, var(--neutral-600, #61708a));margin-top:2px}.ft-data-card__tags{display:flex;flex-wrap:wrap;gap:4px}.ft-data-card__tag{font-size:12px;padding:2px 8px;border-radius:6px;background:var(--neutral-100, #e8edf3);color:var(--color-content-secondary, var(--neutral-700, #3d4a5a));font-weight:500}.ft-metric-card{display:flex;flex-direction:column;gap:6px;padding:20px 24px;background:#fff;border:1px solid var(--neutral-100, #eaf0f8);border-radius:12px}.ft-metric-card__label{font-size:13px;color:var(--color-content-secondary, var(--neutral-600, #61708a));margin:0}.ft-metric-card__value-row{display:flex;align-items:baseline;gap:4px}.ft-metric-card__value{font-size:28px;font-weight:700;line-height:1.1;color:var(--color-content-default, var(--neutral-900, #10203a))}.ft-metric-card__unit{font-size:14px;color:var(--color-content-secondary, var(--neutral-600, #61708a))}.ft-metric-card__skeleton{display:block;height:32px;width:80px;background:var(--neutral-100, #eaf0f8);border-radius:6px;animation:ft-pulse 1.5s ease infinite}.ft-metric-card__change{display:inline-flex;align-items:center;gap:3px;font-size:13px;font-weight:500}.ft-metric-card__change--up{color:var(--green-700, #0f7145)}.ft-metric-card__change--down{color:var(--color-status-danger, #b91c1c)}.ft-metric-card__change--flat{color:var(--color-content-secondary, var(--neutral-600, #61708a))}.ft-metric-card__change-period{font-weight:400;color:var(--color-content-secondary, var(--neutral-600, #61708a))}.ft-metric-card__target{font-size:12px;color:var(--color-content-secondary, var(--neutral-600, #61708a));display:flex;gap:4px}.ft-metric-card__target-value{font-weight:500}.ft-health-card{display:flex;flex-direction:column;gap:8px;padding:16px 20px;background:#fff;border:1px solid var(--neutral-100, #eaf0f8);border-radius:12px;border-left-width:4px}.ft-health-card--healthy{border-left-color:var(--green-600, #16a34a)}.ft-health-card--degraded{border-left-color:var(--color-status-warning, #d97706)}.ft-health-card--critical{border-left-color:var(--color-status-danger, #dc2626)}.ft-health-card--unknown{border-left-color:var(--neutral-300, #c8d5e8)}.ft-health-card__header{display:flex;align-items:center;gap:8px}.ft-health-card__indicator{width:10px;height:10px;border-radius:50%;flex-shrink:0}.ft-health-card--healthy .ft-health-card__indicator{background:var(--green-600, #16a34a)}.ft-health-card--degraded .ft-health-card__indicator{background:var(--color-status-warning, #d97706)}.ft-health-card--critical .ft-health-card__indicator{background:var(--color-status-danger, #dc2626)}.ft-health-card--unknown .ft-health-card__indicator{background:var(--neutral-300, #c8d5e8)}.ft-health-card__name{font-size:14px;font-weight:600;color:var(--color-content-default, var(--neutral-900, #10203a));margin:0}.ft-health-card__status-label{margin-left:auto;font-size:12px;font-weight:500}.ft-health-card--healthy .ft-health-card__status-label{color:var(--green-700, #0f7145)}.ft-health-card--degraded .ft-health-card__status-label{color:var(--color-status-warning, #d97706)}.ft-health-card--critical .ft-health-card__status-label{color:var(--color-status-danger, #dc2626)}.ft-health-card--unknown .ft-health-card__status-label{color:var(--neutral-400, #8da4bf)}.ft-health-card__detail{font-size:13px;color:var(--color-content-secondary, var(--neutral-600, #61708a));margin:0}.ft-health-card__metrics{display:flex;gap:16px;margin:0;flex-wrap:wrap}.ft-health-card__metric{display:flex;flex-direction:column;gap:2px}.ft-health-card__metric-label{font-size:11px;color:var(--color-content-secondary, var(--neutral-600, #61708a))}.ft-health-card__metric-value{font-size:14px;font-weight:600;color:var(--color-content-default, var(--neutral-900, #10203a));margin:0}.ft-health-card__updated{font-size:11px;color:var(--neutral-400, #8da4bf);margin:0}.ft-status-widget{display:flex;flex-direction:column;gap:12px;padding:16px 20px;background:#fff;border:1px solid var(--neutral-100, #eaf0f8);border-radius:12px}.ft-status-widget__header{display:flex;align-items:center;justify-content:space-between}.ft-status-widget__title{font-size:14px;font-weight:600;color:var(--color-content-default, var(--neutral-900, #10203a));margin:0}.ft-status-widget__overall{font-size:12px;font-weight:600;padding:2px 8px;border-radius:100px}.ft-status-widget__overall--healthy{color:var(--green-700, #0f7145);background:#dcfce7}.ft-status-widget__overall--degraded{color:var(--color-status-warning, #92400e);background:#fef3c7}.ft-status-widget__overall--critical{color:var(--color-status-danger, #dc2626);background:#fee2e2}.ft-status-widget__overall--unknown{color:var(--neutral-600, #61708a);background:var(--neutral-100, #eaf0f8)}.ft-status-widget__summary{font-size:13px;color:var(--color-content-secondary, var(--neutral-600, #61708a));margin:0}.ft-status-widget__list{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.ft-status-widget__item{display:flex;align-items:center;gap:8px;font-size:13px}.ft-status-widget__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.ft-status-widget__dot--healthy{background:var(--green-600, #16a34a)}.ft-status-widget__dot--degraded{background:var(--color-status-warning, #d97706)}.ft-status-widget__dot--critical{background:var(--color-status-danger, #dc2626)}.ft-status-widget__dot--unknown{background:var(--neutral-300, #c8d5e8)}.ft-status-widget__item-label{color:var(--color-content-default, var(--neutral-900, #10203a));font-weight:500}.ft-status-widget__item-detail{color:var(--color-content-secondary, var(--neutral-600, #61708a));margin-left:auto;font-size:12px}.ft-table-wrap{overflow-x:auto;border:1px solid var(--color-border-default, var(--neutral-200, #d8e0ea));border-radius:12px}.ft-table{width:100%;border-collapse:collapse;font-size:var(--ctrl-font-size, 14px)}.ft-table th{text-align:left;padding:10px 16px;font-size:12px;line-height:17px;font-weight:600;color:var(--color-content-secondary, var(--neutral-600, #61708a));background:var(--color-surface-raised, var(--neutral-50, #f7faff));border-bottom:1px solid var(--color-border-default, var(--neutral-200, #d8e0ea));white-space:nowrap}.ft-table th[aria-sort]{cursor:pointer;-webkit-user-select:none;user-select:none}.ft-table th[aria-sort]:hover{color:var(--color-content-default, var(--neutral-900, #10203a))}.ft-table td{padding:10px 16px;color:var(--color-content-default, var(--neutral-900, #10203a));border-bottom:1px solid var(--color-border-default, var(--neutral-200, #d8e0ea));vertical-align:middle}.ft-table tbody tr:last-child td{border-bottom:none}.ft-table tbody tr:hover td{background:var(--color-surface-hover, var(--neutral-50, #f7faff))}.ft-table--compact th,.ft-table--compact td{padding:6px 12px;font-size:13px}.ft-table--comfortable th,.ft-table--comfortable td{padding:14px 20px}.ft-table__empty,.ft-table__loading,.ft-table__error{text-align:center;padding:48px 24px;color:var(--color-content-secondary, var(--neutral-600, #61708a));font-size:14px}.ft-table__loading svg{animation:ft-spin 1s linear infinite;margin-bottom:8px}.ft-table .ft-table__cell--end{text-align:right}.ft-table__filters td{padding:4px 8px;border-bottom:1px solid var(--color-border-default, var(--neutral-200, #d8e0ea))}.ft-table__filter-input{height:32px;font-size:13px}.ft-table__empty--filtered{display:flex;flex-direction:column;align-items:center;gap:8px}.ft-table__totals th,.ft-table__totals td{font-weight:600;border-top:2px solid var(--color-border-default, var(--neutral-200, #d8e0ea));background:var(--color-surface-subtle, var(--neutral-50, #f6f8fb))}.ft-table__toggle{background:none;border:none;cursor:pointer;color:var(--color-content-secondary, var(--neutral-600, #61708a));padding:2px 8px}.ft-table__detail td{background:var(--color-surface-subtle, var(--neutral-50, #f6f8fb));border-bottom:1px solid var(--color-border-default, var(--neutral-200, #d8e0ea))}.ft-table__row--selected td{background:color-mix(in srgb,var(--brand-cyan, #00abff) 8%,transparent)}.ft-table__pagination{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-top:1px solid var(--color-border-default, var(--neutral-200, #d8e0ea));font-size:13px;color:var(--color-content-secondary, var(--neutral-600, #61708a))}.ft-table__pagination-btns{display:flex;gap:4px}.ft-list{display:flex;flex-direction:column;border:1px solid var(--color-border-default, var(--neutral-200, #d8e0ea));border-radius:12px;overflow:hidden}.ft-list__item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--color-border-default, var(--neutral-200, #d8e0ea));background:var(--color-surface-default, var(--neutral-25, #fbfcfe));transition:background .15s ease}.ft-list__item:last-child{border-bottom:none}.ft-list__item:hover{background:var(--neutral-50, #f7faff)}.ft-list__item-primary{flex:1;font-size:14px;font-weight:500;color:var(--color-content-default, var(--neutral-900, #10203a))}.ft-list__item-secondary{font-size:12px;color:var(--color-content-secondary, var(--neutral-600, #61708a));margin-top:2px}.ft-list__empty{padding:48px 24px;text-align:center;color:var(--color-content-secondary, var(--neutral-600, #61708a));font-size:14px}.ft-paginator{display:flex;align-items:center;gap:4px;flex-wrap:wrap;font-size:14px;color:var(--color-content-default, var(--neutral-900, #10203a))}.ft-paginator__pages{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0}.ft-paginator__btn,.ft-paginator__page{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 6px;border:1px solid transparent;border-radius:6px;background:none;cursor:pointer;font-size:14px;color:var(--color-content-default, var(--neutral-900, #10203a));transition:background .15s,border-color .15s}.ft-paginator__btn:hover:not(:disabled),.ft-paginator__page:hover{background:var(--neutral-50, #f7faff);border-color:var(--neutral-200, #c8d5e8)}.ft-paginator__btn:disabled{opacity:.35;cursor:not-allowed}.ft-paginator__page--current{background:var(--brand-primary, #2563eb);color:#fff;border-color:var(--brand-primary, #2563eb);font-weight:600}.ft-paginator__page--current:hover{background:var(--brand-primary, #2563eb);border-color:var(--brand-primary, #2563eb)}.ft-paginator__ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;font-size:14px;color:var(--neutral-400, #8da4bf);-webkit-user-select:none;user-select:none}.ft-paginator__size{display:flex;align-items:center;gap:6px;margin-left:8px}.ft-paginator__size-label{font-size:13px;color:var(--color-content-secondary, var(--neutral-600, #61708a))}.ft-paginator__size-select{height:32px;padding:0 8px;border:1px solid var(--neutral-200, #c8d5e8);border-radius:6px;background:#fff;font-size:13px;cursor:pointer}.ft-paginator__summary{margin:0 0 0 8px;font-size:13px;color:var(--color-content-secondary, var(--neutral-600, #61708a))}.ft-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px}.ft-filters__label{color:var(--color-content-secondary, var(--neutral-600, #61708a));font-size:13px;white-space:nowrap}.ft-filters__chips{display:flex;align-items:center;gap:6px;flex-wrap:wrap;list-style:none;margin:0;padding:0}.ft-filters__chip{display:inline-flex;align-items:center;gap:4px;padding:3px 8px 3px 10px;background:var(--neutral-100, #eaf0f8);border:1px solid var(--neutral-200, #c8d5e8);border-radius:100px;font-size:13px;color:var(--color-content-default, var(--neutral-900, #10203a))}.ft-filters__chip-text{white-space:nowrap}.ft-filters__chip-remove{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:none;background:none;cursor:pointer;color:var(--neutral-500, #7a90a8);border-radius:50%;transition:background .1s,color .1s}.ft-filters__chip-remove:hover{background:var(--neutral-200, #c8d5e8);color:var(--neutral-900, #10203a)}.ft-filters__clear{padding:3px 10px;border:1px solid transparent;border-radius:100px;background:none;font-size:13px;color:var(--brand-primary, #2563eb);cursor:pointer;white-space:nowrap;transition:background .1s}.ft-filters__clear:hover{background:var(--neutral-50, #f7faff)}.ft-details-panel__overlay{position:fixed;inset:0;background:#0003;z-index:199}.ft-details-panel{position:fixed;top:0;right:0;height:100%;background:#fff;border-left:1px solid var(--neutral-200, #c8d5e8);box-shadow:-4px 0 24px #0000001a;z-index:200;display:flex;flex-direction:column;transform:translate(100%);transition:transform .25s cubic-bezier(.4,0,.2,1);overflow:hidden}.ft-details-panel--open{transform:translate(0)}.ft-details-panel__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--neutral-100, #eaf0f8);flex-shrink:0}.ft-details-panel__title{font-size:16px;font-weight:600;color:var(--color-content-default, var(--neutral-900, #10203a));margin:0}.ft-details-panel__close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;background:none;cursor:pointer;color:var(--neutral-500, #7a90a8);border-radius:6px;transition:background .1s,color .1s;margin-left:auto}.ft-details-panel__close:hover{background:var(--neutral-100, #eaf0f8);color:var(--neutral-900, #10203a)}.ft-details-panel__body{flex:1;overflow-y:auto;padding:20px}.ft-form-field{display:flex;flex-direction:column;gap:4px}.ft-form-section{display:flex;flex-direction:column;gap:var(--section-gap, 24px)}.ft-form-section__title{font-size:17px;line-height:23px;font-weight:600;color:var(--color-content-default, var(--neutral-900, #10203a));margin-bottom:4px}.ft-form-section__desc{font-size:14px;color:var(--color-content-secondary, var(--neutral-600, #61708a));margin-top:-16px}.ft-form-section--cols-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:640px){.ft-form-section--cols-2{grid-template-columns:1fr}}.ft-backdrop{position:fixed;inset:0;background:color-mix(in srgb,var(--navy-950, #071221) 60%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:200;animation:ft-fade-in .15s ease}@keyframes ft-fade-in{0%{opacity:0}to{opacity:1}}.ft-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--color-surface-default, var(--neutral-0, #ffffff));border-radius:22px;box-shadow:0 24px 64px #0000004d;z-index:201;display:flex;flex-direction:column;max-height:calc(100vh - 48px);animation:ft-modal-in .2s ease;outline:none}@keyframes ft-modal-in{0%{opacity:0;transform:translate(-50%,calc(-50% + 12px))}to{opacity:1;transform:translate(-50%,-50%)}}.ft-modal--sm{width:min(400px,calc(100vw - 32px))}.ft-modal--md{width:min(600px,calc(100vw - 32px))}.ft-modal--lg{width:min(800px,calc(100vw - 32px))}.ft-modal__header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--color-border-default, var(--neutral-200, #d8e0ea));flex-shrink:0}.ft-modal__title{font-size:17px;font-weight:600;color:var(--color-content-default, var(--neutral-900, #10203a))}.ft-modal__body{flex:1;padding:20px 24px;overflow-y:auto;font-size:15px;line-height:23px;color:var(--color-content-default, var(--neutral-900, #10203a))}.ft-modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:16px 24px 20px;border-top:1px solid var(--color-border-default, var(--neutral-200, #d8e0ea));flex-shrink:0}.ft-drawer{position:fixed;background:var(--color-surface-default, var(--neutral-0, #ffffff));box-shadow:-8px 0 32px #00000026;z-index:201;display:flex;flex-direction:column;max-height:100vh;outline:none}.ft-drawer--right{top:0;right:0;height:100%;border-radius:22px 0 0 22px;animation:ft-drawer-right-in .25s ease}@keyframes ft-drawer-right-in{0%{transform:translate(100%)}to{transform:translate(0)}}.ft-drawer--bottom{bottom:0;left:0;right:0;border-radius:22px 22px 0 0;animation:ft-drawer-bottom-in .25s ease}@keyframes ft-drawer-bottom-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}.ft-drawer__header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--color-border-default, var(--neutral-200, #d8e0ea));flex-shrink:0}.ft-drawer__title{font-size:17px;font-weight:600;color:var(--color-content-default, var(--neutral-900, #10203a))}.ft-drawer__subtitle{font-size:13px;color:var(--color-content-secondary, var(--neutral-600, #61708a));margin-top:2px}.ft-drawer__body{flex:1;padding:20px 24px;overflow-y:auto}.ft-drawer__footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:16px 24px 20px;border-top:1px solid var(--color-border-default, var(--neutral-200, #d8e0ea));flex-shrink:0}.ft-tooltip-wrap{position:relative;display:inline-flex}.ft-tooltip-bubble{position:absolute;background:var(--neutral-900, #10203a);color:var(--neutral-0, #ffffff);font-size:12px;line-height:16px;padding:6px 10px;border-radius:8px;white-space:nowrap;pointer-events:none;z-index:300;max-width:240px;white-space:normal;opacity:0;transition:opacity .15s ease}.ft-tooltip-wrap:hover .ft-tooltip-bubble,.ft-tooltip-wrap:focus-within .ft-tooltip-bubble{opacity:1}.ft-tooltip-bubble--top{bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.ft-tooltip-bubble--bottom{top:calc(100% + 6px);left:50%;transform:translate(-50%)}.ft-tooltip-bubble--left{right:calc(100% + 6px);top:50%;transform:translateY(-50%)}.ft-tooltip-bubble--right{left:calc(100% + 6px);top:50%;transform:translateY(-50%)}.ft-popover-wrap{position:relative;display:inline-flex}.ft-popover-content{position:absolute;background:var(--color-surface-default, var(--neutral-0, #ffffff));border:1px solid var(--color-border-default, var(--neutral-200, #d8e0ea));border-radius:12px;box-shadow:0 8px 24px #0000001f;z-index:150;min-width:180px;animation:ft-fade-in .1s ease}.ft-popover-content--bottom{top:calc(100% + 6px);left:0}.ft-popover-content--top{bottom:calc(100% + 6px);left:0}.ft-popover-content--right{left:calc(100% + 6px);top:0}.ft-popover-content--left{right:calc(100% + 6px);top:0}.ft-menu{background:var(--color-surface-default, var(--neutral-0, #ffffff));border:1px solid var(--color-border-default, var(--neutral-200, #d8e0ea));border-radius:12px;box-shadow:0 8px 24px #0000001f;padding:4px;min-width:180px;animation:ft-fade-in .1s ease}.ft-menu__item{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:14px;color:var(--color-content-default, var(--neutral-900, #10203a));border-radius:8px;cursor:pointer;border:none;background:transparent;width:100%;text-align:left;font-family:inherit;transition:background .1s ease}.ft-menu__item:hover:not([disabled]){background:var(--color-surface-raised, var(--neutral-50, #f7faff))}.ft-menu__item--danger{color:var(--color-status-danger, #b91c1c)}.ft-menu__item[disabled]{opacity:.4;cursor:not-allowed}.ft-menu__item:focus-visible{outline:2px solid var(--color-focus, var(--brand-cyan, #00abff));outline-offset:-2px}.ft-menu__divider{height:1px;background:var(--color-border-default, var(--neutral-200, #d8e0ea));margin:4px 0}.ft-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:8px;font-size:12px;line-height:17px;font-weight:500;border:1px solid transparent}.ft-badge--sm{padding:1px 6px;font-size:11px}.ft-badge--md{padding:2px 8px;font-size:12px}.ft-badge--neutral{background:var(--neutral-100, #e8edf3);color:var(--neutral-700, #3d4a5a);border-color:var(--neutral-200, #d8e0ea)}.ft-badge--info{background:var(--blue-50, #eff8ff);color:var(--blue-700, #00679a);border-color:var(--blue-100, #d9eeff)}.ft-badge--success{background:var(--green-50, #effbf5);color:var(--green-700, #0f7145);border-color:var(--green-200, #c5efd7)}.ft-badge--warning{background:var(--amber-50, #fff8e8);color:var(--amber-800, #805304);border-color:var(--amber-200, #f9dfa0)}.ft-badge--danger{background:var(--red-50, #fff3f2);color:var(--color-status-danger, #b91c1c);border-color:color-mix(in srgb,var(--color-status-danger, #b91c1c) 20%,transparent)}.ft-status-badge{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500}.ft-status-badge__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.ft-status-badge--online .ft-status-badge__dot{background:var(--green-700, #0f7145)}.ft-status-badge--offline .ft-status-badge__dot{background:var(--neutral-500, #718094)}.ft-status-badge--warning .ft-status-badge__dot{background:var(--amber-800, #805304)}.ft-status-badge--error .ft-status-badge__dot{background:var(--color-status-danger, #b91c1c)}.ft-status-badge--syncing .ft-status-badge__dot{background:var(--brand-cyan, #00abff);animation:ft-pulse 1s ease infinite}.ft-status-badge--unavailable .ft-status-badge__dot{background:var(--neutral-300, #c5cfda)}.ft-status-badge--blocked .ft-status-badge__dot{background:var(--amber-800, #805304)}.ft-timeline{display:flex;flex-direction:column;position:relative}.ft-timeline:before{content:"";position:absolute;left:19px;top:0;bottom:0;width:1px;background:var(--color-border-default, var(--neutral-200, #d8e0ea))}.ft-timeline__item{display:flex;gap:12px;padding:0 0 20px;position:relative}.ft-timeline__dot{width:20px;height:20px;flex-shrink:0;border-radius:50%;border:2px solid var(--color-border-default, var(--neutral-200, #d8e0ea));background:var(--color-surface-default, var(--neutral-0, #ffffff));z-index:1;display:flex;align-items:center;justify-content:center;margin-top:2px}.ft-timeline__body{flex:1}.ft-timeline__action{font-size:14px;font-weight:500;color:var(--color-content-default, var(--neutral-900, #10203a));line-height:20px}.ft-timeline__meta{font-size:12px;color:var(--color-content-secondary, var(--neutral-600, #61708a));margin-top:2px;display:flex;gap:8px}.ft-timeline__detail{font-size:13px;color:var(--color-content-secondary, var(--neutral-600, #61708a));margin-top:4px}.ft-chart-base{background:var(--color-surface-raised, var(--neutral-25, #fbfcfe));border:1px solid var(--color-border-default, var(--neutral-200, #d8e0ea));border-radius:12px;padding:var(--card-pad);display:flex;flex-direction:column;gap:12px}.ft-chart-base__header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.ft-chart-base__title{font-size:15px;font-weight:600;color:var(--color-content-default, var(--neutral-900, #10203a))}.ft-chart-base__subtitle{font-size:13px;color:var(--color-content-secondary, var(--neutral-600, #61708a));margin-top:2px}.ft-chart-base__slot{min-height:120px;display:flex;align-items:center;justify-content:center}.ft-progress-bar{display:flex;flex-direction:column;gap:4px}.ft-progress-bar__label{display:flex;justify-content:space-between;font-size:13px;color:var(--color-content-secondary, var(--neutral-600, #61708a))}.ft-progress-bar__track{height:8px;background:var(--neutral-100, #e8edf3);border-radius:99px;overflow:hidden}.ft-progress-bar__track--sm{height:4px}.ft-progress-bar__track--lg{height:12px}.ft-progress-bar__fill{height:100%;border-radius:99px;background:var(--brand-cyan, #00abff);transition:width .3s ease}.ft-progress-bar__fill--success{background:var(--green-700, #0f7145)}.ft-progress-bar__fill--warning{background:var(--amber-800, #805304)}.ft-progress-bar__fill--danger{background:var(--color-status-danger, #b91c1c)}.ft-progress-bar__fill--animated{background:linear-gradient(90deg,var(--brand-cyan, #00abff) 0%,var(--cyan-soft, #8fe1ff) 50%,var(--brand-cyan, #00abff) 100%);background-size:200%;animation:ft-progress-shimmer 1.5s ease infinite}@keyframes ft-progress-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.ft-technical-object{background:var(--color-surface-raised, var(--neutral-25, #fbfcfe));border:1px solid var(--color-border-default, var(--neutral-200, #d8e0ea));border-radius:12px;padding:var(--card-pad);display:flex;flex-direction:column;gap:12px}.ft-technical-object__header{display:flex;align-items:flex-start;gap:12px}.ft-technical-object__icon{width:40px;height:40px;border-radius:10px;background:var(--neutral-100, #e8edf3);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-content-secondary, var(--neutral-600, #61708a))}.ft-technical-object__name{font-size:15px;font-weight:600;color:var(--color-content-default, var(--neutral-900, #10203a))}.ft-technical-object__id{font-size:12px;font-family:JetBrains Mono,monospace;color:var(--color-content-secondary, var(--neutral-600, #61708a));margin-top:2px}.ft-technical-object__metrics{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--color-border-default, var(--neutral-200, #d8e0ea));padding-top:12px}.ft-metric-row{display:flex;align-items:center;justify-content:space-between;font-size:13px}.ft-metric-row__label{color:var(--color-content-secondary, var(--neutral-600, #61708a))}.ft-metric-row__value{font-weight:500;color:var(--color-content-default, var(--neutral-900, #10203a));display:flex;align-items:center;gap:4px}.ft-metric-row__unit{font-size:11px;color:var(--color-content-secondary, var(--neutral-600, #61708a))}.ft-metric-row--warning .ft-metric-row__value{color:var(--amber-800, #805304)}.ft-metric-row--danger .ft-metric-row__value{color:var(--color-status-danger, #b91c1c)}.ft-project-card{background:var(--color-surface-raised, var(--neutral-25, #fbfcfe));border:1px solid var(--color-border-default, var(--neutral-200, #d8e0ea));border-radius:12px;padding:var(--card-pad);display:flex;flex-direction:column;gap:12px}.ft-project-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.ft-project-card__title{font-size:15px;font-weight:600;color:var(--color-content-default, var(--neutral-900, #10203a))}.ft-project-card__code{font-size:12px;font-family:monospace;color:var(--color-content-secondary, var(--neutral-600, #61708a))}.ft-project-card__progress{display:flex;flex-direction:column;gap:4px}.ft-project-card__meta{display:flex;gap:12px;font-size:12px;color:var(--color-content-secondary, var(--neutral-600, #61708a))}.ft-task-item{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border:1px solid var(--color-border-default, var(--neutral-200, #d8e0ea));border-radius:10px;background:var(--color-surface-default, var(--neutral-25, #fbfcfe))}.ft-task-item__check{width:20px;height:20px;border:1.5px solid var(--color-border-default, var(--neutral-300, #c5cfda));border-radius:50%;flex-shrink:0;margin-top:2px;display:flex;align-items:center;justify-content:center}.ft-task-item--completed .ft-task-item__check{background:var(--green-700, #0f7145);border-color:var(--green-700, #0f7145);color:var(--neutral-0, #ffffff)}.ft-task-item--blocked .ft-task-item__check{border-color:var(--color-status-danger, #b91c1c);color:var(--color-status-danger, #b91c1c)}.ft-task-item__body{flex:1}.ft-task-item__title{font-size:14px;font-weight:500;color:var(--color-content-default, var(--neutral-900, #10203a))}.ft-task-item--completed .ft-task-item__title{text-decoration:line-through;color:var(--color-content-secondary, var(--neutral-600, #61708a))}.ft-task-item__meta{display:flex;gap:8px;font-size:12px;color:var(--color-content-secondary, var(--neutral-600, #61708a));margin-top:4px}.ft-priority{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600}.ft-priority--critical{color:var(--color-status-danger, #b91c1c)}.ft-priority--high{color:var(--amber-800, #805304)}.ft-priority--medium{color:var(--blue-700, #00679a)}.ft-priority--low{color:var(--neutral-600, #61708a)}.ft-ai-suggestion{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--brand-violet, #d96fed);border-radius:12px;background:color-mix(in srgb,var(--brand-violet, #d96fed) 5%,var(--color-surface-default, var(--neutral-25, #fbfcfe)))}.ft-ai-suggestion__header{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--brand-violet, #d96fed);text-transform:uppercase;letter-spacing:.08em}.ft-ai-suggestion__content{font-size:14px;line-height:21px;color:var(--color-content-default, var(--neutral-900, #10203a))}.ft-ai-suggestion__confidence{font-size:12px;color:var(--color-content-secondary, var(--neutral-600, #61708a))}.ft-ai-suggestion__disclaimer{font-size:11px;color:var(--color-content-secondary, var(--neutral-600, #61708a));font-style:italic;border-top:1px solid color-mix(in srgb,var(--brand-violet, #d96fed) 20%,transparent);padding-top:8px}.ft-ai-suggestion__actions{display:flex;gap:8px}.ft-ai-suggestion__feedback{display:flex;gap:4px;margin-left:auto}.ft-area-internal{--area-density: standard;--area-actions-visible: true}.ft-area-client{--area-density: comfortable}.ft-auth-surface{display:flex;align-items:center;justify-content:center;min-height:100dvh;padding:24px 16px;background:var(--color-surface-application, #f3f7fc);box-sizing:border-box}.ft-auth-card{width:100%;max-width:480px;background:var(--color-surface-primary, #ffffff);border-radius:var(--radius-overlay, 22px);box-shadow:var(--elevation-floating, 0 6px 14px -2px rgb(14 27 51 / .18), 0 28px 64px -7px rgb(14 27 51 / .28));padding:40px 40px 36px;display:flex;flex-direction:column;gap:24px;box-sizing:border-box}.ft-auth-logo{display:flex;align-items:center;justify-content:center;padding-bottom:4px}.ft-auth-logo svg,.ft-auth-logo img{max-height:48px;width:auto}.ft-auth-header{display:flex;flex-direction:column;gap:6px;text-align:center}.ft-auth-title{margin:0;font-size:var(--type-overlay-size, 20px);line-height:var(--type-overlay-line, 26px);font-weight:var(--font-weight-semibold, 600);color:var(--color-content-primary, #10203a)}.ft-auth-description{margin:0;font-size:var(--type-secondary-size, 14px);line-height:var(--type-secondary-line, 21px);color:var(--color-content-secondary, #61708a)}.ft-auth-warning{padding:10px 14px;border-radius:var(--radius-md, 8px);background:var(--primitive-amber-50, #fff8e8);color:var(--color-warning, #b87808);font-size:var(--type-secondary-size, 14px);line-height:var(--type-secondary-line, 21px);border:1px solid var(--primitive-amber-200, #f9dfa0)}.ft-auth-actions{display:flex;flex-direction:column;gap:10px}.ft-auth-btn-primary{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:44px;padding:0 20px;font-size:var(--type-body-size, 15px);line-height:var(--type-body-line, 23px);font-weight:var(--font-weight-medium, 500);font-family:inherit;border-radius:var(--radius-control, 8px);border:1.5px solid transparent;cursor:pointer;transition:background var(--duration-interactive, .18s) var(--easing-ease, ease),color var(--duration-interactive, .18s) var(--easing-ease, ease),border-color var(--duration-interactive, .18s) var(--easing-ease, ease),opacity var(--duration-interactive, .18s) var(--easing-ease, ease);background:var(--brand-cyan, #00abff);color:var(--navy-950, #071221);border-color:var(--brand-cyan, #00abff);box-sizing:border-box}.ft-auth-btn-primary:hover:not([disabled]){background:var(--brand-cyan-soft, #8fe1ff);border-color:var(--brand-cyan-soft, #8fe1ff)}.ft-auth-btn-primary:focus-visible{outline:var(--focus-ring-width, 2px) solid var(--focus-ring-color, var(--color-focus, #00abff));outline-offset:var(--focus-ring-offset, 2px)}.ft-auth-btn-primary[disabled]{opacity:.4;cursor:not-allowed;pointer-events:none}.ft-auth-btn-primary.ft-auth-btn--loading{pointer-events:none}.ft-auth-btn-secondary{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:36px;padding:0 16px;font-size:var(--type-secondary-size, 14px);line-height:var(--type-secondary-line, 21px);font-weight:var(--font-weight-medium, 500);font-family:inherit;border-radius:var(--radius-control, 8px);border:1.5px solid var(--color-border-default, #bcc6d2);background:transparent;color:var(--color-content-secondary, #61708a);cursor:pointer;transition:background var(--duration-interactive, .18s) var(--easing-ease, ease),border-color var(--duration-interactive, .18s) var(--easing-ease, ease);box-sizing:border-box}.ft-auth-btn-secondary:hover:not([disabled]){background:var(--color-surface-secondary, #f8fafc);border-color:var(--color-border-strong, #728092)}.ft-auth-btn-secondary:focus-visible{outline:var(--focus-ring-width, 2px) solid var(--focus-ring-color, var(--color-focus, #00abff));outline-offset:var(--focus-ring-offset, 2px)}.ft-auth-btn-secondary[disabled]{opacity:.4;cursor:not-allowed;pointer-events:none}.ft-auth-spinner{animation:ft-spin var(--duration-spin, .8s) linear infinite;flex-shrink:0}.ft-auth-error{padding:10px 14px;border-radius:var(--radius-md, 8px);background:var(--primitive-red-50, #fff3f2);color:var(--color-error, #d53d32);font-size:var(--type-secondary-size, 14px);line-height:var(--type-secondary-line, 21px);border:1px solid var(--primitive-red-200, #ffd0cb)}.ft-auth-footer{font-size:var(--type-meta-size, 12px);line-height:var(--type-meta-line, 17px);color:var(--color-content-muted, #728092);text-align:center}@media(max-width:767px){.ft-auth-surface{align-items:flex-start;padding:16px 16px 24px;min-height:100dvh}.ft-auth-card{max-width:100%;border-radius:var(--radius-lg, 12px);padding:28px 20px 24px;gap:20px}}@media(min-width:768px)and (max-width:1023px){.ft-auth-card{max-width:420px;padding:36px 32px 32px}}@media(prefers-reduced-motion:reduce){.ft-auth-spinner{animation:none;opacity:.6}.ft-auth-btn-primary,.ft-auth-btn-secondary{transition:none}}.ft-field-group{border:1px solid var(--color-border-default, var(--neutral-200, #d8e0ea));border-radius:8px;padding:16px;margin:0}.ft-field-group--collapsible{border:1px solid var(--color-border-default, var(--neutral-200, #d8e0ea));border-radius:8px;overflow:hidden}.ft-field-group__legend{font-size:13px;font-weight:600;color:var(--color-content-default, var(--neutral-900, #10203a));padding:0 4px}.ft-field-group__hint{font-size:12px;color:var(--color-content-secondary, var(--neutral-600, #61708a));margin:4px 0 0}.ft-field-group__content{display:flex;flex-direction:column;gap:12px;margin-top:12px}.ft-field-group__toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 16px;background:transparent;border:none;cursor:pointer;font-family:inherit}.ft-field-group__toggle:hover{background:var(--color-surface-subtle, var(--neutral-50, #f3f6f9))}.ft-field-group__chevron{transition:transform .15s ease;flex-shrink:0}.ft-field-group__chevron--open{transform:rotate(180deg)}.ft-field-group--collapsible .ft-field-group__content{padding:0 16px 16px;margin-top:0}.ft-field-group--collapsible .ft-field-group__hint{padding:0 16px}.ft-validation-summary{border:1px solid var(--color-feedback-error, var(--red-600, #dc2626));border-radius:8px;padding:14px 16px;background:color-mix(in srgb,var(--red-600, #dc2626) 6%,transparent);outline:none}.ft-validation-summary__title{font-size:14px;font-weight:600;color:var(--color-feedback-error, var(--red-700, #b91c1c));margin:0 0 8px}.ft-validation-summary__list{margin:0;padding:0 0 0 18px;display:flex;flex-direction:column;gap:4px}.ft-validation-summary__item{font-size:13px}.ft-validation-summary__link{color:var(--color-feedback-error, var(--red-700, #b91c1c));text-decoration:underline}.ft-validation-summary__link:hover{text-decoration:none}.ft-validation-summary__field{font-weight:600}.ft-wizard{display:flex;flex-direction:column;gap:24px}.ft-wizard__steps{border-bottom:1px solid var(--color-border-subtle, var(--neutral-100, #e8edf3));padding-bottom:20px}.ft-wizard__step-list{display:flex;align-items:flex-start;gap:0;list-style:none;margin:0;padding:0;flex-wrap:wrap}.ft-wizard__step{display:flex;align-items:center;gap:8px;flex:1;min-width:0;position:relative}.ft-wizard__step-indicator{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-size:12px;font-weight:600;flex-shrink:0;border:2px solid var(--color-border-default, var(--neutral-200, #d8e0ea));background:var(--color-surface-page, var(--neutral-0, #ffffff));color:var(--color-content-secondary, var(--neutral-600, #61708a))}.ft-wizard__step--active .ft-wizard__step-indicator{border-color:var(--brand-primary, var(--blue-600, #2563eb));background:var(--brand-primary, var(--blue-600, #2563eb));color:#fff}.ft-wizard__step--completed .ft-wizard__step-indicator{border-color:var(--color-feedback-success, var(--green-600, #16a34a));background:var(--color-feedback-success, var(--green-600, #16a34a));color:#fff}.ft-wizard__step--error .ft-wizard__step-indicator{border-color:var(--color-feedback-error, var(--red-600, #dc2626));background:var(--color-feedback-error, var(--red-600, #dc2626));color:#fff}.ft-wizard__step-label{font-size:13px;font-weight:500;color:var(--color-content-secondary, var(--neutral-600, #61708a));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ft-wizard__step--active .ft-wizard__step-label{color:var(--color-content-default, var(--neutral-900, #10203a));font-weight:600}.ft-wizard__step-connector{flex:1;height:1px;background:var(--color-border-default, var(--neutral-200, #d8e0ea));margin:0 8px}.ft-wizard__body{min-height:120px}.ft-wizard__footer{display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid var(--color-border-subtle, var(--neutral-100, #e8edf3));gap:12px}.ft-wizard__btn{padding:8px 20px;border-radius:6px;font-family:inherit;font-size:14px;font-weight:500;cursor:pointer;border:1px solid transparent;display:flex;align-items:center;gap:6px;transition:background .1s ease,opacity .1s ease}.ft-wizard__btn:disabled{opacity:.5;cursor:not-allowed}.ft-wizard__btn--back{background:transparent;border-color:var(--color-border-default, var(--neutral-200, #d8e0ea));color:var(--color-content-default, var(--neutral-900, #10203a))}.ft-wizard__btn--back:not(:disabled):hover{background:var(--color-surface-subtle, var(--neutral-50, #f3f6f9))}.ft-wizard__btn--next,.ft-wizard__btn--submit{background:var(--brand-primary, var(--blue-600, #2563eb));color:#fff}.ft-wizard__btn--next:not(:disabled):hover,.ft-wizard__btn--submit:not(:disabled):hover{background:var(--brand-primary-hover, var(--blue-700, #1d4ed8))}.ft-wizard__spinner{animation:ft-spin 1s linear infinite;flex-shrink:0}@media(prefers-reduced-motion:reduce){.ft-wizard__spinner{animation:none;opacity:.6}.ft-wizard__btn,.ft-field-group__chevron{transition:none}}@media(max-width:767px){.ft-wizard__step-label{display:none}.ft-wizard__step--active .ft-wizard__step-label{display:block}}.ft-empty-state,.ft-success-state,.ft-warning-state,.ft-error-state{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 24px;text-align:center}.ft-empty-state__icon,.ft-success-state__icon,.ft-warning-state__icon,.ft-error-state__icon{display:flex;align-items:center;justify-content:center;color:var(--content-secondary, #667085)}.ft-success-state__icon{color:var(--success-default, #16a34a)}.ft-warning-state__icon{color:var(--warning-default, #ca8a04)}.ft-error-state__icon{color:var(--danger-default, #dc2626)}.ft-empty-state__title,.ft-success-state__title,.ft-warning-state__title,.ft-error-state__title{font-size:16px;font-weight:600;color:var(--content-primary, #111827);margin:0}.ft-empty-state__description,.ft-success-state__description,.ft-warning-state__description,.ft-error-state__description{font-size:14px;color:var(--content-secondary, #667085);margin:0;max-width:360px}.ft-empty-state__action,.ft-success-state__action,.ft-error-state__action,.ft-error-state__retry{margin-top:4px;padding:8px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;border:1px solid transparent;transition:background .15s}.ft-empty-state__action,.ft-success-state__action,.ft-error-state__action{background:var(--brand-primary, #2563eb);color:#fff;border-color:var(--brand-primary, #2563eb)}.ft-empty-state__action:hover,.ft-success-state__action:hover,.ft-error-state__action:hover{background:var(--brand-primary-hover, #1d4ed8)}.ft-error-state__actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.ft-error-state__retry{background:transparent;color:var(--content-primary, #111827);border-color:var(--border-default, #d1d5db)}.ft-error-state__retry:hover{background:var(--surface-subtle, #f9fafb)}.ft-notification{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:8px;border:1px solid transparent}.ft-notification--info{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}.ft-notification--success{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.ft-notification--warning{background:#fefce8;border-color:#fde68a;color:#854d0e}.ft-notification--error{background:#fef2f2;border-color:#fecaca;color:#991b1b}.ft-notification__icon{flex-shrink:0;margin-top:1px}.ft-notification__body{flex:1;min-width:0}.ft-notification__title{font-size:14px;font-weight:600;margin:0 0 2px}.ft-notification__message{font-size:14px;margin:0}.ft-notification__dismiss{flex-shrink:0;background:transparent;border:none;cursor:pointer;padding:2px;color:inherit;opacity:.7;border-radius:4px;display:flex}.ft-notification__dismiss:hover{opacity:1}.ft-toast{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;font-size:14px;box-shadow:0 4px 12px #0000001f;max-width:360px}.ft-toast--info{background:#1e40af;color:#fff}.ft-toast--success{background:#166534;color:#fff}.ft-toast--warning{background:#854d0e;color:#fff}.ft-toast--error{background:#991b1b;color:#fff}.ft-toast__message{flex:1;margin:0}.ft-toast__dismiss{flex-shrink:0;background:transparent;border:none;cursor:pointer;color:inherit;opacity:.8;padding:2px;display:flex;border-radius:3px}.ft-toast__dismiss:hover{opacity:1}.ft-approval-flow{display:flex;flex-direction:column;gap:0}.ft-approval-flow__title{font-size:14px;font-weight:600;color:var(--ft-color-neutral-900);margin-bottom:16px}.ft-approval-flow__list{list-style:none;margin:0;padding:0}.ft-approval-flow__step{display:flex;position:relative}.ft-approval-flow__step-header{display:flex;align-items:flex-start;gap:12px;padding-bottom:16px;width:100%;position:relative}.ft-approval-flow__icon{flex-shrink:0;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid currentColor;position:relative;z-index:1}.ft-approval-flow__connector{position:absolute;left:13px;top:28px;bottom:-4px;width:2px;background:var(--ft-color-neutral-200)}.ft-approval-flow__step--approved .ft-approval-flow__icon{color:var(--ft-color-success-600, #16a34a);background:var(--ft-color-success-50, #f0fdf4)}.ft-approval-flow__step--rejected .ft-approval-flow__icon{color:var(--ft-color-danger-600, #dc2626);background:var(--ft-color-danger-50, #fef2f2)}.ft-approval-flow__step--skipped .ft-approval-flow__icon,.ft-approval-flow__step--pending .ft-approval-flow__icon{color:var(--ft-color-neutral-400);background:var(--ft-color-neutral-50)}.ft-approval-flow__step[aria-current=step] .ft-approval-flow__icon{color:var(--ft-color-brand-600, #2563eb);background:var(--ft-color-brand-50, #eff6ff);border-color:var(--ft-color-brand-600, #2563eb)}.ft-approval-flow__content{display:flex;flex-direction:column;gap:2px;min-width:0;padding-top:4px}.ft-approval-flow__label{font-size:14px;font-weight:500;color:var(--ft-color-neutral-900);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ft-approval-flow__current-badge{font-size:11px;font-weight:600;color:var(--ft-color-brand-600, #2563eb);background:var(--ft-color-brand-50, #eff6ff);border:1px solid var(--ft-color-brand-200, #bfdbfe);border-radius:4px;padding:1px 6px;text-transform:uppercase;letter-spacing:.04em}.ft-approval-flow__approver{font-size:12px;color:var(--ft-color-neutral-500)}.ft-approval-flow__comment{font-size:13px;color:var(--ft-color-neutral-600);font-style:italic;margin-top:4px;padding:6px 8px;background:var(--ft-color-neutral-50);border-left:2px solid var(--ft-color-neutral-200);border-radius:0 4px 4px 0}.ft-approval-flow__decided-at{font-size:11px;color:var(--ft-color-neutral-400);margin-top:2px}.ft-approval-flow--loading .ft-approval-flow__step-skeleton{display:flex;align-items:flex-start;gap:12px;padding-bottom:16px}.ft-approval-flow__skeleton{background:var(--ft-color-neutral-100);border-radius:4px;animation:ft-pulse 1.5s ease-in-out infinite}.ft-approval-flow__skeleton--title{height:16px;width:120px;margin-bottom:16px}.ft-approval-flow__skeleton--icon{width:28px;height:28px;border-radius:50%;flex-shrink:0}.ft-approval-flow__skeleton--line{height:14px;width:180px;margin-top:6px;border-radius:6px}.ft-document-card{display:flex;align-items:flex-start;gap:12px;padding:12px;border:1px solid var(--ft-color-neutral-200, #e2e8f0);border-radius:8px;background:var(--ft-color-neutral-0, #fff);transition:border-color .15s,box-shadow .15s}.ft-document-card[role=button]{cursor:pointer}.ft-document-card[role=button]:hover{border-color:var(--ft-color-brand-300, #93b3d8);box-shadow:0 1px 4px #0000000f}.ft-document-card[role=button]:focus-visible{outline:2px solid var(--ft-color-brand-500, #2c5f9e);outline-offset:2px}.ft-document-card--selected{border-color:var(--ft-color-brand-500, #2c5f9e);background:var(--ft-color-brand-50, #eff5fb)}.ft-document-card--unavailable{opacity:.55}.ft-document-card--error{border-color:var(--ft-color-semantic-error-300, #f0aaaa);background:var(--ft-color-semantic-error-50, #fef2f2)}.ft-document-card__icon{flex-shrink:0}.ft-document-card__body{flex:1;min-width:0}.ft-document-card__name{display:block;font-size:14px;font-weight:500;color:var(--ft-color-content-primary, #1a2236);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ft-document-card__meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px;font-size:12px;color:var(--ft-color-content-secondary, #61708a)}.ft-document-card__type:after{content:"·";margin-left:6px}.ft-document-card__description{margin:6px 0 0;font-size:12px;color:var(--ft-color-content-secondary, #61708a)}.ft-document-card__status-label{display:inline-block;margin-top:4px;font-size:11px;font-weight:500;color:var(--ft-color-semantic-warning-700, #b45309)}.ft-document-card--error .ft-document-card__status-label{color:var(--ft-color-semantic-error-600, #c0392b)}.ft-document-card__actions{display:flex;gap:4px;flex-shrink:0}.ft-document-card__action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;border-radius:6px;cursor:pointer;color:var(--ft-color-content-secondary, #61708a);transition:background .1s,color .1s}.ft-document-card__action-btn:hover:not(:disabled){background:var(--ft-color-neutral-100, #f1f5f9);color:var(--ft-color-content-primary, #1a2236)}.ft-document-card__action-btn:disabled{opacity:.4;cursor:not-allowed}.ft-document-card--loading{pointer-events:none}.ft-document-card__skeleton-icon{width:32px;height:32px;border-radius:4px;background:var(--ft-color-neutral-100);animation:ft-pulse 1.5s ease-in-out infinite;flex-shrink:0}.ft-document-card__skeleton-body{flex:1}.ft-document-card__skeleton-line{height:12px;border-radius:6px;background:var(--ft-color-neutral-100);animation:ft-pulse 1.5s ease-in-out infinite}.ft-document-card__skeleton-line--title{width:60%;margin-bottom:8px;height:14px}.ft-document-card__skeleton-line--meta{width:40%}.ft-attachment-list__title{font-size:13px;font-weight:600;color:var(--ft-color-content-secondary, #61708a);margin:0 0 8px;text-transform:uppercase;letter-spacing:.04em}.ft-attachment-list__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.ft-attachment-list__empty{font-size:13px;color:var(--ft-color-content-secondary, #61708a);margin:0;padding:16px 0;text-align:center}.ft-file-metadata{margin:0}.ft-file-metadata__row{display:flex;gap:8px;padding:6px 0;border-bottom:1px solid var(--ft-color-neutral-100, #f1f5f9)}.ft-file-metadata__row:last-child{border-bottom:none}.ft-file-metadata__label{font-size:12px;color:var(--ft-color-content-secondary, #61708a);min-width:100px;flex-shrink:0}.ft-file-metadata__value{font-size:12px;color:var(--ft-color-content-primary, #1a2236);word-break:break-all}.ft-file-metadata--loading .ft-file-metadata__skeleton-dt,.ft-file-metadata--loading .ft-file-metadata__skeleton-dd{height:12px;border-radius:6px;background:var(--ft-color-neutral-100);animation:ft-pulse 1.5s ease-in-out infinite}.ft-file-metadata__skeleton-dt{width:80px}.ft-file-metadata__skeleton-dd{flex:1}.ft-document-actions{display:flex;gap:8px;flex-wrap:wrap}.ft-document-actions--compact{gap:4px}.ft-document-actions__btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--ft-color-neutral-200, #e2e8f0);border-radius:6px;background:var(--ft-color-neutral-0, #fff);font-size:13px;font-weight:500;color:var(--ft-color-content-primary, #1a2236);cursor:pointer;transition:background .1s,border-color .1s}.ft-document-actions--compact .ft-document-actions__btn{padding:4px}.ft-document-actions__btn:hover:not(:disabled){background:var(--ft-color-neutral-50, #f8fafc);border-color:var(--ft-color-neutral-300, #cbd5e1)}.ft-document-actions__btn:disabled{opacity:.4;cursor:not-allowed}.ft-document-actions__btn--destructive{color:var(--ft-color-semantic-error-600, #c0392b);border-color:var(--ft-color-semantic-error-200, #fecaca)}.ft-document-actions__btn--destructive:hover:not(:disabled){background:var(--ft-color-semantic-error-50, #fef2f2)}.ft-upload-status{border:1px solid var(--ft-color-neutral-200, #e2e8f0);border-radius:8px;padding:12px;background:var(--ft-color-neutral-0, #fff)}.ft-upload-status--completed{border-color:var(--ft-color-semantic-success-300, #86efac);background:var(--ft-color-semantic-success-50, #f0fdf4)}.ft-upload-status--failed{border-color:var(--ft-color-semantic-error-300, #f0aaaa);background:var(--ft-color-semantic-error-50, #fef2f2)}.ft-upload-status__header{display:flex;align-items:center;gap:10px}.ft-upload-status__info{flex:1;min-width:0}.ft-upload-status__filename{display:block;font-size:13px;font-weight:500;color:var(--ft-color-content-primary, #1a2236);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ft-upload-status__size{font-size:12px;color:var(--ft-color-content-secondary, #61708a)}.ft-upload-status__state{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:500;color:var(--ft-color-content-secondary, #61708a);flex-shrink:0}.ft-upload-status--completed .ft-upload-status__state{color:var(--ft-color-semantic-success-600, #1a8a4a)}.ft-upload-status--failed .ft-upload-status__state{color:var(--ft-color-semantic-error-600, #c0392b)}.ft-upload-status__progress-wrap{margin-top:8px;height:4px;background:var(--ft-color-neutral-100, #f1f5f9);border-radius:2px;overflow:hidden}.ft-upload-status__progress-bar{height:100%;background:var(--ft-color-brand-500, #2c5f9e);border-radius:2px;transition:width .3s ease}.ft-upload-status__error{margin:6px 0 0;font-size:12px;color:var(--ft-color-semantic-error-600, #c0392b)}.ft-upload-status__actions{margin-top:8px}.ft-upload-status__btn{font-size:12px;border:none;background:transparent;cursor:pointer;color:var(--ft-color-content-secondary, #61708a);padding:0;text-decoration:underline}.ft-upload-status__btn--retry{color:var(--ft-color-brand-600, #1f4a7c);font-weight:500}.ft-evidence-viewer{border:1px solid var(--ft-color-neutral-200, #e2e8f0);border-radius:8px;overflow:hidden;background:var(--ft-color-neutral-0, #fff)}.ft-evidence-viewer__title{font-size:14px;font-weight:600;color:var(--ft-color-content-primary, #1a2236);margin:0;padding:12px 16px;border-bottom:1px solid var(--ft-color-neutral-100, #f1f5f9)}.ft-evidence-viewer__preview{min-height:120px;background:var(--ft-color-neutral-50, #f8fafc);display:flex;align-items:center;justify-content:center;padding:16px}.ft-evidence-viewer__unavailable,.ft-evidence-viewer__no-preview{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:13px;color:var(--ft-color-content-secondary, #61708a)}.ft-evidence-viewer__footer{padding:12px 16px;display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--ft-color-neutral-100, #f1f5f9)}.ft-evidence-viewer--loading{padding:16px}.ft-evidence-viewer__skeleton-title{height:14px;width:120px;border-radius:6px;background:var(--ft-color-neutral-100);animation:ft-pulse 1.5s ease-in-out infinite;margin-bottom:12px}.ft-evidence-viewer__skeleton-preview{height:100px;border-radius:6px;background:var(--ft-color-neutral-100);animation:ft-pulse 1.5s ease-in-out infinite;margin-bottom:12px}.ft-evidence-viewer__skeleton-meta{height:60px;border-radius:6px;background:var(--ft-color-neutral-100);animation:ft-pulse 1.5s ease-in-out infinite}.ft-version-history__list{list-style:none;padding:0;margin:0}.ft-version-history__item{display:flex;gap:12px;position:relative}.ft-version-history__connector{position:absolute;left:7px;top:20px;bottom:-8px;width:2px;background:var(--ft-color-neutral-200, #e2e8f0)}.ft-version-history__item:last-child .ft-version-history__connector{display:none}.ft-version-history__dot{width:16px;height:16px;border-radius:50%;border:2px solid var(--ft-color-neutral-300, #cbd5e1);background:var(--ft-color-neutral-0, #fff);flex-shrink:0;margin-top:4px}.ft-version-history__item--current .ft-version-history__dot{border-color:var(--ft-color-brand-500, #2c5f9e);background:var(--ft-color-brand-500, #2c5f9e)}.ft-version-history__content{flex:1;padding-bottom:16px}.ft-version-history__header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ft-version-history__version{font-size:13px;font-weight:600;color:var(--ft-color-content-primary, #1a2236)}.ft-version-history__label{font-size:12px;color:var(--ft-color-content-secondary, #61708a)}.ft-version-history__current-badge{font-size:11px;font-weight:600;color:var(--ft-color-brand-600, #1f4a7c);background:var(--ft-color-brand-50, #eff5fb);border:1px solid var(--ft-color-brand-200, #bfdbf7);border-radius:12px;padding:1px 8px}.ft-version-history__meta{display:flex;gap:8px;font-size:12px;color:var(--ft-color-content-secondary, #61708a);margin-top:4px}.ft-version-history__note{font-size:12px;color:var(--ft-color-content-secondary, #61708a);margin:6px 0 0;font-style:italic}.ft-version-history__restore-btn{margin-top:6px;font-size:12px;border:none;background:transparent;cursor:pointer;color:var(--ft-color-brand-600, #1f4a7c);padding:0;text-decoration:underline}.ft-version-history__item--skeleton{pointer-events:none}.ft-version-history__skeleton-dot{width:16px;height:16px;border-radius:50%;background:var(--ft-color-neutral-100);animation:ft-pulse 1.5s ease-in-out infinite;flex-shrink:0;margin-top:4px}.ft-version-history__skeleton-body{flex:1;padding-bottom:16px}.ft-version-history__skeleton-line{height:12px;border-radius:6px;background:var(--ft-color-neutral-100);animation:ft-pulse 1.5s ease-in-out infinite}.ft-version-history__skeleton-line--title{width:50%;margin-bottom:8px;height:14px}.ft-version-history__skeleton-line--meta{width:35%}.ft-version-history--empty .ft-version-history__empty{font-size:13px;color:var(--ft-color-content-secondary, #61708a);margin:0;padding:16px 0;text-align:center}.ft-report-layout{display:flex;flex-direction:column;gap:24px}.ft-report-layout__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;border-bottom:1px solid var(--ft-color-neutral-200, #e2e8f0);padding-bottom:16px}.ft-report-layout__titles{display:flex;flex-direction:column;gap:4px}.ft-report-layout__title{font-size:20px;font-weight:600;color:var(--ft-color-content-primary, #1a2233);margin:0}.ft-report-layout__subtitle{font-size:14px;color:var(--ft-color-content-secondary, #61708a);margin:0}.ft-report-layout__period{font-size:13px;color:var(--ft-color-content-secondary, #61708a);white-space:nowrap;padding-top:4px}.ft-report-layout__body{flex:1}.ft-report-layout__footer{border-top:1px solid var(--ft-color-neutral-200, #e2e8f0);padding-top:16px;font-size:13px;color:var(--ft-color-content-secondary, #61708a)}.ft-report-layout--loading .ft-report-layout__skeleton{border-radius:6px;background:var(--ft-color-neutral-100, #f1f5f9);animation:ft-pulse 1.5s ease-in-out infinite}.ft-report-layout__skeleton--title{height:24px;width:40%;margin-bottom:8px}.ft-report-layout__skeleton--subtitle{height:16px;width:25%}.ft-report-layout__skeleton--body{height:200px;margin-top:24px}@media print{.ft-report-layout__header{border-bottom-color:#000}}.ft-export-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ft-export-actions__btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--ft-color-neutral-300, #cbd5e1);border-radius:6px;background:var(--ft-color-neutral-0, #ffffff);color:var(--ft-color-content-primary, #1a2233);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.ft-export-actions__btn:hover:not(:disabled){background:var(--ft-color-neutral-50, #f8fafc);border-color:var(--ft-color-neutral-400, #94a3b8)}.ft-export-actions__btn:disabled{opacity:.4;cursor:not-allowed}.ft-export-actions--compact .ft-export-actions__btn{padding:6px 8px}@media print{.ft-export-actions{display:none}}.ft-print-view__title{font-size:16px;font-weight:600;color:var(--ft-color-content-primary, #1a2233);margin:0 0 16px}.ft-print-view--screen-hidden{display:none}@media print{.ft-print-view--screen-hidden{display:block}.ft-print-view__title{color:#000}}.ft-risk-card{display:flex;flex-direction:column;gap:10px;padding:16px;border:1px solid var(--ft-color-neutral-200, #e2e8f0);border-radius:8px;background:var(--ft-color-neutral-0, #ffffff)}.ft-risk-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.ft-risk-card__label{font-size:14px;font-weight:600;color:var(--ft-color-content-primary, #1a2233)}.ft-risk-card__badges{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ft-risk-card__severity,.ft-risk-card__status{font-size:11px;font-weight:600;padding:2px 8px;border-radius:12px}.ft-risk-card__severity--critical{color:#fff;background:var(--ft-color-error-600, #b91c1c)}.ft-risk-card__severity--high{color:#fff;background:var(--ft-color-warning-600, #d97706)}.ft-risk-card__severity--medium{color:#1a2233;background:var(--ft-color-warning-100, #fef3c7)}.ft-risk-card__severity--low{color:#1a2233;background:var(--ft-color-neutral-100, #f1f5f9)}.ft-risk-card__severity--info{color:var(--ft-color-brand-700, #1e40af);background:var(--ft-color-brand-50, #eff6ff)}.ft-risk-card__status--open{color:var(--ft-color-error-700, #b91c1c);background:var(--ft-color-error-50, #fef2f2)}.ft-risk-card__status--mitigated{color:var(--ft-color-success-700, #15803d);background:var(--ft-color-success-50, #f0fdf4)}.ft-risk-card__status--accepted{color:var(--ft-color-warning-700, #b45309);background:var(--ft-color-warning-50, #fffbeb)}.ft-risk-card__status--closed{color:var(--ft-color-content-secondary, #61708a);background:var(--ft-color-neutral-100, #f1f5f9)}.ft-risk-card__description{font-size:13px;color:var(--ft-color-content-secondary, #61708a);margin:0;line-height:1.5}.ft-risk-card__meta{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;font-size:12px;margin:0}.ft-risk-card__meta dt{color:var(--ft-color-content-secondary, #61708a)}.ft-risk-card__meta dd{color:var(--ft-color-content-primary, #1a2233);margin:0}.ft-risk-card--loading .ft-risk-card__skeleton{border-radius:6px;background:var(--ft-color-neutral-100, #f1f5f9);animation:ft-pulse 1.5s ease-in-out infinite}.ft-risk-card__skeleton--label{height:16px;width:60%;margin-bottom:8px}.ft-risk-card__skeleton--badges{height:20px;width:40%;margin-bottom:8px}.ft-risk-card__skeleton--desc{height:40px;width:100%}.ft-compliance-status{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border:1px solid var(--ft-color-neutral-200, #e2e8f0);border-radius:8px;background:var(--ft-color-neutral-0, #ffffff)}.ft-compliance-status__header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.ft-compliance-status__label{font-size:14px;font-weight:500;color:var(--ft-color-content-primary, #1a2233)}.ft-compliance-status__badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:12px}.ft-compliance-status__badge--compliant{color:var(--ft-color-success-700, #15803d);background:var(--ft-color-success-50, #f0fdf4)}.ft-compliance-status__badge--non-compliant{color:#fff;background:var(--ft-color-error-600, #b91c1c)}.ft-compliance-status__badge--partial{color:var(--ft-color-warning-700, #b45309);background:var(--ft-color-warning-50, #fffbeb)}.ft-compliance-status__badge--not-applicable{color:var(--ft-color-content-secondary, #61708a);background:var(--ft-color-neutral-100, #f1f5f9)}.ft-compliance-status__badge--pending{color:var(--ft-color-brand-700, #1e40af);background:var(--ft-color-brand-50, #eff6ff)}.ft-compliance-status__score-wrap{display:flex;align-items:center;gap:8px}.ft-compliance-status__score-bar{flex:1;height:6px;border-radius:3px;background:var(--ft-color-success-400, #4ade80);max-width:100%}.ft-compliance-status__score-label{font-size:12px;font-weight:600;color:var(--ft-color-content-primary, #1a2233);white-space:nowrap}.ft-compliance-status__detail{font-size:12px;color:var(--ft-color-content-secondary, #61708a);margin:0;line-height:1.5}.ft-compliance-status--loading .ft-compliance-status__skeleton{border-radius:6px;background:var(--ft-color-neutral-100, #f1f5f9);animation:ft-pulse 1.5s ease-in-out infinite}.ft-compliance-status__skeleton--label{height:16px;width:50%;margin-bottom:8px}.ft-compliance-status__skeleton--badge{height:20px;width:25%}.ft-evidence-status{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border:1px solid var(--ft-color-neutral-200, #e2e8f0);border-radius:8px;background:var(--ft-color-neutral-0, #ffffff)}.ft-evidence-status__header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.ft-evidence-status__label{font-size:14px;font-weight:500;color:var(--ft-color-content-primary, #1a2233)}.ft-evidence-status__badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:12px}.ft-evidence-status__badge--collected{color:var(--ft-color-success-700, #15803d);background:var(--ft-color-success-50, #f0fdf4)}.ft-evidence-status__badge--pending{color:var(--ft-color-brand-700, #1e40af);background:var(--ft-color-brand-50, #eff6ff)}.ft-evidence-status__badge--missing{color:#fff;background:var(--ft-color-error-600, #b91c1c)}.ft-evidence-status__badge--rejected{color:var(--ft-color-error-700, #b91c1c);background:var(--ft-color-error-50, #fef2f2)}.ft-evidence-status__badge--expired{color:var(--ft-color-warning-700, #b45309);background:var(--ft-color-warning-50, #fffbeb)}.ft-evidence-status__meta{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;font-size:12px;margin:0}.ft-evidence-status__meta dt{color:var(--ft-color-content-secondary, #61708a)}.ft-evidence-status__meta dd{color:var(--ft-color-content-primary, #1a2233);margin:0}.ft-evidence-status--loading .ft-evidence-status__skeleton{border-radius:6px;background:var(--ft-color-neutral-100, #f1f5f9);animation:ft-pulse 1.5s ease-in-out infinite}.ft-evidence-status__skeleton--label{height:16px;width:50%;margin-bottom:8px}.ft-evidence-status__skeleton--badge{height:20px;width:25%}.ft-control-status{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border:1px solid var(--ft-color-neutral-200, #e2e8f0);border-radius:8px;background:var(--ft-color-neutral-0, #ffffff)}.ft-control-status__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.ft-control-status__label{font-size:14px;font-weight:500;color:var(--ft-color-content-primary, #1a2233)}.ft-control-status__badges{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ft-control-status__badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:12px}.ft-control-status__badge--effective{color:var(--ft-color-success-700, #15803d);background:var(--ft-color-success-50, #f0fdf4)}.ft-control-status__badge--ineffective{color:#fff;background:var(--ft-color-error-600, #b91c1c)}.ft-control-status__badge--partial{color:var(--ft-color-warning-700, #b45309);background:var(--ft-color-warning-50, #fffbeb)}.ft-control-status__badge--not-tested{color:var(--ft-color-content-secondary, #61708a);background:var(--ft-color-neutral-100, #f1f5f9)}.ft-control-status__framework{font-size:11px;font-weight:500;padding:2px 8px;border-radius:12px;color:var(--ft-color-brand-700, #1e40af);background:var(--ft-color-brand-50, #eff6ff);border:1px solid var(--ft-color-brand-200, #bfdbfe)}.ft-control-status__meta{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;font-size:12px;margin:0}.ft-control-status__meta dt{color:var(--ft-color-content-secondary, #61708a)}.ft-control-status__meta dd{color:var(--ft-color-content-primary, #1a2233);margin:0}.ft-control-status--loading .ft-control-status__skeleton{border-radius:6px;background:var(--ft-color-neutral-100, #f1f5f9);animation:ft-pulse 1.5s ease-in-out infinite}.ft-control-status__skeleton--label{height:16px;width:50%;margin-bottom:8px}.ft-control-status__skeleton--badge{height:20px;width:30%}:root{--brand-grad: linear-gradient(135deg, var(--brand-cyan), var(--brand-violet));--brand-grad-texto: linear-gradient(135deg, #0074ba, #a344c1);--brand-navy: #071221;--canvas: #f7faff;--surface: #ffffff;--ink: #10203a;--muted: #5c6a83;--borda: #dfe6f0;--acento-solido: #0a6fb0;--acento-texto: #0a6fb0;--cor-sucesso: #2e7d46;--cor-sucesso-ink: #1f6b38;--cor-sucesso-bg: #e9f5ed;--cor-crit: #b3261e;--cor-crit-bg: #fdecea;--cor-warn: #b98118;--cor-alerta-ink: #8a5e00;--cor-alerta-bg: #fdf4e0;--cor-protecao: #0b4f4d;--cor-protecao-bg: #e6f6f5;--cor-privado: #3f4a56;--cor-privado-bg: #eef1f5;--raio: 10px;--sombra: 0 1px 2px rgba(7, 18, 33, .06), 0 2px 8px rgba(7, 18, 33, .06);--foco-anel: 2px solid var(--brand-cyan);--alvo-min: 44px;--fonte: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--cor-ink: var(--ink);--cor-muted: var(--muted);--cor-bg: var(--surface);--cor-surface: var(--canvas);--cor-borda: var(--borda);--cor-accent: var(--acento-solido)}@media(prefers-color-scheme:dark){:root{--canvas: #071221;--surface: #0e1b33;--ink: #eaf1fb;--muted: #9fb0c6;--borda: #26324a;--acento-solido: #2779b1;--acento-texto: #00abff;--cor-sucesso: #6cc38a;--cor-sucesso-ink: #6cc38a;--cor-sucesso-bg: #122e1d;--cor-crit: #f0857d;--cor-crit-bg: #33110f;--cor-alerta-ink: #e6c26a;--cor-alerta-bg: #33270d;--cor-protecao: #bfeeeb;--cor-protecao-bg: #10312f;--cor-privado: #c3ced9;--cor-privado-bg: #1b2431}}*{box-sizing:border-box}body{margin:0;font-family:var(--fonte);color:var(--ink);background:var(--canvas);line-height:1.5}h1,h2,h3,h4{margin:0;text-wrap:balance}:focus-visible{outline:var(--foco-anel);outline-offset:2px}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}.login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--brand-navy);padding:1.5rem}.login__card{max-width:360px;width:100%;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.9rem}.login__brand{font-weight:800;font-size:1.7rem;letter-spacing:-.02em;color:#fff;margin:0}.login__tagline{color:#9fb0c6;font-size:.95rem;margin:0 0 .4rem}.login__nota{color:#6f829e;font-size:.78rem;margin:.4rem 0 0}.login__erro{background:var(--cor-alerta-bg);color:var(--cor-alerta-ink);border:1px solid var(--cor-alerta-ink);border-radius:var(--raio);font-size:.85rem;margin:0;padding:.55rem .85rem}.shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}.shell__nav{background:var(--brand-navy);color:#cdd7e6;padding:1.5rem .75rem 1rem;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto;box-sizing:border-box;border-right:1px solid rgba(255,255,255,.07)}.shell__brand{font-weight:800;letter-spacing:-.01em;color:#fff;padding:0 .75rem 1rem;margin:0 0 .75rem;font-size:1.2rem;border-bottom:1px solid rgba(255,255,255,.08)}.shell__navlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.2rem}.shell__navbtn{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:var(--alvo-min);padding:0 .75rem;text-align:left;gap:.5rem;border:none;border-radius:var(--raio);cursor:pointer;font-weight:500;font-size:.95rem;color:#cdd7e6;background:transparent;transition:background .12s ease,color .12s ease}.shell__navlabel{display:flex;align-items:center;gap:.55rem;min-width:0}.shell__navbtn svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.shell__navbtn:hover{background:#ffffff0f;color:#fff}.shell__navbtn[aria-current=page]{background:var(--brand-grad-texto);color:#fff;font-weight:700;box-shadow:0 2px 10px #00abff40}.shell__badge{font-size:.66rem;color:#9fb0c6;border:1px solid #33435e;border-radius:999px;padding:.05rem .45rem;white-space:nowrap;font-weight:500}.shell__navbtn[aria-current=page] .shell__badge{color:#eaf5ff;border-color:#ffffff80}.shell__ver{color:#64728a;font-size:.72rem;padding:.75rem .75rem 0;margin:1rem 0 0;margin-top:auto}.shell__main{background:var(--canvas);min-width:0}.shell__spacer{flex:1}.shell__usercard{display:flex;flex-direction:column;gap:.55rem;margin:.2rem .1rem;padding:.75rem .6rem;border-top:1px solid rgba(255,255,255,.08)}.shell__userrow{display:flex;align-items:center;gap:.55rem;min-width:0}.shell__avatar{width:32px;height:32px;border-radius:50%;background:var(--brand-grad-texto);color:#fff;display:grid;place-items:center;font-weight:800;font-size:.76rem;flex:0 0 auto}.shell__who{flex:1;line-height:1.2;min-width:0}.shell__who b{font-size:.85rem;color:#fff;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell__who small{color:#6f829e;font-size:.71rem}.shell__sair{display:inline-flex;align-items:center;gap:.4rem;width:100%;justify-content:center;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);color:#cfe0f5;cursor:pointer;font-family:var(--fonte);font-weight:700;font-size:.78rem;border-radius:9px;padding:.55rem;min-height:var(--alvo-min);text-decoration:none;box-sizing:border-box}.shell__sair:hover{color:#fff;background:#ffffff1c}.shell__sair svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.shell__mobiletop,.shell__bottomnav{display:none}@media(max-width:768px){.shell{grid-template-columns:1fr}.shell__nav{display:none}.shell__mobiletop{display:flex;align-items:center;justify-content:space-between;gap:.6rem;position:sticky;top:0;z-index:20;background:var(--brand-navy);color:#fff;padding:.7rem 1rem;border-bottom:1px solid rgba(255,255,255,.08)}.shell__mobiletop .shell__brand{border:none;padding:0;margin:0;font-size:1.02rem}.shell__mobileacct{display:flex;align-items:center;gap:.5rem}.shell__mobileacct .shell__who small{display:none}.shell__mobileacct .shell__sair{width:auto;padding:.5rem;min-height:40px}.shell__mobileacct .shell__sair span{display:none}.shell__main{padding-bottom:calc(64px + 1.4rem)}.shell__bottomnav{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:fixed;left:0;right:0;bottom:0;z-index:30;height:64px;background:var(--brand-navy);border-top:1px solid rgba(255,255,255,.08);padding-bottom:env(safe-area-inset-bottom,0)}.shell__bn{appearance:none;border:0;background:none;cursor:pointer;color:#9fb0c6;font-family:var(--fonte);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.18rem;min-height:56px;font-size:.66rem;font-weight:600;padding:.3rem .1rem}.shell__bn svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.shell__bn[aria-current=page]{color:#fff}.shell__bn[aria-current=page] svg{stroke:var(--brand-cyan)}.shell__bn--montar{color:#fff}.shell__bn--montar .shell__ring{width:38px;height:38px;border-radius:12px;background:var(--brand-grad);display:grid;place-items:center;margin-top:-14px;box-shadow:0 4px 14px #00abff40}.shell__bn--montar .shell__ring svg{stroke:#fff;width:20px;height:20px}.shell__bn--montar span:last-child{margin-top:-2px}}.ft-base{--ft-alvo-de-toque: var(--alvo-min)}.cartoes-em-colunas{columns:22rem;column-gap:.9rem}.cartoes-em-colunas>*{break-inside:avoid;margin-bottom:.9rem}.cartoes-em-colunas>*:last-child{margin-bottom:0}.cartoes-em-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(22rem,1fr));gap:.9rem;align-items:start}.campos-em-grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.6rem;align-items:stretch}.grupos-alinhados{display:grid;grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));column-gap:1.1rem;row-gap:1.4rem;align-items:start}@supports (grid-template-rows: subgrid){.grupos-alinhados{grid-template-rows:auto auto 1fr}.grupos-alinhados>*{display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:0}}.alocacao-em-duas-faixas{display:grid;grid-template-columns:minmax(0,2fr) minmax(16rem,1fr);gap:.9rem;align-items:stretch}@media(max-width:62rem){.alocacao-em-duas-faixas{grid-template-columns:1fr}}
