/* KayaCore icons — Lucide outline paths (stroke 1.8, currentColor).
   Lucide is MIT-licensed; we inline the paths we use so the kit is self-contained.
   In production: load lucide from CDN instead. */
const KC_ICON_PATHS = {
  arrowRight: ['M5 12h14', 'M12 5l7 7-7 7'],
  arrowUpRight: ['M7 7h10v10', 'M7 17 17 7'],
  check: ['M20 6 9 17l-5-5'],
  chevronDown: ['m6 9 6 6 6-6'],
  menu: ['M4 6h16', 'M4 12h16', 'M4 18h16'],
  x: ['M18 6 6 18', 'M6 6l12 12'],
  sparkles: ['M12 3v4', 'M12 17v4', 'm4.9 4.9 2.8 2.8', 'm16.3 16.3 2.8 2.8', 'M3 12h4', 'M17 12h4', 'm4.9 19.1 2.8-2.8', 'm16.3 7.7 2.8-2.8'],
  shield: ['M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z'],
  lock: ['rect:3,11,18,11,2', 'M7 11V7a5 5 0 0 1 10 0v4'],
  clock: ['circle:12,12,9', 'M12 7v5l3 2'],
  plug: ['M12 22v-5', 'M9 8V2', 'M15 8V2', 'M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8z'],
  lineChart: ['M3 3v18h18', 'm7 14 4-4 3 3 5-6'],
  building: ['M3 21h18', 'M5 21V7l8-4v18', 'M19 21V11l-6-4', 'M9 9v.01', 'M9 12v.01', 'M9 15v.01', 'M9 18v.01'],
  scale: ['m16 16 3-8 3 8c-2 1.5-4 1.5-6 0', 'm2 16 3-8 3 8c-2 1.5-4 1.5-6 0', 'M7 21h10', 'M12 3v18', 'M3 7h2c2 0 5-1 7-2 2 1 5 2 7 2h2'],
  factory: ['M2 20a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2', 'M17 18h1', 'M12 18h1', 'M7 18h1', 'M3 18V9l6 4V9l6 4V9l6 4v5'],
  truck: ['M14 18V6a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h1', 'M14 9h4l4 4v4a1 1 0 0 1-1 1h-1', 'circle:7.5,18,2', 'circle:17.5,18,2'],
  megaphone: ['m3 11 18-5v12L3 14v-3z', 'M11.6 16.8a3 3 0 1 1-5.8-1.6'],
  briefcase: ['rect:2,7,20,14,2', 'M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16'],
  fileText: ['M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z', 'M14 2v5h5', 'M9 13h6', 'M9 17h6', 'M9 9h2'],
  inbox: ['M22 12h-6l-2 3h-4l-2-3H2', 'M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z'],
  play: ['M6 4l14 8-14 8z'],
  mail: ['rect:2,4,20,16,2', 'm22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'],
  calendar: ['M8 2v4', 'M16 2v4', 'rect:3,4,18,18,2', 'M3 10h18'],
  repeat: ['m17 2 4 4-4 4', 'M3 11v-1a4 4 0 0 1 4-4h14', 'm7 22-4-4 4-4', 'M21 13v1a4 4 0 0 1-4 4H3'],
  layers: ['m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z', 'm22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65', 'm22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65'],
  loop: ['M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8', 'M21 3v5h-5', 'M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16', 'M8 16H3v5'],
  activity: ['M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2'],
  wrench: ['M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z'],
  headset: ['M3 11h3v8a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-7a8 8 0 0 1 16 0v7a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-8h3', 'M3 11a9 9 0 0 1 18 0'],
  star: ['M12 2l3 6.5 7 .9-5 5 1.2 7L12 18l-6.4 3.4L7 14l-5-5 7-.9z'],
  users: ['M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2', 'circle:9,7,4', 'M22 21v-2a4 4 0 0 0-3-3.87', 'M16 3.13a4 4 0 0 1 0 7.75'],
};

function KcIcon({ name, size = 20, stroke = 1.8, style }) {
  const segs = KC_ICON_PATHS[name] || [];
  return (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none"
      stroke="currentColor" strokeWidth={stroke} strokeLinecap="round" strokeLinejoin="round"
      style={style} aria-hidden="true">
      {segs.map((s, i) => {
        if (s.startsWith('circle:')) {
          const [cx, cy, r] = s.slice(7).split(',');
          return <circle key={i} cx={cx} cy={cy} r={r} />;
        }
        if (s.startsWith('rect:')) {
          const [x, y, w, h, rx] = s.slice(5).split(',');
          return <rect key={i} x={x} y={y} width={w} height={h} rx={rx} />;
        }
        return <path key={i} d={s} />;
      })}
    </svg>
  );
}

Object.assign(window, { KcIcon, KC_ICON_PATHS });
