/* NeraPay visual tokens. Outfit and the petroleum/mint identity are shared
   by the portal and its reports. Semantic colors deliberately consolidate
   near-identical historic shades. Spacing follows a 4px rhythm with half
   steps; optical one-pixel adjustments are expressed at the use site.
   Breakpoint conditions, @font-face descriptors and @page paper settings
   are CSS grammar/print exceptions, not configurable component values. */
:root {

  /* Semantic palette */
  --np-color-ink: #102f37;
  --np-color-brand: #1fc7a3;
  --np-color-brand-hover: #43d4b5;
  --np-color-text: #102f37;
  --np-color-text-muted: #50666c;
  --np-color-text-inverse: #ffffff;
  --np-color-text-inverse-muted: #bad0d3;
  --np-color-text-inverse-subtle: #9db7bd;
  --np-color-surface: #ffffff;
  --np-color-page: #f3f7f7;
  --np-color-surface-subtle: #f5f9f8;
  --np-color-surface-muted: #eef3f2;
  --np-color-surface-table: #fafcfc;
  --np-color-surface-hover: #f0f8f5;
  --np-color-surface-disabled: #eaf0ef;
  --np-color-sidebar-raised: #1c3d45;
  --np-color-sidebar-hover: #20424a;
  --np-color-border-inverse: #35565c;
  --np-color-border: #dce6e8;
  --np-color-border-subtle: #e7eeee;
  --np-color-border-input: #bdced2;
  --np-color-border-disabled: #d3dfdc;
  --np-color-text-disabled: #677879;
  --np-color-success: #12624f;
  --np-color-success-soft: #e7f8f2;
  --np-color-success-border: #b4dccc;
  --np-color-warning: #805716;
  --np-color-warning-strong: #68450c;
  --np-color-warning-soft: #fff8e9;
  --np-color-warning-border: #eadab6;
  --np-color-danger: #943b31;
  --np-color-danger-soft: #fff6f3;
  --np-color-danger-border: #e9c4bd;
  --np-color-focus: #087b66;
  --np-color-backdrop: #0a2637a6;
  --np-color-drawer-backdrop: #0b273a70;
  --np-color-transparent: transparent;

  /* Typography */
  --np-font-body: Outfit, system-ui, sans-serif;
  --np-font-code: ui-monospace, monospace;
  --np-font-root: 16px;
  --np-tracking-normal: 0;
  --np-text-chart-tiny: .5625rem;
  --np-text-chart-small: .625rem;
  --np-text-caption-small: .6875rem;
  --np-text-xs: .75rem;
  --np-text-sm: .8125rem;
  --np-text-body: .875rem;
  --np-text-body-lg: .9375rem;
  --np-text-base: 1rem;
  --np-text-heading-xs: 1.0625rem;
  --np-text-nav-icon: var(--np-text-lg);
  --np-text-lg: 1.125rem;
  --np-text-report-stat: 1.1875rem;
  --np-text-guide-title: var(--np-text-xl);
  --np-text-xl: 1.25rem;
  --np-text-empty-title-small: var(--np-text-xl);
  --np-text-modal-title-small: var(--np-text-2xl);
  --np-text-2xl: 1.375rem;
  --np-text-close-icon: var(--np-text-2xl);
  --np-text-3xl: 1.5rem;
  --np-text-modal-title: var(--np-text-3xl);
  --np-text-4xl: 1.625rem;
  --np-text-5xl: 1.75rem;
  --np-text-6xl: 1.875rem;
  --np-text-7xl: 2rem;
  --np-text-8xl: 2.25rem;
  --np-text-auth-title: 2.4rem;
  --np-weight-regular: 400;
  --np-weight-book: 450;
  --np-weight-medium: 500;
  --np-weight-semibold: 550;
  --np-weight-bold: 600;
  --np-leading-solid: 1;
  --np-leading-display: 1.1;
  --np-leading-heading: 1.2;
  --np-leading-title: 1.25;
  --np-leading-badge: 1.35;
  --np-leading-compact: 1.4;
  --np-leading-table: 1.45;
  --np-leading-body: 1.5;
  --np-leading-note: 1.55;
  --np-leading-relaxed: 1.6;
  --np-leading-callout: 1.65;
  --np-leading-code: 1.7;
  --np-tracking-display: -.04em;
  --np-tracking-metric: -.035em;
  --np-tracking-amount: -.03em;
  --np-tracking-heading: -.025em;
  --np-tracking-stat: -.015em;
  --np-tracking-identity: .045em;
  --np-tracking-integration: .08em;
  --np-tracking-eyebrow: .09em;
  --np-tracking-label: .1em;
  --np-tracking-mini: .11em;
  --np-tracking-hero: .14em;
  --np-money-fraction: .68em;
  --np-money-table-fraction: .8em;
  --np-report-fraction: .75em;
  --np-open-icon: 1.125em;

  /* Spacing */
  --np-space-0-5: 2px;
  --np-space-1: 4px;
  --np-space-1-5: 6px;
  --np-space-2: 8px;
  --np-space-2-5: 10px;
  --np-space-3: 12px;
  --np-space-3-5: 14px;
  --np-space-4: 16px;
  --np-space-4-5: 18px;
  --np-space-5: 20px;
  --np-space-5-5: 22px;
  --np-space-6: 24px;
  --np-space-6-5: 26px;
  --np-space-7: 28px;
  --np-space-7-5: 30px;
  --np-space-8: 32px;
  --np-space-9: 36px;
  --np-space-9-5: 38px;
  --np-space-10: 40px;
  --np-space-10-5: 42px;
  --np-space-11: 44px;
  --np-space-12: 48px;
  --np-space-14: 56px;
  --np-space-15: 60px;
  --np-space-16: 64px;

  /* Shape and focus */
  --np-border-hairline: 1px;
  --np-border-emphasis: 2px;
  --np-border-focus: 3px;
  --np-border-halo: 4px;
  --np-radius-xs: 4px;
  --np-radius-tag: var(--np-radius-xs);
  --np-radius-sm: 6px;
  --np-radius-tab: var(--np-radius-md);
  --np-radius-md: 8px;
  --np-radius-control: var(--np-radius-md);
  --np-radius-lg: 10px;
  --np-radius-xl: 12px;
  --np-radius-summary: 14px;
  --np-radius-qr: 16px;
  --np-radius-checkout-summary: var(--np-radius-qr);
  --np-radius-panel: 18px;
  --np-radius-modal: var(--np-radius-overlay);
  --np-radius-checkout: var(--np-radius-overlay);
  --np-radius-pill: 100px;
  --np-radius-circle: 50%;
  --np-focus-ring: var(--np-border-focus) solid var(--np-color-focus);
  --np-focus-offset: var(--np-border-focus);
  --np-radius-overlay: 20px;

  /* Elevation and motion */
  --np-shadow-modal: 0 32px 100px #061f3733;
  --np-shadow-toast: 0 7px 35px #102f3729;
  --np-shadow-report: 0 3px 14px #102f3706;
  --np-shadow-sticky-column: calc(-1 * var(--np-border-hairline)) 0 0 var(--np-color-border);
  --np-motion-drawer: .18s;
  --np-motion-feedback: .12s;
  --np-motion-spinner: 1s;
  --np-ease-standard: ease;
  --np-ease-linear: linear;
  --np-backdrop-blur: 3px;
  --np-z-table-head: 1;
  --np-z-table-action: 2;
  --np-z-panel-toolbar: 1;
  --np-z-export-menu: 3;
  --np-z-drawer-backdrop: 35;
  --np-z-sidebar: 40;
  --np-z-notification: 100;

  /* Layout and component dimensions */
  --np-viewport-height: 100vh;
  --np-viewport-width: 100vw;
  --np-modal-viewport-height: 90vh;
  --np-sidebar-width: 244px;
  --np-sidebar-width-medium: 216px;
  --np-sidebar-width-narrow: 200px;
  --np-drawer-width: 260px;
  --np-brand-width: 154px;
  --np-checkout-brand-width: 156px;
  --np-brand-width-small: 132px;
  --np-report-brand-width: 148px;
  --np-workspace-avatar: 34px;
  --np-avatar: 36px;
  --np-avatar-small: 30px;
  --np-brand-mark: 26px;
  --np-notification-counter: 20px;
  --np-topbar-height: 82px;
  --np-topbar-height-medium: 72px;
  --np-topbar-height-small: 66px;
  --np-topbar-connected-height: 54px;
  --np-content-width: 1520px;
  --np-content-chrome-height: 175px;
  --np-standalone-width: 1120px;
  --np-standalone-inner-width: 1040px;
  --np-control-height: 44px;
  --np-control-height-small: 35px;
  --np-control-icon: 32px;
  --np-control-check: 18px;
  --np-control-menu: 34px;
  --np-control-nav-height: 40px;
  --np-control-textarea-height: 110px;
  --np-empty-title-width: 600px;
  --np-empty-copy-width: 550px;
  --np-modal-width: 670px;
  --np-toast-width: 600px;
  --np-toast-offset: 90px;
  --np-skip-hidden-offset: -70px;
  --np-checkout-width: 1000px;
  /* Customer payment card: the same compact card as the IPS payment page. */
  --np-checkout-card-width: 480px;
  --np-checkout-copy-width: 380px;
  --np-checkout-symbol: 64px;
  --np-checkout-action-height: 52px;
  --np-checkout-powered-logo: 72px;
  --np-text-checkout-amount: 2.5rem;
  --np-radius-checkout-card: 28px;
  --np-radius-checkout-card-small: 24px;
  --np-color-checkout-glow: #e6f3ef;
  --np-shadow-checkout-card: 0 0 0 1px #102f3712, 0 4px 8px #102f370d, 0 32px 64px -24px #102f3747;
  --np-motion-pop: .6s;
  --np-ease-spring: cubic-bezier(.22, 1, .36, 1);
  --np-qr-frame: 240px;
  --np-qr-code: 200px;
  --np-step-number: 28px;
  --np-attention-number: 27px;
  --np-progress-height: 8px;
  --np-chart-height: 210px;
  --np-chart-height-wide: 245px;
  --np-chart-height-medium: 220px;
  --np-chart-height-small: 195px;
  --np-chart-track-height: 157px;
  --np-chart-track-wide: 190px;
  --np-chart-track-medium: 165px;
  --np-chart-track-small: 159px;
  --np-chart-bar-width: 35px;
  --np-chart-bar-width-small: 25px;
  --np-chart-bars-min-height: 100px;
  --np-chart-grid-step: 64px;
  --np-table-compact-min-width: 610px;
  --np-refund-table-min-width: 650px;
  --np-refund-login-width: 680px;
  --np-identity-card-width: 440px;
  --np-identity-form-width: 400px;
  --np-identity-art-width: 520px;
  --np-identity-art-width-small: 280px;
  --np-identity-art-ratio: 10 / 7;
  --np-identity-art-tilt-card: -4deg;
  --np-identity-art-tilt-qr: 7deg;
  --np-identity-art-float: 10px;
  --np-identity-art-blur: 24px;
  --np-color-identity-glow: #1fc7a34d;
  --np-shadow-identity-card: 0 30px 40px #00000073;
  --np-shadow-identity-qr: 0 24px 40px -12px #00000080;
  --np-motion-float: 7s;
  --np-motion-float-offset: -3.5s;
  --np-ease-in-out: ease-in-out;
  --np-workspace-toolbar-width: 260px;
  --np-workspace-toolbar-width-export: 380px;
  --np-export-menu-width: 280px;
  --np-detail-fact-min-width: 160px;
  --np-rail-icon-card-width: 16px;
  --np-rail-icon-card-height: 11px;
  --np-icon-size: 16px;
  --np-icon-size-sm: 14px;
  --np-icon-size-nav: 18px;
  --np-icon-nav-opacity: .85;
  --np-icon-none: none;
  --np-card-mark-width: 30px;
  --np-card-mark-height: 20px;
  --np-refund-form-width: 820px;
  --np-refund-id-width: 210px;
  --np-refund-receipt-min-width: 220px;
  --np-refund-receipt-width: 350px;
  --np-refund-receipt-width-small: 300px;
  --np-transaction-table-min-width: 1220px;
  --np-transaction-table-base-width: 830px;
  --np-transaction-table-base-width-small: 780px;
  --np-transaction-id-max-width: 260px;
  --np-transaction-col-identity: 220px;
  --np-transaction-col-created: 170px;
  --np-transaction-col-status: 160px;
  --np-transaction-col-review: 210px;
  --np-transaction-col-delivery: 180px;
  --np-transaction-col-amount: 145px;
  --np-transaction-col-action: 135px;
  --np-transaction-filter-query: 220px;
  --np-transaction-filter-status: 170px;
  --np-transaction-filter-delivery: 190px;
  --np-transaction-filter-query-small: 160px;
  --np-transaction-filter-status-small: 140px;
  --np-transaction-filter-delivery-small: 150px;
  --np-transaction-page-count-width: 180px;
  --np-transaction-page-status-width: 105px;
  --np-transaction-pagination-height: 62px;
  --np-quick-tab-width: 216px;
  --np-quick-tab-count-width: 4ch;
  --np-quick-tab-height: 38px;
  --np-page-size-width: 82px;
  --np-page-size-height: 36px;
  --np-search-min-width: 160px;
  --np-view-help-width: 48rem;
  --np-status-line-height: 1.5em;
  --np-overview-table-min-width: 800px;
  --np-overview-identity-width: 230px;
  --np-summary-mobile-min-height: 115px;
  --np-loading-min-height: 360px;
  --np-loading-grid-height: 280px;
  --np-loading-tile-height: 88px;
  --np-loading-row-height: 166px;
  --np-report-help-width: 720px;
  --np-report-width: 980px;
  --np-report-table-min-width: 580px;
  --np-select-arrow-size: 5px;
  --np-select-arrow-start: 21px;
  --np-select-arrow-end: 16px;
  --np-select-arrow-reserve: 44px;
  --np-timeline-dot-offset: -9px;

  /* Print document */
  --np-print-text-small: 9pt;
  --np-print-text-table: 9.5pt;
  --np-print-text-body: 10.5pt;
  --np-print-text-total: 12pt;
  --np-print-text-stat: 13pt;
  --np-print-text-title: 20pt;
  --np-print-space-2: 2mm;
  --np-print-space-3: 3mm;
  --np-print-space-4: 4mm;
  --np-print-space-5: 5mm;
  --np-print-space-6: 6mm;
  --np-print-space-7: 7mm;
  --np-print-space-8: 8mm;
  --np-print-space-15: 15mm;
  --np-print-page-margin: 14mm;
  --np-print-logo-width: 39mm;
}
