/* ============================================================
   AhadiCare AI — BRAND TOKENS
   ------------------------------------------------------------
   THIS IS THE ONLY FILE YOU NEED TO EDIT TO RE-COLOUR THE UI.

   styles.css never hardcodes a colour; it only reads the
   semantic tokens in LAYER 2 below. So:

     - To retheme the whole playground  -> edit LAYER 1 (palette).
     - To move one element to a different brand colour
       (e.g. make primary buttons teal instead of coral)
       -> edit LAYER 2 (semantic mapping), not styles.css.
     - To white-label for another tenant -> copy this file,
       swap LAYER 1, ship it. No other file changes.

   Colour values marked BRAND are taken verbatim from the
   AHADI Brand Identity & Guidelines (p.11-12) via the rebranded
   website's own theme (ahadi-website/app/globals.css). They are
   confirmed against the vector logo artwork — do not eyeball or
   re-sample them. Everything else is a tint/shade derived from
   them.

   Type: Sora (display) + Inter (body), guidelines p.14-15.
   Shape: rounded rectangles and true circles — 32px cards,
   full-round pill buttons. No organic/arch shapes.
   ============================================================ */

/* ── Self-hosted brand faces ─────────────────────────────────────────────────
   Sora (display) + Inter (body), variable weight 400-800, latin + latin-ext.
   Served from ./fonts rather than the Google Fonts CDN so the playground renders
   correctly with no third-party network call — it runs inside clinics and on
   restricted networks, and a service that falls back to system sans when the CDN
   is unreachable stops looking like AHADI at exactly the wrong moment.
   To refresh: re-download the woff2 files and replace them in place; the src
   paths below do not change.
   ──────────────────────────────────────────────────────────────────────────── */

