@keyframes react-loading-skeleton{to{transform:translate(100%)}}.react-loading-skeleton{--base-color: #ebebeb;--highlight-color: #f5f5f5;--animation-duration: 1.5s;--animation-direction: normal;--pseudo-element-display: block;background-color:var(--base-color);width:100%;border-radius:.25rem;display:inline-flex;line-height:1;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow:hidden}.react-loading-skeleton:after{content:" ";display:var(--pseudo-element-display);position:absolute;top:0;left:0;right:0;height:100%;background-repeat:no-repeat;background-image:var( --custom-highlight-background, linear-gradient( 90deg, var(--base-color) 0%, var(--highlight-color) 50%, var(--base-color) 100% ) );transform:translate(-100%);animation-name:react-loading-skeleton;animation-direction:var(--animation-direction);animation-duration:var(--animation-duration);animation-timing-function:ease-in-out;animation-iteration-count:infinite}@media (prefers-reduced-motion){.react-loading-skeleton{--pseudo-element-display: none}}:root{--ff-bg-canvas: #FFF7F7;--ff-bg-surface: #FFFFFF;--ff-bg-soft: #FFECEC;--ff-bg-inverse: #1B1B1B;--ff-bg-brand: #FF3535;--ff-bg-muted: #EBEBED;--ff-text-primary: #1B1B1B;--ff-text-secondary: #696969;--ff-text-on-brand: #FFECEC;--ff-text-on-inverse: #FFECEC;--ff-text-link: #881414;--ff-text-error: #881414;--ff-text-disabled: #8B8B8B;--ff-border-subtle: #D5D5D5;--ff-border-input: #7E7E7E;--ff-border-card: #FFE0E0;--ff-border-focus: #FF3535;--ff-border-urgent: #FF3535;--ff-action-primary-bg: #FF3535;--ff-action-primary-bg-pressed: #881414;--ff-action-primary-fg: #FFECEC;--ff-action-secondary-bg: #FFFFFF;--ff-action-secondary-border: #D5D5D5;--ff-action-secondary-fg: #1B1B1B;--ff-action-tertiary-fg: #881414;--ff-action-disabled-bg: #EBEBED;--ff-action-disabled-fg: #8B8B8B;--ff-tone-neutral-fg: #4C4C4C;--ff-tone-neutral-bg: #EBEBED;--ff-tone-brand-fg: #881414;--ff-tone-brand-bg: #FFECEC;--ff-tone-inverse-fg: #FFECEC;--ff-tone-inverse-bg: #1B1B1B;--ff-tone-success-fg: #0B6B44;--ff-tone-success-bg: #EAFBF3;--ff-tone-warning-fg: #78350F;--ff-tone-warning-bg: #FEF3C7;--ff-tone-info-fg: #155EC9;--ff-tone-info-bg: #EAF2FF;--ff-tone-error-fg: #881414;--ff-tone-error-bg: #FFECEC;--ff-shadow-card: 0 4px 16px rgba(27, 27, 27, .1);--ff-shadow-brand: 0 10px 24px rgba(255, 53, 53, .28);--ff-shadow-brand-hover: 0 12.5px 30px rgba(255, 53, 53, .35);--ff-radius-input: 12px;--ff-radius-card: 18px;--ff-radius-feature: 24px;--ff-radius-block: 32px;--ff-radius-pill: 9999px;--ff-space-1: 4px;--ff-space-2: 8px;--ff-space-3: 12px;--ff-space-4: 16px;--ff-space-5: 20px;--ff-space-6: 24px;--ff-space-8: 32px;--ff-space-10: 40px;--ff-space-12: 48px;--ff-icon-size-sm: 16px;--ff-icon-size-md: 20px;--ff-icon-size-lg: 24px;--ff-motion-fast: .12s;--ff-motion-base: .2s;--ff-motion-slow: .38s;--ff-motion-easing: cubic-bezier(.22, 1, .36, 1);--ff-motion-pressed-scale: .97;--ff-type-title-size: 28px;--ff-type-title-weight: 800;--ff-type-title-line-height: 1.15;--ff-type-title-tracking: -.03em;--ff-type-heading-size: 22px;--ff-type-heading-weight: 800;--ff-type-heading-line-height: 1.25;--ff-type-heading-tracking: -.03em;--ff-type-subtitle-size: 18px;--ff-type-subtitle-weight: 600;--ff-type-subtitle-line-height: 1.3;--ff-type-subtitle-tracking: 0em;--ff-type-body-size: 16px;--ff-type-body-weight: 400;--ff-type-body-line-height: 1.45;--ff-type-body-tracking: 0em;--ff-type-body-strong-size: 16px;--ff-type-body-strong-weight: 700;--ff-type-body-strong-line-height: 1.45;--ff-type-body-strong-tracking: 0em;--ff-type-caption-size: 13px;--ff-type-caption-weight: 400;--ff-type-caption-line-height: 1.4;--ff-type-caption-tracking: 0em;--ff-type-label-size: 11.5px;--ff-type-label-weight: 700;--ff-type-label-line-height: 1.25;--ff-type-label-tracking: .12em;--ff-type-eyebrow-size: 12px;--ff-type-eyebrow-weight: 700;--ff-type-eyebrow-line-height: 1.35;--ff-type-eyebrow-tracking: .14em;--ff-type-metric-size: 24px;--ff-type-metric-weight: 900;--ff-type-metric-line-height: 1.15;--ff-type-metric-tracking: -.02em;--ff-type-price-size: 16px;--ff-type-price-weight: 800;--ff-type-price-line-height: 1.25;--ff-type-price-tracking: -.01em;--ff-type-button-sm-size: 13px;--ff-type-button-sm-weight: 700;--ff-type-button-sm-line-height: 1.25;--ff-type-button-sm-tracking: .06em;--ff-type-button-md-size: 15px;--ff-type-button-md-weight: 700;--ff-type-button-md-line-height: 1.25;--ff-type-button-md-tracking: .06em;--ff-type-button-lg-size: 19px;--ff-type-button-lg-weight: 700;--ff-type-button-lg-line-height: 1.3;--ff-type-button-lg-tracking: .06em}[data-ff-theme=dark],[data-ff-theme=merchant-dark]{color-scheme:dark;--ff-bg-canvas: #141212;--ff-bg-surface: #201D1D;--ff-bg-soft: #382727;--ff-bg-inverse: #F4ECEC;--ff-bg-brand: #FF3535;--ff-bg-muted: #2B2424;--ff-text-primary: #F4ECEC;--ff-text-secondary: #A79E9E;--ff-text-on-brand: #FFFFFF;--ff-text-on-inverse: #201D1D;--ff-text-link: #FF3535;--ff-text-error: #FFB4B4;--ff-text-disabled: #6C6262;--ff-border-subtle: #3A3131;--ff-border-input: #8B8181;--ff-border-card: #332B2B;--ff-border-focus: #FF3535;--ff-border-urgent: #FF3535;--ff-action-primary-bg: #FF3535;--ff-action-primary-bg-pressed: #881414;--ff-action-primary-fg: #FFFFFF;--ff-action-secondary-bg: #201D1D;--ff-action-secondary-border: #3A3131;--ff-action-secondary-fg: #F4ECEC;--ff-action-tertiary-fg: #FF3535;--ff-action-disabled-bg: #332B2B;--ff-action-disabled-fg: #6C6262;--ff-tone-neutral-fg: #C6BEBE;--ff-tone-neutral-bg: #332B2B;--ff-tone-brand-fg: #FFB4B4;--ff-tone-brand-bg: #382727;--ff-tone-inverse-fg: #201D1D;--ff-tone-inverse-bg: #F4ECEC;--ff-tone-success-fg: #7FE0B4;--ff-tone-success-bg: #12301F;--ff-tone-warning-fg: #F1DCA6;--ff-tone-warning-bg: #3A2E14;--ff-tone-info-fg: #9CC3FF;--ff-tone-info-bg: #14243D;--ff-tone-error-fg: #FFB4B4;--ff-tone-error-bg: #4A1D1D;--ff-shadow-card: none;--ff-shadow-brand: none;--ff-shadow-brand-hover: none}.ff-button,.ff-field,.ff-card,.ff-badge{box-sizing:border-box;font-family:Inter Variable,Inter,sans-serif}.ff-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--ff-space-2);border:1.5px solid transparent;border-radius:var(--ff-radius-pill);font-weight:var(--ff-type-button-md-weight);letter-spacing:var(--ff-type-button-md-tracking);text-transform:uppercase;text-decoration:none;text-align:center;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:transform var(--ff-motion-fast) var(--ff-motion-easing),box-shadow var(--ff-motion-base) var(--ff-motion-easing),background-color var(--ff-motion-fast) var(--ff-motion-easing)}.ff-button--sm{position:relative;min-height:36px;padding:0 var(--ff-space-4);font-size:var(--ff-type-button-sm-size);line-height:var(--ff-type-button-sm-line-height)}.ff-button--sm:before{content:"";position:absolute;top:-4px;right:0;bottom:-4px;left:0}.ff-button--md{min-height:44px;padding:0 var(--ff-space-6);font-size:var(--ff-type-button-md-size);line-height:var(--ff-type-button-md-line-height)}.ff-button--lg{min-height:52px;padding:0 var(--ff-space-8);font-size:var(--ff-type-button-lg-size);line-height:var(--ff-type-button-lg-line-height)}.ff-button--block{display:flex;width:100%}.ff-button--primary,.ff-button--destructive{background:var(--ff-action-primary-bg);color:var(--ff-action-primary-fg)}.ff-button--primary{box-shadow:var(--ff-shadow-brand)}.ff-button--secondary{background:var(--ff-action-secondary-bg);border-color:var(--ff-action-secondary-border);color:var(--ff-action-secondary-fg)}.ff-button--tertiary{background:transparent;color:var(--ff-action-tertiary-fg);text-underline-offset:4px}@media (hover: hover){.ff-button--primary:hover:not(:disabled,[aria-busy=true]){box-shadow:var(--ff-shadow-brand-hover);transform:translateY(-1px)}.ff-button--secondary:hover:not(:disabled,[aria-busy=true]),.ff-button--destructive:hover:not(:disabled,[aria-busy=true]){box-shadow:var(--ff-shadow-card);transform:translateY(-1px)}.ff-button--tertiary:hover:not(:disabled,[aria-busy=true]){text-decoration:underline}}.ff-button:active:not(:disabled,[aria-busy=true]){transform:scale(var(--ff-motion-pressed-scale))}.ff-button--primary:active:not(:disabled,[aria-busy=true]),.ff-button--destructive:active:not(:disabled,[aria-busy=true]){background:var(--ff-action-primary-bg-pressed)}.ff-button:focus-visible{outline:2px solid var(--ff-border-focus);outline-offset:2px}.ff-button:disabled{background:var(--ff-action-disabled-bg);border-color:transparent;color:var(--ff-action-disabled-fg);box-shadow:none;cursor:not-allowed}.ff-button--tertiary:disabled{background:transparent}.ff-button[aria-busy=true]{cursor:progress}.ff-button__icon{display:inline-flex;flex-shrink:0}.ff-button__icon>svg{width:var(--ff-icon-size-md);height:var(--ff-icon-size-md)}.ff-button--sm .ff-button__icon>svg{width:var(--ff-icon-size-sm);height:var(--ff-icon-size-sm)}.ff-button--lg .ff-button__icon>svg{width:var(--ff-icon-size-lg);height:var(--ff-icon-size-lg)}.ff-button__spinner{flex-shrink:0;box-sizing:border-box;width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ff-spin .7s linear infinite}@keyframes ff-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.ff-button{transition:none;transform:none!important}}.ff-field{display:flex;flex-direction:column;gap:var(--ff-space-2);color:var(--ff-text-primary)}.ff-field__label{font-size:var(--ff-type-caption-size);font-weight:600;line-height:var(--ff-type-caption-line-height)}.ff-field__control{display:flex;align-items:center;gap:var(--ff-space-2);box-sizing:border-box;height:52px;padding:0 var(--ff-space-4);border:1.5px solid var(--ff-border-input);border-radius:var(--ff-radius-input);background:var(--ff-bg-surface)}.ff-field__control:focus-within{border-color:var(--ff-border-focus);outline:2px solid var(--ff-border-focus);outline-offset:-2px}.ff-field--error .ff-field__control{border-color:var(--ff-text-error);outline-color:var(--ff-text-error)}.ff-field--disabled .ff-field__control{background:var(--ff-action-disabled-bg);border-color:var(--ff-border-subtle)}.ff-field__input{flex:1;min-width:0;height:100%;padding:0;border:0;outline:none;background:transparent;color:inherit;font:inherit;font-size:var(--ff-type-body-size)}.ff-field__input::-moz-placeholder{color:var(--ff-text-secondary);opacity:1}.ff-field__input::placeholder{color:var(--ff-text-secondary);opacity:1}.ff-field__input:disabled{color:var(--ff-text-disabled);cursor:not-allowed}.ff-field__prefix{display:inline-flex;flex-shrink:0;color:var(--ff-text-secondary)}.ff-field__toggle{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;margin-right:calc(var(--ff-space-3) * -1);padding:0;border:0;border-radius:var(--ff-radius-pill);background:transparent;color:var(--ff-text-secondary);cursor:pointer}.ff-field__toggle:focus-visible{outline:2px solid var(--ff-border-focus);outline-offset:-4px}.ff-field__hint,.ff-field__error{margin:0;font-size:var(--ff-type-caption-size);line-height:var(--ff-type-caption-line-height)}.ff-field__hint{color:var(--ff-text-secondary)}.ff-field__error{display:flex;align-items:center;gap:6px;color:var(--ff-text-error)}.ff-field__error>svg{flex-shrink:0}.ff-card{border:1px solid var(--ff-border-card);border-radius:var(--ff-radius-card);background:var(--ff-bg-surface);color:var(--ff-text-primary)}.ff-card--padded{padding:var(--ff-space-4)}.ff-card--urgent{border:1.5px solid var(--ff-border-urgent)}.ff-card--elevated{box-shadow:var(--ff-shadow-card)}.ff-badge{display:inline-flex;align-items:center;gap:6px;padding:var(--ff-space-1) 10px;border-radius:var(--ff-radius-pill);font-size:var(--ff-type-label-size);font-weight:var(--ff-type-label-weight);line-height:var(--ff-type-label-line-height);letter-spacing:var(--ff-type-label-tracking);text-transform:uppercase;white-space:nowrap}.ff-badge__dot{width:6px;height:6px;border-radius:50%;background:currentColor}.ff-badge--neutral{color:var(--ff-tone-neutral-fg);background:var(--ff-tone-neutral-bg)}.ff-badge--brand{color:var(--ff-tone-brand-fg);background:var(--ff-tone-brand-bg)}.ff-badge--inverse{color:var(--ff-tone-inverse-fg);background:var(--ff-tone-inverse-bg)}.ff-badge--success{color:var(--ff-tone-success-fg);background:var(--ff-tone-success-bg)}.ff-badge--warning{color:var(--ff-tone-warning-fg);background:var(--ff-tone-warning-bg)}.ff-badge--info{color:var(--ff-tone-info-fg);background:var(--ff-tone-info-bg)}.ff-badge--error{color:var(--ff-tone-error-fg);background:var(--ff-tone-error-bg)}.ff-icon-button{position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;padding:0;border:0;border-radius:var(--ff-radius-pill);background:transparent;color:var(--ff-text-primary);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--ff-motion-fast) var(--ff-motion-easing)}.ff-icon-button--sm{width:36px;height:36px}.ff-icon-button--sm:before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px}.ff-icon-button--md{width:44px;height:44px}.ff-icon-button--default{background:var(--ff-bg-muted)}.ff-icon-button--tertiary{color:var(--ff-action-tertiary-fg)}.ff-icon-button__icon{display:inline-flex}.ff-icon-button__icon>svg{width:var(--ff-icon-size-md);height:var(--ff-icon-size-md)}@media (hover: hover){.ff-icon-button:hover:not(:disabled){background:var(--ff-bg-soft)}}.ff-icon-button:focus-visible{outline:2px solid var(--ff-border-focus);outline-offset:2px}.ff-icon-button:disabled{color:var(--ff-action-disabled-fg);cursor:not-allowed}.ff-field__control--multiline{align-items:stretch;height:auto;padding:var(--ff-space-3) var(--ff-space-4)}.ff-field__control--multiline>.ff-field__input{height:auto;resize:vertical;line-height:var(--ff-type-body-line-height)}.ff-field__footer{display:flex;justify-content:space-between;gap:var(--ff-space-2)}.ff-field__footer>.ff-field__error,.ff-field__footer>.ff-field__hint{flex:1}.ff-field__count{margin-left:auto;color:var(--ff-text-secondary);font-size:var(--ff-type-caption-size);line-height:var(--ff-type-caption-line-height);font-variant-numeric:tabular-nums}.ff-field__select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;padding-right:var(--ff-space-6)}.ff-field__select:disabled{cursor:not-allowed}.ff-field__chevron{position:absolute;right:var(--ff-space-4);flex-shrink:0;color:var(--ff-text-secondary);pointer-events:none}.ff-field__control:has(>.ff-field__select){position:relative}.ff-check{position:relative;display:inline-flex;align-items:center;gap:var(--ff-space-3);min-height:44px;box-sizing:border-box;color:var(--ff-text-primary);font-family:Inter Variable,Inter,sans-serif;font-size:var(--ff-type-body-size);cursor:pointer}.ff-check__input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:inherit}.ff-check__box{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;box-sizing:border-box;width:22px;height:22px;border:1.5px solid var(--ff-border-input);border-radius:6px;background:var(--ff-bg-surface);color:transparent}.ff-check__box>svg{width:16px;height:16px}.ff-check__input:checked+.ff-check__box,.ff-check__input:indeterminate+.ff-check__box{border-color:var(--ff-action-primary-bg);background:var(--ff-action-primary-bg);color:var(--ff-action-primary-fg)}.ff-check__input:focus-visible+.ff-check__box{outline:2px solid var(--ff-border-focus);outline-offset:2px}.ff-check--disabled{cursor:not-allowed;color:var(--ff-text-disabled)}.ff-check--disabled .ff-check__box{border-color:var(--ff-border-subtle);background:var(--ff-action-disabled-bg);color:var(--ff-action-disabled-fg)}.ff-switch{display:inline-flex;align-items:center;gap:var(--ff-space-3);min-height:44px;box-sizing:border-box;padding:0;border:0;background:transparent;color:var(--ff-text-primary);font:inherit;font-family:Inter Variable,Inter,sans-serif;font-size:var(--ff-type-body-size);text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.ff-switch__track{position:relative;flex-shrink:0;box-sizing:border-box;width:44px;height:24px;border:1.5px solid var(--ff-border-input);border-radius:var(--ff-radius-pill);background:var(--ff-bg-surface);transition:background-color var(--ff-motion-fast) var(--ff-motion-easing)}.ff-switch__thumb{position:absolute;top:2px;left:2px;width:17px;height:17px;border-radius:50%;background:var(--ff-border-input);transition:transform var(--ff-motion-fast) var(--ff-motion-easing)}.ff-switch[aria-checked=true] .ff-switch__track{border-color:var(--ff-action-primary-bg);background:var(--ff-action-primary-bg)}.ff-switch[aria-checked=true] .ff-switch__thumb{background:var(--ff-action-primary-fg);transform:translate(20px)}.ff-switch:focus-visible{outline:2px solid var(--ff-border-focus);outline-offset:2px}.ff-switch--disabled{cursor:not-allowed;color:var(--ff-text-disabled)}.ff-switch--disabled .ff-switch__track{border-color:var(--ff-border-subtle);background:var(--ff-action-disabled-bg)}.ff-switch--disabled .ff-switch__thumb{background:var(--ff-action-disabled-fg)}@media (prefers-reduced-motion: reduce){.ff-icon-button,.ff-switch__track,.ff-switch__thumb{transition:none}}.ff-dialog{box-sizing:border-box;max-height:none;padding:0;overflow:hidden;border:1px solid var(--ff-border-card);border-radius:var(--ff-radius-feature);background:var(--ff-bg-surface);color:var(--ff-text-primary);box-shadow:var(--ff-shadow-card);font-family:Inter Variable,Inter,sans-serif}.ff-dialog--sm{width:min(420px,calc(100% - 2 * var(--ff-space-4)))}.ff-dialog--md{width:min(560px,calc(100% - 2 * var(--ff-space-4)))}.ff-dialog--lg{width:min(720px,calc(100% - 2 * var(--ff-space-4)))}.ff-dialog::backdrop{background:#1b1b1b6b}[data-ff-theme=dark] .ff-dialog::backdrop,[data-ff-theme=merchant-dark] .ff-dialog::backdrop{background:#0000008c}body:has(.ff-dialog[open]){overflow:hidden}.ff-dialog__panel{display:flex;flex-direction:column;max-height:calc(100dvh - 2 * var(--ff-space-4))}.ff-dialog__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--ff-space-4);padding:var(--ff-space-6) var(--ff-space-6) var(--ff-space-3)}.ff-dialog__heading{flex:1;min-width:0}.ff-dialog__title{margin:0;font-size:var(--ff-type-heading-size);font-weight:var(--ff-type-heading-weight);line-height:var(--ff-type-heading-line-height);letter-spacing:var(--ff-type-heading-tracking);overflow-wrap:anywhere}.ff-dialog__title:focus{outline:none}.ff-dialog__description{margin:var(--ff-space-2) 0 0;color:var(--ff-text-secondary);font-size:var(--ff-type-body-size);line-height:var(--ff-type-body-line-height)}.ff-dialog__close{flex-shrink:0;width:36px;min-width:36px;padding:0;color:var(--ff-text-secondary)}.ff-dialog__close:before{top:-4px;right:-4px;bottom:-4px;left:-4px}.ff-dialog__close[aria-disabled=true]{opacity:.5;cursor:not-allowed}.ff-dialog__body{flex:1 1 auto;min-height:0;padding:0 var(--ff-space-6) var(--ff-space-2);overflow-y:auto}.ff-dialog__body:empty{display:none}.ff-dialog__footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--ff-space-3);padding:var(--ff-space-4) var(--ff-space-6) var(--ff-space-6)}.ff-dialog__error{margin:var(--ff-space-2) 0 0;color:var(--ff-text-error);font-size:var(--ff-type-caption-size);line-height:var(--ff-type-caption-line-height)}.ff-empty,.ff-banner,.ff-spinner{box-sizing:border-box;font-family:Inter,sans-serif}.ff-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.ff-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--ff-space-2);padding:var(--ff-space-12) var(--ff-space-6);color:var(--ff-text-primary);text-align:center}.ff-empty--compact{padding:var(--ff-space-8) var(--ff-space-5)}.ff-empty__icon{display:flex;align-items:center;justify-content:center;width:72px;height:72px;margin-bottom:var(--ff-space-2);border-radius:50%;background:var(--ff-tone-brand-bg);color:var(--ff-tone-brand-fg)}.ff-empty--compact .ff-empty__icon{width:56px;height:56px}.ff-empty__icon>svg{width:32px;height:32px}.ff-empty--compact .ff-empty__icon>svg{width:24px;height:24px}.ff-empty__title{margin:0;font-size:var(--ff-type-heading-size);font-weight:var(--ff-type-heading-weight);line-height:var(--ff-type-heading-line-height)}.ff-empty--compact .ff-empty__title{font-size:var(--ff-type-subtitle-size);font-weight:var(--ff-type-subtitle-weight);line-height:var(--ff-type-subtitle-line-height)}.ff-empty__description{max-width:320px;margin:0;color:var(--ff-text-secondary);font-size:var(--ff-type-body-size);line-height:var(--ff-type-body-line-height)}.ff-empty__action{margin-top:var(--ff-space-4)}.ff-error-state__actions{display:flex;flex-direction:column;align-items:center;gap:var(--ff-space-2);margin-top:var(--ff-space-4)}.ff-error-state--full{min-height:100%;background:var(--ff-bg-canvas)}.ff-spinner{display:inline-flex;flex-shrink:0;color:var(--ff-action-primary-bg)}.ff-spinner__ring{box-sizing:border-box;width:24px;height:24px;border:3px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ff-spin .7s linear infinite}.ff-spinner--sm .ff-spinner__ring{width:16px;height:16px;border-width:2px}.ff-spinner--lg .ff-spinner__ring{width:40px;height:40px;border-width:4px}@media (prefers-reduced-motion: reduce){.ff-spinner__ring{animation:none}}.ff-skeleton{display:block;max-width:100%;border-radius:var(--ff-radius-input);background-color:var(--ff-tone-neutral-bg);background-image:linear-gradient(90deg,transparent,var(--ff-bg-surface),transparent);background-repeat:no-repeat;background-size:50% 100%;background-position:-100% 0;animation:ff-skeleton-shine 1.4s ease-in-out infinite}@keyframes ff-skeleton-shine{to{background-position:200% 0}}@media (prefers-reduced-motion: reduce){.ff-skeleton{animation:none;background-image:none}}.ff-banner{display:flex;align-items:flex-start;gap:var(--ff-space-3);padding:var(--ff-space-3) var(--ff-space-4);border-radius:var(--ff-radius-input);font-size:var(--ff-type-caption-size);line-height:var(--ff-type-caption-line-height)}.ff-banner--info{color:var(--ff-tone-info-fg);background:var(--ff-tone-info-bg)}.ff-banner--success{color:var(--ff-tone-success-fg);background:var(--ff-tone-success-bg)}.ff-banner--warning{color:var(--ff-tone-warning-fg);background:var(--ff-tone-warning-bg)}.ff-banner--error{color:var(--ff-tone-error-fg);background:var(--ff-tone-error-bg)}.ff-banner--brand{color:var(--ff-tone-brand-fg);background:var(--ff-tone-brand-bg)}.ff-banner__icon{display:inline-flex;flex-shrink:0;width:var(--ff-icon-size-md);justify-content:center}.ff-banner__body{flex:1;min-width:0}.ff-banner__title,.ff-banner__text{margin:0}.ff-banner__title{margin-bottom:2px;font-weight:700}.ff-banner__action,.ff-banner__close{display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.ff-banner__action{min-height:44px;margin-bottom:calc(var(--ff-space-3) * -1);font-weight:700;text-decoration:underline}.ff-banner__close{flex-shrink:0;width:44px;height:44px;margin:calc(var(--ff-space-3) * -1) calc(var(--ff-space-4) * -1) calc(var(--ff-space-3) * -1) 0;border-radius:50%}.ff-banner__action:focus-visible,.ff-banner__close:focus-visible{outline:2px solid var(--ff-border-focus);outline-offset:-4px}.ff-page-header,.ff-tile,.ff-segmented,.ff-avatar,.ff-pagination{box-sizing:border-box;font-family:Inter,sans-serif}.ff-page-header{display:flex;flex-direction:column;gap:var(--ff-space-2);color:var(--ff-text-primary)}.ff-page-header__trail ol{display:flex;flex-wrap:wrap;gap:var(--ff-space-1) var(--ff-space-2);margin:0;padding:0;list-style:none;font-size:var(--ff-type-caption-size);line-height:var(--ff-type-caption-line-height);color:var(--ff-text-secondary)}.ff-page-header__trail li+li:before{content:"/";margin-right:var(--ff-space-2)}.ff-page-header__trail a{color:var(--ff-text-link);text-underline-offset:3px}.ff-page-header__trail a:focus-visible{outline:2px solid var(--ff-border-focus);outline-offset:2px;border-radius:2px}.ff-page-header__trail [aria-current=page]{color:var(--ff-text-primary);font-weight:600}.ff-page-header__row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--ff-space-3) var(--ff-space-4)}.ff-page-header__text{flex:1 1 16rem;min-width:0}.ff-page-header__eyebrow{margin:0 0 var(--ff-space-1);color:var(--ff-text-secondary);font-size:var(--ff-type-eyebrow-size);font-weight:var(--ff-type-eyebrow-weight);line-height:var(--ff-type-eyebrow-line-height);letter-spacing:var(--ff-type-eyebrow-tracking);text-transform:uppercase}.ff-page-header__title{margin:0;font-size:var(--ff-type-title-size);font-weight:var(--ff-type-title-weight);line-height:var(--ff-type-title-line-height);letter-spacing:var(--ff-type-title-tracking);overflow-wrap:anywhere}.ff-page-header__subtitle{margin:var(--ff-space-1) 0 0;color:var(--ff-text-secondary);font-size:var(--ff-type-body-size);line-height:var(--ff-type-body-line-height)}.ff-page-header__actions{display:flex;flex-wrap:wrap;gap:var(--ff-space-2)}.ff-tile{display:flex;flex-direction:column;align-items:flex-start;gap:var(--ff-space-1);padding:var(--ff-space-4);border:1px solid var(--ff-border-card);border-radius:var(--ff-radius-card);background:var(--ff-bg-surface);color:var(--ff-text-primary);font:inherit;text-align:left}.ff-tile--inverse{border-color:transparent;background:var(--ff-bg-inverse);color:var(--ff-text-on-inverse)}.ff-tile--action{cursor:pointer;-webkit-tap-highlight-color:transparent}.ff-tile--action:focus-visible{outline:2px solid var(--ff-border-focus);outline-offset:2px}.ff-tile--action:active{transform:scale(var(--ff-motion-pressed-scale))}.ff-tile__icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin-bottom:var(--ff-space-2);border-radius:var(--ff-radius-input);background:var(--ff-bg-soft)}.ff-tile--inverse .ff-tile__icon{background:#ffffff1f}.ff-tile__value{font-size:var(--ff-type-metric-size);font-weight:var(--ff-type-metric-weight);line-height:var(--ff-type-metric-line-height);letter-spacing:var(--ff-type-metric-tracking);overflow-wrap:anywhere}.ff-tile__label{color:var(--ff-text-secondary);font-size:var(--ff-type-label-size);font-weight:var(--ff-type-label-weight);line-height:var(--ff-type-label-line-height);letter-spacing:var(--ff-type-label-tracking);text-transform:uppercase}.ff-tile--inverse .ff-tile__label{color:inherit;opacity:.8}.ff-tile__delta{margin-top:var(--ff-space-1);font-size:var(--ff-type-caption-size);font-weight:600;line-height:var(--ff-type-caption-line-height)}.ff-tile__delta--up{color:var(--ff-tone-success-fg)}.ff-tile__delta--down{color:var(--ff-text-error)}.ff-tile__delta--neutral{color:var(--ff-text-secondary)}.ff-tile--inverse .ff-tile__delta{color:inherit}.ff-segmented{display:inline-flex;max-width:100%;overflow-x:auto;gap:var(--ff-space-1);padding:var(--ff-space-1);border-radius:var(--ff-radius-pill);background:var(--ff-bg-muted)}.ff-segmented__item{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;gap:var(--ff-space-2);box-sizing:border-box;min-height:44px;padding:0 var(--ff-space-4);border:0;border-radius:var(--ff-radius-pill);background:transparent;color:var(--ff-text-secondary);font:inherit;font-size:var(--ff-type-body-size);font-weight:600;white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent}.ff-segmented__item--selected{background:var(--ff-bg-surface);color:var(--ff-text-primary);box-shadow:var(--ff-shadow-card)}.ff-segmented__item:focus-visible{outline:2px solid var(--ff-border-focus);outline-offset:-2px}.ff-segmented__count{min-width:1.5em;padding:0 6px;border-radius:var(--ff-radius-pill);background:var(--ff-tone-neutral-bg);color:var(--ff-tone-neutral-fg);font-size:var(--ff-type-label-size);line-height:1.6;text-align:center}.ff-avatar{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;overflow:hidden;border-radius:50%;background:var(--ff-tone-brand-bg);color:var(--ff-tone-brand-fg);font-weight:800;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ff-avatar--44{width:44px;height:44px;font-size:16px}.ff-avatar--56{width:56px;height:56px;font-size:20px}.ff-avatar--72{width:72px;height:72px;font-size:26px}.ff-avatar>img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.ff-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--ff-space-3);color:var(--ff-text-secondary);font-size:var(--ff-type-caption-size);line-height:var(--ff-type-caption-line-height)}
