/* FluxoBar v2: scoped tokens from the approved reference. */
body[data-ui-version="v2"] {
  color-scheme: light;
  --fb2-color-canvas: #F4F7F7;
  --fb2-color-surface: #FFFFFF;
  --fb2-color-surface-subtle: #F8FAFB;
  --fb2-color-surface-hover: #EAF0F2;
  --fb2-color-surface-selected: #E0EAED;
  --fb2-color-text: #1D3037;
  --fb2-color-text-muted: #52676F;
  --fb2-color-border: #D4DFE3;
  --fb2-color-border-control: #73858D;
  --fb2-color-focus: #086176;
  --fb2-color-primary: #086176;
  --fb2-color-primary-hover: #074F60;
  --fb2-color-primary-active: #043E4D;
  --fb2-color-on-primary: #FFFFFF;
  --fb2-color-disabled: #52676F;
  --fb2-color-disabled-bg: #E8EEF0;
  --fb2-color-success: #216445;
  --fb2-color-success-bg: #EAF5EE;
  --fb2-color-warning: #8A4C13;
  --fb2-color-warning-bg: #FFF2DF;
  --fb2-color-danger: #A33239;
  --fb2-color-danger-bg: #FFEDEF;
  --fb2-color-danger-hover: #842830;
  --fb2-color-danger-active: #692028;
  --fb2-color-on-danger: #FFFFFF;
  --fb2-color-info: #11627F;
  --fb2-color-info-bg: #EAF3FA;
  --fb2-color-neutral: #52676F;
  --fb2-color-neutral-bg: #E8EEF0;
  --fb2-color-scrim: rgb(10 24 30 / 48%);
  --fb2-color-print-paper: #FFFFFF;
  --fb2-color-print-ink: #000000;

  /* Estado de domínio e estado de sincronização são eixos independentes. */
  --fb2-table-free-fg: var(--fb2-color-success);
  --fb2-table-free-bg: var(--fb2-color-success-bg);
  --fb2-table-occupied-fg: var(--fb2-color-neutral);
  --fb2-table-occupied-bg: var(--fb2-color-neutral-bg);
  --fb2-table-reserved-fg: var(--fb2-color-warning);
  --fb2-table-reserved-bg: var(--fb2-color-warning-bg);
  --fb2-table-joined-fg: var(--fb2-color-neutral);
  --fb2-table-joined-bg: var(--fb2-color-neutral-bg);
  --fb2-table-closing-fg: var(--fb2-color-info);
  --fb2-table-closing-bg: var(--fb2-color-info-bg);
  --fb2-sync-pending-fg: var(--fb2-color-warning);
  --fb2-sync-pending-bg: var(--fb2-color-warning-bg);
  --fb2-sync-error-fg: var(--fb2-color-danger);
  --fb2-sync-error-bg: var(--fb2-color-danger-bg);

  --fb2-font-family: 'Manrope', 'Segoe UI', system-ui, sans-serif;
  --fb2-font-mono: 'Cascadia Mono', Consolas, monospace;
  --fb2-font-weight-regular: 400;
  --fb2-font-weight-emphasis: 600;
  /* Escala modular 1,25 sobre 16 px, assumindo 1 rem = 16 px. */
  --fb2-font-caption: 0.8rem;
  --fb2-font-body: 1rem;
  --fb2-font-section: 1.25rem;
  --fb2-font-title: 1.5625rem;
  --fb2-font-display: 1.953125rem;
  --fb2-line-caption: 1.25rem;
  --fb2-line-body: 1.5rem;
  --fb2-line-section: 1.75rem;
  --fb2-line-title: 2rem;
  --fb2-line-display: 2.5rem;
  --fb2-font-numeric: tabular-nums lining-nums;

  --fb2-space-none: 0px;
  --fb2-space-micro: 4px;
  --fb2-space-inline: 8px;
  --fb2-space-control: 12px;
  --fb2-space-group: 16px;
  --fb2-space-content: 24px;
  --fb2-space-section: 32px;
  --fb2-space-page: 48px;
  --fb2-space-major: 64px;
  --fb2-page-gutter: 16px;
  --fb2-grid-gap: 12px;
  --fb2-content-max: 1440px;
  --fb2-control-min: 44px;
  --fb2-control-height: 48px;
  --fb2-touch-primary: 52px;
  --fb2-key-height: 56px;
  --fb2-row-comfortable: 44px;
  --fb2-row-compact: 32px;
  --fb2-sidebar-expanded: 240px;
  --fb2-sidebar-collapsed: 72px;
  --fb2-topbar-height: 64px;
  --fb2-mobile-header: 56px;
  --fb2-mobile-tabbar: 64px;
  --fb2-radius-control: 8px;
  --fb2-radius-surface: 12px;
  --fb2-radius-overlay: 16px;
  --fb2-border-width: 1px;
  --fb2-border-selected: 2px;
  --fb2-focus-width: 2px;
  --fb2-focus-offset: 4px;
  --fb2-shadow-surface: none;
  --fb2-shadow-overlay: 0 8px 24px rgb(10 24 30 / 14%);
  --fb2-z-base: 0;
  --fb2-z-sticky: 10;
  --fb2-z-nav: 20;
  --fb2-z-popover: 30;
  --fb2-z-scrim: 40;
  --fb2-z-dialog: 50;
  --fb2-z-toast: 60;
  --fb2-motion-duration-feedback: 80ms;
  --fb2-motion-duration-transition: 160ms;
  --fb2-motion-duration-confirm: 240ms;
  --fb2-motion-duration-manage: 320ms;
  --fb2-motion-duration-update: 160ms;
  --fb2-motion-duration-reduced: 0ms;
  --fb2-motion-ease-standard: cubic-bezier(0.2, 0, 0, 1);
  /* Aliases mantêm o contrato anterior compatível com os novos nomes. */
  --fb2-motion-feedback: var(--fb2-motion-duration-feedback);
  --fb2-motion-state: var(--fb2-motion-duration-transition);
  --fb2-motion-enter: var(--fb2-motion-duration-transition);
  --fb2-motion-exit: var(--fb2-motion-duration-transition);
  --fb2-motion-ease: var(--fb2-motion-ease-standard);
}

