/* Generated by design/oltin-ui-standard/build.mjs from the Oltin UI Standard. Do not edit. */

:root {
  --link: var(--brand);
  --link-hover: var(--brand-strong);
  --risk-low: var(--success);
  --risk-medium: var(--warning);
  --risk-high: var(--attention);
  --risk-critical: var(--danger);
  --font-sans: "Plus Jakarta Sans", "Noto Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-display: "Plus Jakarta Sans", system-ui, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --font-native: -apple-system, BlinkMacSystemFont, "SF Pro Text", Roboto, "Noto Sans", system-ui, sans-serif;
  --font-indic: "Noto Sans Devanagari", "Noto Sans Bengali", "Noto Sans Tamil", "Noto Sans Telugu", "Noto Sans Kannada", "Noto Sans Malayalam", sans-serif;
  --font-urdu: "Noto Nastaliq Urdu", "Noto Naskh Arabic", serif;
  --space-0: 0px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --radius-none: 0px;
  --radius-xs: 4px;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-full: 9999px;
  --size-target-ios: 44px;
  --size-target-android: 48px;
  --size-target-kiosk: 56px;
  --size-control-sm: 32px;
  --size-control-md: 40px;
  --size-input: 44px;
  --size-control-lg: 52px;
  --size-icon-sm: 16px;
  --size-icon-md: 20px;
  --size-icon-lg: 24px;
  --size-sidebar: 240px;
  --size-header: 56px;
  --size-statusbar: 24px;
  --size-row: 44px;
  --size-row-dense: 36px;
  --size-content-max: 1440px;
  --z-sticky: 100;
  --z-popover: 1000;
  --z-overlay: 1100;
  --z-toast: 1200;
}

:root, [data-theme="light"] {
  --surface: #F7F6FB;
  --surface-raised: #FFFFFF;
  --surface-sunken: #EFEDF6;
  --surface-inverse: #1C1A2E;
  --scrim: rgba(23, 20, 45, 0.45);
  --line: #E4E1EE;
  --line-strong: #8A85A3;
  --ink: #1C1A2E;
  --ink-muted: #575370;
  --ink-disabled: #A3A0B8;
  --on-inverse: #FFFFFF;
  --brand-on-inverse: #B49EFF;
  --brand: #7448D8;
  --brand-strong: #5B34B8;
  --brand-soft: #EEE9FE;
  --on-brand: #FFFFFF;
  --focus-ring: #7448D8;
  --success: #15803D;
  --success-strong: #166534;
  --success-soft: #ECF8F0;
  --warning: #B45309;
  --warning-strong: #92400E;
  --warning-soft: #FDF1DF;
  --danger: #B91C1C;
  --danger-strong: #991B1B;
  --danger-soft: #FCEBEB;
  --info: #1D4ED8;
  --info-strong: #1E40AF;
  --info-soft: #E7EEFD;
  --attention: #C2410C;
  --attention-soft: #FEEDE3;
  --neutral: #475569;
  --neutral-soft: #ECEFF4;
  --on-status: #FFFFFF;
  --chart-1: #7448D8;
  --chart-2: #0F766E;
  --chart-3: #B45309;
  --chart-4: #1D4ED8;
  --chart-5: #BE185D;
  --chart-6: #475569;
  --qr-bg: #FFFFFF;
  --qr-ink: #000000;
  --present: #15803D;
  --present-soft: #ECF8F0;
  --late: #B45309;
  --late-soft: #FDF1DF;
  --absent: #B91C1C;
  --absent-soft: #FCEBEB;
  --leave: #1D4ED8;
  --leave-soft: #E7EEFD;
  --holiday: #0F766E;
  --holiday-soft: #E1F4F1;
  --weekoff: #475569;
  --weekoff-soft: #ECEFF4;
  --review: #C2410C;
  --review-soft: #FEEDE3;
  --diff-add: #ECF8F0;
  --diff-add-ink: #166534;
  --diff-del: #FCEBEB;
  --diff-del-ink: #991B1B;
  --shadow-sm: 0 1px 2px rgba(28, 26, 46, 0.06), 0 1px 1px rgba(28, 26, 46, 0.04);
  --shadow-md: 0 6px 16px rgba(28, 26, 46, 0.10);
  --shadow-lg: 0 16px 40px rgba(28, 26, 46, 0.16);
  color-scheme: light;
}

