// icons.jsx — Thin-line clinical iconography (stroke-based, no fills)

const Ico = ({ d, size = 18, sw = 1.6, fill, children, ...rest }) => (
  <svg viewBox="0 0 24 24" width={size} height={size} fill="none"
       stroke="currentColor" strokeWidth={sw} strokeLinecap="round" strokeLinejoin="round" {...rest}>
    {d ? <path d={d} /> : children}
  </svg>
);

const Icons = {
  Home: (p) => <Ico {...p}><path d="M3 11l9-7 9 7" /><path d="M5 10v10h14V10" /></Ico>,
  Intake: (p) => <Ico {...p}><rect x="4" y="3" width="16" height="18" rx="2" /><path d="M8 7h8M8 11h8M8 15h5" /></Ico>,
  Camera: (p) => <Ico {...p}><path d="M4 8h3l2-2h6l2 2h3v11H4z" /><circle cx="12" cy="13" r="3.5" /></Ico>,
  Brain: (p) => <Ico {...p}><path d="M8.5 4a3 3 0 0 0-3 3v0a3 3 0 0 0-1 5.5v0a3 3 0 0 0 0 4v0A3 3 0 0 0 8 20a2 2 0 0 0 2-2V5a1 1 0 0 0-1.5-1z" /><path d="M15.5 4a3 3 0 0 1 3 3v0a3 3 0 0 1 1 5.5v0a3 3 0 0 1 0 4v0A3 3 0 0 1 16 20a2 2 0 0 1-2-2V5a1 1 0 0 1 1.5-1z" /></Ico>,
  Chart: (p) => <Ico {...p}><path d="M4 20V6M10 20V10M16 20v-6M22 20H2" /></Ico>,
  Report: (p) => <Ico {...p}><path d="M6 3h9l4 4v14H6z" /><path d="M14 3v5h5" /><path d="M8 13h8M8 17h5" /></Ico>,
  Pill: (p) => <Ico {...p}><rect x="3" y="9" width="18" height="6" rx="3" transform="rotate(-30 12 12)" /><path d="M12 6.5l3 5.2" /></Ico>,
  Recommend: (p) => <Ico {...p}><circle cx="12" cy="12" r="9" /><path d="M8 12l3 3 5-6" /></Ico>,
  Package: (p) => <Ico {...p}><path d="M3 7l9-4 9 4-9 4z" /><path d="M3 7v10l9 4 9-4V7" /><path d="M12 11v10" /></Ico>,
  Compare: (p) => <Ico {...p}><path d="M12 3v18" /><path d="M3 8h6l-3-3M3 8l3 3M21 16h-6l3 3M21 16l-3-3" /></Ico>,
  Bell: (p) => <Ico {...p}><path d="M6 16v-5a6 6 0 0 1 12 0v5l2 2H4z" /><path d="M10 21a2 2 0 0 0 4 0" /></Ico>,
  Device: (p) => <Ico {...p}><rect x="3" y="4" width="18" height="13" rx="2" /><path d="M8 21h8M12 17v4" /></Ico>,
  Doc: (p) => <Ico {...p}><path d="M7 3h7l4 4v14H7z" /><path d="M14 3v5h4" /><path d="M9 12h8M9 16h6" /></Ico>,
  Bi: (p) => <Ico {...p}><rect x="3" y="3" width="8" height="8" rx="1.5" /><rect x="13" y="3" width="8" height="5" rx="1.5" /><rect x="13" y="10" width="8" height="11" rx="1.5" /><rect x="3" y="13" width="8" height="8" rx="1.5" /></Ico>,
  Search: (p) => <Ico {...p}><circle cx="11" cy="11" r="7" /><path d="m20 20-3.5-3.5" /></Ico>,
  Plus: (p) => <Ico {...p}><path d="M12 5v14M5 12h14" /></Ico>,
  Arrow: (p) => <Ico {...p}><path d="M5 12h14M13 6l6 6-6 6" /></Ico>,
  Check: (p) => <Ico {...p}><path d="M5 12l5 5L20 7" /></Ico>,
  X: (p) => <Ico {...p}><path d="M6 6l12 12M18 6L6 18" /></Ico>,
  ChevDown: (p) => <Ico {...p}><path d="M6 9l6 6 6-6" /></Ico>,
  ChevRight: (p) => <Ico {...p}><path d="M9 6l6 6-6 6" /></Ico>,
  Info: (p) => <Ico {...p}><circle cx="12" cy="12" r="9" /><path d="M12 8v0M12 11v5" /></Ico>,
  Warn: (p) => <Ico {...p}><path d="M12 3l9.5 17H2.5z" /><path d="M12 10v5M12 18v0" /></Ico>,
  Sparkle: (p) => <Ico {...p}><path d="M12 3l2.2 6.3 6.3 2.2-6.3 2.2L12 20l-2.2-6.3L3.5 11.5l6.3-2.2z" /></Ico>,
  Eye: (p) => <Ico {...p}><path d="M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12z" /><circle cx="12" cy="12" r="3" /></Ico>,
  User: (p) => <Ico {...p}><circle cx="12" cy="8" r="4" /><path d="M4 21c1.5-4.5 5-7 8-7s6.5 2.5 8 7" /></Ico>,
  Doctor: (p) => <Ico {...p}><path d="M8 3v6a4 4 0 0 0 8 0V3" /><path d="M12 13v3a5 5 0 0 0 5 5h0" /><circle cx="19" cy="18" r="2" /></Ico>,
  Manager: (p) => <Ico {...p}><circle cx="12" cy="7" r="3" /><path d="M5 21c0-4 3-7 7-7s7 3 7 7" /><path d="M9 4l3-2 3 2" /></Ico>,
  Clock: (p) => <Ico {...p}><circle cx="12" cy="12" r="9" /><path d="M12 7v5l3 2" /></Ico>,
  Money: (p) => <Ico {...p}><rect x="3" y="6" width="18" height="12" rx="2" /><circle cx="12" cy="12" r="3" /><path d="M6 9v0M18 15v0" /></Ico>,
  Filter: (p) => <Ico {...p}><path d="M3 5h18l-7 9v5l-4 2v-7z" /></Ico>,
  Calendar: (p) => <Ico {...p}><rect x="3" y="5" width="18" height="16" rx="2" /><path d="M3 9h18M8 3v4M16 3v4" /></Ico>,
  Lightning: (p) => <Ico {...p}><path d="M13 3L4 14h6l-1 7 9-11h-6z" /></Ico>,
  Send: (p) => <Ico {...p}><path d="M21 3L3 11l7 3 3 7z" /><path d="M21 3L10 14" /></Ico>,
  ShieldCheck: (p) => <Ico {...p}><path d="M12 3l8 3v5c0 5-3.5 9-8 10-4.5-1-8-5-8-10V6z" /><path d="M9 12l2 2 4-4" /></Ico>,
  Rotate: (p) => <Ico {...p}><path d="M4 11a8 8 0 0 1 14-4l2-2v6h-6l2.5-2.5" /><path d="M20 13a8 8 0 0 1-14 4l-2 2v-6h6L7.5 15.5" /></Ico>,
  Layer: (p) => <Ico {...p}><path d="M12 3l9 5-9 5-9-5z" /><path d="M3 13l9 5 9-5M3 18l9 5 9-5" /></Ico>,
  Edit: (p) => <Ico {...p}><path d="M4 20h4l11-11-4-4L4 16z" /></Ico>,
  More: (p) => <Ico {...p}><circle cx="6" cy="12" r="1.4" /><circle cx="12" cy="12" r="1.4" /><circle cx="18" cy="12" r="1.4" /></Ico>,
  Download: (p) => <Ico {...p}><path d="M12 3v13M6 11l6 6 6-6M4 21h16" /></Ico>,
  Star: (p) => <Ico {...p}><path d="M12 3l3 6 6 1-4.5 4 1 6L12 17l-5.5 3 1-6L3 10l6-1z" /></Ico>,
  Tag: (p) => <Ico {...p}><path d="M3 12l9-9h8v8l-9 9z" /><circle cx="16" cy="8" r="1.2" /></Ico>,
  Refresh: (p) => <Ico {...p}><path d="M21 12a9 9 0 0 1-15.5 6.2L3 16" /><path d="M3 12a9 9 0 0 1 15.5-6.2L21 8" /><path d="M3 21v-5h5M21 3v5h-5" /></Ico>,
  Spark: (p) => <Ico {...p}><path d="M12 3v3M12 18v3M3 12h3M18 12h3M5.5 5.5l2 2M16.5 16.5l2 2M5.5 18.5l2-2M16.5 7.5l2-2" /></Ico>,
};

window.Icons = Icons;
