// Inline SVG icons matching botanical leaf/line aesthetic
const Icon = {
  ChevronRight: ({size=16}) => (
    <svg width={size} height={size} viewBox="0 0 16 16" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"><path d="M6 4l4 4-4 4"/></svg>
  ),
  ChevronLeft: ({size=16}) => (
    <svg width={size} height={size} viewBox="0 0 16 16" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"><path d="M10 4l-4 4 4 4"/></svg>
  ),
  Plus: ({size=18}) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round"><path d="M12 5v14M5 12h14"/></svg>
  ),
  Check: ({size=14}) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round"><path d="M20 6L9 17l-5-5"/></svg>
  ),
  CheckCircle: ({size=22}) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="currentColor"><circle cx="12" cy="12" r="11"/><path d="M7 12l3 3 7-7" stroke="#fff" strokeWidth="2.4" fill="none" strokeLinecap="round" strokeLinejoin="round"/></svg>
  ),
  Document: ({size=18}) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round" strokeLinejoin="round"><path d="M14 3H6a2 2 0 00-2 2v14a2 2 0 002 2h12a2 2 0 002-2V9z"/><path d="M14 3v6h6"/><path d="M8 13h8M8 17h6"/></svg>
  ),
  Sprout: ({size=18}) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round" strokeLinejoin="round"><path d="M12 20v-7"/><path d="M12 13c-3 0-5-2-5-5 3 0 5 2 5 5z"/><path d="M12 13c3 0 5-2 5-5-3 0-5 2-5 5z"/></svg>
  ),
  House: ({size=42}) => (
    <svg width={size} height={size} viewBox="0 0 64 64" fill="none" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round">
      <path d="M 10 50 H 46" />
      <path d="M 22 50 V 22 L 32 14 L 42 22 V 50" />
      <path d="M 12 50 V 32 H 22" />
      <path d="M 42 32 H 48 V 40" />
      <rect x="15" y="38" width="4" height="6" />
      <rect x="44" y="38" width="4" height="6" />
      <path d="M 32 36 l -4 -4 a 2.5 2.5 0 0 1 0 -3.5 a 2.5 2.5 0 0 1 3.5 0 l 0.5 0.5 l 0.5 -0.5 a 2.5 2.5 0 0 1 3.5 0 a 2.5 2.5 0 0 1 0 3.5 Z" fill="currentColor" stroke="none"/>
      <path d="M 46 52 C 46 42, 58 40, 58 52 C 58 58, 50 56, 46 52 Z" fill="currentColor" stroke="none" />
    </svg>
  ),
  Person: ({size=42}) => (
    <svg width={size} height={size} viewBox="0 0 64 64" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
      <circle cx="32" cy="22" r="9" fill="currentColor" stroke="none"/>
      <path d="M14 54c2-10 9-16 18-16s16 6 18 16" fill="currentColor" stroke="none"/>
    </svg>
  ),
  Shield: ({size=42}) => (
    <svg width={size} height={size} viewBox="0 0 64 64" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
      <path d="M32 8l18 6v16c0 12-9 22-18 26-9-4-18-14-18-26V14z"/>
      <path d="M22 32l8 8 14-14"/>
    </svg>
  ),
  Chat: ({size=42}) => (
    <svg width={size} height={size} viewBox="0 0 64 64" fill="none" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round">
      <path d="M 26 16 C 17 16, 10 23, 10 32 C 10 36, 11.5 39.5, 14 42 L 12 48 L 18 46 C 20 47.5, 23 48, 26 48 C 30 48, 34 46.5, 37 43" />
      <path d="M 42 20 C 33 20, 26 27, 26 36 C 26 45, 33 52, 42 52 C 46 52, 50 50, 53 48 L 58 52 L 56 45 C 57.5 42.5, 58 39.5, 58 36 C 58 27, 51 20, 42 20 Z" fill="#fcfcfc" />
      <path d="M 42 46 V 34" />
      <path d="M 42 40 C 36 40, 34 36, 34 32 C 34 32, 38 32, 42 36" fill="currentColor" stroke="none" />
      <path d="M 42 38 C 48 38, 50 34, 50 30 C 50 30, 46 30, 42 34" fill="currentColor" stroke="none" />
    </svg>
  ),
  Lamp: ({size=42}) => (
    <svg width={size} height={size} viewBox="0 0 64 64" fill="none" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round">
      <rect x="12" y="28" width="28" height="20" rx="2" />
      <circle cx="26" cy="36" r="3" fill="currentColor" stroke="none"/>
      <path d="M 20 48 c 0 -4, 3 -7, 6 -7 s 6 3, 6 7" fill="currentColor" stroke="none"/>
      <path d="M 28 52 L 40 28" strokeWidth="3" />
      <path d="M 28 52 L 26 56 L 30 51" fill="currentColor" stroke="none"/>
      <path d="M 44 48 h 10" />
      <rect x="46" y="44" width="6" height="4" />
      <path d="M 49 44 V 24 C 49 18, 45 18, 45 18 H 38" />
      <rect x="34" y="14" width="8" height="6" />
      <path d="M 36 20 v 2 h 4 v -2" />
    </svg>
  ),
  Clipboard: ({size=42}) => (
    <svg width={size} height={size} viewBox="0 0 64 64" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
      <rect x="14" y="14" width="36" height="40" rx="3"/>
      <rect x="22" y="10" width="20" height="8" rx="2" fill="currentColor" stroke="none"/>
      <path d="M22 30h20M22 38h20M22 46h12"/>
    </svg>
  ),
  Chart: ({size=42}) => (
    <svg width={size} height={size} viewBox="0 0 64 64" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
      <path d="M10 50h44"/>
      <rect x="16" y="36" width="6" height="14" fill="currentColor" stroke="none"/>
      <rect x="26" y="28" width="6" height="22" fill="currentColor" stroke="none"/>
      <rect x="36" y="20" width="6" height="30" fill="currentColor" stroke="none"/>
      <path d="M14 22l8-6 8 4 12-12" />
      <path d="M38 8h8v8"/>
    </svg>
  ),
  Mail: ({size=28}) => (
    <svg width={size} height={size} viewBox="0 0 32 32" fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round">
      <rect x="4" y="8" width="24" height="16" rx="2"/><path d="M4 10l12 8 12-8"/>
    </svg>
  ),
  ClipCheck: ({size=28}) => (
    <svg width={size} height={size} viewBox="0 0 32 32" fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round">
      <rect x="7" y="7" width="18" height="20" rx="2"/><path d="M11 5h10v4H11z"/><path d="M11 16l3 3 6-7"/>
    </svg>
  ),
  Devices: ({size=28}) => (
    <svg width={size} height={size} viewBox="0 0 32 32" fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round">
      <rect x="3" y="7" width="18" height="14" rx="1.5"/><path d="M5 24h14"/>
      <rect x="22" y="11" width="7" height="13" rx="1.5"/>
    </svg>
  ),
  Pencil: ({size=28}) => (
    <svg width={size} height={size} viewBox="0 0 32 32" fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round">
      <path d="M22 4l6 6-16 16H6v-6z"/>
      <path d="M18 8l6 6"/>
      <path d="M6 26l3-3"/>
    </svg>
  ),
  Headset: ({size=28}) => (
    <svg width={size} height={size} viewBox="0 0 32 32" fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round">
      <path d="M5 18v-2a11 11 0 0122 0v2"/>
      <rect x="3" y="18" width="6" height="9" rx="1.5"/>
      <rect x="23" y="18" width="6" height="9" rx="1.5"/>
      <path d="M26 27v1a3 3 0 01-3 3h-3"/>
    </svg>
  ),
  Monitor: ({size=28}) => (
    <svg width={size} height={size} viewBox="0 0 32 32" fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round">
      <rect x="4" y="6" width="24" height="16" rx="2"/><path d="M12 26h8M16 22v4"/>
    </svg>
  ),
  Hand: ({size=42}) => (
    <svg width={size} height={size} viewBox="0 0 64 64" fill="currentColor" stroke="none">
      <path d="M32 12c-6 0-10 4-10 10 0 4 2 7 5 9-7 1-12 8-12 16h34c0-8-5-15-12-16 3-2 5-5 5-9 0-6-4-10-10-10zm0 4a3 3 0 11-3 3 3 3 0 013-3zm0 14a4 4 0 100 8 4 4 0 000-8z" opacity=".15"/>
      <path d="M32 38c-6 0-10 5-10 10h20c0-5-4-10-10-10z" />
      <path d="M28 30a4 4 0 118 0c0 3-1 5-4 7-3-2-4-4-4-7z"/>
    </svg>
  ),
  HandHeart: ({size=42}) => (
    <svg width={size} height={size} viewBox="0 0 64 64" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
      <path d="M14 36c0-2 2-4 4-4l8 4 8 4h10c2 0 4 2 4 4s-2 4-4 4H22l-8-4z"/>
      <path d="M26 30c-3-3-3-7 0-9 2-2 5-2 6 0 1-2 4-2 6 0 3 2 3 6 0 9l-6 6z" fill="currentColor" stroke="none" opacity=".7"/>
    </svg>
  ),
  Calc: ({size=42}) => (
    <svg width={size} height={size} viewBox="0 0 64 64" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
      <rect x="14" y="10" width="36" height="44" rx="3"/>
      <rect x="20" y="16" width="24" height="8" />
      <circle cx="22" cy="32" r="1.5" fill="currentColor"/><circle cx="32" cy="32" r="1.5" fill="currentColor"/><circle cx="42" cy="32" r="1.5" fill="currentColor"/>
      <circle cx="22" cy="40" r="1.5" fill="currentColor"/><circle cx="32" cy="40" r="1.5" fill="currentColor"/><circle cx="42" cy="40" r="1.5" fill="currentColor"/>
      <circle cx="22" cy="48" r="1.5" fill="currentColor"/><circle cx="32" cy="48" r="1.5" fill="currentColor"/><circle cx="42" cy="48" r="1.5" fill="currentColor"/>
    </svg>
  ),
  Book: ({size=46}) => (
    <svg width={size} height={size} viewBox="0 0 64 64" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
      <path d="M10 14c8-2 14-1 22 4 8-5 14-6 22-4v36c-8-2-14-1-22 4-8-5-14-6-22-4z"/>
      <path d="M32 18v36"/>
    </svg>
  ),
  Brain: ({size=46}) => (
    <svg width={size} height={size} viewBox="0 0 64 64" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
      {/* outer circle */}
      <circle cx="32" cy="32" r="20"/>
      {/* cardinal ticks */}
      <path d="M32 12v4"/>
      <path d="M32 48v4"/>
      <path d="M12 32h4"/>
      <path d="M48 32h4"/>
      {/* compass needle (diamond shape) */}
      <polygon points="32,18 36,32 32,46 28,32" stroke="currentColor" fill="none"/>
      <polygon points="32,18 36,32 32,26 28,32" stroke="currentColor" fill="currentColor" opacity="0.2"/>
      {/* center dot */}
      <circle cx="32" cy="32" r="2" fill="currentColor"/>
    </svg>
  ),
  Search: ({size=42}) => (
    <svg width={size} height={size} viewBox="0 0 64 64" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
      <circle cx="28" cy="26" r="12"/><path d="M37 35l11 11"/>
      <path d="M22 22l3 3 6-6"/>
    </svg>
  ),
  Sign: ({size=42}) => (
    <svg width={size} height={size} viewBox="0 0 64 64" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
      <path d="M32 8v50"/>
      <path d="M14 14h26l6 6-6 6H14z"/>
      <path d="M48 30H22l-6 6 6 6h26z"/>
    </svg>
  ),
  Q: () => (
    <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
      <circle cx="12" cy="12" r="10"/><path d="M9 9a3 3 0 116 0c0 2-3 3-3 5"/><circle cx="12" cy="17" r=".5" fill="currentColor"/>
    </svg>
  ),
  PersonCircle: () => (
    <svg width="44" height="44" viewBox="0 0 64 64" fill="currentColor"><circle cx="32" cy="32" r="32" opacity=".15"/><circle cx="32" cy="26" r="9"/><path d="M14 54c2-9 9-14 18-14s16 5 18 14z"/></svg>
  ),
  Menu: ({size=24}) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"><path d="M3 12h18M3 6h18M3 18h18"/></svg>
  ),
  X: ({size=24}) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"><path d="M18 6L6 18M6 6l12 12"/></svg>
  )
};

window.Icon = Icon;
