/**
 * FacTuSesión brand tokens — single source of truth.
 * Synchronized to consumers via: npm run brand:sync
 * DO NOT edit copies manually — edit this file and run brand:sync.
 */
:root {
  /* Surfaces */
  --bg-soft: #f6f8fb;
  --card-bg: #ffffff;
  /* Brand (extracted from logo SVG) */
  --text-main: #18162B;
  --text-muted: #5b6478;
  --dark: #18162B;
  --accent: #0065A9;
  --accent-hover: #004f87;
  --accent-2: #28AE97;
  --accent-2-soft: #50E6CD;
  --accent-soft: color-mix(in srgb, var(--accent) 8%, #fff);
  --accent-soft-border: color-mix(in srgb, var(--accent) 20%, #fff);
  --border-soft: #ECEEF3;
  /* Semantic state tokens */
  --success: #1E9E6A;
  --success-bg: #E7F5EE;
  --success-border: #BEE3D2;
  --success-text: #157A50;
  --danger: #A6383E;
  --danger-bg: #F7EDEE;
  --danger-border: #EBD3D4;
  --danger-text: #8F2F35;
  --warning: #E0A02A;
  --warning-bg: #FBF1DE;
  --warning-border: #EFD9A6;
  --warning-text: #8F6710;
  /* Tokens */
  --radius-lg: 28px;
  --radius-md: 16px;
  --radius-sm: 10px;
  --transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);
  --shadow-soft: 0 1px 2px rgba(24,22,43,0.04), 0 8px 24px rgba(24,22,43,0.05);
  --shadow-lift: 0 14px 40px rgba(24,22,43,0.10);
}