[data-theme="dark"] {
  --surface: #0F0F1C;
  --surface-raised: #18182A;
  --surface-sunken: #0A0A14;
  --surface-inverse: #F1F0FA;
  --scrim: rgba(0, 0, 0, 0.62);
  --line: #2C2C44;
  --line-strong: #6F6F94;
  --ink: #F1F0FA;
  --ink-muted: #B3B1CC;
  --ink-disabled: #5C5B78;
  --on-inverse: #18182A;
  --brand-on-inverse: #5B34B8;
  --brand: #B49EFF;
  --brand-strong: #CDBEFF;
  --brand-soft: #29214F;
  --on-brand: #160F2E;
  --focus-ring: #CDBEFF;
  --success: #4ADE80;
  --success-strong: #86EFAC;
  --success-soft: #0D2616;
  --warning: #FBBF24;
  --warning-strong: #FCD34D;
  --warning-soft: #2A1D09;
  --danger: #F87171;
  --danger-strong: #FCA5A5;
  --danger-soft: #2D1213;
  --info: #93C5FD;
  --info-strong: #BFDBFE;
  --info-soft: #101C38;
  --attention: #FDBA74;
  --attention-soft: #2D160A;
  --neutral: #CBD5E1;
  --neutral-soft: #1B2130;
  --on-status: #10101C;
  --chart-1: #B49EFF;
  --chart-2: #5EEAD4;
  --chart-3: #FBBF24;
  --chart-4: #93C5FD;
  --chart-5: #F9A8D4;
  --chart-6: #CBD5E1;
  --qr-bg: #FFFFFF;
  --qr-ink: #000000;
  --present: #4ADE80;
  --present-soft: #0D2616;
  --late: #FBBF24;
  --late-soft: #2A1D09;
  --absent: #F87171;
  --absent-soft: #2D1213;
  --leave: #93C5FD;
  --leave-soft: #101C38;
  --holiday: #5EEAD4;
  --holiday-soft: #0B2422;
  --weekoff: #CBD5E1;
  --weekoff-soft: #1B2130;
  --review: #FDBA74;
  --review-soft: #2D160A;
  --diff-add: #0D2616;
  --diff-add-ink: #86EFAC;
  --diff-del: #2D1213;
  --diff-del-ink: #FCA5A5;
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.5);
  --shadow-md: 0 6px 16px rgba(0, 0, 0, 0.55);
  --shadow-lg: 0 16px 40px rgba(0, 0, 0, 0.65);
  color-scheme: dark;
}

@media (prefers-color-scheme: dark) {
  [data-theme="auto"] {
    --surface: #0F0F1C;
    --surface-raised: #18182A;
    --surface-sunken: #0A0A14;
    --surface-inverse: #F1F0FA;
    --scrim: rgba(0, 0, 0, 0.62);
    --line: #2C2C44;
    --line-strong: #6F6F94;
    --ink: #F1F0FA;
    --ink-muted: #B3B1CC;
    --ink-disabled: #5C5B78;
    --on-inverse: #18182A;
    --brand-on-inverse: #5B34B8;
    --brand: #B49EFF;
    --brand-strong: #CDBEFF;
    --brand-soft: #29214F;
    --on-brand: #160F2E;
    --focus-ring: #CDBEFF;
    --success: #4ADE80;
    --success-strong: #86EFAC;
    --success-soft: #0D2616;
    --warning: #FBBF24;
    --warning-strong: #FCD34D;
    --warning-soft: #2A1D09;
    --danger: #F87171;
    --danger-strong: #FCA5A5;
    --danger-soft: #2D1213;
    --info: #93C5FD;
    --info-strong: #BFDBFE;
    --info-soft: #101C38;
    --attention: #FDBA74;
    --attention-soft: #2D160A;
    --neutral: #CBD5E1;
    --neutral-soft: #1B2130;
    --on-status: #10101C;
    --chart-1: #B49EFF;
    --chart-2: #5EEAD4;
    --chart-3: #FBBF24;
    --chart-4: #93C5FD;
    --chart-5: #F9A8D4;
    --chart-6: #CBD5E1;
    --qr-bg: #FFFFFF;
    --qr-ink: #000000;
    --present: #4ADE80;
    --present-soft: #0D2616;
    --late: #FBBF24;
    --late-soft: #2A1D09;
    --absent: #F87171;
    --absent-soft: #2D1213;
    --leave: #93C5FD;
    --leave-soft: #101C38;
    --holiday: #5EEAD4;
    --holiday-soft: #0B2422;
    --weekoff: #CBD5E1;
    --weekoff-soft: #1B2130;
    --review: #FDBA74;
    --review-soft: #2D160A;
    --diff-add: #0D2616;
    --diff-add-ink: #86EFAC;
    --diff-del: #2D1213;
    --diff-del-ink: #FCA5A5;
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.5);
    --shadow-md: 0 6px 16px rgba(0, 0, 0, 0.55);
    --shadow-lg: 0 16px 40px rgba(0, 0, 0, 0.65);
    color-scheme: dark;
  }
}

.type-display-xl { font: 800 48px/56px var(--font-display); letter-spacing: -0.02em; }
.type-display { font: 800 32px/40px var(--font-display); letter-spacing: -0.02em; }
.type-title-lg { font: 700 24px/32px var(--font-sans); letter-spacing: -0.01em; }
.type-title-md { font: 700 18px/26px var(--font-sans); letter-spacing: 0; }
.type-title-sm { font: 600 15px/22px var(--font-sans); letter-spacing: 0; }
.type-body-lg { font: 400 16px/24px var(--font-sans); letter-spacing: 0; }
.type-body { font: 400 14px/21px var(--font-sans); letter-spacing: 0; }
.type-body-strong { font: 600 14px/21px var(--font-sans); letter-spacing: 0; }
.type-body-sm { font: 400 13px/19px var(--font-sans); letter-spacing: 0; }
.type-label { font: 600 13px/18px var(--font-sans); letter-spacing: 0; }
.type-caption { font: 500 12px/16px var(--font-sans); letter-spacing: 0; }
.type-overline { font: 700 11px/16px var(--font-sans); letter-spacing: 0.06em; }
.type-numeric-xl { font: 700 32px/36px var(--font-display); letter-spacing: 0; font-variant-numeric: tabular-nums; }
.type-numeric { font: 500 14px/20px var(--font-sans); letter-spacing: 0; font-variant-numeric: tabular-nums; }
.type-code { font: 400 13px/20px var(--font-mono); letter-spacing: 0; }
.type-code-sm { font: 400 12px/18px var(--font-mono); letter-spacing: 0; }
