/*
 * jobplanr marketing & auth palette — Figma `simple jobplanr palette` library.
 * Single source of truth for hard-coded color values on the home page and
 * the auth pages (login, signup, ...). Templates must reference these tokens
 * via `var(--…)` only. See specs/decisions/ADR-021-figma-metadata-reconciliation.md
 * and specs/metadata/{homepage,login,signup}.json for the Figma anchors.
 */

:root {
  /* The --color-* / --font-* / --shadow-* tokens between the generated markers
     below are GENERATED from specs/designs/{palette,typography,effects}.tokens.json
     by scripts/reconcile-styles.mjs (`make styles`). Do not hand-edit between the
     markers; edit the JSON and regenerate. Everything outside the markers
     (component aliases, the remaining hand-maintained auth/marketing typography,
     layout) is maintained by hand. */
/* <generated:palette> */
  /* Generated from specs/designs/palette.tokens.json — do not edit by hand. */
  /* brand */
  --color-brand-full: #01326D;
  --color-brand-h50: #6784A7;
  --color-brand-h40: #8099B6;
  --color-brand-h30: #B3C2D3;
  --color-brand-h20: #CCD6E2;
  --color-brand-h10: #E6EBF0;
  --color-brand-h05: #F2F5F8;
  --color-brand-o10: #01326D1A;
  --color-brand-o5: #01326D0D;
  /* neutral */
  --color-neutral-black: #000000;
  --color-neutral-neutral90: #ADAAAA;
  --color-neutral-neutral10: #F0F0F0;
  --color-neutral-neutral5: #F4F0EF;
  --color-neutral-brand-white: #FFFFFF;
  --color-neutral-brand-w60: #FFFFFF99;
  --color-neutral-highlight: #FFFFFF80;
  --color-neutral-clear: #D9D9D900;
  /* accent-blue */
  --color-accent-blue-base-full: #7AF1FF;
  --color-accent-blue-base-h15: #EEFCFF;
  --color-accent-blue-deep-full: #00A3B6;
  --color-accent-blue-deep-o15: #00A3B626;
  --color-accent-blue-deep-h50: #93CFD9;
  --color-accent-blue-deep-h40: #A7D8E0;
  --color-accent-blue-deep-h15: #DEF0F3;
  --color-accent-blue-deep-h5: #F4FAFB;
  /* accent-purple */
  --color-accent-purple-base-full: #BC7CDE;
  --color-accent-purple-base-h15: #F5EBFA;
  --color-accent-purple-deep-full: #7E2BAA;
  --color-accent-purple-deep-h50: #BF95D5;
  --color-accent-purple-deep-h40: #CBAADD;
  --color-accent-purple-deep-h15: #ECDFF2;
  --color-accent-purple-deep-h05: #F9F4FB;
  /* accent-green */
  --color-accent-green-base-full: #79EE8D;
  --color-accent-green-base-h15: #EBFDEC;
  --color-accent-green-deep-full: #18BA33;
  --color-accent-green-deep-o15: #18BA3326;
  --color-accent-green-deep-h50: #8CDDA9;
  --color-accent-green-deep-h40: #A3E3AD;
  --color-accent-green-deep-h15: #DDF5E0;
  --color-accent-green-deep-h05: #F3FBF5;
  /* accent-gold */
  --color-accent-gold-base-full: #FDDC5C;
  --color-accent-gold-base-h15: #FEFAEA;
  --color-accent-gold-deep-full: #C59E02;
  --color-accent-gold-deep-o15: #C59E0226;
  --color-accent-gold-deep-h50: #DBCE8B;
  --color-accent-gold-deep-h40: #E5D9A1;
  --color-accent-gold-deep-h15: #F5F0DB;
  --color-accent-gold-deep-h5: #FCFAF3;
  /* accent-red */
  --color-accent-red-base-full: #F35381;
  --color-accent-red-base-h15: #F9E6EC;
  --color-accent-red-deep-full: #B70D3D;
  --color-accent-red-deep-h50: #CF8A9E;
  --color-accent-red-deep-h40: #D8A1B1;
  --color-accent-red-deep-h15: #F0DCE2;
  --color-accent-red-deep-h5: #FAF3F5;
  /* accent-orange */
  --color-accent-orange-base-full: #FF7972;
  --color-accent-orange-base-h15: #FFEBEA;
  --color-accent-orange-deep-full: #C84F4B;
  --color-accent-orange-deep-h50: #E4A7A5;
  --color-accent-orange-deep-h40: #E9B9B7;
  --color-accent-orange-deep-h15: #F7E5E4;
  --color-accent-orange-deep-h05: #FCF6F6;
  /* accent-gray */
  --color-accent-gray-base-full: #A2A2A2;
  --color-accent-gray-base-h15: #F1F1F1;
  --color-accent-gray-deep-full: #777777;
  --color-accent-gray-deep-o15: #77777726;
  --color-accent-gray-deep-o5: #7777770D;
  --color-accent-gray-deep-h90: #858585;
  --color-accent-gray-deep-h70: #A0A0A0;
  --color-accent-gray-deep-h50: #BBBBBB;
  --color-accent-gray-deep-h40: #C9C9C9;
  --color-accent-gray-deep-h30: #D6D6D6;
  --color-accent-gray-deep-h20: #E4E4E4;
  --color-accent-gray-deep-h15: #EBEBEB;
  --color-accent-gray-deep-h05: #F8F8F8;
  /* nav-button */
  --color-nav-button-background: #D9D9D94D;
  --color-nav-button-highlight: #ADAAAA4D;
/* </generated:palette> */
/* <generated:typography> */
  /* Generated from specs/designs/typography.tokens.json — do not edit by hand. */
  /* default */
  --font-default-family: "Montserrat", sans-serif;
  --font-default-weight: 500;
  --font-default-size: 12px;
  --font-default-line-height: normal;
  --font-default-letter-spacing: 0;
  --font-default-style: italic;
  /* heading1 */
  --font-heading1-family: "Montserrat", sans-serif;
  --font-heading1-weight: 700;
  --font-heading1-size: 32px;
  --font-heading1-line-height: normal;
  --font-heading1-letter-spacing: 0;
  /* instructions */
  --font-instructions-family: "Montserrat", sans-serif;
  --font-instructions-weight: 500;
  --font-instructions-size: 12px;
  --font-instructions-line-height: normal;
  --font-instructions-letter-spacing: 0;
  --font-instructions-style: italic;
  /* emphasis */
  --font-emphasis-family: "Montserrat", sans-serif;
  --font-emphasis-weight: 500;
  --font-emphasis-size: 14px;
  --font-emphasis-line-height: normal;
  --font-emphasis-letter-spacing: 0;
  /* button */
  --font-button-family: "Montserrat", sans-serif;
  --font-button-weight: 700;
  --font-button-size: 14px;
  --font-button-line-height: 22px;
  --font-button-letter-spacing: 0.5px;
  /* footer */
  --font-footer-family: "Montserrat", sans-serif;
  --font-footer-weight: 500;
  --font-footer-size: 14px;
  --font-footer-line-height: normal;
  --font-footer-letter-spacing: 0;
  /* column-header */
  --font-column-header-family: "Montserrat", sans-serif;
  --font-column-header-weight: 800;
  --font-column-header-size: 16px;
  --font-column-header-line-height: 14.89px;
  --font-column-header-letter-spacing: 1.12px;
  /* step-heading */
  --font-step-heading-family: "Montserrat", sans-serif;
  --font-step-heading-weight: 400;
  --font-step-heading-size: 14px;
  --font-step-heading-line-height: normal;
  --font-step-heading-letter-spacing: 0.15px;
  /* status-label */
  --font-status-label-family: "Montserrat", sans-serif;
  --font-status-label-weight: 600;
  --font-status-label-size: 12px;
  --font-status-label-line-height: normal;
  --font-status-label-letter-spacing: 0.16px;
  /* dialog */
  --font-dialog-title-family: "Montserrat", sans-serif;
  --font-dialog-title-weight: 500;
  --font-dialog-title-size: 20px;
  --font-dialog-title-line-height: 22px;
  --font-dialog-title-letter-spacing: 0.46px;
  --font-dialog-subtitle-family: "Montserrat", sans-serif;
  --font-dialog-subtitle-weight: 500;
  --font-dialog-subtitle-size: 12px;
  --font-dialog-subtitle-line-height: 22px;
  --font-dialog-subtitle-letter-spacing: 0.46px;
  /* field */
  --font-field-input-message-family: "Montserrat", sans-serif;
  --font-field-input-message-weight: 700;
  --font-field-input-message-size: 14px;
  --font-field-input-message-line-height: normal;
  --font-field-input-message-letter-spacing: 0;
  --font-field-input-value-family: "Montserrat", sans-serif;
  --font-field-input-value-weight: 500;
  --font-field-input-value-size: 12px;
  --font-field-input-value-line-height: normal;
  --font-field-input-value-letter-spacing: 0.15px;
  --font-field-input-label-family: "Montserrat", sans-serif;
  --font-field-input-label-weight: 500;
  --font-field-input-label-size: 12px;
  --font-field-input-label-line-height: normal;
  --font-field-input-label-letter-spacing: 0.15px;
  --font-field-input-label-required-family: "Montserrat", sans-serif;
  --font-field-input-label-required-weight: 700;
  --font-field-input-label-required-size: 12px;
  --font-field-input-label-required-line-height: 14px;
  --font-field-input-label-required-letter-spacing: 0.15px;
  /* menu */
  --font-menu-title-family: "Montserrat", sans-serif;
  --font-menu-title-weight: 600;
  --font-menu-title-size: 14px;
  --font-menu-title-line-height: 1.43;
  --font-menu-title-letter-spacing: 0.17px;
  --font-menu-item-family: "Montserrat", sans-serif;
  --font-menu-item-weight: 400;
  --font-menu-item-size: 16px;
  --font-menu-item-line-height: 1.5;
  --font-menu-item-letter-spacing: 0.15px;
  /* card */
  --font-card-title-family: "Montserrat", sans-serif;
  --font-card-title-weight: 700;
  --font-card-title-size: 16px;
  --font-card-title-line-height: normal;
  --font-card-title-letter-spacing: 0;
  --font-card-subtitle-family: "Montserrat", sans-serif;
  --font-card-subtitle-weight: 500;
  --font-card-subtitle-size: 12px;
  --font-card-subtitle-line-height: normal;
  --font-card-subtitle-letter-spacing: 0;
  --font-card-footer-family: "Montserrat", sans-serif;
  --font-card-footer-weight: 500;
  --font-card-footer-size: 12px;
  --font-card-footer-line-height: normal;
  --font-card-footer-letter-spacing: 0;
  /* detail-pane */
  --font-detail-pane-title-family: "Montserrat", sans-serif;
  --font-detail-pane-title-weight: 700;
  --font-detail-pane-title-size: 24px;
  --font-detail-pane-title-line-height: normal;
  --font-detail-pane-title-letter-spacing: 0;
  --font-detail-pane-subtitle-family: "Montserrat", sans-serif;
  --font-detail-pane-subtitle-weight: 600;
  --font-detail-pane-subtitle-size: 16px;
  --font-detail-pane-subtitle-line-height: normal;
  --font-detail-pane-subtitle-letter-spacing: 0;
  --font-detail-pane-heading-family: "Montserrat", sans-serif;
  --font-detail-pane-heading-weight: 400;
  --font-detail-pane-heading-size: 12px;
  --font-detail-pane-heading-line-height: normal;
  --font-detail-pane-heading-letter-spacing: 0.15px;
  --font-detail-pane-text-family: "Montserrat", sans-serif;
  --font-detail-pane-text-weight: 400;
  --font-detail-pane-text-size: 16px;
  --font-detail-pane-text-line-height: 26px;
  --font-detail-pane-text-letter-spacing: 0;
  --font-detail-pane-footer-family: "Montserrat", sans-serif;
  --font-detail-pane-footer-weight: 400;
  --font-detail-pane-footer-size: 10px;
  --font-detail-pane-footer-line-height: 15px;
  --font-detail-pane-footer-letter-spacing: 0;
  /* home-page */
  --font-home-page-heading1-family: "Montserrat", sans-serif;
  --font-home-page-heading1-weight: 700;
  --font-home-page-heading1-size: 60px;
  --font-home-page-heading1-line-height: 1.25;
  --font-home-page-heading1-letter-spacing: 0.4em;
  --font-home-page-heading2-family: "Montserrat", sans-serif;
  --font-home-page-heading2-weight: 600;
  --font-home-page-heading2-size: 40px;
  --font-home-page-heading2-line-height: 1.2;
  --font-home-page-heading2-letter-spacing: 0;
  --font-home-page-heading3-family: "Montserrat", sans-serif;
  --font-home-page-heading3-weight: 700;
  --font-home-page-heading3-size: 28px;
  --font-home-page-heading3-line-height: normal;
  --font-home-page-heading3-letter-spacing: 0;
  --font-home-page-heading4-family: "Montserrat", sans-serif;
  --font-home-page-heading4-weight: 700;
  --font-home-page-heading4-size: 40px;
  --font-home-page-heading4-line-height: 1.25;
  --font-home-page-heading4-letter-spacing: 0.4em;
/* </generated:typography> */
/* <generated:effects> */
  /* Generated from specs/designs/effects.tokens.json — do not edit by hand. */
  /* status-glow */
  --shadow-status-glow-green: 0px 0px 3px 0.5px #18BA3340;
  --shadow-status-glow-gold: 0px 0px 3px 0.5px #C59E0240;
  --shadow-status-glow-blue: 0px 0px 3px 0.5px #00A3B640;
  --shadow-status-glow-brand: 0px 0px 3px 0.5px #01326D40;
  /* hover-lift */
  --shadow-hover-lift: 0px 0px 4px 1.5px #77777780;
  /* button */
  --shadow-button: 0px 3px 1px -2px #00000033, 0px 2px 2px 0px #00000024, 0px 1px 5px 0px #0000001F;
  /* button-hover */
  --shadow-button-hover: 0px 3px 1px -4px #0000004D, 0px 3px 3px 0.5px #00000033, 0px 2px 5px 0.5px #00000033;
  /* entity */
  --shadow-entity: 0px 3px 1px -2px #00000033, 0px 2px 2px 0px #00000024, 0px 1px 5px 0px #0000001F;
  /* entity-hover */
  --shadow-entity-hover: 0px 3px 1px -4px #0000004D, 0px 3px 3px 0.5px #00000033, 0px 2px 5px 0.5px #00000033;
  /* entity-drag */
  --shadow-entity-drag: 0px 3px 4px 2px #0000004D, 0px 3px 6px 1px #00000033, 0px 2px 6px 1px #00000033;
  /* entity-selected */
  --shadow-entity-selected-green: 0px 4px 4px 0px #18BA3340;
  --shadow-entity-selected-blue: 0px 4px 4px 0px #00A3B640;
  --shadow-entity-selected-gold: 0px 4px 4px 0px #C59E0240;
/* </generated:effects> */

  /* Component aliases */
  --color-login-glow: rgba(255, 255, 255, 0.25);

  /* Field styling — auth pages (login/signup), Figma node 2088:15342 */
  --color-field-border-default: #858585;
  --color-field-border-focus: #01326D;
  --color-field-border-error: #B70D3D;
  --color-field-error-message: #B70D3D;
  --color-field-label: #01326D;
  --color-field-value: #01326D;
  --color-form-card-bg: #FFFFFF;
  --color-form-heading: #01326D;
  --color-terms-link: #C84F4B;
  --color-switch-link: #C84F4B;

  /* Hand-maintained typography — no Figma text style to reconcile against.
     (All other --font-* styles are generated from typography.tokens.json above;
     templates reference those reconciled names directly.) */

  /* Typography — auth-page footer (Inter Regular 14 / 20, ls -0.1504)
     Unbound text-node style on Figma 2088:14287 — promoted via ADR-021. Inter,
     not Montserrat, so it is not in the simple jobplanr palette text styles. */
  --font-auth-footer-family: "Inter", sans-serif;
  --font-auth-footer-weight: 400;
  --font-auth-footer-size: 14px;
  --font-auth-footer-line-height: 20px;
  --font-auth-footer-letter-spacing: -0.1504px;

  /* Typography — switch link / fine print (Montserrat Medium 12; login italic).
     No dedicated Figma text style; kept hand-maintained. */
  --font-fine-family: "Montserrat", sans-serif;
  --font-fine-weight: 500;
  --font-fine-size: 12px;

  /* Layout */
  --radius-button: 4px;
  --radius-card: 12px;
  --radius-form-card: 12px;
}
