/* Icon set - inline SVG components */
const Icon = {
  Tooth: (p) => (
    <svg width={p.size||20} height={p.size||20} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round" strokeLinejoin="round">
      <path d="M12 3c-3 0-5 1.5-7 1.5C3 4.5 3 9 4.5 13c.8 2.1 1 5 1.5 6.5.4 1 1.6 1.2 2.2.2.5-.9 1-3.7 1.8-5.2.3-.6 1-1 1.7-1 .7 0 1.4.4 1.7 1 .8 1.5 1.3 4.3 1.8 5.2.6 1 1.8.8 2.2-.2.5-1.5.7-4.4 1.5-6.5 1.5-4 1.5-8.5-.5-8.5-2 0-4-1.5-7-1.5z"/>
    </svg>
  ),
  Implant: (p) => (
    <svg width={p.size||20} height={p.size||20} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round" strokeLinejoin="round">
      <path d="M12 2v4M9 6h6l-1 5h-4z"/>
      <path d="M10 11v9M14 11v9"/>
      <path d="M8 15h8"/>
    </svg>
  ),
  Smile: (p) => (
    <svg width={p.size||20} height={p.size||20} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round" strokeLinejoin="round">
      <circle cx="12" cy="12" r="9"/>
      <path d="M8 14s1.5 2 4 2 4-2 4-2"/>
      <path d="M9 9.5h.01M15 9.5h.01"/>
    </svg>
  ),
  Drop: (p) => (
    <svg width={p.size||20} height={p.size||20} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round" strokeLinejoin="round">
      <path d="M12 3l5 7a5 5 0 11-10 0z"/>
    </svg>
  ),
  Brush: (p) => (
    <svg width={p.size||20} height={p.size||20} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round" strokeLinejoin="round">
      <path d="M3 21l4-4M14 4l6 6-9 9H5v-6z"/>
    </svg>
  ),
  Sparkle: (p) => (
    <svg width={p.size||20} height={p.size||20} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round" strokeLinejoin="round">
      <path d="M12 3l1.8 5.2L19 10l-5.2 1.8L12 17l-1.8-5.2L5 10l5.2-1.8z"/>
      <path d="M18 17l.7 2 2 .7-2 .7-.7 2-.7-2-2-.7 2-.7z"/>
    </svg>
  ),
  Shield: (p) => (
    <svg width={p.size||20} height={p.size||20} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round" strokeLinejoin="round">
      <path d="M12 2l8 3v6c0 5-3.5 9-8 11-4.5-2-8-6-8-11V5z"/>
      <path d="M9 12l2 2 4-4"/>
    </svg>
  ),
  Tool: (p) => (
    <svg width={p.size||20} height={p.size||20} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round" strokeLinejoin="round">
      <path d="M14 7l3-3 3 3-3 3M14 7l-9 9v3h3l9-9"/>
    </svg>
  ),
  Child: (p) => (
    <svg width={p.size||20} height={p.size||20} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round" strokeLinejoin="round">
      <circle cx="12" cy="7" r="3"/>
      <path d="M7 21v-4a5 5 0 0110 0v4"/>
    </svg>
  ),
  Heart: (p) => (
    <svg width={p.size||20} height={p.size||20} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round" strokeLinejoin="round">
      <path d="M12 21s-7-4.5-7-10a4 4 0 017-2.6A4 4 0 0119 11c0 5.5-7 10-7 10z"/>
    </svg>
  ),
  Phone: (p) => (
    <svg width={p.size||18} height={p.size||18} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round">
      <path d="M22 16.9v3a2 2 0 01-2.2 2 19.8 19.8 0 01-8.6-3.1 19.5 19.5 0 01-6-6 19.8 19.8 0 01-3.1-8.7A2 2 0 014.1 2h3a2 2 0 012 1.7c.1.9.3 1.8.6 2.6a2 2 0 01-.5 2.1L8 9.6a16 16 0 006 6l1.2-1.2a2 2 0 012.1-.5c.8.3 1.7.5 2.6.6a2 2 0 011.7 2z"/>
    </svg>
  ),
  Whatsapp: (p) => (
    <svg width={p.size||18} height={p.size||18} viewBox="0 0 24 24" fill="currentColor">
      <path d="M17.5 14.4c-.3-.1-1.6-.8-1.8-.9-.2-.1-.4-.1-.6.2-.2.3-.7.9-.9 1.1-.2.2-.3.2-.6.1-.3-.1-1.2-.4-2.3-1.4-.9-.8-1.4-1.7-1.6-2-.2-.3 0-.5.1-.6.1-.1.3-.3.4-.5.1-.2.2-.3.3-.5.1-.2 0-.4 0-.5-.1-.1-.6-1.5-.9-2-.2-.5-.5-.5-.6-.5h-.5c-.2 0-.5.1-.7.3-.2.3-.9.9-.9 2.2 0 1.3.9 2.5 1.1 2.7.1.2 1.8 2.7 4.3 3.8.6.3 1.1.4 1.4.5.6.2 1.2.2 1.6.1.5-.1 1.6-.6 1.8-1.3.2-.6.2-1.2.2-1.3-.1-.1-.3-.2-.6-.3zM12 2.2C6.6 2.2 2.2 6.6 2.2 12c0 1.7.4 3.3 1.2 4.7L2.1 21.9l5.4-1.3a9.8 9.8 0 004.5 1.1c5.4 0 9.8-4.4 9.8-9.8S17.4 2.2 12 2.2zm0 17.9a8.1 8.1 0 01-4.1-1.1l-.3-.2-3.2.8.8-3.1-.2-.3a8.1 8.1 0 1114.9-4.2 8.1 8.1 0 01-7.9 8.1z"/>
    </svg>
  ),
  Pin: (p) => (
    <svg width={p.size||18} height={p.size||18} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.7" strokeLinecap="round" strokeLinejoin="round">
      <path d="M12 22s-8-7-8-13a8 8 0 1116 0c0 6-8 13-8 13z"/>
      <circle cx="12" cy="9" r="3"/>
    </svg>
  ),
  Calendar: (p) => (
    <svg width={p.size||18} height={p.size||18} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.7" strokeLinecap="round" strokeLinejoin="round">
      <rect x="3" y="4" width="18" height="18" rx="2"/>
      <path d="M16 2v4M8 2v4M3 10h18"/>
    </svg>
  ),
  Clock: (p) => (
    <svg width={p.size||18} height={p.size||18} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.7" strokeLinecap="round" strokeLinejoin="round">
      <circle cx="12" cy="12" r="9"/>
      <path d="M12 7v5l3 2"/>
    </svg>
  ),
  Star: (p) => (
    <svg width={p.size||18} height={p.size||18} viewBox="0 0 24 24" fill="currentColor">
      <path d="M12 2l3.1 6.3 6.9 1-5 4.9 1.2 6.9L12 17.8 5.8 21l1.2-6.9-5-4.9 6.9-1z"/>
    </svg>
  ),
  Award: (p) => (
    <svg width={p.size||20} height={p.size||20} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round" strokeLinejoin="round">
      <circle cx="12" cy="8" r="6"/>
      <path d="M8.2 13L6 21l6-3 6 3-2.2-8"/>
    </svg>
  ),
  Check: (p) => (
    <svg width={p.size||16} height={p.size||16} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.4" strokeLinecap="round" strokeLinejoin="round">
      <path d="M5 12l4 4L19 7"/>
    </svg>
  ),
  Arrow: (p) => (
    <svg width={p.size||14} height={p.size||14} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
      <path d="M5 12h14M13 6l6 6-6 6"/>
    </svg>
  ),
  Plus: (p) => (
    <svg width={p.size||14} height={p.size||14} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.4" strokeLinecap="round" strokeLinejoin="round">
      <path d="M12 5v14M5 12h14"/>
    </svg>
  ),
  Close: (p) => (
    <svg width={p.size||18} height={p.size||18} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
      <path d="M18 6L6 18M6 6l12 12"/>
    </svg>
  ),
  Compass: (p) => (
    <svg width={p.size||18} height={p.size||18} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.7" strokeLinecap="round" strokeLinejoin="round">
      <circle cx="12" cy="12" r="9"/>
      <path d="M16 8l-2 6-6 2 2-6z"/>
    </svg>
  ),
  Logo: (p) => (
    /* Stylized tooth crest derived from clinic concept */
    <svg width={p.size||30} height={p.size||30} viewBox="0 0 64 64" fill="none">
      <defs>
        <linearGradient id="gd" x1="0" x2="1" y1="0" y2="1">
          <stop offset="0" stopColor="#D9A84E"/>
          <stop offset="1" stopColor="#9C6A1F"/>
        </linearGradient>
      </defs>
      <path d="M32 8c-7 0-11 4-15 4-3.5 0-4 8-2 14 1.6 5 1.6 10 3 17 .8 4 4.4 4 5.4 1 1-3 1.5-9 3-13 .7-1.8 2.4-2.8 5.6-2.8 3.2 0 4.9 1 5.6 2.8 1.5 4 2 10 3 13 1 3 4.6 3 5.4-1 1.4-7 1.4-12 3-17 2-6 1.5-14-2-14-4 0-8-4-15-4z" fill="url(#gd)"/>
    </svg>
  )
};

Object.assign(window, { Icon });
