/* ============================================================
   Networkbound Design Tokens
   Version: 1.0.0
   Scope: All Networkbound web properties
   ============================================================ */

:root {
  /* --- Color Palette --- */
  --nb-color-primary:        #1a73e8;
  --nb-color-primary-dark:   #1558b0;
  --nb-color-primary-light:  #4a9af5;
  --nb-color-secondary:      #34a853;
  --nb-color-secondary-dark: #2d8f47;

  --nb-color-bg:             #0f1117;
  --nb-color-bg-surface:     #161822;
  --nb-color-bg-elevated:    #1e2030;
  --nb-color-bg-hover:       #262940;

  --nb-color-text:           #e8eaed;
  --nb-color-text-secondary: #9aa0a6;
  --nb-color-text-muted:     #5f6368;
  --nb-color-text-inverse:   #1a1a2e;

  --nb-color-border:         #2d3148;
  --nb-color-border-light:   #3c4160;

  --nb-color-success:        #34a853;
  --nb-color-warning:        #fbbc04;
  --nb-color-error:          #ea4335;
  --nb-color-info:           #4285f4;

  --nb-color-status-up:      #34a853;
  --nb-color-status-down:    #ea4335;
  --nb-color-status-warn:    #fbbc04;
  --nb-color-status-unknown: #5f6368;

  /* --- Typography --- */
  --nb-font-family:          'Inter', system-ui, -apple-system, sans-serif;
  --nb-font-mono:            'JetBrains Mono', 'Fira Code', monospace;

  --nb-font-size-xs:         0.75rem;   /* 12px */
  --nb-font-size-sm:         0.875rem;  /* 14px */
  --nb-font-size-base:       1rem;      /* 16px */
  --nb-font-size-lg:         1.125rem;  /* 18px */
  --nb-font-size-xl:         1.25rem;   /* 20px */
  --nb-font-size-2xl:        1.5rem;    /* 24px */
  --nb-font-size-3xl:        1.875rem;  /* 30px */
  --nb-font-size-4xl:        2.25rem;   /* 36px */

  --nb-font-weight-normal:   400;
  --nb-font-weight-medium:   500;
  --nb-font-weight-semibold: 600;
  --nb-font-weight-bold:     700;

  --nb-line-height-tight:    1.25;
  --nb-line-height-base:     1.5;
  --nb-line-height-relaxed:  1.75;

  /* --- Spacing --- */
  --nb-space-1:              0.25rem;   /* 4px */
  --nb-space-2:              0.5rem;    /* 8px */
  --nb-space-3:              0.75rem;   /* 12px */
  --nb-space-4:              1rem;      /* 16px */
  --nb-space-5:              1.25rem;   /* 20px */
  --nb-space-6:              1.5rem;    /* 24px */
  --nb-space-8:              2rem;      /* 32px */
  --nb-space-10:             2.5rem;    /* 40px */
  --nb-space-12:             3rem;      /* 48px */
  --nb-space-16:             4rem;      /* 64px */

  /* --- Border Radius --- */
  --nb-radius-sm:            0.25rem;
  --nb-radius-md:            0.5rem;
  --nb-radius-lg:            0.75rem;
  --nb-radius-xl:            1rem;
  --nb-radius-full:          9999px;

  /* --- Shadows --- */
  --nb-shadow-sm:            0 1px 2px rgba(0, 0, 0, 0.3);
  --nb-shadow-md:            0 4px 6px rgba(0, 0, 0, 0.3);
  --nb-shadow-lg:            0 10px 15px rgba(0, 0, 0, 0.3);
  --nb-shadow-xl:            0 20px 25px rgba(0, 0, 0, 0.3);

  /* --- Transitions --- */
  --nb-transition-fast:      150ms ease;
  --nb-transition-base:      250ms ease;
  --nb-transition-slow:      350ms ease;

  /* --- Z-Index Scale --- */
  --nb-z-dropdown:           1000;
  --nb-z-sticky:             1020;
  --nb-z-fixed:              1030;
  --nb-z-modal-backdrop:     1040;
  --nb-z-modal:              1050;
  --nb-z-tooltip:            1060;
  --nb-z-toast:              1070;

  /* --- Layout --- */
  --nb-sidebar-width:        260px;
  --nb-header-height:        56px;
  --nb-content-max-width:    1200px;
}
