/* ==========================================================================
   VUD Color Tokens
   Runtime CSS custom properties mirroring the LESS token hierarchy:
     Layer 1: Primitives  — raw palette values (style/tokens/primitives/light.less)
     Layer 2: Semantic    — purpose-driven tokens (style/tokens/colors.less)
     Legacy:  Aliases     — bridge names used in existing inline styles
   ========================================================================== */

:root {

  /* ==========================================================================
     PRIMITIVES — raw palette values
     ========================================================================== */

  /* Primary */
  --primary-05: #f3faf2;
  --primary-10: #d1e8d1;
  --primary-20: #b2d6b2;
  --primary-30: #9cc39c;
  --primary-40: #80b080;
  --primary-50: #54a059;
  --primary-60: #3f8c4f;
  --primary-70: #30774a;
  --primary-80: #316144;
  --primary-90: #264d37;
  --primary-100: #203A2A;

  /* Secondary */
  --secondary-05: #f5f9fc;
  --secondary-10: #c9e5f7;
  --secondary-20: #a7d2ef;
  --secondary-30: #86c0e7;
  --secondary-40: #60abde;
  --secondary-50: #3b97d5;
  --secondary-60: #1582cc;
  --secondary-70: #106ead;
  --secondary-80: #12496f;
  --secondary-90: #1a374b;
  --secondary-100: #13496F;

  /* Neutral */
  --neutral-05: #fdfdfd;
  --neutral-10: #d2dae4;
  --neutral-20: #b4c0cf;
  --neutral-30: #9ba9bb;
  --neutral-40: #808fa3;
  --neutral-50: #647182;
  --neutral-60: #5c6570;
  --neutral-70: #4e535a;
  --neutral-80: #424448;
  --neutral-90: #303031;
  --neutral-100: #343535;

  /* Neutral Alt */
  --neutral-alt-05: #f6f8fa;
  --neutral-alt-10: #eff2f5;
  --neutral-alt-20: #e6eaef;
  --neutral-alt-30: #dae0e7;
  --neutral-alt-40: #9aa5ae;
  --neutral-alt-50: #d1d9e0;
  --neutral-alt-60: #c8d1da;
  --neutral-alt-70: #818b98;
  --neutral-alt-80: #59636e;
  --neutral-alt-90: #40474c;
  --neutral-alt-100: #454C54;

  /* Error */
  --error-05: #fff5f6;
  --error-10: #fad9de;
  --error-20: #f2c1c7;
  --error-30: #eba7b1;
  --error-40: #e38b99;
  --error-50: #dc6e80;
  --error-60: #d44f64;
  --error-70: #c62e47;
  --error-80: #a82238;
  --error-90: #841f31;
  --error-100: #611C27;

  /* Warning */
  --warning-05: #fef7e9;
  --warning-10: #fbddae;
  --warning-20: #f2c582;
  --warning-30: #eaae54;
  --warning-40: #dd952e;
  --warning-50: #cd7e0b;
  --warning-60: #c06500;
  --warning-70: #ac4f00;
  --warning-80: #8f4200;
  --warning-90: #713604;
  --warning-100: #532A0A;

  /* Info */
  --info-05: #f5f9fc;
  --info-10: #c9e5f7;
  --info-20: #a8d2ef;
  --info-30: #87c0e7;
  --info-40: #61abde;
  --info-50: #3c97d5;
  --info-60: #1682cc;
  --info-70: #106ead;
  --info-80: #0e5c90;
  --info-90: #13496f;
  --info-100: #1A374B;

  /* Visited */
  --visited-05: #edecf5;
  --visited-10: #e1dfee;
  --visited-20: #cecae3;
  --visited-30: #bbb4d8;
  --visited-40: #a69ecc;
  --visited-50: #9289c1;
  --visited-60: #7f73bb;
  --visited-70: #6c5eb2;
  --visited-80: #594ba0;
  --visited-90: #473791;
  --visited-100: #352C68;

  /* Success */
  --success-05: #f3faf2;
  --success-10: #d1e8d1;
  --success-20: #b2d6b2;
  --success-30: #9cc39c;
  --success-40: #80b080;
  --success-50: #54a059;
  --success-60: #3f8c4f;
  --success-70: #30774a;
  --success-80: #316144;
  --success-90: #264d37;
  --success-100: #203A2A;

  /* Background */
  --background-05: #fdfdfd;
  --background-10: #f7f7f7;
  --background-20: #ededed;

  /* Shade & Tint */
  --shade-muted: #00000014;
  --shade-contrast: #0000001f;
  --tint-muted: #d2dae414;
  --tint-contrast: #b4c0cf1f;


  /* ==========================================================================
     SEMANTIC TOKENS — purpose-driven, referencing primitives
     ========================================================================== */

  /* Text */
  --text-idle: var(--neutral-80);
  --text-inverse: var(--neutral-05);
  --text-emphasis: var(--secondary-70);
  --text-link: var(--secondary-70);
  --text-visited: var(--visited-80);
  --text-disabled: var(--neutral-40);
  --text-success: var(--success-70);
  --text-info: var(--secondary-70);
  --text-warning: var(--warning-90);
  --text-error: var(--error-80);
  --text-secondary: var(--neutral-50);
  --text-placeholder: var(--neutral-50);

  /* Icon */
  --icon-idle: var(--neutral-80);
  --icon-inverse: var(--neutral-05);
  --icon-emphasis: var(--secondary-50);
  --icon-error: var(--error-60);
  --icon-warning: var(--warning-60);
  --icon-success: var(--success-60);
  --icon-disabled: var(--neutral-40);

  /* Divider */
  --divider-muted: var(--neutral-20);
  --divider-subtle: var(--neutral-30);
  --divider-contrast: var(--neutral-60);
  --divider-emphasis: var(--primary-60);

  /* Border — Default */
  --border-focus: var(--secondary-70);
  --border-inner-shadow: var(--neutral-05);
  --border-inner-border: var(--primary-80);
  --border-default-idle: var(--neutral-60);
  --border-default-muted: var(--neutral-20);
  --border-default-hover: var(--secondary-60);
  --border-default-active: var(--secondary-60);
  --border-default-activeHover: var(--secondary-60);
  --border-default-disabled: var(--neutral-30);
  --border-default-contrast: var(--neutral-30);

  /* Border — Primary */
  --border-primary-idle: var(--primary-70);
  --border-primary-hover: var(--primary-80);
  --border-primary-active: var(--primary-100);
  --border-primary-activeHover: var(--primary-90);
  --border-primary-disabled: var(--border-default-disabled);

  /* Border — Secondary */
  --border-secondary-idle: var(--secondary-70);
  --border-secondary-hover: var(--secondary-80);
  --border-secondary-active: var(--secondary-90);
  --border-secondary-activeHover: var(--secondary-100);
  --border-secondary-disabled: var(--border-default-disabled);
  --border-secondary-contrast: var(--secondary-70);

  /* Border — Danger */
  --border-danger-idle: var(--error-70);
  --border-danger-hover: var(--error-80);
  --border-danger-disabled: var(--border-default-disabled);

  /* Border — Functional */
  --border-funct-success-contrast: var(--success-60);
  --border-funct-success-emphasis: var(--success-70);
  --border-funct-info-contrast: var(--info-60);
  --border-funct-info-emphasis: var(--info-70);
  --border-funct-warning-contrast: var(--warning-60);
  --border-funct-warning-emphasis: var(--warning-70);
  --border-funct-error-contrast: var(--error-60);
  --border-funct-error-emphasis: var(--error-70);

  /* Border — Inverted */
  --border-inverted-idle: var(--neutral-90);
  --border-inverted-hover: var(--neutral-60);
  --border-inverted-active: var(--neutral-05);
  --border-inverted-activeHover: var(--neutral-30);

  /* Surface — Default */
  --surface-default-idle: var(--neutral-05);
  --surface-default-muted: var(--neutral-alt-10);
  --surface-default-hover: var(--secondary-10);
  --surface-default-focus: var(--neutral-05);
  --surface-default-active: var(--secondary-05);
  --surface-default-disabled: var(--neutral-05);
  --surface-default-contrast: var(--neutral-alt-60);

  /* Surface — Inverted */
  --surface-inverted-idle: var(--neutral-90);
  --surface-inverted-hover: var(--neutral-100);
  --surface-inverted-muted: var(--tint-muted);
  --surface-inverted-active: var(--neutral-05);
  --surface-inverted-activeHover: var(--neutral-30);
  --surface-inverted-contrast: var(--neutral-60);

  /* Surface — Danger */
  --surface-danger-idle: var(--neutral-05);
  --surface-danger-hover: var(--error-80);
  --surface-danger-focus: var(--neutral-05);
  --surface-danger-disabled: var(--neutral-05);
  --surface-danger-muted: var(--error-05);
  --surface-danger-contrast: var(--error-70);

  /* Surface — Primary */
  --surface-primary-idle: var(--primary-70);
  --surface-primary-hover: var(--primary-80);
  --surface-primary-active: var(--primary-90);
  --surface-primary-activeHover: var(--primary-100);
  --surface-primary-disabled: var(--neutral-05);
  --surface-primary-muted: var(--primary-05);
  --surface-primary-contrast: var(--primary-60);

  /* Surface — Secondary */
  --surface-secondary-idle: var(--secondary-70);
  --surface-secondary-hover: var(--secondary-80);
  --surface-secondary-active: var(--secondary-05);
  --surface-secondary-activeHover: var(--secondary-80);
  --surface-secondary-disabled: var(--neutral-05);
  --surface-secondary-muted: var(--secondary-05);
  --surface-secondary-contrast: var(--secondary-70);

  /* Surface — Functional */
  --surface-funct-success-muted: var(--success-05);
  --surface-funct-success-contrast: var(--success-70);
  --surface-funct-info-muted: var(--info-05);
  --surface-funct-info-contrast: var(--info-70);
  --surface-funct-warning-muted: var(--warning-05);
  --surface-funct-warning-contrast: var(--warning-70);
  --surface-funct-error-muted: var(--error-05);
  --surface-funct-error-contrast: var(--error-70);

  /* Surface — Background */
  --surface-background-05: var(--background-05);
  --surface-background-10: var(--background-10);
  --surface-background-20: var(--background-20);
  --surface-marker-idle: var(--warning-10);

  /* Shadow */
  --shadow-primary-elevation-1: var(--primary-05);
  --shadow-secondary-elevation-1: var(--secondary-10);
  --shadow-default-elevation-1: rgba(0, 0, 0, 0.1);

}
