/* ============================================================
   Parastatiko — Color tokens
   Synced from the Claude Design project (design system
   parastatiko-design-system-f4d9c4d3). Do not edit locally —
   re-sync instead, so design and app stay in step.
   ============================================================ */

:root {
  /* ---- Neutral / slate scale ---------------------------------- */
  --gray-0:   #ffffff;
  --gray-25:  #fbfcfd;
  --gray-50:  #f6f8fa;
  --gray-100: #eef1f4;
  --gray-150: #e6eaef;
  --gray-200: #dde3e9;   /* hairline borders */
  --gray-300: #cbd3dc;
  --gray-400: #9aa6b2;
  --gray-500: #6b7682;   /* muted / secondary text */
  --gray-600: #515b66;
  --gray-700: #3b434d;
  --gray-800: #262d35;
  --gray-900: #161b21;   /* primary text / ink */

  /* ---- Primary — azure ---------------------------------------- */
  --azure-50:  #eef4ff;
  --azure-100: #dbe7ff;
  --azure-200: #bcd2ff;
  --azure-300: #8fb2fb;
  --azure-400: #5b8cf2;
  --azure-500: #2d6cdf;   /* primary action */
  --azure-600: #1f57c2;
  --azure-700: #1b489d;
  --azure-800: #1a3e82;

  /* ---- Secondary — teal (accents, info data viz) -------------- */
  --teal-50:  #e7f7f4;
  --teal-100: #c6ece6;
  --teal-500: #0e9f8e;
  --teal-600: #0b8073;
  --teal-700: #0a665c;

  /* ---- Semantic hues ------------------------------------------ */
  --green-50:  #e7f6ee;  --green-100: #c8ebd6;
  --green-500: #16915f;  --green-600: #11784d;  --green-700: #0d5e3d;

  --amber-50:  #fcf3e3;  --amber-100: #f8e4c0;
  --amber-500: #b7791f;  --amber-600: #99641a;  --amber-700: #7c5115;

  --red-50:    #fbebeb;  --red-100: #f5d2d2;
  --red-500:   #d14343;  --red-600: #b53333;  --red-700: #962a2a;

  --violet-50: #f1eefe;  --violet-500: #6a52d6;  --violet-600: #553fb8;
  --indigo-500:#4257c4;
  --pink-500:  #c4458a;
  --cyan-500:  #1191b5;
  --orange-500:#c9621f;
  --slate-accent-500: #5a6b87;

  /* ============================================================
     SEMANTIC ALIASES
     ============================================================ */

  /* Surfaces */
  --surface-app:        var(--gray-50);    /* page background */
  --surface-card:       var(--gray-0);     /* cards, panels, table */
  --surface-raised:     var(--gray-0);
  --surface-sunken:     var(--gray-50);    /* wells, code blocks */
  --surface-hover:      var(--gray-50);    /* row / item hover */
  --surface-active:     var(--gray-100);
  --surface-inverse:    var(--gray-900);
  --surface-sidebar:    #fcfdfe;

  /* Borders */
  --border-subtle:      var(--gray-150);   /* dividers inside cards */
  --border-default:     var(--gray-200);   /* card + control outline */
  --border-strong:      var(--gray-300);   /* hover outline, focus ring base */
  --border-inverse:     rgba(255,255,255,0.12);

  /* Text */
  --text-strong:        var(--gray-900);   /* headings, key numbers */
  --text-body:          var(--gray-800);   /* default body */
  --text-muted:         var(--gray-500);   /* labels, captions */
  --text-faint:         var(--gray-400);   /* placeholders, disabled */
  --text-link:          var(--azure-600);
  --text-on-accent:     #ffffff;
  --text-inverse:       var(--gray-50);

  /* Primary action */
  --accent:             var(--azure-500);
  --accent-hover:       var(--azure-600);
  --accent-active:      var(--azure-700);
  --accent-soft-bg:     var(--azure-50);
  --accent-soft-fg:     var(--azure-700);
  --accent-ring:        rgba(45,108,223,0.32);

  /* Focus ring */
  --focus-ring:         0 0 0 3px var(--accent-ring);

  /* Status — extraction completeness + general semantics */
  --status-full-fg:     var(--green-700);   /* full data extracted */
  --status-full-bg:     var(--green-50);
  --status-full-bd:     var(--green-100);
  --status-full-dot:    var(--green-500);

  --status-summary-fg:  var(--amber-700);    /* summary-only */
  --status-summary-bg:  var(--amber-50);
  --status-summary-bd:  var(--amber-100);
  --status-summary-dot: var(--amber-500);

  --status-failed-fg:   var(--red-700);      /* failed / blocked */
  --status-failed-bg:   var(--red-50);
  --status-failed-bd:   var(--red-100);
  --status-failed-dot:  var(--red-500);

  --status-neutral-fg:  var(--gray-600);
  --status-neutral-bg:  var(--gray-100);
  --status-neutral-bd:  var(--gray-200);
  --status-neutral-dot: var(--gray-400);

  /* Data-viz / amount semantics */
  --data-net:           var(--gray-700);
  --data-vat:           var(--amber-600);
  --data-gross:         var(--gray-900);
  --data-positive:      var(--green-600);
  --data-negative:      var(--red-600);
}
