/* Nusva Design System 3.6 · design tokens as CSS custom properties.
   Light is the default; dark applies with data-theme="dark" or, when no theme is set, the OS dark preference.
   Generated from tokens.json by scripts/build-tokens.mjs. Do not edit by hand. */

:root, [data-theme="light"] {
  --navy: #0A3D62;
  --teal: #0D7883;
  --cyan: #1ECAD3;
  --on-teal: #FFFFFF;
  --brand-teal: #0FA3B1;
  --brand-gray: #F9FAFB;
  --brand-teal-text: #0D7883;
  --finansial-gold: #F2C94D;
  --finansial-gold-text: #87680A;
  --positive: #087380;
  --attention: #96590A;
  --critical: #B3261E;
  --syariah: var(--finansial-gold);
  --series-secondary: var(--navy);
  --slate: #82929A;
  --canvas: #F3F5F6;
  --surface: #FFFFFF;
  --chrome: #FFFFFF;
  --side: #F7F9F9;
  --surfaceMuted: #ECF0F1;
  --soft: #E4EAEC;
  --text: #1D1D1F;
  --muted: #6B6B70;
  --line: #DCE2E5;
  --focus: var(--teal);
  --tahap-ungu: #8B5CF6;
  --tahap-ungu-latar: #F1EBFE;
  --tahap-ungu-pil: #E5DBFD;
  --tahap-ungu-lembut: #F8F5FE;
  --tahap-ungu-tinta: #6D28D9;
  --tahap-amber: #F59E0B;
  --tahap-amber-latar: #FEF2DF;
  --tahap-amber-pil: #FCE6C0;
  --tahap-amber-lembut: #FEF8EE;
  --tahap-amber-tinta: #A44A04;
  --tahap-biru: #3B82F6;
  --tahap-biru-latar: #E9F1FE;
  --tahap-biru-pil: #D6E5FD;
  --tahap-biru-lembut: #F3F8FE;
  --tahap-biru-tinta: #1D4ED8;
  --tahap-hijau: #10B981;
  --tahap-hijau-latar: #E5F7F1;
  --tahap-hijau-pil: #CAF0E3;
  --tahap-hijau-lembut: #F1FBF7;
  --tahap-hijau-tinta: #036246;
  --tahap-coral: #FF6B5B;
  --tahap-coral-latar: #FFEFED;
  --tahap-coral-pil: #FFDEDB;
  --tahap-coral-lembut: #FFF6F5;
  --tahap-coral-tinta: #A8350A;
  --tahap-tosca: var(--teal);
  --tahap-tosca-latar: #E4F0F1;
  --tahap-tosca-pil: #CCE3E5;
  --tahap-tosca-lembut: #F0F7F8;
  --tahap-tosca-tinta: #0A6570;
  --tahap-abu: var(--muted);
  --tahap-merah: var(--critical);
  --shadow-workspace: none;
  --shadow-card: 0 1px 2px rgba(15,37,48,.06), 0 0 0 .5px rgba(15,37,48,.07);
  --shadow-raised: 0 1px 2px rgba(15,37,48,.10), 0 0 0 .5px rgba(15,37,48,.08);
  --ring-brand: 0 0 0 4px rgba(30,202,211,.28);
  --gradient-meter: linear-gradient(90deg, #0A3D62 0%, #0FA3B1 55%, #1ECAD3 100%);
  --gradient-action: linear-gradient(135deg, #0A3D62 0%, #0D7883 100%);
  --glow-home: linear-gradient(transparent, transparent);
  --glow-content: linear-gradient(transparent, transparent);
}

[data-theme="dark"] {
  --teal: #22B8C6;
  --on-teal: #0C1215;
  --finansial-gold-text: var(--finansial-gold);
  --positive: #1ECAD3;
  --attention: #D9992E;
  --critical: #E5857E;
  --syariah: var(--finansial-gold);
  --series-secondary: #5098CC;
  --slate: #6F838C;
  --canvas: #0C1215;
  --surface: #172126;
  --chrome: #111A1E;
  --side: var(--chrome);
  --surfaceMuted: #1F2B30;
  --soft: #26343A;
  --text: #F5F5F7;
  --muted: #A1A1A6;
  --line: #2A373C;
  --focus: var(--cyan);
  --tahap-ungu-latar: #25283F;
  --tahap-ungu-pil: #312E54;
  --tahap-ungu-lembut: #1E2532;
  --tahap-ungu-tinta: #C4B5FD;
  --tahap-amber-latar: #343122;
  --tahap-amber-pil: #51421F;
  --tahap-amber-lembut: #272A24;
  --tahap-amber-tinta: #FCD34D;
  --tahap-biru-latar: #1B2C3D;
  --tahap-biru-pil: #1F3552;
  --tahap-biru-lembut: #192732;
  --tahap-biru-tinta: #93C5FD;
  --tahap-hijau-latar: #163230;
  --tahap-hijau-pil: #15423A;
  --tahap-hijau-lembut: #172A2B;
  --tahap-hijau-tinta: #6EE7B7;
  --tahap-coral-latar: #31292C;
  --tahap-coral-pil: #4A3132;
  --tahap-coral-lembut: #252529;
  --tahap-coral-tinta: #FDBA9F;
  --tahap-tosca: var(--teal);
  --tahap-tosca-latar: #183238;
  --tahap-tosca-pil: #194148;
  --tahap-tosca-lembut: #182A30;
  --tahap-tosca-tinta: #5EEAD4;
  --tahap-abu: var(--muted);
  --tahap-merah: var(--critical);
  --shadow-workspace: 0 18px 42px rgba(0,0,0,.22);
  --shadow-card: 0 1px 2px rgba(0,0,0,.45), 0 0 0 .5px rgba(255,255,255,.05);
  --shadow-raised: 0 1px 2px rgba(0,0,0,.45), 0 0 0 .5px rgba(255,255,255,.06);
  --ring-brand: 0 0 0 4px rgba(30,202,211,.32);
  --gradient-meter: linear-gradient(90deg, #0FA3B1 0%, #1ECAD3 100%);
  --gradient-action: linear-gradient(135deg, #0FA3B1 0%, #22B8C6 100%);
  --glow-home: linear-gradient(transparent, transparent);
  --glow-content: linear-gradient(transparent, transparent);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
    --teal: #22B8C6;
    --on-teal: #0C1215;
    --finansial-gold-text: var(--finansial-gold);
    --positive: #1ECAD3;
    --attention: #D9992E;
    --critical: #E5857E;
    --syariah: var(--finansial-gold);
    --series-secondary: #5098CC;
    --slate: #6F838C;
    --canvas: #0C1215;
    --surface: #172126;
    --chrome: #111A1E;
    --side: var(--chrome);
    --surfaceMuted: #1F2B30;
    --soft: #26343A;
    --text: #F5F5F7;
    --muted: #A1A1A6;
    --line: #2A373C;
    --focus: var(--cyan);
    --tahap-ungu-latar: #25283F;
    --tahap-ungu-pil: #312E54;
    --tahap-ungu-lembut: #1E2532;
    --tahap-ungu-tinta: #C4B5FD;
    --tahap-amber-latar: #343122;
    --tahap-amber-pil: #51421F;
    --tahap-amber-lembut: #272A24;
    --tahap-amber-tinta: #FCD34D;
    --tahap-biru-latar: #1B2C3D;
    --tahap-biru-pil: #1F3552;
    --tahap-biru-lembut: #192732;
    --tahap-biru-tinta: #93C5FD;
    --tahap-hijau-latar: #163230;
    --tahap-hijau-pil: #15423A;
    --tahap-hijau-lembut: #172A2B;
    --tahap-hijau-tinta: #6EE7B7;
    --tahap-coral-latar: #31292C;
    --tahap-coral-pil: #4A3132;
    --tahap-coral-lembut: #252529;
    --tahap-coral-tinta: #FDBA9F;
    --tahap-tosca: var(--teal);
    --tahap-tosca-latar: #183238;
    --tahap-tosca-pil: #194148;
    --tahap-tosca-lembut: #182A30;
    --tahap-tosca-tinta: #5EEAD4;
    --tahap-abu: var(--muted);
    --tahap-merah: var(--critical);
    --shadow-workspace: 0 18px 42px rgba(0,0,0,.22);
    --shadow-card: 0 1px 2px rgba(0,0,0,.45), 0 0 0 .5px rgba(255,255,255,.05);
    --shadow-raised: 0 1px 2px rgba(0,0,0,.45), 0 0 0 .5px rgba(255,255,255,.06);
    --ring-brand: 0 0 0 4px rgba(30,202,211,.32);
    --gradient-meter: linear-gradient(90deg, #0FA3B1 0%, #1ECAD3 100%);
    --gradient-action: linear-gradient(135deg, #0FA3B1 0%, #22B8C6 100%);
    --glow-home: linear-gradient(transparent, transparent);
    --glow-content: linear-gradient(transparent, transparent);
  }
}

:root {
  --space-micro: 4px;
  --space-control: 8px;
  --space-compact: 12px;
  --space-standard: 16px;
  --space-section: 24px;
  --space-composition: 32px;
  --space-major: 48px;
  --radius-small: 6px;
  --radius-medium: 10px;
  --radius-large: 16px;
  --shadow-tooltip: 0 8px 30px rgba(0,0,0,.08);
  --shadow-overlay: 0 30px 90px rgba(0,0,0,.25);
  --nav-width: 248px;
  --nav-compact: 72px;
  --rail-width: 348px;
  --workbar-height: 56px;
  --topbar-height: 58px;
  --content-max: 1120px;
  --ask-height: 60px;
  --undo-window: 5s;
  --response-instant: 100ms;
  --response-flow: 1000ms;
  --response-attention: 10000ms;
  --urgent-max: 1;
  --decision-review: 30d 60d 90d;
  --gradient-brand: linear-gradient(to bottom right, #0A3D62 0%, #0FA3B1 50%, #1ECAD3 100%);
  --gradient-brand-135: linear-gradient(135deg, #0A3D62 0%, #0FA3B1 50%, #1ECAD3 100%);
  --target-pointer: 32px;
  --target-touch: 44px;
  --duration-instant: 100ms;
  --duration-quick: 160ms;
  --duration-standard: 240ms;
  --duration-emphasis: 360ms;
  --easing-standard: cubic-bezier(.2,.8,.2,1);
  --easing-enter: cubic-bezier(0,0,.2,1);
  --easing-exit: cubic-bezier(.4,0,1,1);
  --easing-emphasized: cubic-bezier(.2,0,0,1);
  --icon-small: 1rem;
  --icon-medium: 1.25rem;
  --icon-large: 1.5rem;
  --density-calm-padding: 42px;
  --density-calm-body: 1rem;
  --density-calm-row: 15px;
  --density-operational-padding: 32px;
  --density-operational-body: 0.875rem;
  --density-operational-row: 11px;
  --density-expert-padding: 20px;
  --density-expert-body: 0.8125rem;
  --density-expert-row: 6px;
  --font-sans: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-data: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-brand: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* The font files in fonts/. A Next.js app may load the same family with next/font instead and point --font-sans at it. */
@font-face { font-family: "Plus Jakarta Sans"; src: url("../fonts/PlusJakartaSans-Variable.woff2") format("woff2"); font-weight: 200 800; font-style: normal; font-display: swap; }
@font-face { font-family: "Plus Jakarta Sans"; src: url("../fonts/PlusJakartaSans-Variable-Italic.woff2") format("woff2"); font-weight: 200 800; font-style: italic; font-display: swap; }

.nv-type-wordmark { font-family: var(--font-brand); font-size: 4rem; line-height: 1; font-weight: 800; letter-spacing: -0.02em; }
.nv-type-display { font-family: var(--font-sans); font-size: 4.5rem; line-height: 1; font-weight: 600; letter-spacing: -0.022em; text-wrap: balance; }
.nv-type-metric { font-family: var(--font-data); font-size: 3rem; line-height: 1; font-weight: 600; letter-spacing: -0.022em; font-variant-numeric: tabular-nums; }
.nv-type-pageTitle { font-family: var(--font-sans); font-size: 2rem; line-height: 1.15; font-weight: 600; letter-spacing: -0.018em; text-wrap: balance; }
.nv-type-section { font-family: var(--font-sans); font-size: 1.25rem; line-height: 1.25; font-weight: 600; letter-spacing: -0.014em; text-wrap: balance; }
.nv-type-headline { font-family: var(--font-sans); font-size: 0.9375rem; line-height: 1.35; font-weight: 600; letter-spacing: -0.01em; text-wrap: balance; }
.nv-type-body { font-family: var(--font-sans); font-size: 0.875rem; line-height: 1.5; font-weight: 400; letter-spacing: 0; }
.nv-type-prose { font-family: var(--font-sans); font-size: 1.0625rem; line-height: 1.47; font-weight: 400; letter-spacing: 0; }
.nv-type-eyebrow { font-family: var(--font-sans); font-size: 0.75rem; line-height: 1.35; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; }
.nv-type-metadata { font-family: var(--font-sans); font-size: 0.75rem; line-height: 1.4; font-weight: 400; letter-spacing: 0.005em; }
.nv-type-operational { font-family: var(--font-data); font-size: 0.8125rem; line-height: 1.4; font-weight: 400; letter-spacing: 0.005em; font-variant-numeric: tabular-nums; }
.nv-type-label { font-family: var(--font-data); font-size: 0.75rem; line-height: 1.4; font-weight: 600; letter-spacing: 0.005em; font-variant-numeric: tabular-nums; }
