/* ══════════════════════════════════════════════════════════════
 * SEMS Edge Portal — centralized palette (single source of truth)
 * Source: cloud portal SBN-EMS-INTERNAL branch ui-redesign
 * (src/app/globals.css --custom-* tokens, tailwind.config.ts) for chrome,
 * status, sidebar, and optimizer-chart colors; energy semantics retained
 * from SEMS_Edge_Phase4_Visual_Mockup §00 (== cloud PlantDiagram).
 * This file is the CSS side of the palette. Mirrors:
 *   - main/static/js/palette.js  (window.PALETTE, for Chart.js)
 *   - main/palette.py            (reference for backend datasets)
 * Light-mode only (mockup §04 deliberately excludes dark mode).
 * ══════════════════════════════════════════════════════════════ */
:root {
  /* ── Base chrome (cloud --custom-* tokens, ui-redesign) ── */
  --color-primary:      #334155;   /* == cloud --custom-primary */
  --color-bg:           #fafafa;   /* cloud --custom-base */
  --color-text:         #364153;   /* cloud --custom-gray-1 */
  --color-text-muted:   #64748b;   /* cloud --custom-gray-5 (identical) */
  --card-border:        #e2e8f0;   /* cloud --custom-neutral */
  --surface-muted:      #f4f4f4;   /* cloud --custom-white-2, neutral fill */
  --surface-hover:      #f3f3f3;   /* cloud --custom-gray-4, hover fill */
  --link:               #0d6efd;   /* cloud --custom-info */
  --hdr:                #94a3b8;   /* slate-400, also cloud NetLoad series */
  --sidebar-bg:         #ffffff;   /* cloud renders LIGHT — dark --sidebar-* tokens in-branch are unused */
  --sidebar-border:     #e2e8f0;   /* measured live sidebar divider (== card-border value, separate role) */
  --sidebar-text:       #0F172A;   /* measured live sidebar nav (slate-900) */
  --sidebar-text-muted: #8492a9;   /* cloud --custom-gray-2 */
  --topbar-bg:          #ffffff;
  --card-bg:            #ffffff;
  --radius-card:        12px;
  --radius-btn:         8px;
  --sidebar-width:      240px;
  --topbar-height:      58px;
  --sidebar-collapsed-width: 64px;

  /* ── Energy semantics (mockup §00, verbatim) ── */
  --energy-grid:        #FF9F40;
  --energy-grid-tint:   #FBECC7;
  --energy-load:        #5388D8;
  --energy-load-tint:   #CBDBF3;
  --energy-solar:       #45993D;
  --energy-solar-tint:  #CBF3CC;
  --energy-battery:     #9966FF;
  --energy-battery-tint:#E4D9FF;
  --energy-ev:          #4BC0C0;
  --energy-ev-tint:     #D2F0F0;
  /* Alias: cloud code calls solar "PV"; both names resolve identically. */
  --energy-pv:          var(--energy-solar);
  --energy-pv-tint:     var(--energy-solar-tint);

  /* ── Status semantics (cloud --custom-* state colors, ui-redesign) ── */
  --status-success:     #198754;   /* cloud --custom-success */
  --status-warning:     #ffc107;   /* cloud --custom-caution */
  --status-danger:      #dc3545;   /* cloud --custom-error */
  --status-muted:       #909294;   /* cloud --custom-gray-3 */
  --status-track:       #f3f3f3;   /* cloud --custom-gray-4, bar track fill */
  --status-synced-bg:   #198754;   /* cloud success-button pattern: solid + white */
  --status-synced-fg:   #ffffff;
  --status-pending-bg:  #ffc107;   /* cloud caution-button pattern: solid + white */
  --status-pending-fg:  #ffffff;
  --status-failed-bg:   #F6E5E7;   /* cloud --custom-light-error */
  --status-failed-fg:   #dc3545;
  /* "LIVE" badge (Energy Home, mockup §00) — distinct from --status-success;
   * not a cloud --custom-* token, Tailwind green-100/700/500 verbatim. */
  --status-live-bg:     #dcfce7;
  --status-live-fg:     #15803d;
  --status-live-dot:    #22c55e;

  /* ── Cloud optimizer-chart series (ui-redesign RollingHorizonChart /
   * PriceCurve / SolarForecast — Tailwind hues, NOT the energy tokens) ── */
  --cloud-usage:         #3b82f6;
  --cloud-solar:         #eab308;
  --cloud-solar-fill:    #fef08a;
  --cloud-ev:            #a855f7;
  --cloud-schedule:      #22c55e;
  --cloud-schedule-fill: #bbf7d0;
  --cloud-soc:           #14b8a6;
  --cloud-buy:           #f97316;
  --cloud-sell:          var(--cloud-schedule);
  --cloud-sell-fill:     #bbf7d0;

  /* ── Chart aliases (system charts alias energy colors; optimizer series
   * use the --cloud-* tokens above to match cloud ui-redesign) ──
   * System charts (online/offline, inbound/outbound, gateway uptime) have no
   * energy meaning, so they alias the closest mockup colors:
   *   old #5a84e6 (blue)      → --energy-load
   *   old #0f2530 (navy)      → --color-primary
   *   old #eabe67 / #eac576   → --energy-grid
   *   old #4d78d8             → --energy-load
   * Energy series (optimizer rolling horizon) use energy tokens directly. */
  --chart-online:              var(--energy-solar);
  --chart-offline:             var(--color-primary);
  --chart-inbound:             var(--energy-grid);
  --chart-inbound-tint:        var(--energy-grid-tint);
  --chart-outbound:            var(--energy-load);
  --chart-outbound-tint:       var(--energy-load-tint);
  --chart-gateway-primary:     var(--energy-load);
  --chart-gateway-secondary:   var(--color-primary);
  --chart-solar:               var(--energy-solar);
  --chart-grid:                var(--energy-grid);
  --chart-load:                var(--energy-load);
  --chart-battery:             var(--energy-battery);
  --chart-ev:                  var(--energy-ev);
  --chart-cpu:                 var(--energy-grid);    /* health bars: distinct from energy meaning */
  --chart-memory:              var(--energy-load);
  --chart-disk:                var(--color-primary);
  --chart-neutral:             var(--hdr);
}
