/* ClaimPilot design system — one source for every screen (site, login, app,
   client portal, signing, upload, admin). The look of the marketing site:
   warm cream surfaces, espresso ink and buttons, gold-bronze accents, a serif
   display face (Frank Ruhl Libre) over Heebo. Fonts are served from this site
   (no third-party font requests). */

@font-face { font-family: 'Heebo'; font-style: normal; font-weight: 400; font-display: swap; src: url(/assets/fonts/heebo-hebrew-400-normal.woff) format('woff'); unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F; }
@font-face { font-family: 'Heebo'; font-style: normal; font-weight: 400; font-display: swap; src: url(/assets/fonts/heebo-latin-400-normal.woff) format('woff'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Heebo'; font-style: normal; font-weight: 700; font-display: swap; src: url(/assets/fonts/heebo-hebrew-700-normal.woff) format('woff'); unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F; }
@font-face { font-family: 'Heebo'; font-style: normal; font-weight: 700; font-display: swap; src: url(/assets/fonts/heebo-latin-700-normal.woff) format('woff'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Frank Ruhl Libre'; font-style: normal; font-weight: 700; font-display: swap; src: url(/assets/fonts/frank-ruhl-libre-hebrew-700-normal.woff) format('woff'); unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F; }
@font-face { font-family: 'Frank Ruhl Libre'; font-style: normal; font-weight: 700; font-display: swap; src: url(/assets/fonts/frank-ruhl-libre-latin-700-normal.woff) format('woff'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Frank Ruhl Libre'; font-style: normal; font-weight: 900; font-display: swap; src: url(/assets/fonts/frank-ruhl-libre-hebrew-900-normal.woff) format('woff'); unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F; }
@font-face { font-family: 'Frank Ruhl Libre'; font-style: normal; font-weight: 900; font-display: swap; src: url(/assets/fonts/frank-ruhl-libre-latin-900-normal.woff) format('woff'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root {
  /* Surfaces */
  --cp-bg: #F8F5EE;
  --cp-surface: #FFFFFF;
  --cp-surface-2: #FDFBF5;
  --cp-surface-3: #F0EBDF;
  /* Ink */
  --cp-ink: #1A1410;
  --cp-ink-2: #4A3F35;
  --cp-ink-3: #6F6151;
  --cp-ink-4: #A39581;
  /* Lines */
  --cp-line: #E8DEC8;
  --cp-line-2: #D9CCB0;
  /* Dark band / sidebar (espresso) */
  --cp-navy: #1A1410;
  --cp-navy-2: #2B2018;
  --cp-navy-3: #3A2D22;
  /* Primary action: espresso button, cream text */
  --cp-primary: #1A1410;
  --cp-primary-hover: #2B2018;
  --cp-on-primary: #FDFBF5;
  /* Gold-bronze accent: lines and highlights; -ink is the text-safe shade */
  --cp-accent: #9C7B4A;
  --cp-accent-ink: #7E6234;
  --cp-accent-deep: #6B5228;
  --cp-accent-light: #C4A574;
  --cp-primary-soft: #F7F1E4;
  --cp-primary-line: #E0CDA6;
  /* Status */
  --cp-success: #0F6B4A; --cp-success-soft: #EAF4EE; --cp-success-line: #BFDCCB;
  --cp-danger: #B04A3C;  --cp-danger-soft: #FBEFEC;  --cp-danger-line: #EBC3BB;
  --cp-warning: #9A6212; --cp-warning-soft: #FBF4E4; --cp-warning-line: #E8D3A0;
  /* Shape */
  --cp-radius: 8px;
  --cp-radius-sm: 3px;
  --cp-shadow: 0 1px 2px rgba(26, 20, 16, .04), 0 2px 10px rgba(26, 20, 16, .04);
  --cp-shadow-lg: 0 16px 40px -12px rgba(26, 20, 16, .18);
  --cp-focus: 0 0 0 3px rgba(156, 123, 74, .28);
  --cp-font: 'Heebo', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;
  --cp-display: 'Frank Ruhl Libre', 'Heebo', Georgia, serif;
  --cp-mono: ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace;
  --cp-tracking: .14em;
}

/* Base primitives — any page may use these directly. */
.cp-card { background: var(--cp-surface); border: 1px solid var(--cp-line); border-radius: var(--cp-radius); box-shadow: var(--cp-shadow); }
.cp-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; padding: 0 18px; border-radius: var(--cp-radius-sm);
  font: 700 14px/1 var(--cp-font); border: 1px solid transparent; cursor: pointer; text-decoration: none; transition: background .15s, border-color .15s, color .15s; }
.cp-btn:focus-visible { outline: none; box-shadow: var(--cp-focus); }
.cp-btn-primary { background: var(--cp-primary); border-color: var(--cp-primary); color: var(--cp-on-primary); }
.cp-btn-primary:hover { background: var(--cp-primary-hover); }
.cp-btn-secondary { background: transparent; color: var(--cp-ink); border-color: var(--cp-accent); }
.cp-btn-secondary:hover { background: var(--cp-primary-soft); }
.cp-btn[disabled] { opacity: .5; cursor: not-allowed; }
.cp-badge { display: inline-flex; align-items: center; gap: 6px; padding: 2px 10px; border-radius: 999px; font: 700 12px/20px var(--cp-font); border: 1px solid var(--cp-line); color: var(--cp-ink-2); background: var(--cp-surface-2); }
.cp-badge.ok { color: var(--cp-success); background: var(--cp-success-soft); border-color: var(--cp-success-line); }
.cp-badge.warn { color: var(--cp-warning); background: var(--cp-warning-soft); border-color: var(--cp-warning-line); }
.cp-badge.bad { color: var(--cp-danger); background: var(--cp-danger-soft); border-color: var(--cp-danger-line); }
.cp-badge.info { color: var(--cp-accent-ink); background: var(--cp-primary-soft); border-color: var(--cp-primary-line); }
.cp-eyebrow { font: 700 11px/1.4 var(--cp-font); letter-spacing: var(--cp-tracking); color: var(--cp-accent-ink); }
.cp-display { font-family: var(--cp-display); font-weight: 900; letter-spacing: -.01em; }
/* Wordmark: a thin gold rule, then EdriClaimPilot in the display serif. */
.cp-brand { display: inline-flex; align-items: center; gap: 12px; font: 900 21px/1 var(--cp-display); color: var(--cp-ink); text-decoration: none; letter-spacing: -.02em; }
.cp-brand::before { content: ''; width: 28px; height: 1px; background: var(--cp-accent); flex: none; }
.cp-brand-mark { display: none; }