/* Inter — latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(./fonts/inter-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Inter — latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(./fonts/inter-latin.woff2) format('woff2');
  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;
}

/* Sora — latin-ext */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(./fonts/sora-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Sora — latin */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(./fonts/sora-latin.woff2) format('woff2');
  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 {

  /* ══════════════════════════════════════════════════════════
     LAYER 1 — BRAND PALETTE
     The raw brand colours. Change these to retheme everything.
     ══════════════════════════════════════════════════════════ */

  /* ---- Surfaces (warm sand family) ---- */
  --brand-cream:      #f4f0dc;  /* BRAND Warm Sand — page background   */
  --brand-card:       #faf7e9;  /* card surface, Warm Sand toward white */
  --brand-card-2:     #fffdf6;  /* raised surface: inputs, inner cards  */
  --brand-sand:       #ebe5c8;  /* segmented track, inset wells         */
  --brand-line:       #ded7b6;  /* hairline rule on Warm Sand           */

  /* ---- Teals ---- */
  --brand-deep:       #023d4d;  /* BRAND Dark Teal                      */
  --brand-deepest:    #011f28;  /* darkest teal, shade of Dark Teal     */
  --brand-teal:       #00afbb;  /* BRAND Teal                           */
  --brand-teal-2:     #93d2d9;  /* BRAND Seafoam Blue                   */
  --brand-teal-ink:   #007e88;  /* teal eyebrow, AA on light surfaces   */
  --brand-cloud:      #a8c9ce;  /* muted seafoam text on dark           */
  --brand-mint:       #e6f2f3;  /* pale section, Seafoam tint           */
  --brand-mint-2:     #d6eaec;  /* teal tint chip                       */

  /* ---- Oranges ---- */
  --brand-orange:     #f07c3f;  /* BRAND Sunset Coral — primary CTA     */
  --brand-orange-dk:  #dc6529;  /* accent hover                         */
  --brand-orange-deep:#b04a13;  /* deep accent text, AA on Warm Sand    */
  --brand-gold:       #ff9e0f;  /* BRAND Solar Gold                     */

  /* ---- Warm darks (text that sits on orange) ---- */
  --brand-brown:      #26120a;  /* text on orange                       */
  --brand-brown-2:    #4a2409;  /* muted on orange, 4.95:1 on Coral (AA)*/

  /* ---- Neutral inks, derived from Dark Teal so text stays
          inside the brand family rather than going grey ---- */
  --brand-ink:        #12333d;  /* body text                            */
  --brand-slate:      #486a72;  /* muted body                           */
  --brand-slate-2:    #2f545e;  /* form labels                          */
  --brand-gray:       #87999f;  /* faint meta                           */

  /* ---- Status ---- */
  --brand-danger:     #c0361b;
  --brand-danger-2:   #e4573d;
  --brand-success:    #0f7a6a;

  /* ---- Type ---- */
  --brand-font-display: "Sora", ui-sans-serif, system-ui, sans-serif;
  --brand-font-body:    "Inter", ui-sans-serif, system-ui, -apple-system,
                        "Segoe UI", Roboto, sans-serif;
  --brand-font-mono:    ui-monospace, SFMono-Regular, "SF Mono", Menlo,
                        Consolas, monospace;

  /* ---- Shape + depth ---- */
  --brand-radius-card:  32px;   /* panels — matches site rounded-[32px] */
  --brand-radius-md:    20px;   /* inner cards                          */
  --brand-radius-sm:    12px;   /* inputs, small controls               */
  --brand-radius-pill:  999px;  /* buttons, chips, badges               */

  --brand-shadow-sm: 0 2px 10px -4px rgba(2, 61, 77, .18);
  --brand-shadow:    0 18px 44px -28px rgba(2, 61, 77, .40);
  --brand-shadow-lg: 0 26px 60px -30px rgba(2, 61, 77, .45);


  /* ══════════════════════════════════════════════════════════
     LAYER 2 — SEMANTIC TOKENS
     What the UI actually consumes. Every rule in styles.css
     resolves through one of these. Repoint a token here to
     change a role across the whole app.
     ══════════════════════════════════════════════════════════ */

  /* Surfaces */
  --bg:            var(--brand-cream);
  --bg-tint:       var(--brand-mint);      /* soft wash behind the page  */
  --panel:         var(--brand-card);      /* the three main columns     */
  --panel-2:       var(--brand-card-2);    /* inner cards, inputs        */
  --well:          var(--brand-sand);      /* inset track / progress bed */
  --border:        var(--brand-line);
  --border-strong: var(--brand-teal-2);

  /* Text */
  --text:          var(--brand-ink);
  --text-strong:   var(--brand-deep);
  --muted:         var(--brand-slate);
  --faint:         var(--brand-gray);
  --label:         var(--brand-slate-2);

  /* Accents */
  --accent:        var(--brand-teal-ink);  /* links, focus, active edge  */
  --accent-soft:   var(--brand-teal-2);    /* tints, rails, fills        */
  --accent-2:      var(--brand-orange-deep);
  --primary:       var(--brand-orange);    /* primary CTA fill           */
  --primary-hover: var(--brand-orange-dk);
  --on-primary:    var(--brand-brown);     /* text on the CTA fill       */

  /* Status */
  --ok:            var(--brand-success);
  --warn:          var(--brand-orange-deep);
  --danger:        var(--brand-danger);

  /* Chat bubbles */
  --bubble-user:      var(--brand-deep);
  --bubble-user-text: var(--brand-cream);
  --bubble-bot:       var(--brand-card-2);
  --bubble-bot-text:  var(--brand-ink);

  /* Code blocks — the one deliberately dark surface, so snippets
     read as code. Dark Teal ground keeps it inside the brand. */
  --code-bg:       var(--brand-deepest);
  --code-border:   var(--brand-deep);
  --code-text:     var(--brand-mint);
  --code-accent:   var(--brand-teal-2);

  /* Type + shape aliases used by styles.css */
  --font-display:  var(--brand-font-display);
  --font-body:     var(--brand-font-body);
  --font-mono:     var(--brand-font-mono);

  --radius-card:   var(--brand-radius-card);
  --radius-md:     var(--brand-radius-md);
  --radius-sm:     var(--brand-radius-sm);
  --radius-pill:   var(--brand-radius-pill);

  --shadow-sm:     var(--brand-shadow-sm);
  --shadow:        var(--brand-shadow);
  --shadow-lg:     var(--brand-shadow-lg);
}
