/* ============================================================
   Polionys — Color tokens
   Values transcribed verbatim from the Polionys Figma file.
   Two layers:
     1. Primitive palette  (--pol-...)  raw brand values
     2. Semantic aliases   (--surface, --text, --border, ...)
   Build with the semantic aliases; reach for primitives only
   when a semantic token doesn't exist.
   ============================================================ */

:root {
  /* ---------- Primitive: Brand gold ---------- */
  --pol-gold-300: rgb(242, 233, 218);   /* primary300 — cream tint   */
  --pol-gold-500: rgb(251, 183, 60);    /* primary — core gold        */
  --pol-gold-600: rgb(255, 146, 2);     /* primary300 (vivid) accent  */
  --pol-gold-700: rgb(198, 143, 78);    /* primary700 — logo bronze   */
  --pol-gold-gradient: linear-gradient(90deg, rgb(161,122,85) 0%, rgb(249,190,76) 100%); /* @kind color */

  /* ---------- Primitive: Navy / ink (secondary) ---------- */
  --pol-navy-900: rgb(4, 27, 46);       /* primary-900               */
  --pol-navy-800: rgb(7, 45, 76);       /* primary-color deep navy   */
  --pol-navy-700: rgb(24, 34, 46);      /* secondary — dark cards    */
  --pol-ink:      rgb(15, 14, 14);      /* near-black text / buttons */
  --pol-black:    rgb(0, 0, 0);

  /* ---------- Primitive: Neutrals (warm-grey scale) ---------- */
  --pol-white:    rgb(255, 255, 255);
  --pol-paper:    rgb(255, 254, 254);   /* off-white surface         */
  --pol-cream:    rgb(234, 233, 230);   /* app-shell warm background  */
  --pol-grey-25:  rgb(248, 250, 251);   /* input fill                 */
  --pol-grey-50:  rgb(248, 248, 248);   /* subtle fill                */
  --pol-grey-100: rgb(245, 245, 245);   /* hairline border / row head */
  --pol-grey-200: rgb(230, 230, 230);   /* border                     */
  --pol-grey-300: rgb(228, 228, 228);   /* border (stock grey)        */
  --pol-grey-400: rgb(223, 223, 223);   /* stroke grey                */
  --pol-grey-500: rgb(152, 152, 152);   /* subtitles / disabled       */
  --pol-grey-600: rgb(149, 149, 149);   /* subtitles                  */
  --pol-grey-700: rgb(115, 115, 115);   /* muted text                 */
  --pol-grey-800: rgb(111, 111, 111);   /* body paragraph             */
  --pol-grey-muted: rgb(102, 109, 128); /* hint / form helper text    */

  /* ---------- Primitive: Semantic hues ---------- */
  --pol-success:        rgb(1, 175, 97);
  --pol-success-text:   rgb(0, 162, 97);
  --pol-success-bg:     rgb(238, 255, 245);
  --pol-info:           rgb(0, 136, 255);
  --pol-info-strong:    rgb(0, 102, 255);
  --pol-info-bg:        rgb(236, 246, 255);
  --pol-error:          rgb(223, 28, 65);
  --pol-error-vivid:    rgb(255, 56, 60);
  --pol-error-bg:       rgb(255, 242, 242);
  --pol-warning:        rgb(255, 141, 40);
  --pol-warning-bg:     rgb(255, 249, 242);
  --pol-violet:         rgb(162, 92, 223);
  --pol-violet-bg:      rgb(248, 235, 255);
  --pol-indigo:         rgb(97, 85, 245);
  --pol-indigo-bg:      rgb(238, 236, 255);
  --pol-cyan:           rgb(0, 192, 232);
  --pol-cyan-bg:        rgb(242, 255, 254);

  /* ---------- Primitive: Risk scale ---------- */
  --pol-risk-critical: rgb(212, 0, 0);
  --pol-risk-high:     rgb(255, 140, 0);
  --pol-risk-medium:   rgb(255, 192, 0);   /* darkened from raw FFF200 for legibility */
  --pol-risk-low:      rgb(1, 175, 97);

  /* ============================================================
     Semantic aliases — prefer these in components
     ============================================================ */

  /* Surfaces */
  --surface-app:        var(--pol-cream);    /* page / shell background      */
  --surface-card:       var(--pol-white);    /* cards, panels, table         */
  --surface-raised:     var(--pol-paper);    /* popovers, switch cards       */
  --surface-sunken:     var(--pol-grey-25);  /* input wells, inset zones     */
  --surface-subtle:     var(--pol-grey-50);  /* hovered rows, chip fills     */
  --surface-inverse:    var(--pol-navy-700); /* dark hero cards, AI bar      */
  --surface-inverse-deep: var(--pol-navy-900);

  /* Text */
  --text-heading:    var(--pol-ink);        /* h1–h3, strong values          */
  --text-body:       var(--pol-grey-800);   /* paragraphs                    */
  --text-subtle:     var(--pol-grey-600);   /* captions, subtitles           */
  --text-muted:      var(--pol-grey-muted); /* hints, placeholders meta      */
  --text-disabled:   var(--pol-grey-500);
  --text-on-inverse: var(--pol-white);      /* text on navy / dark surfaces  */
  --text-link:       var(--pol-gold-700);   /* table links, candidate names  */
  --text-link-info:  var(--pol-info);       /* "New", "Screening" status     */

  /* Brand */
  --brand:           var(--pol-gold-500);
  --brand-strong:    var(--pol-gold-700);
  --brand-active:    var(--pol-gold-700);   /* active nav item text/icon     */
  --brand-tint:      var(--pol-gold-300);

  /* Borders */
  --border-hairline: var(--pol-grey-100);   /* card & row dividers           */
  --border-subtle:   var(--pol-grey-200);
  --border-default:  var(--pol-grey-300);
  --border-strong:   var(--pol-grey-400);
  --border-input:    rgb(223, 225, 231);    /* input outline (greyscale-100) */

  /* Interactive */
  --action-primary-bg:     var(--pol-navy-700);  /* black/navy primary button */
  --action-primary-text:   var(--pol-white);
  --action-secondary-bg:   var(--pol-white);      /* outline button            */
  --action-secondary-text: var(--pol-ink);
  --action-disabled-bg:    rgb(236, 239, 243);
  --action-disabled-text:  rgb(129, 136, 152);
  --action-hover-tint:     rgba(208, 177, 141, 0.10); /* gold wash on hover    */

  /* Focus ring */
  /* Focus ring — neutral ink (no blue) */
  --focus-ring: rgb(24, 34, 46);
}
