/* ==========================================================================
   Canoli/Nibblr colour tokens: THE single definition point (Pre-Phase 0).
   Linked before every first-party stylesheet by layouts/base.html and
   layouts/marketing.html. Three names intentionally remain defined
   per-bundle because their values legitimately differ there
   (--text-secondary, --text-muted, --text-on-dark-muted); those local
   definitions come later in the cascade and win, preserving rendering.
   Structural vars (radius, widths, shadows) are layout config, not brand
   vocabulary, and stay in their stylesheet. FONTS moved here in the
   BRAND-001 palette track: a typeface is brand vocabulary, and leaving
   the families in app.css meant they won the cascade over this file and
   every brand rendered in Nibblr's faces.
   The CSS hex guard enforces vars-not-hexes across all of it.
   ========================================================================== */

:root {
  --brand-gold: #F0A500;
  --brand-gold-hover: #D99400;
  --brand-espresso: #22201F;
  --brand-cocoa: #5C4033;
  --brand-parchment: #FAF5EE;
  --brand-clay: #B89578;
  --brand-terracotta: #C9472A;
  --accent-teal: #F0A500;
  --accent-teal-hover: #D99400;
  --accent-teal-light: #F0A50026;
  --accent-teal-text: #7B5400;
  --accent-orange: #D4890A;
  --accent-orange-light: #D4890A26;
  --accent-orange-text: #7D5006;
  --bg-primary: #FFFCF6;
  --bg-surface: #FEFCF9;
  --bg-muted: #EDE7DF;
  /* The ground the auth card floats on. Named separately so each brand can
     answer it without the other brand's login changing underneath. Nibblr's
     answer is the muted parchment it has always used. */
  --auth-screen-bg: #EDE7DF;
  /* Links on a LIGHT surface. Gold was 2.08:1 on the white card, which is a
     long way under the 4.5:1 body-text floor, so this brand had the same
     defect as the other one and it is fixed here too rather than left
     because only the other brand was being looked at. A rust from this
     brand's own range: 5.41:1, hover 8.48:1. */
  --link-on-surface: #B04A38;
  --link-on-surface-hover: #83341F;
  --bg-sidebar: #22201F;
  --bg-sidebar-hover: #34322F;
  --bg-secondary: #EDE7DF;
  --border-primary: #D9CFC5;
  --border-divider: #EDE7DF;
  --text-primary: #352318;
  --decorative-muted: #B8A090;
  --text-on-dark: #FFFFFF;
  --status-pass: #4A7C3F;
  --status-pass-bg: #4A7C3F26;
  --status-pass-text: #395F31;
  --status-fail: #C23B22;
  --status-fail-bg: #C23B2226;
  --status-fail-text: #992F1B;
  --status-warning: #D4890A;
  --status-warning-bg: #D4890A26;
  --status-warning-text: #7D5006;
  --confidence-high: #4A7C3F;
  --confidence-high-text: #395F31;
  --confidence-medium: #D4890A;
  --confidence-medium-text: #7D5006;
  --confidence-low: #C23B22;
  --confidence-low-text: #992F1B;
  --source-cofid: #4A7C3F;
  --source-cofid-bg: #4A7C3F26;
  --source-cofid-text: #395F31;
  --source-canadian: #8A5568;
  --source-canadian-bg: #8A556826;
  --source-canadian-text: #744858;
  --source-norwegian: #5A7A6B;
  --source-norwegian-bg: #5A7A6B26;
  --source-norwegian-text: #445C51;
  --source-swedish: #2E6B8A;
  --source-swedish-bg: #2E6B8A26;
  --source-swedish-text: #275A75;
  --source-frida: #B04A38;
  --source-frida-bg: #B04A3826;
  --source-frida-text: #8E3B2D;
  --source-composite: #6B6257;
  --source-composite-bg: #6B625726;
  --source-composite-text: #5C544B;
  --source-pro: #F0A500;
  --source-pro-bg: #F0A50026;
  --source-pro-text: #7B5400;
  --source-user: #8B7060;
  --source-user-bg: #8B706026;
  --source-user-text: #665347;
  --source-ai: #D4890A;
  --source-ai-bg: #D4890A26;
  --source-ai-text: #7D5006;
  --info: #5B7282;
  --info-bg: #5B728226;
  --info-text: #475965;
  --bg-panel: #F8F5F0; /* step 3: quiet panel / track background (was Tailwind-era #f8f5f0) */
  --status-fail-hover: #8C2A1E; /* step 3: darkened fail for destructive-button hover */
  --status-pass-soft: #4A7C3F0F; /* step 3: faintest pass tint (row flags, hovers) */
  --status-pass-strong: #4A7C3F40; /* step 3: strong pass tint (active borders) */
  --status-warning-soft: #D4890A0F; /* step 3: faintest warning tint */
  --status-warning-strong: #D4890A40; /* step 3: strong warning tint */
  --status-fail-soft: #C23B220F; /* step 3: faintest fail tint */
  --gold-soft: #F0A5000F; /* step 3: faintest gold tint */
  --gold-tint: #F0A50024; /* step 3: gold tint (badges, focus shadows) */
  --gold-selected: #F0A50033; /* step 3: gold selection background */
  --gold-strong: #F0A50040; /* step 3: strong gold tint (selection hover) */
  --badge-lilac-bg: #EDE9FE; /* step 3: categorical lilac badge plate */
  --badge-lilac-text: #5B21B6; /* step 3: categorical lilac badge label */
  --crm-score-0: #94A3B8; /* step 3: CRM lead-score scale, a 10-step data-viz series; do not collapse onto status colours */
  --crm-score-1: #3B82F6; /* step 3: CRM lead-score scale, a 10-step data-viz series; do not collapse onto status colours */
  --crm-score-2: #8B5CF6; /* step 3: CRM lead-score scale, a 10-step data-viz series; do not collapse onto status colours */
  --crm-score-3: #A855F7; /* step 3: CRM lead-score scale, a 10-step data-viz series; do not collapse onto status colours */
  --crm-score-4: #F59E0B; /* step 3: CRM lead-score scale, a 10-step data-viz series; do not collapse onto status colours */
  --crm-score-5: #16A34A; /* step 3: CRM lead-score scale, a 10-step data-viz series; do not collapse onto status colours */
  --crm-score-6: #10B981; /* step 3: CRM lead-score scale, a 10-step data-viz series; do not collapse onto status colours */
  --crm-score-7: #EA580C; /* step 3: CRM lead-score scale, a 10-step data-viz series; do not collapse onto status colours */
  --crm-score-8: #059669; /* step 3: CRM lead-score scale, a 10-step data-viz series; do not collapse onto status colours */
  --crm-score-9: #EF4444; /* step 3: CRM lead-score scale, a 10-step data-viz series; do not collapse onto status colours */
  --border-soft: rgba(30, 23, 18, 0.12);
  --text-on-dark-subtle: rgba(255, 255, 255, 0.7);
  --cream: #FDF8EF; /* step 3: cream card/panel surface, also cream text on espresso */
  --cream-deep: #F5EADC; /* step 3: deeper cream (table heads) */
  --cream-border: #E8DCC8; /* step 3: border on cream surfaces */
  --cream-tag: #F0E8DA; /* step 3: tag/chip background on cream */
  --text-deep: #3E3228; /* step 3: body text on cream surfaces */
  --text-label: #6B5A4A; /* step 3: labels, breadcrumbs, section eyebrows */
  --tag-amber-bg: #FBEFCF; /* step 3: editorial amber tag plate */
  --tag-amber-text: #885E14; /* step 3: editorial amber tag label */
  --decorative-off: #B8A998; /* step 3: muted/off badge state */

  /* Typefaces. Brand vocabulary, moved here from app.css/marketing.css by
     the BRAND-001 palette track so the palette file is the single
     definition point for faces as well as colour. The webfont request
     that fetches these lives in the registry as :google-fonts-url and
     must name the same families. */
  --font-primary: 'DM Sans', sans-serif;
  --font-display: 'Roboto Slab', serif;
  --font-mono: 'DM Mono', monospace;

  /* Shape. Brand vocabulary for the same reason fonts are: Canoli's rail
     is a floating rounded card and its active nav item is a full pill,
     where Nibblr's rail is flush and its active item is a 6px rectangle.
     Nibblr keeps its existing geometry, so these render byte-identically. */
  --radius-nav-item: 6px;
  --radius-sidebar: 0;
  --sidebar-inset: 0px;
  /* The active nav row. Deliberately NOT named -bg/-text: that suffix pair
     is the three-role contract (a 15% tint and the only legal label on
     it), and the label-token lint pairs them automatically. These are a
     fill and its label on the DARK rail, which is a different thing.
     Nibblr: a gold tint with identity gold on it, valid only because it
     renders on the dark sidebar, which is why .nav-item.active carries a
     documented exemption in the contrast lint. */
  --nav-active-fill: var(--accent-teal-light);
  --nav-active-label: var(--accent-teal);

  /* Sidebar org card + nav dot. Nibblr renders neither today (icons, and a
     legal-link footer), so these are defined for completeness and are
     inert under this brand. */
  --nav-dot: var(--text-on-dark-subtle);
  --nav-dot-active: var(--nav-active-label);
  --org-card-bg: transparent;
  --org-avatar-bg: var(--brand-gold);
  --org-avatar-text: var(--brand-espresso);

  /* The default brand has no equivalent glyph, so its hero decorations
     stay plain circles. `none` is a valid mask-image and applies nothing. */
  --decor-mask: none;

  /* No atom glyph in this brand, so the hero field stays off and the cover
     is the plain dark ground it has always been. */
  --decor-field-display: none;
}
