/* OSG ERP — generated from tokens.json */
@font-face { font-family: "Lexend"; src: url("./fonts/Lexend-Variable.woff2") format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face { font-family: "Manrope"; src: url("./fonts/Manrope-Variable.woff2") format("woff2"); font-weight: 200 800; font-style: normal; font-display: swap; }
:root, [data-theme="light"] {
  --background: #f5f5f5;
  --surface: #ffffff;
  --surface-bright: #ffffff;
  --surface-light: #f0f0f0;
  --surface-variant: #2b2b2b;
  --on-surface-variant: #f5f5f5;
  --on-surface: #1f1f1f;
  --on-background: var(--on-surface);
  --ink-muted: #5e5e5e;
  --border: #e3e3e3;
  --border-strong: #8c8c8c;
  --focus-ring: var(--primary);
  --primary: #3d3d3d;
  --on-primary: #ffffff;
  --primary-darken-1: #262626;
  --primary-container: #ebebeb;
  --on-primary-container: #262626;
  --secondary: #6b6b6b;
  --on-secondary: #ffffff;
  --brand: #ec1e24;
  --brand-strong: #c8161c;
  --on-brand-strong: #ffffff;
  --brand-container: #fdecec;
  --on-brand-container: #a3121a;
  --nav: #ffffff;
  --on-nav: var(--on-surface);
  --on-nav-muted: var(--ink-muted);
  --nav-active: #f0f0f0;
  --success: #1d7a43;
  --on-success: #ffffff;
  --success-container: #dff3e6;
  --on-success-container: #145a31;
  --warning: #9a5800;
  --on-warning: #ffffff;
  --warning-container: #fdf0d8;
  --on-warning-container: #6e3f00;
  --error: #b42318;
  --on-error: #ffffff;
  --error-container: #fbe3e0;
  --on-error-container: #8a1a12;
  --info: #0b6b94;
  --on-info: #ffffff;
  --info-container: #dcf0f8;
  --on-info-container: #08506f;
  --neutral-container: #ededed;
  --on-neutral-container: #474747;
  --shadow-sm: 0 1px 2px rgba(16,24,40,0.06), 0 1px 3px rgba(16,24,40,0.10);
  --shadow-md: 0 4px 8px -2px rgba(16,24,40,0.12), 0 2px 4px -2px rgba(16,24,40,0.08);
  --shadow-lg: 0 20px 24px -4px rgba(16,24,40,0.12), 0 8px 8px -4px rgba(16,24,40,0.05);
}
[data-theme="dark"] {
  --background: #121212;
  --surface: #1c1c1c;
  --surface-bright: #262626;
  --surface-light: #262626;
  --surface-variant: #e0e0e0;
  --on-surface-variant: #1c1c1c;
  --on-surface: #ececec;
  --on-background: var(--on-surface);
  --ink-muted: #a6a6a6;
  --border: #333333;
  --border-strong: #7a7a7a;
  --focus-ring: var(--primary);
  --primary: #e6e6e6;
  --on-primary: #1c1c1c;
  --primary-darken-1: #cfcfcf;
  --primary-container: #333333;
  --on-primary-container: #ececec;
  --secondary: #b0b0b0;
  --on-secondary: #121212;
  --brand: #ec1e24;
  --brand-strong: #ff6b6b;
  --on-brand-strong: #2a0405;
  --brand-container: #3a1a1b;
  --on-brand-container: #ffc9c9;
  --nav: #171717;
  --on-nav: var(--on-surface);
  --on-nav-muted: var(--ink-muted);
  --nav-active: #262626;
  --success: #5fcf8f;
  --on-success: #062312;
  --success-container: #173d28;
  --on-success-container: #c3ecd3;
  --warning: #f2b457;
  --on-warning: #2a1800;
  --warning-container: #3f2c0d;
  --on-warning-container: #fbdfae;
  --error: #f4897f;
  --on-error: #2d0805;
  --error-container: #4a1a16;
  --on-error-container: #fbd0cb;
  --info: #6cc3ea;
  --on-info: #04202e;
  --info-container: #123a4c;
  --on-info-container: #c6e8f6;
  --neutral-container: #2e2e2e;
  --on-neutral-container: #c9c9c9;
  --shadow-sm: 0 1px 2px rgba(0,0,0,0.40), 0 1px 3px rgba(0,0,0,0.30);
  --shadow-md: 0 4px 10px -2px rgba(0,0,0,0.55), 0 2px 4px -2px rgba(0,0,0,0.40);
  --shadow-lg: 0 20px 28px -4px rgba(0,0,0,0.65), 0 8px 8px -4px rgba(0,0,0,0.40);
}
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --radius-sm: 2px;
  --radius-md: 4px;
  --radius-lg: 8px;
  --radius-pill: 9999px;
  --control-height: 40px;
  --button-height: 36px;
  --table-header-height: 40px;
  --table-row-height: 36px;
  --app-bar-height: 56px;
  --nav-width: 248px;
  --content-max-width: 1440px;
  --medium-emphasis-opacity: 0.74;
  --field-border-opacity: 0.55;
  --disabled-opacity: 0.38;
  --font-heading: Lexend, "Segoe UI", system-ui, -apple-system, sans-serif;
  --font-body: Manrope, "Segoe UI", system-ui, -apple-system, sans-serif;
}
.text-display-small { font-family: var(--font-heading); font-size: 28px; line-height: 36px; font-weight: 600; letter-spacing: -0.01em; }
.text-headline-small { font-family: var(--font-heading); font-size: 22px; line-height: 30px; font-weight: 600; letter-spacing: -0.005em; }
.text-title-large { font-family: var(--font-heading); font-size: 18px; line-height: 26px; font-weight: 600; }
.text-title-medium { font-family: var(--font-heading); font-size: 16px; line-height: 24px; font-weight: 500; }
.text-title-small { font-family: var(--font-heading); font-size: 14px; line-height: 20px; font-weight: 500; }
.text-label-large { font-family: var(--font-heading); font-size: 14px; line-height: 20px; font-weight: 500; }
.text-label-small { font-family: var(--font-heading); font-size: 11px; line-height: 16px; font-weight: 500; letter-spacing: 0.08em; }
.text-body-large { font-family: var(--font-body); font-size: 15px; line-height: 22px; font-weight: 500; }
.text-body-medium { font-family: var(--font-body); font-size: 14px; line-height: 20px; font-weight: 500; }
.text-body-small { font-family: var(--font-body); font-size: 13px; line-height: 18px; font-weight: 500; }
.text-label-medium { font-family: var(--font-body); font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: 0.01em; }
.text-code { font-family: var(--font-body); font-size: 13px; line-height: 18px; font-weight: 600; letter-spacing: 0.02em; }
