/* SER-OS — Icons (Lucide-style, monochrome line icons) */

const SerIcons = {
  Search: ({ size = 16, color = "currentColor" }) =>
  <svg width={size} height={size} viewBox="0 0 20 20" fill="none">
      <circle cx="9" cy="9" r="5.5" stroke={color} strokeWidth="1.5" />
      <path d="M13 13l4 4" stroke={color} strokeWidth="1.5" strokeLinecap="round" />
    </svg>,

  Edit: ({ size = 16, color = "currentColor" }) =>
  <svg width={size} height={size} viewBox="0 0 20 20" fill="none">
      <path d="M14 3l3 3-9 9H5v-3z" stroke={color} strokeWidth="1.4" strokeLinejoin="round" />
      <path d="M12 5l3 3" stroke={color} strokeWidth="1.4" />
    </svg>,

  Arrow: ({ size = 18, color = "currentColor" }) =>
  <svg width={size} height={size} viewBox="0 0 20 20" fill="none">
      <path d="M4 10h12M11 5l5 5-5 5" stroke={color} strokeWidth="1.6" strokeLinecap="round" strokeLinejoin="round" />
    </svg>,

  ChevronDown: ({ size = 18, color = "currentColor" }) =>
  <svg width={size} height={size} viewBox="0 0 20 20" fill="none">
      <path d="M5 8l5 5 5-5" stroke={color} strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" />
    </svg>,

  Plus: ({ size = 18, color = "currentColor" }) =>
  <svg width={size} height={size} viewBox="0 0 20 20" fill="none">
      <path d="M10 4v12M4 10h12" stroke={color} strokeWidth="1.6" strokeLinecap="round" />
    </svg>,

  User: ({ size = 20, color = "currentColor" }) =>
  <svg width={size} height={size} viewBox="0 0 20 20" fill="none">
      <circle cx="10" cy="7" r="3.2" stroke={color} strokeWidth="1.6" />
      <path d="M3 17c1.5-3 4-4 7-4s5.5 1 7 4" stroke={color} strokeWidth="1.6" strokeLinecap="round" />
    </svg>,

  Phone: ({ size = 14, color = "currentColor" }) =>
  <svg width={size} height={size} viewBox="0 0 20 20" fill="none">
      <path d="M5 3h3l2 4-2 1c1 2 2.5 3.5 4.5 4.5l1-2 4 2v3a2 2 0 01-2 2C9 17 3 11 3 5a2 2 0 012-2z" stroke={color} strokeWidth="1.4" strokeLinejoin="round" />
    </svg>,

  Clock: ({ size = 14, color = "currentColor" }) =>
  <svg width={size} height={size} viewBox="0 0 20 20" fill="none">
      <circle cx="10" cy="10" r="7" stroke={color} strokeWidth="1.4" />
      <path d="M10 6v4l3 2" stroke={color} strokeWidth="1.4" strokeLinecap="round" />
    </svg>,

  Eye: ({ size = 16, color = "currentColor" }) =>
  <svg width={size} height={size} viewBox="0 0 20 20" fill="none">
      <path d="M2 10s2.5-5 8-5 8 5 8 5-2.5 5-8 5-8-5-8-5z" stroke={color} strokeWidth="1.4" />
      <circle cx="10" cy="10" r="2.5" stroke={color} strokeWidth="1.4" />
    </svg>,

  Check: ({ size = 16, color = "currentColor" }) =>
  <svg width={size} height={size} viewBox="0 0 20 20" fill="none">
      <path d="M4 10.5l4 4 8-8" stroke={color} strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" />
    </svg>,

  CheckCircle: ({ size = 18, color = "currentColor" }) =>
  <svg width={size} height={size} viewBox="0 0 24 24" fill="none">
      <circle cx="12" cy="12" r="10" stroke={color} strokeWidth="1.5" />
      <path d="M7 12.5l3.5 3.5L17 9" stroke={color} strokeWidth="1.6" strokeLinecap="round" strokeLinejoin="round" />
    </svg>,

  Compare: ({ size = 18, color = "currentColor" }) =>
  <svg width={size} height={size} viewBox="0 0 20 20" fill="none">
    {/* Two opposing arrows — the universal “compare / swap” glyph,
       outline-only to match the rest of the SerIcons set. */}
    <path d="M3 7h10" stroke={color} strokeWidth="1.5" strokeLinecap="round" />
    <path d="M10 4l3 3-3 3" stroke={color} strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" />
    <path d="M17 13H7" stroke={color} strokeWidth="1.5" strokeLinecap="round" />
    <path d="M10 10l-3 3 3 3" stroke={color} strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" />
  </svg>,

  Grid: ({ size = 16, color = "currentColor" }) =>
  <svg width={size} height={size} viewBox="0 0 20 20" fill="none">
      <rect x="3" y="3" width="6" height="6" rx="1" stroke={color} strokeWidth="1.4" />
      <rect x="11" y="3" width="6" height="6" rx="1" stroke={color} strokeWidth="1.4" />
      <rect x="3" y="11" width="6" height="6" rx="1" stroke={color} strokeWidth="1.4" />
      <rect x="11" y="11" width="6" height="6" rx="1" stroke={color} strokeWidth="1.4" />
    </svg>,

  List: ({ size = 16, color = "currentColor" }) =>
  <svg width={size} height={size} viewBox="0 0 20 20" fill="none">
      <path d="M6 5h11M6 10h11M6 15h11" stroke={color} strokeWidth="1.5" strokeLinecap="round" />
      <circle cx="3.5" cy="5" r="0.8" fill={color} />
      <circle cx="3.5" cy="10" r="0.8" fill={color} />
      <circle cx="3.5" cy="15" r="0.8" fill={color} />
    </svg>,

  Close: ({ size = 18, color = "currentColor" }) =>
  <svg width={size} height={size} viewBox="0 0 20 20" fill="none">
      <path d="M5 5l10 10M15 5L5 15" stroke={color} strokeWidth="1.5" strokeLinecap="round" />
    </svg>,

  Notes: ({ size = 16, color = "currentColor" }) =>
  <svg width={size} height={size} viewBox="0 0 20 20" fill="none">
      <path d="M4 3h8l4 4v10a1 1 0 01-1 1H4a1 1 0 01-1-1V4a1 1 0 011-1z" stroke={color} strokeWidth="1.4" />
      <path d="M12 3v4h4" stroke={color} strokeWidth="1.4" />
    </svg>,

  ArrowLeft: ({ size = 18, color = "currentColor" }) =>
  <svg width={size} height={size} viewBox="0 0 20 20" fill="none">
      <path d="M16 10H4M9 5L4 10l5 5" stroke={color} strokeWidth="1.6" strokeLinecap="round" strokeLinejoin="round" />
    </svg>,

  Trash: ({ size = 16, color = "currentColor" }) =>
  <svg width={size} height={size} viewBox="0 0 20 20" fill="none">
      <path d="M3.5 5.5h13M8 3h4a1 1 0 011 1v1.5H7V4a1 1 0 011-1zM5 5.5l1 11a1 1 0 001 .9h6a1 1 0 001-.9l1-11M9 8.5v6M11 8.5v6" stroke={color} strokeWidth="1.4" strokeLinecap="round" strokeLinejoin="round" />
    </svg>,

  Minus: ({ size = 16, color = "currentColor" }) =>
  <svg width={size} height={size} viewBox="0 0 20 20" fill="none">
      <path d="M4 10h12" stroke={color} strokeWidth="1.6" strokeLinecap="round" />
    </svg>,

  ChevronLeft: ({ size = 16, color = "currentColor" }) =>
  <svg width={size} height={size} viewBox="0 0 20 20" fill="none">
      <path d="M12 5l-5 5 5 5" stroke={color} strokeWidth="1.6" strokeLinecap="round" strokeLinejoin="round" />
    </svg>,

  ChevronRight: ({ size = 16, color = "currentColor" }) =>
  <svg width={size} height={size} viewBox="0 0 20 20" fill="none">
      <path d="M8 5l5 5-5 5" stroke={color} strokeWidth="1.6" strokeLinecap="round" strokeLinejoin="round" />
    </svg>,

  RotateCcw: ({ size = 14, color = "currentColor" }) =>
  <svg width={size} height={size} viewBox="0 0 20 20" fill="none">
      <path d="M3.5 5v4h4" stroke={color} strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" />
      <path d="M4 9a6.5 6.5 0 1 1 1.4 5.6" stroke={color} strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" />
    </svg>,

  Filter: ({ size = 14, color = "currentColor" }) =>
  <svg width={size} height={size} viewBox="0 0 20 20" fill="none">
      <path d="M3 5h14M6 10h8M9 15h2" stroke={color} strokeWidth="1.5" strokeLinecap="round" />
    </svg>,

  Tag: ({ size = 14, color = "currentColor" }) =>
  <svg width={size} height={size} viewBox="0 0 20 20" fill="none">
      <path d="M3 3h6l8 8-6 6-8-8V3z" stroke={color} strokeWidth="1.4" strokeLinejoin="round" />
      <circle cx="6.5" cy="6.5" r="1" fill={color} />
    </svg>,

  Box: ({ size = 14, color = "currentColor" }) =>
  <svg width={size} height={size} viewBox="0 0 20 20" fill="none">
      <path d="M3 6l7-3 7 3v8l-7 3-7-3V6z" stroke={color} strokeWidth="1.4" strokeLinejoin="round" />
      <path d="M3 6l7 3 7-3M10 9v9" stroke={color} strokeWidth="1.4" />
    </svg>,

  Calendar: ({ size = 16, color = "currentColor" }) =>
  <svg width={size} height={size} viewBox="0 0 20 20" fill="none">
      <rect x="3" y="4.5" width="14" height="13" rx="1.5" stroke={color} strokeWidth="1.4" />
      <path d="M3 8h14M7 3v3M13 3v3" stroke={color} strokeWidth="1.4" strokeLinecap="round" />
    </svg>,

  More: ({ size = 16, color = "currentColor" }) =>
  <svg width={size} height={size} viewBox="0 0 20 20" fill="none">
      <circle cx="5" cy="10" r="1.4" fill={color} />
      <circle cx="10" cy="10" r="1.4" fill={color} />
      <circle cx="15" cy="10" r="1.4" fill={color} />
    </svg>,

  Archive: ({ size = 16, color = "currentColor" }) =>
  <svg width={size} height={size} viewBox="0 0 20 20" fill="none">
      <rect x="2.5" y="4" width="15" height="4" rx="1" stroke={color} strokeWidth="1.4" />
      <path d="M4 8v8a1 1 0 001 1h10a1 1 0 001-1V8" stroke={color} strokeWidth="1.4" strokeLinejoin="round" />
      <path d="M8 11h4" stroke={color} strokeWidth="1.4" strokeLinecap="round" />
    </svg>,

  Mail: ({ size = 14, color = "currentColor" }) =>
  <svg width={size} height={size} viewBox="0 0 20 20" fill="none">
      <rect x="2.5" y="4.5" width="15" height="11" rx="1.5" stroke={color} strokeWidth="1.4" />
      <path d="M3 6l7 5 7-5" stroke={color} strokeWidth="1.4" strokeLinejoin="round" />
    </svg>,

  MapPin: ({ size = 14, color = "currentColor" }) =>
  <svg width={size} height={size} viewBox="0 0 20 20" fill="none">
      <path d="M10 18s-6-5.5-6-10a6 6 0 1 1 12 0c0 4.5-6 10-6 10z" stroke={color} strokeWidth="1.4" strokeLinejoin="round" />
      <circle cx="10" cy="8" r="2" stroke={color} strokeWidth="1.4" />
    </svg>,

  Building: ({ size = 14, color = "currentColor" }) =>
  <svg width={size} height={size} viewBox="0 0 20 20" fill="none">
      <rect x="4" y="2.5" width="12" height="15" rx="1" stroke={color} strokeWidth="1.4" />
      <path d="M7 6h2M11 6h2M7 9h2M11 9h2M7 12h2M11 12h2" stroke={color} strokeWidth="1.4" strokeLinecap="round" />
      <path d="M9 17.5v-3h2v3" stroke={color} strokeWidth="1.4" strokeLinejoin="round" />
    </svg>,

  Link: ({ size = 14, color = "currentColor" }) =>
  <svg width={size} height={size} viewBox="0 0 20 20" fill="none">
      <path d="M11 6.5l1.5-1.5a3 3 0 1 1 4.25 4.25L15.25 10.75a3 3 0 0 1-4.25 0" stroke={color} strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" />
      <path d="M9 13.5L7.5 15a3 3 0 1 1-4.25-4.25L4.75 9.25a3 3 0 0 1 4.25 0" stroke={color} strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" />
      <path d="M7.5 12.5l5-5" stroke={color} strokeWidth="1.5" strokeLinecap="round" />
    </svg>,

  ZoomIn: ({ size = 14, color = "currentColor" }) =>
  <svg width={size} height={size} viewBox="0 0 20 20" fill="none">
      <circle cx="9" cy="9" r="5.5" stroke={color} strokeWidth="1.5" />
      <path d="M9 7v4M7 9h4M13 13l4 4" stroke={color} strokeWidth="1.5" strokeLinecap="round" />
    </svg>,

  EyeOff: ({ size = 16, color = "currentColor" }) =>
  <svg width={size} height={size} viewBox="0 0 20 20" fill="none">
      <path d="M2 10s2.5-5 8-5 8 5 8 5-2.5 5-8 5-8-5-8-5z" stroke={color} strokeWidth="1.4" />
      <circle cx="10" cy="10" r="2.5" stroke={color} strokeWidth="1.4" />
      <line x1="3" y1="3" x2="17" y2="17" stroke={color} strokeWidth="1.4" strokeLinecap="round" />
    </svg>,

  Document: ({ size = 16, color = "currentColor" }) =>
  <svg width={size} height={size} viewBox="0 0 20 20" fill="none">
      <path d="M5 3h7l4 4v10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1z" stroke={color} strokeWidth="1.4" strokeLinejoin="round" />
      <path d="M12 3v4h4" stroke={color} strokeWidth="1.4" strokeLinejoin="round" />
      <path d="M7 9h6M7 12h6M7 15h4" stroke={color} strokeWidth="1.4" strokeLinecap="round" />
    </svg>,

  History: ({ size = 16, color = "currentColor" }) =>
  <svg width={size} height={size} viewBox="0 0 20 20" fill="none">
      <path d="M3 10a7 7 0 1 0 2-4.9" stroke={color} strokeWidth="1.4" strokeLinecap="round" />
      <path d="M3 4v5h5" stroke={color} strokeWidth="1.4" strokeLinecap="round" strokeLinejoin="round" />
      <path d="M10 7v4l2.5 2.5" stroke={color} strokeWidth="1.4" strokeLinecap="round" />
    </svg>,

  Star: ({ size = 14, color = "currentColor" }) =>
  <svg width={size} height={size} viewBox="0 0 20 20" fill="none">
      <path d="M10 2l2.39 4.84 5.34.78-3.86 3.76.91 5.32L10 14.27l-4.78 2.43.91-5.32L2.27 7.62l5.34-.78L10 2z" stroke={color} strokeWidth="1.4" strokeLinecap="round" strokeLinejoin="round" />
    </svg>,

  Lock: ({ size = 14, color = "currentColor" }) =>
  <svg width={size} height={size} viewBox="0 0 20 20" fill="none">
      <rect x="4" y="9" width="12" height="8" rx="1.5" stroke={color} strokeWidth="1.4" />
      <path d="M6.5 9V6.5a3.5 3.5 0 017 0V9" stroke={color} strokeWidth="1.4" strokeLinecap="round" />
    </svg>,

  AlertDot: ({ size = 14, color = "currentColor" }) =>
  <svg width={size} height={size} viewBox="0 0 20 20" fill="none">
      <circle cx="10" cy="10" r="7" stroke={color} strokeWidth="1.4" />
      <path d="M10 6.5v4" stroke={color} strokeWidth="1.6" strokeLinecap="round" />
      <circle cx="10" cy="13.5" r="0.9" fill={color} />
    </svg>,

};

Object.assign(window, { SerIcons });