/* KoshiFlo — Spacing, layout & shape tokens. Base unit 4px.
   Rhythm over density: important information stays composed, not cramped. */

:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-20: 80px;
  --space-24: 96px;

  /* Layout */
  --layout-sidebar-width: 248px;
  --layout-sidebar-collapsed: 72px;
  --layout-content-max: 1120px;
  --layout-gutter-desktop: 32px;
  --layout-gutter-tablet: 24px;
  --layout-gutter-mobile: 16px;

  /* Component padding */
  --card-padding: 20px;
  --card-padding-compact: 16px;
  --table-row-height: 52px;
  --table-row-height-compact: 40px;
  --form-field-gap: 20px;
  --form-group-gap: 32px;

  /* Breakpoints (reference values, use in media queries) */
  --bp-mobile: 480px;
  --bp-tablet: 768px;
  --bp-laptop: 1024px;
  --bp-desktop: 1280px;

  /* ---- Shape — radius scale: disciplined, not "bubble SaaS" ---- */
  --radius-xs: 2px;   /* checkboxes, inline chips */
  --radius-sm: 4px;   /* badges, buttons (secondary/ghost), small inputs */
  --radius-md: 6px;   /* buttons (primary), inputs, table cells */
  --radius-lg: 8px;   /* cards */
  --radius-xl: 12px;  /* modals, drawers */
  --radius-full: 999px; /* avatars only */

  /* ---- Elevation — shadows are quiet and rare; used for overlays, not for routine cards ---- */
  --shadow-none: none;
  --shadow-card: 0 1px 2px rgba(20, 23, 27, 0.04), 0 1px 1px rgba(20, 23, 27, 0.03);
  --shadow-raised: 0 2px 8px rgba(20, 23, 27, 0.08), 0 1px 2px rgba(20, 23, 27, 0.04);
  --shadow-overlay: 0 12px 32px rgba(20, 23, 27, 0.18), 0 2px 8px rgba(20, 23, 27, 0.08);
  --shadow-focus-ring: 0 0 0 3px var(--brand-200);
}
