// Minimalist icon set for 67proxies — 1.5px stroke, 20x20 viewbox
function Icon({ name, size = 16, color = 'currentColor', style }) {
  const s = size;
  const stroke = color;
  const sw = 1.5;
  const common = { width: s, height: s, viewBox: '0 0 20 20', fill: 'none', stroke, strokeWidth: sw, strokeLinecap: 'round', strokeLinejoin: 'round', style };
  const paths = {
    globe: <><circle cx="10" cy="10" r="7.5"/><path d="M2.5 10h15M10 2.5c2.5 2.5 2.5 12.5 0 15M10 2.5c-2.5 2.5-2.5 12.5 0 15"/></>,
    bolt: <path d="M11 2 4 11h5l-1 7 7-9h-5z"/>,
    shield: <path d="M10 2 3.5 4.5V10c0 4 3 7 6.5 8 3.5-1 6.5-4 6.5-8V4.5z"/>,
    code: <><path d="m7 6-4 4 4 4M13 6l4 4-4 4"/></>,
    key: <><circle cx="7" cy="13" r="3"/><path d="m9 11 6-6M13 7l2 2M11 9l2 2"/></>,
    chart: <><path d="M3 17V3M3 17h14M6 13l3-4 3 2 4-6"/></>,
    dashboard: <><rect x="3" y="3" width="7" height="7" rx="1"/><rect x="3" y="12" width="7" height="5" rx="1"/><rect x="12" y="3" width="5" height="5" rx="1"/><rect x="12" y="10" width="5" height="7" rx="1"/></>,
    server: <><rect x="3" y="4" width="14" height="5" rx="1"/><rect x="3" y="11" width="14" height="5" rx="1"/><circle cx="6" cy="6.5" r="0.5" fill={stroke}/><circle cx="6" cy="13.5" r="0.5" fill={stroke}/></>,
    credit: <><rect x="2.5" y="5" width="15" height="10" rx="1.5"/><path d="M2.5 9h15M5 12.5h3"/></>,
    user: <><circle cx="10" cy="7" r="3"/><path d="M4 16c0-3 3-5 6-5s6 2 6 5"/></>,
    users: <><circle cx="8" cy="7" r="2.5"/><path d="M3 16c0-2.5 2.5-4.5 5-4.5s5 2 5 4.5"/><path d="M14 5.5a2.5 2.5 0 0 1 0 5M13 11c2 .5 3.5 2 3.5 4.5"/></>,
    copy: <><rect x="4" y="4" width="10" height="12" rx="1.5"/><path d="M7 4V3a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-1"/></>,
    check: <path d="m4 10 4 4 8-8"/>,
    x: <path d="M5 5l10 10M15 5 5 15"/>,
    plus: <path d="M10 4v12M4 10h12"/>,
    search: <><circle cx="9" cy="9" r="5"/><path d="m13 13 4 4"/></>,
    bell: <><path d="M5 8a5 5 0 0 1 10 0v3l1.5 3h-13L5 11z"/><path d="M8 17a2 2 0 0 0 4 0"/></>,
    settings: <><circle cx="10" cy="10" r="2.5"/><path d="M10 2v2M10 16v2M18 10h-2M4 10H2M15.5 4.5l-1.5 1.5M6 14l-1.5 1.5M15.5 15.5 14 14M6 6 4.5 4.5"/></>,
    logout: <><path d="M8 4H4v12h4"/><path d="m12 7 3 3-3 3M15 10H7"/></>,
    refresh: <><path d="M3 10a7 7 0 0 1 12-5l2 2M17 10a7 7 0 0 1-12 5l-2-2"/><path d="M17 3v4h-4M3 17v-4h4"/></>,
    download: <><path d="M10 3v10M6 9l4 4 4-4M4 17h12"/></>,
    filter: <path d="M3 4h14l-5 7v5l-4-2v-3z"/>,
    arrow_up: <path d="M10 15V5M5 10l5-5 5 5"/>,
    arrow_down: <path d="M10 5v10M5 10l5 5 5-5"/>,
    arrow_right: <path d="M4 10h12M11 5l5 5-5 5"/>,
    clock: <><circle cx="10" cy="10" r="7"/><path d="M10 6v4l3 2"/></>,
    terminal: <><rect x="2.5" y="4" width="15" height="12" rx="1.5"/><path d="m6 9 3 2-3 2M11 13h4"/></>,
    wallet: <><path d="M3 6a2 2 0 0 1 2-2h10v3"/><path d="M3 6v9a2 2 0 0 0 2 2h11a1 1 0 0 0 1-1v-8a1 1 0 0 0-1-1H5a2 2 0 0 1-2-2"/><circle cx="13.5" cy="11.5" r="1" fill={stroke}/></>,
    ticket: <><path d="M3 6a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v2a2 2 0 0 0 0 4v2a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-2a2 2 0 0 0 0-4z"/><path d="M10 5v10" strokeDasharray="1.5 1.5"/></>,
    menu: <path d="M3 5h14M3 10h14M3 15h14"/>,
    zap: <path d="M11 2 4 11h5l-1 7 7-9h-5z"/>,
    package: <><path d="m10 2.5 7 4v7l-7 4-7-4v-7z"/><path d="m3 6.5 7 4 7-4M10 10.5V18"/></>,
    map_pin: <><path d="M10 18s6-5 6-10a6 6 0 0 0-12 0c0 5 6 10 6 10z"/><circle cx="10" cy="8" r="2"/></>,
    mail: <><rect x="2.5" y="4" width="15" height="12" rx="1.5"/><path d="m3 6 7 5 7-5"/></>,
    eye: <><path d="M1.5 10s3-6 8.5-6 8.5 6 8.5 6-3 6-8.5 6-8.5-6-8.5-6z"/><circle cx="10" cy="10" r="2.5"/></>,
    'eye-off': <><path d="M3 3l14 14M6.5 6.5C3.5 8 1.5 10 1.5 10s3 6 8.5 6c1.6 0 3-.5 4.2-1.2M8.5 4.2c.5-.1 1-.2 1.5-.2 5.5 0 8.5 6 8.5 6s-.7 1.3-2 2.7"/><path d="M11.5 11.5a2.5 2.5 0 0 1-3-3"/></>,
    alert: <><path d="M10 2 2 17h16z"/><path d="M10 8v4M10 15v.01" strokeLinecap="round"/></>,
    info: <><circle cx="10" cy="10" r="7.5"/><path d="M10 9v5M10 6v.01" strokeLinecap="round"/></>,
    trash: <><path d="M4 6h12M8 6V4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2M6 6v9a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V6"/><path d="M9 9v4M11 9v4"/></>,
    external: <><path d="M11 4h5v5M16 4l-8 8M13 11v4a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1h4"/></>,
  };
  return <svg {...common}>{paths[name] || null}</svg>;
}
window.Icon = Icon;
