// Icons — minimal stroke set, share-able across files.

const IconBolt = ({ size=18, color="currentColor" }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke={color} strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
    <path d="M13 2L4 14h7l-1 8 9-12h-7l1-8z"/>
  </svg>
);

const IconHome = ({ size=18, color="currentColor" }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke={color} strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
    <path d="M3 11l9-8 9 8v9a2 2 0 01-2 2h-4v-7H9v7H5a2 2 0 01-2-2v-9z"/>
  </svg>
);

const IconMap = ({ size=18, color="currentColor" }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke={color} strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
    <path d="M1 6l7-3 8 3 7-3v15l-7 3-8-3-7 3V6z"/>
    <path d="M8 3v18M16 6v18"/>
  </svg>
);

const IconChart = ({ size=18, color="currentColor" }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke={color} strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
    <path d="M3 3v18h18"/>
    <path d="M7 14l4-4 4 4 6-7"/>
  </svg>
);

const IconTarget = ({ size=18, color="currentColor" }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke={color} strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
    <circle cx="12" cy="12" r="9"/><circle cx="12" cy="12" r="5"/><circle cx="12" cy="12" r="1.4" fill={color}/>
  </svg>
);

const IconHandshake = ({ size=18, color="currentColor" }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke={color} strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
    <path d="M2 11l3-3 6 6-2 2-1 1-2-2-4-4z"/>
    <path d="M9 16l4 4 9-9-4-4-9 9z"/>
    <path d="M14 7l3-3 4 4-3 3"/>
  </svg>
);

const IconChat = ({ size=18, color="currentColor" }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke={color} strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
    <path d="M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2v10z"/>
  </svg>
);

const IconNews = ({ size=18, color="currentColor" }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke={color} strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
    <path d="M4 22h16a2 2 0 002-2V5a1 1 0 00-1-1H4a2 2 0 00-2 2v14a2 2 0 002 2z"/>
    <path d="M6 8h12M6 12h12M6 16h6"/>
  </svg>
);

const IconPlug = ({ size=20, color="currentColor" }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke={color} strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
    <path d="M9 2v6M15 2v6"/>
    <path d="M5 8h14v4a7 7 0 01-14 0V8z"/>
    <path d="M12 19v3"/>
  </svg>
);

const IconLeaf = ({ size=20, color="currentColor" }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke={color} strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
    <path d="M20 4C12 4 4 8 4 18c0 1 0 2 1 2 8 0 16-4 16-14 0-1 0-2-1-2z"/>
    <path d="M4 20l8-8"/>
  </svg>
);

const IconAtom = ({ size=20, color="currentColor" }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke={color} strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
    <ellipse cx="12" cy="12" rx="10" ry="4"/>
    <ellipse cx="12" cy="12" rx="10" ry="4" transform="rotate(60 12 12)"/>
    <ellipse cx="12" cy="12" rx="10" ry="4" transform="rotate(120 12 12)"/>
    <circle cx="12" cy="12" r="1.5" fill={color}/>
  </svg>
);

const IconTick = ({ size=12, color="currentColor" }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke={color} strokeWidth="3" strokeLinecap="round" strokeLinejoin="round">
    <path d="M5 12l4 4 10-10"/>
  </svg>
);

const IconArrow = ({ size=20, color="currentColor" }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke={color} strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
    <path d="M5 12h14M13 6l6 6-6 6"/>
  </svg>
);

const IconExternal = ({ size=14, color="currentColor" }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke={color} strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
    <path d="M14 4h6v6M20 4l-8 8M10 4H6a2 2 0 00-2 2v12a2 2 0 002 2h12a2 2 0 002-2v-4"/>
  </svg>
);

// Brand mark — abstract switchgear bay
const BrandLogo = () => (
  <svg width="24" height="24" viewBox="0 0 24 24" fill="none">
    <rect x="3" y="6" width="18" height="12" rx="1.5" stroke="#fff" strokeWidth="1.6" />
    <path d="M8 6v12M16 6v12" stroke="#fff" strokeWidth="1.6" opacity="0.5" />
    <circle cx="8" cy="12" r="1.8" fill="#62D32F" />
    <circle cx="16" cy="12" r="1.8" fill="#62D32F" />
    <path d="M9.5 12h5" stroke="#62D32F" strokeWidth="1.6" />
  </svg>
);

const PILLAR_ICONS = {
  strategic:   IconHome,
  inventories: IconMap,
  scenarios:   IconChart,
  plans:       IconTarget,
  partners:    IconHandshake,
};

Object.assign(window, {
  IconBolt, IconHome, IconMap, IconChart, IconTarget, IconHandshake,
  IconChat, IconNews, IconPlug, IconLeaf, IconAtom, IconTick, IconArrow,
  IconExternal, BrandLogo, PILLAR_ICONS,
});
