// icons.jsx — minimal stroke icon set, all share 1.6 stroke, 20px viewbox-friendly
const _Icon = (paths, vb = "0 0 24 24") => (props) => (
  <svg
    viewBox={vb}
    width={props.size || 18}
    height={props.size || 18}
    fill="none"
    stroke="currentColor"
    strokeWidth={props.weight || 1.6}
    strokeLinecap="round"
    strokeLinejoin="round"
    aria-hidden="true"
  >
    {paths}
  </svg>
);

const MBIcons = {
  Dashboard: _Icon(
    <>
      <rect x="3.5" y="3.5" width="7" height="9" rx="1.5" />
      <rect x="13.5" y="3.5" width="7" height="5" rx="1.5" />
      <rect x="13.5" y="11.5" width="7" height="9" rx="1.5" />
      <rect x="3.5" y="15.5" width="7" height="5" rx="1.5" />
    </>
  ),
  Students: _Icon(
    <>
      <circle cx="9" cy="8" r="3.2" />
      <path d="M3.5 19c0-3 2.5-5 5.5-5s5.5 2 5.5 5" />
      <circle cx="16.5" cy="9" r="2.4" />
      <path d="M15 14.5c2 .3 5 1.8 5 4.5" />
    </>
  ),
  Classes: _Icon(
    <>
      <path d="M4 6.5l8-3 8 3-8 3-8-3z" />
      <path d="M7 8.5v4.5c1.5 1.5 3.5 2.2 5 2.2s3.5-.7 5-2.2V8.5" />
      <path d="M20 6.5v5" />
    </>
  ),
  Attendance: _Icon(
    <>
      <rect x="3.5" y="4.5" width="17" height="16" rx="2" />
      <path d="M3.5 9h17" />
      <path d="M8 3v3M16 3v3" />
      <path d="M8 14l2 2 4-4" />
    </>
  ),
  Meal: _Icon(
    <>
      <path d="M3.5 12.5c0-4 4-8 8.5-8s8.5 4 8.5 8" />
      <path d="M2.5 12.5h19" />
      <path d="M5 16h14" />
      <path d="M7 19h10" />
      <path d="M9.5 4.5c0-1.2 1-2 2.5-2s2.5.8 2.5 2" />
    </>
  ),
  Room: _Icon(
    <>
      <path d="M3.5 10.5L12 4l8.5 6.5" />
      <path d="M5 10v10h14V10" />
      <path d="M9 20v-5h6v5" />
    </>
  ),
  Bazar: _Icon(
    <>
      <path d="M3.5 6.5h17l-1.5 9.5a2 2 0 01-2 1.7H7a2 2 0 01-2-1.7L3.5 6.5z" />
      <path d="M8 6.5V5a2.5 2.5 0 015 0v1.5" />
      <circle cx="9" cy="20" r="1.2" />
      <circle cx="16" cy="20" r="1.2" />
    </>
  ),
  Finance: _Icon(
    <>
      <rect x="3.5" y="6.5" width="17" height="12" rx="2" />
      <path d="M3.5 10.5h17" />
      <circle cx="16.5" cy="14.5" r="1.4" />
    </>
  ),
  HR: _Icon(
    <>
      <circle cx="12" cy="8.5" r="3.2" />
      <path d="M5 20c0-3.5 3-6 7-6s7 2.5 7 6" />
      <path d="M16.5 5.5l1.5-1.5M19 8h2" />
    </>
  ),
  Branches: _Icon(
    <>
      <rect x="4.5" y="9.5" width="15" height="11" rx="1.5" />
      <path d="M9.5 9.5V6a1.5 1.5 0 011.5-1.5h2A1.5 1.5 0 0114.5 6v3.5" />
      <path d="M4.5 13.5h15" />
    </>
  ),
  Bell: _Icon(
    <>
      <path d="M6 17.5h12l-1.5-2V11a4.5 4.5 0 10-9 0v4.5L6 17.5z" />
      <path d="M10 20.5a2 2 0 004 0" />
    </>
  ),
  Settings: _Icon(
    <>
      <circle cx="12" cy="12" r="2.5" />
      <path d="M19 12a7 7 0 00-.1-1.2l1.5-1.1-1.5-2.6-1.8.6a7 7 0 00-2-1.2L14.5 4h-3l-.6 1.5a7 7 0 00-2 1.2l-1.8-.6L5.6 8.7l1.5 1.1A7 7 0 007 12a7 7 0 00.1 1.2l-1.5 1.1 1.5 2.6 1.8-.6a7 7 0 002 1.2L11.5 20h3l.6-1.5a7 7 0 002-1.2l1.8.6 1.5-2.6-1.5-1.1A7 7 0 0019 12z" />
    </>
  ),
  Search: _Icon(
    <>
      <circle cx="11" cy="11" r="6" />
      <path d="M16 16l4 4" />
    </>
  ),
  Sun: _Icon(
    <>
      <circle cx="12" cy="12" r="3.5" />
      <path d="M12 2v2M12 20v2M4 12H2M22 12h-2M5 5l1.4 1.4M17.6 17.6L19 19M5 19l1.4-1.4M17.6 6.4L19 5" />
    </>
  ),
  Moon: _Icon(
    <>
      <path d="M20 14.5A8 8 0 1 1 9.5 4a7 7 0 0 0 10.5 10.5z" />
    </>
  ),
  Chevron: _Icon(
    <>
      <path d="M9 6l6 6-6 6" />
    </>
  ),
  Arrow: _Icon(
    <>
      <path d="M7 17L17 7M8 7h9v9" />
    </>
  ),
  Plus: _Icon(
    <>
      <path d="M12 5v14M5 12h14" />
    </>
  ),
  Check: _Icon(
    <>
      <path d="M5 12.5l4 4 10-10" />
    </>
  ),
  Cash: _Icon(
    <>
      <rect x="3.5" y="7.5" width="17" height="10" rx="1.5" />
      <circle cx="12" cy="12.5" r="2.5" />
      <path d="M6 11v3M18 11v3" />
    </>
  ),
  Up: _Icon(
    <>
      <path d="M6 14l6-6 6 6" />
    </>
  ),
  Down: _Icon(
    <>
      <path d="M6 10l6 6 6-6" />
    </>
  ),
  Filter: _Icon(
    <>
      <path d="M4 6h16M7 12h10M10 18h4" />
    </>
  ),
  Lock: _Icon(
    <>
      <rect x="5.5" y="11" width="13" height="10" rx="1.5" />
      <path d="M8.5 11V7.5a3.5 3.5 0 117 0V11" />
    </>
  ),
  Close: _Icon(
    <>
      <path d="M18 6L6 18M6 6l12 12" />
    </>
  ),
  Logout: _Icon(
    <>
      <path d="M10 20H5a1.5 1.5 0 01-1.5-1.5V5.5A1.5 1.5 0 015 4h5" />
      <path d="M15 16l5-4-5-4" />
      <path d="M20 12H9" />
    </>
  ),
  Print: _Icon(
    <>
      <path d="M6 9V4a1 1 0 011-1h10a1 1 0 011 1v5" />
      <rect x="3" y="9" width="18" height="9" rx="1.5" />
      <path d="M6 14h12M6 18h8" />
      <circle cx="17.5" cy="12.5" r="1" fill="currentColor" stroke="none" />
    </>
  ),
  Edit: _Icon(
    <>
      <path d="M11 4H6a2 2 0 00-2 2v12a2 2 0 002 2h12a2 2 0 002-2v-5" />
      <path d="M17.5 2.5a2.12 2.12 0 013 3L12 14l-4 1 1-4 8.5-8.5z" />
    </>
  ),
  Trash: _Icon(
    <>
      <path d="M3 6h18" />
      <path d="M8 6V4h8v2" />
      <path d="M19 6l-1 14H6L5 6" />
      <path d="M10 11v6M14 11v6" />
    </>
  ),
  Package: _Icon(
    <>
      <path d="M21 8V6a2 2 0 00-2-2H5a2 2 0 00-2 2v2" />
      <rect x="2" y="8" width="20" height="13" rx="2" />
      <path d="M12 8v13M2 13h20" />
    </>
  ),
  Gate: _Icon(
    <>
      <path d="M13 4h6a1 1 0 011 1v14a1 1 0 01-1 1h-6" />
      <path d="M4 12h9M10 8l4 4-4 4" />
      <path d="M4 4v16" />
    </>
  ),
  Report: _Icon(
    <>
      <path d="M4 20V14" />
      <path d="M9 20V8" />
      <path d="M14 20V11" />
      <path d="M19 20V4" />
    </>
  ),
  Toggle: _Icon(
    <>
      <rect x="2" y="7" width="20" height="10" rx="5" />
      <circle cx="16" cy="12" r="3.5" fill="currentColor" stroke="none" />
    </>
  ),
  Star8: ({ size = 14, color = "currentColor" }) => (
    <svg viewBox="0 0 24 24" width={size} height={size} aria-hidden="true">
      <path
        fill={color}
        d="M12 1.5l2.5 4.5L19.5 4l-1.5 5.5 4.5 2.5-4.5 2.5 1.5 5.5-5-2 -2.5 4.5-2.5-4.5-5 2 1.5-5.5L1.5 12 6 9.5 4.5 4l5 2L12 1.5z"
        opacity=".95"
      />
    </svg>
  ),
};

window.MBIcons = MBIcons;