html[data-theme="dark"] body[data-ui-version="v2"] {
  color-scheme: dark;
  --fb2-color-canvas: #111B20;
  --fb2-color-surface: #19262C;
  --fb2-color-surface-subtle: #202F36;
  --fb2-color-surface-hover: #2A3D46;
  --fb2-color-surface-selected: #314852;
  --fb2-color-text: #EFF5F7;
  --fb2-color-text-muted: #AFC1C8;
  --fb2-color-border: #425961;
  --fb2-color-border-control: #8BA1AA;
  --fb2-color-focus: #83DCE0;
  --fb2-color-primary: #83DCE0;
  --fb2-color-primary-hover: #9BE7E9;
  --fb2-color-primary-active: #63C5CB;
  --fb2-color-on-primary: #10353F;
  --fb2-color-disabled: #AFC1C8;
  --fb2-color-disabled-bg: #263840;
  --fb2-color-success: #A0DFBC;
  --fb2-color-success-bg: #193B2F;
  --fb2-color-warning: #FFD49A;
  --fb2-color-warning-bg: #453322;
  --fb2-color-danger: #FFADB5;
  --fb2-color-danger-bg: #4A2932;
  --fb2-color-danger-hover: #FFC1C7;
  --fb2-color-danger-active: #EF929D;
  --fb2-color-on-danger: #471C25;
  --fb2-color-info: #A6D8FF;
  --fb2-color-info-bg: #243E55;
  --fb2-color-neutral: #AFC1C8;
  --fb2-color-neutral-bg: #263840;
  --fb2-color-scrim: rgb(0 0 0 / 56%);
  --fb2-shadow-overlay: 0 8px 24px rgb(0 0 0 / 24%);
}

/* Breakpoints têm literais: CSS custom properties não parametrizam @media. */
@media (min-width: 768px) {
  body[data-ui-version="v2"] { --fb2-page-gutter: 24px; --fb2-grid-gap: 16px; }
}
@media (min-width: 1280px) {
  body[data-ui-version="v2"] { --fb2-page-gutter: 32px; --fb2-grid-gap: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  body[data-ui-version="v2"] {
    --fb2-motion-duration-feedback: 0ms;
    --fb2-motion-duration-transition: 0ms;
    --fb2-motion-duration-confirm: 0ms;
    --fb2-motion-duration-manage: 0ms;
    --fb2-motion-duration-update: 0ms;
    --fb2-motion-feedback: 0ms;
    --fb2-motion-state: 0ms;
    --fb2-motion-enter: 0ms;
    --fb2-motion-exit: 0ms;
  }
}
body[data-ui-version="v2"][data-reduced-motion='true'] {
  --fb2-motion-duration-feedback: 0ms;
  --fb2-motion-duration-transition: 0ms;
  --fb2-motion-duration-confirm: 0ms;
  --fb2-motion-duration-manage: 0ms;
  --fb2-motion-duration-update: 0ms;
  --fb2-motion-feedback: 0ms;
  --fb2-motion-state: 0ms;
  --fb2-motion-enter: 0ms;
  --fb2-motion-exit: 0ms;
}
