/* AVA UI Design System v1.1 · Fase 1
   Fuente única de tokens globales. Los aliases heredados mantienen la
   compatibilidad mientras App Shell, componentes y módulos se migran por fases. */

@font-face {
  font-family: "Inter";
  src: url("/assets/fonts/InterVariable.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
}

:root {
  color-scheme: light;

  /* Identidad */
  --ava-primary: #15558A;
  --ava-primary-dark: #0B2F4F;
  --ava-primary-hover: #16486E;
  --ava-interactive: #1D6FA5;
  --ava-primary-soft: #E8F2F9;

  /* Neutros */
  --ava-background: #F5F7FA;
  --ava-surface: #FFFFFF;
  --ava-border: #DCE3EA;
  --ava-text-primary: #182230;
  --ava-text-secondary: #667085;
  --ava-text-disabled: #98A2B3;
  --ava-text-on-emphasis: #FFFFFF;

  /* Estados semánticos */
  --ava-success: #168A5B;
  --ava-success-dark: #0E6B45;
  --ava-success-action: var(--ava-success-dark);
  --ava-success-soft: #EAF7F0;
  --ava-warning: #D97706;
  --ava-warning-dark: #92400E;
  --ava-warning-soft: #FFF4E5;
  --ava-danger: #D92D20;
  --ava-danger-dark: #B42318;
  --ava-danger-soft: #FEECEB;
  --ava-info: #2E90FA;
  --ava-info-dark: #175CD3;
  --ava-info-soft: #EFF8FF;

  /* Documentos */
  --ava-document: #274C56;

  /* Tipografía */
  --ava-font-family: Inter, "Segoe UI Variable", "Segoe UI", Arial, sans-serif;
  --ava-font-xs: 12px;
  --ava-font-sm: 13px;
  --ava-font-md: 14px;
  --ava-font-lg: 16px;
  --ava-font-xl: 20px;
  --ava-font-2xl: 24px;
  --ava-font-3xl: 28px;
  --ava-font-kpi: 30px;
  --ava-font-regular: 400;
  --ava-font-medium: 500;
  --ava-font-semibold: 600;
  --ava-font-bold: 700;

  /* Espaciado */
  --ava-space-1: 4px;
  --ava-space-2: 8px;
  --ava-space-3: 12px;
  --ava-space-4: 16px;
  --ava-space-5: 20px;
  --ava-space-6: 24px;
  --ava-space-8: 32px;
  --ava-space-10: 40px;
  --ava-space-12: 48px;

  /* Radios */
  --ava-radius-input: 8px;
  --ava-radius-button: 8px;
  --ava-radius-card: 10px;
  --ava-radius-modal: 12px;
  --ava-radius-pill: 999px;

  /* Controles */
  --ava-control-height: 40px;
  --ava-control-height-compact: 36px;
  --ava-control-padding-x: 12px;
  --ava-control-padding-y: 8px;
  --ava-button-height: 40px;
  --ava-form-row-gap: 12px;
  --ava-label-control-gap: 6px;
  --ava-card-padding-y: 12px;
  --ava-card-padding-x: 16px;
  --ava-page-padding: 16px;
  --ava-table-row-height: 44px;
  --ava-table-row-height-compact: 40px;

  /* App Shell: reservados para la Fase 2 */
  --ava-sidebar-width: 248px;
  --ava-sidebar-collapsed-width: 72px;
  --ava-topbar-height: 64px;

  /* Focus */
  --ava-focus-color: #2E90FA;
  --ava-focus-width: 2px;
  --ava-focus-offset: 2px;

  /* Aliases de transición para consumidores existentes */
  --ava-bg: var(--ava-background);
  --ava-text: var(--ava-text-primary);
  --ava-muted: var(--ava-text-secondary);
  --ava-error: var(--ava-danger);
  --navy: var(--ava-primary);
  --navy-2: var(--ava-primary-dark);
  --blue: var(--ava-interactive);
  --blue-2: var(--ava-primary-hover);
  --green: var(--ava-success);
  --orange: var(--ava-warning);
  --red: var(--ava-danger);
  --teal: var(--ava-interactive);
  --bg: var(--ava-background);
  --surface: var(--ava-surface);
  --surface-2: #F8FAFC;
  --border: var(--ava-border);
  --text: var(--ava-text-primary);
  --muted: var(--ava-text-secondary);
  --shadow: 0 8px 24px rgba(11, 47, 79, .08);
}

html,
body,
button,
input,
select,
textarea {
  font-family: var(--ava-font-family);
}

html,
body {
  color: var(--ava-text-primary);
  background: var(--ava-background);
}

body {
  font-size: var(--ava-font-md);
  line-height: 20px;
}

:focus-visible {
  outline: var(--ava-focus-width) solid var(--ava-focus-color);
  outline-offset: var(--ava-focus-offset);
}

table,
.ava-tabular-numbers {
  font-variant-numeric: tabular-nums;
}
