/* =========================================================================
   Design tokens
   ========================================================================= */
:root{
  /* --- Neutrals ------------------------------------------------------- */
  --ink:#14181C; --ink-soft:#55565A; --paper:#FAFAF9; --panel:#FFFFFF;
  --line:#E3E3E3; --line-soft:#F1F1F1;

  /* --- ICE brand ------------------------------------------------------ */
  --ice-yellow:#FFCD00; --ice-gold:#FFB900; --ice-black:#000000;
  --ice-yellow-soft:#FFF8DC;

  /* Extended ICE support palette. Olive beige is the price-row background:
     black text on it measures 9.3:1, verified. Do not swap it for a
     "similar" colour without re-checking contrast - ICE yellow on white
     measures 1.5:1 and fails badly, so this palette swings hard. */
  --ice-olive:#B9AC87; --ice-cream:#FFEB9B; --ice-sage:#ACAC8C; --ice-sand:#CBB8A4;

  /* --- EU EPREL energy classes ---------------------------------------- *
   * LEGALLY REGULATED. These are the A-G badge colours from the EU EPREL
   * scheme and are NOT part of the ICE brand palette. Never restyle them
   * to match the app, and never reuse them as UI colours - see the
   * separate --success / --danger tokens below for that.
   *
   * OPEN ITEM: --class-a and --class-g have never been verified against
   * the actual regulation text. A separate reference document used
   * #009640 / #E30613 for the same two classes. Resolve against the
   * regulation before finalising; changing them here now has no side
   * effects anywhere else in the app.                                    */
  --class-a:#1D8A3B; --class-b:#5CB82F; --class-c:#A9CC2E; --class-d:#E7D80D;
  --class-e:#F5A623; --class-f:#EE6C2A; --class-g:#E52421;

  /* --- UI semantic colours -------------------------------------------- *
   * Deliberately separate from the regulated EPREL values above, so that
   * correcting a regulated colour never silently restyles checkmarks,
   * toasts or hover states.                                              */
  --success:#1D8A3B;
  --success-soft:#EEF8EE;
  --success-soft-hover:#E1F2E3;
  --danger:#E52421;
  --warning:#F5A623;
  --warning-text:#8A5300;

  /* --- Status dot ------------------------------------------------------ */
  --status-red:#E5484D; --status-orange:#F5A623; --status-green:#2FB344;

  /* --- Shape ----------------------------------------------------------- */
  --radius:8px;
  --radius-lg:12px;
  --radius-sm:6px;

  /* --- Elevation -------------------------------------------------------
     The "floating" treatment. Use these two rather than redefining shadow
     values per component. */
  --shadow-float:0 8px 24px rgba(0,0,0,.12);
  --shadow-float-hover:0 12px 30px rgba(0,0,0,.16);
  --shadow-popover:0 20px 48px rgba(0,0,0,.28);
  --shadow-tooltip:0 8px 18px rgba(0,0,0,.22);

  /* --- Type ------------------------------------------------------------
     Inter stands in for the real brand font ("Frost"), which was not
     available. Swapping Frost in here is a pure visual upgrade with no
     logic implications. */
  --font-display:'Inter', system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono:"Consolas", "SFMono-Regular", Menlo, monospace;

  /* --- Muted greys used in one or two places --------------------------- */
  --grey-placeholder:#9AA0A6;
  --grey-track:#D9D9D9;
  --grey-competitor:#3A3A3A;
  --grey-icon:#BFBFBF;
}

*{ box-sizing:border-box; }

body{
  margin:0;
  font-family:var(--font-display);
  background:var(--paper);
  color:var(--ink);
  padding-bottom:150px;
}
