/* =========================================================================
   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;
  /* Contrast warning: ICE yellow text on white measures only 1.5:1 - use
     it as a fill behind black text, never as a text colour on white. */

  /* --- 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;
  --danger:#E52421;
  --warning:#F5A623;
  --warning-text:#8A5300;

  /* --- Shape -----------------------------------------------------------
     ICE's look is rounded throughout. --radius-lg is the standard for
     cards, rows and panels in every column, so they all share one corner
     language; --radius for buttons, --radius-sm for inputs and small tags. */
  --radius:8px;
  --radius-lg:12px;
  --radius-sm:6px;

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

  /* --- Type ------------------------------------------------------------
     Open Sans (loaded from Google Fonts in index.html) stands in for ICE's
     brand font "Frost", which isn't available as a web font. If Frost ever
     is, swapping it in here is purely visual. */
  --font-display:'Open Sans', 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-competitor:#3A3A3A;
  --grey-icon:#BFBFBF;

  /* --- App shell layout ------------------------------------------------ */
  --topbar-h:60px;
  --sidebar-w:150px;
  --sidebar-w-collapsed:64px;
  --sidebar-transition:180ms ease;
}

*{ box-sizing:border-box; }

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