@font-face{
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("fonts/inter/InterVariable.woff2") format("woff2");
}

:root{
  --erp-font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  --erp-font-mono: "Cascadia Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --erp-text: #102b3b;
  --erp-text-soft: #415767;
  --erp-text-muted: #5f7280;
  --erp-focus: rgba(13, 127, 99, .18);
  --erp-font-size-base: 14px;
  --erp-font-size-secondary: 12px;
  --erp-font-size-table: 13px;
  --erp-font-weight-normal: 400;
  --erp-font-weight-medium: 500;
  --erp-font-weight-semibold: 600;
  --erp-font-weight-bold: 700;
}

html{
  font-family: var(--erp-font-sans);
  font-size: var(--erp-font-size-base);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

body{
  margin: 0;
  color: var(--erp-text);
  font-family: var(--erp-font-sans);
  font-size: var(--erp-font-size-base);
  font-weight: var(--erp-font-weight-normal);
  line-height: 1.48;
  letter-spacing: 0;
}

body :where(button,input,select,textarea,table,dialog){
  font-family: var(--erp-font-sans);
}

body :where(p,li,td,dd,dt,input,select,textarea){
  font-size: var(--erp-font-size-base);
  font-weight: var(--erp-font-weight-normal);
  line-height: 1.45;
}

body :where(input,select,textarea){
  letter-spacing: 0;
}

body :where(label){
  font-size: var(--erp-font-size-base);
  font-weight: var(--erp-font-weight-medium);
  line-height: 1.35;
  letter-spacing: 0;
}

body :where(button,.button,[class*="btn"],input[type="submit"],input[type="button"]){
  font-size: var(--erp-font-size-base);
  font-weight: var(--erp-font-weight-medium);
  line-height: 1.2;
  letter-spacing: 0;
}

body :where(nav,aside,.sidebar,.snav,.snav-item,.snav-group-trigger,.nav-item,.menu,.menu-item,.admin-nav,.module-menu){
  font-size: var(--erp-font-size-base);
  font-weight: var(--erp-font-weight-medium);
}

body :where(table){
  font-size: var(--erp-font-size-table);
  font-variant-numeric: tabular-nums;
}

body :where(th){
  font-size: 12px;
  font-weight: var(--erp-font-weight-semibold);
  line-height: 1.35;
  letter-spacing: .02em;
}

body :where(td){
  font-size: var(--erp-font-size-table);
  line-height: 1.42;
}

body :where(h1,h2,h3,h4,h5,h6,strong,b){
  letter-spacing: 0;
}

body :where(h1){
  font-size: 24px;
  font-weight: var(--erp-font-weight-semibold);
  line-height: 1.16;
}

body :where(.page-title h1,.dashboard-title h1,.dashboard-hero h1,.hero h1,main > header h1){
  font-size: 24px;
  font-weight: var(--erp-font-weight-semibold);
  line-height: 1.12;
}

body :where(h2,.module-title,.section-title h2,.panel-title,.card-title){
  font-size: 20px;
  font-weight: var(--erp-font-weight-semibold);
  line-height: 1.2;
}

body :where(h3,.section-heading,.panel h3,.card h3){
  font-size: 16px;
  font-weight: var(--erp-font-weight-semibold);
  line-height: 1.25;
}

body :where(small,.secondary,.muted,[class*="muted"],[class*="subtitle"],td small,label small){
  font-size: var(--erp-font-size-secondary);
  line-height: 1.35;
  color: var(--erp-text-muted);
}

body :where(.eyebrow,[class*="eyebrow"],[class*="kicker"]){
  font-size: var(--erp-font-size-secondary);
  font-weight: var(--erp-font-weight-semibold);
  letter-spacing: .08em;
}

body :where(.state,.status,.badge,[class*="badge"],[class*="status"],[class*="pill"]){
  font-size: var(--erp-font-size-secondary);
  font-weight: var(--erp-font-weight-medium);
  line-height: 1.2;
}

body :where(.kpi strong,.kpis strong,[class*="kpi"] strong,.metric strong,[class*="metric"] strong,.stat strong,[class*="stat"] strong){
  font-size: clamp(26px, 2vw, 32px);
  font-weight: var(--erp-font-weight-bold);
  line-height: 1.05;
  font-variant-numeric: tabular-nums;
}

body :where(.amount,.money,.price,.total,.subtotal,.balance,.quantity,.qty,.number,.numeric,[class*="amount"],[class*="money"],[class*="precio"],[class*="valor"],[class*="total"],[class*="saldo"],[class*="importe"],[class*="cantidad"],td[align="right"]){
  font-variant-numeric: tabular-nums;
}

body :where(input[type="number"],input[data-currency],input[data-money]){
  font-variant-numeric: tabular-nums;
}

body,
body :where(input,select,textarea,button){
  font-variation-settings: "opsz" 14;
}

code,
kbd,
pre{
  font-family: var(--erp-font-mono);
}

:focus-visible{
  outline: 3px solid var(--erp-focus);
  outline-offset: 2px;
}
