/* Nativa design tokens — source of truth for the frontend */
:root {
  /* brand */
  --nv-dark: #012824;
  --nv-brunswick: #01453E;
  --nv-malachite: #00DE71;
  --nv-celadon: #B6FECC;
  --nv-malachite-hover: #00C766;
  --nv-malachite-pressed: #00B05A;
  --nv-celadon-pressed: #9FE9BE;
  --nv-dark-pressed: #011A17;
  /* secondary */
  --nv-poppy: #E03C48;
  --nv-firebrick: #BD1E2C;
  --nv-jonquil: #F9C801;
  --nv-harvest: #E3A704;
  --nv-blue: #5C82FF;
  --nv-savoy: #3861E0;
  --nv-periwinkle: #C6D3FF;
  /* neutrals */
  --nv-bg: #F4F6F4;
  --nv-surface: #FFFFFF;
  --nv-surface-2: #F1F4F2;
  --nv-surface-3: #F7F9F8;
  --nv-line: #E2E8E5;
  --nv-line-soft: #EEF2F0;
  --nv-line-strong: #D5DDDA;
  --nv-border-input: #B9C6C2;
  --nv-text: #012824;
  --nv-text-2: #4A615C;
  --nv-text-3: #6B807B;
  --nv-text-body: #2E423E;
  --nv-disabled: #93A39F;
  --nv-disabled-2: #C2CCC9;
  --nv-disabled-bg: #E4EAE7;
  --nv-on-dark-muted: #CFE6DA;
  /* semantic */
  --nv-success-bg: #EEFBF3; --nv-success-border: #9FE9BE; --nv-success-text: #00A957;
  --nv-warning-bg: #FFF8DB; --nv-warning-border: #F9DD6E; --nv-warning-text: #B88400; --nv-warning-tint: #FDF0B3; --nv-warning-deep: #7A5A00;
  --nv-danger-bg: #FDECEE;  --nv-danger-border: #F5B5BB;  --nv-danger-text: #BD1E2C;
  --nv-info-bg: #EEF2FF;    --nv-info-text: #3861E0;      --nv-info-deep: #2A49AC;
  --nv-range-band: #E6F7EC;
  /* matching */
  --nv-match-high: #00A957; --nv-match-partial: #3861E0; --nv-match-partial-tint: #C6D3FF; --nv-match-partial-bg: #EEF2FF; --nv-match-low: #BD1E2C;
  --nv-overlay: rgba(1,20,18,.45);
  /* type */
  --nv-font: 'Segoe UI', 'Noto Sans Hebrew', 'Noto Sans', system-ui, sans-serif;
  --nv-h1: 800 56px/1.05 'Noto Sans Hebrew', var(--nv-font);
  --nv-h2: 700 40px/1.15 var(--nv-font);
  --nv-h3: 700 28px/1.2 var(--nv-font);
  --nv-h4: 700 22px/1.3 var(--nv-font);
  --nv-lead: 400 18px/1.55 var(--nv-font);
  --nv-body: 400 16px/1.6 var(--nv-font);
  --nv-small: 400 14px/1.5 var(--nv-font);
  --nv-caption: 700 12px/1.4 var(--nv-font);
  --nv-tracking-display: -1px;
  /* radii */
  --nv-r-pill: 999px; --nv-r-card: 24px; --nv-r-panel: 20px; --nv-r-thumb: 18px;
  --nv-r-btn: 999px; --nv-r-btn-l: 999px; --nv-r-btn-s: 999px; /* v2: pills */ --nv-r-input: 12px; --nv-r-tile: 14px;
  /* spacing */
  --nv-s1: 4px; --nv-s2: 8px; --nv-s3: 12px; --nv-s4: 16px; --nv-s5: 20px; --nv-s6: 24px; --nv-s8: 32px; --nv-s10: 40px; --nv-s12: 48px; --nv-s14: 56px; --nv-s18: 72px;
  /* sizes */
  --nv-btn-l: 56px; --nv-btn-m: 48px; --nv-btn-s: 36px; --nv-input: 52px; --nv-input-float: 60px; --nv-hit: 44px;
  --nv-sidebar: 272px; --nv-sidebar-collapsed: 72px; --nv-drawer: 380px;
  /* shadows */
  --nv-shadow-sm: 0 1px 3px rgba(1,40,36,.06);
  --nv-shadow-md: 0 6px 24px rgba(1,40,36,.10);
  --nv-shadow-lg: 0 12px 36px rgba(1,40,36,.14);
  --nv-shadow-xl: 0 20px 50px rgba(1,40,36,.18);
  --nv-shadow-modal: 0 30px 60px rgba(1,40,36,.35);
  --nv-shadow-cta: 0 10px 24px rgba(0,222,113,.4);
  --nv-shadow-dark: 0 8px 20px rgba(1,40,36,.3);
  /* focus */
  --nv-focus-ring: 0 0 0 4px rgba(0,222,113,.25);
  /* motion */
  --nv-ease: cubic-bezier(.2,.8,.2,1);
  --nv-ease-sweep: cubic-bezier(.3,.7,.3,1);
  --nv-t-fast: 150ms; --nv-t-base: 250ms; --nv-t-slow: 350ms; --nv-t-sweep: 500ms;
  /* primary button sweep gradient */
  --nv-cta-gradient: linear-gradient(100deg,#00DE71 0%,#00DE71 35%,#B6FECC 50%,#00DE71 65%,#00DE71 100%);
}

@keyframes nvsweep { from { background-position: 100% 0 } to { background-position: 0 0 } }
@keyframes nvwiggle { 0%,100% { transform: rotate(0) scale(1) } 30% { transform: rotate(-12deg) scale(1.15) } 60% { transform: rotate(8deg) scale(1.1) } }
@keyframes nvfly { 0% { transform: translate(0,0); opacity: 1 } 50% { transform: translate(-26px,-6px); opacity: 0 } 51% { transform: translate(22px,6px); opacity: 0 } 100% { transform: translate(0,0); opacity: 1 } }
@keyframes nvride { 0% { transform: translateX(0) } 50% { transform: translateX(-5px) } 100% { transform: translateX(0) } }
@keyframes nvpulse { 0% { box-shadow: 0 0 0 0 rgba(0,222,113,.55) } 100% { box-shadow: 0 0 0 14px rgba(0,222,113,0) } }

@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition-duration: 1ms !important; }
}
