/* ============================
   CSS Variables - Design System
   ============================ */

:root {
  /* Colors - Main */
  --color-primary: #1F3C88;
  --color-accent: #4DA3FF;
  --color-background: #F5F7FA;

  /* Colors - Status */
  --status-present: #2ECC71;
  --status-absent: #E74C3C;
  --status-late: #F1C40F;

  /* Colors - Neutral */
  --color-white: #FFFFFF;
  --color-black: #1A1A1A;
  --color-gray-100: #F8F9FA;
  --color-gray-200: #E9ECEF;
  --color-gray-300: #DEE2E6;
  --color-gray-400: #CED4DA;
  --color-gray-500: #ADB5BD;
  --color-gray-600: #6C757D;
  --color-gray-700: #495057;
  --color-gray-800: #343A40;
  --color-gray-900: #212529;

  /* Colors - Semantic */
  --color-success: #2ECC71;
  --color-warning: #F1C40F;
  --color-error: #E74C3C;
  --color-info: #4DA3FF;

  /* Typography */
  --font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;

  /* Font Sizes - Компактнее для большего пространства */
  --font-size-xs: 10px;
  --font-size-sm: 11px;
  --font-size-base: 13px;
  --font-size-md: 14px;
  /* New size added */
  --font-size-lg: 16px;
  --font-size-xl: 18px;
  --font-size-2xl: 22px;
  --font-size-3xl: 26px;

  /* Font Weights */
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;

  --line-height-tight: 1.2;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.75;

  /* Spacing - уменьшены отступы */
  --spacing-xs: 4px;
  --spacing-sm: 8px;
  --spacing-md: 12px;
  --spacing-lg: 16px;
  --spacing-xl: 20px;
  --spacing-2xl: 28px;
  --spacing-3xl: 64px;
  /* Kept original as not specified in edit */

  /* Border Radius */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  /* Kept original as not specified in edit */
  --radius-full: 9999px;

  /* Shadows */
  --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);

  /* Transitions */
  --transition-slow: 350ms ease-in-out;

  /* Layout */
  --header-height: 64px;
  --sidebar-width: 260px;
  --sidebar-collapsed-width: 64px;
  --max-content-width: 1440px;

  /* Z-index */
  --z-dropdown: 1000;
  --z-modal: 2000;
  --z-toast: 3000;
  --z-tooltip: 4000;

  /* Density Modifiers (Compact Default) */
  --btn-height: 36px;
  --btn-padding-y: 6px;
  --btn-padding-x: 12px;
  --input-height: 36px;
  --input-padding-y: 6px;
  --input-padding-x: 12px;
  --table-cell-padding-y: 6px;
  --table-cell-padding-x: 10px;
  --table-row-height: 38px;
  --card-padding: 16px;
  --layout-gap: 12px;
}

body.standard-mode {
  /* Standard Mode Overrides */
  --btn-height: 44px;
  --btn-padding-y: 10px;
  --btn-padding-x: 16px;
  --input-height: 44px;
  --input-padding-y: 10px;
  --input-padding-x: 16px;
  --table-cell-padding-y: 16px;
  --table-cell-padding-x: 20px;
  --table-row-height: 56px;
  --card-padding: 24px;
  --layout-gap: 20px;
}