/* Farm Plus · Module Sản xuất · design tokens */
:root {
  /* brand */
  --fp-green-700: #1B6B35; --fp-green-800: #134F27; --fp-green-50: #EDF5EE;
  --fp-lime-500: #7CBF3F; --fp-lime-100: #EAF5DC; /* lime: chỉ dùng nền/điểm nhấn, không làm màu chữ */
  /* neutral */
  --fp-ink: #1C2420; --fp-ink-2: #4A554E; --fp-ink-3: #66716A;
  --fp-border: #D8DED9; --fp-border-strong: #B9C2BC; --fp-divider: #EEF1ED;
  --fp-canvas: #F4F6F3; --fp-surface: #FFFFFF; --fp-surface-alt: #FAFBF9; --fp-table-head: #EEF1ED;
  /* status */
  --fp-success: #1E7A3E; --fp-success-strong: #1E5C33; --fp-success-bg: #E5F3E8; --fp-success-border: #A9D3B4;
  --fp-warning: #8A5A00; --fp-warning-strong: #6B4A00; --fp-warning-bg: #FFF4D3; --fp-warning-border: #E9B949; --fp-warning-input: #D9A21B;
  --fp-error: #B42318; --fp-error-strong: #8F1C13; --fp-error-bg: #FDECEA; --fp-error-row: #FFF8F7; --fp-error-border: #E8857C;
  --fp-info: #1F5FA8; --fp-info-strong: #1F4E86; --fp-info-bg: #E8F0FB; --fp-info-border: #B4CBEA;
  /* type */
  --fp-font: 'Be Vietnam Pro', system-ui, sans-serif;
  --fp-font-mono: 'JetBrains Mono', ui-monospace, monospace;
  --fp-text-body: 14px/20px var(--fp-font);
  --fp-text-body-l: 16px/24px var(--fp-font);
  --fp-text-title-s: 600 18px/26px var(--fp-font);
  --fp-text-title-m: 600 20px/28px var(--fp-font);
  --fp-text-page: 600 22px/30px var(--fp-font);
  --fp-text-kpi: 600 30px/38px var(--fp-font);
  /* space */
  --fp-s1: 4px; --fp-s2: 8px; --fp-s3: 12px; --fp-s4: 16px; --fp-s5: 20px; --fp-s6: 24px; --fp-s8: 32px; --fp-s12: 48px;
  /* radius */
  --fp-r-xs: 4px; --fp-r-sm: 6px; --fp-r-md: 8px; --fp-r-lg: 10px; --fp-r-xl: 12px; --fp-r-sheet: 20px; --fp-r-pill: 999px;
  /* sizes */
  --fp-control: 36px; --fp-control-l: 40px; --fp-control-tablet: 44px; --fp-control-phone: 52px;
  --fp-row-compact: 34px; --fp-row: 40px; --fp-row-touch: 48px;
  --fp-sidebar: 240px; --fp-sidebar-collapsed: 64px; --fp-header: 56px; --fp-header-tablet: 64px; --fp-side-panel: 380px;
  /* elevation */
  --fp-shadow-popover: 0 8px 24px rgba(28,36,32,.16);
  --fp-shadow-modal: 0 16px 48px rgba(28,36,32,.28);
}
body { font: var(--fp-text-body); color: var(--fp-ink); background: var(--fp-canvas); font-variant-numeric: tabular-nums; }
:focus-visible { outline: 2px solid var(--fp-green-700); outline-offset: -1px; }
@media print { body { background: #fff; color: #000; } }
