// Minimal line icons + TSL brand logo

const Icon = ({ name, size = 16, stroke = 1.6, style: xs }) => {
  const paths = {
    search:     <><circle cx="11" cy="11" r="6.5" /><path d="m16.5 16.5 3.5 3.5" /></>,
    chevron:    <path d="m6 9 6 6 6-6" />,
    chevronR:   <path d="m9 6 6 6-6 6" />,
    chevronL:   <path d="m15 6-6 6 6 6" />,
    chevronU:   <path d="m6 15 6-6 6 6" />,
    mail:       <><rect x="3" y="5" width="18" height="14" rx="2" /><path d="m3 7 9 6 9-6" /></>,
    chat:       <><path d="M4 5h16a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H9l-5 4v-4H4a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1z" /></>,
    drag:       <><circle cx="9" cy="6" r="1" /><circle cx="9" cy="12" r="1" /><circle cx="9" cy="18" r="1" /><circle cx="15" cy="6" r="1" /><circle cx="15" cy="12" r="1" /><circle cx="15" cy="18" r="1" /></>,
    logout:     <><path d="M9 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h4" /><path d="M16 17l5-5-5-5" /><path d="M21 12H9" /></>,
    filter:     <path d="M3 5h18M6 12h12M10 19h4" />,
    plus:       <><path d="M12 5v14" /><path d="M5 12h14" /></>,
    minus:      <path d="M5 12h14" />,
    more:       <><circle cx="5" cy="12" r="1.2" /><circle cx="12" cy="12" r="1.2" /><circle cx="19" cy="12" r="1.2" /></>,
    user:       <><circle cx="12" cy="8" r="4" /><path d="M4 21c0-4.4 3.6-8 8-8s8 3.6 8 8" /></>,
    users:      <><circle cx="9" cy="8" r="3.5" /><path d="M3 20c0-3.3 2.7-6 6-6s6 2.7 6 6" /><path d="M16 5a3 3 0 0 1 0 6M19 20c0-2.8-1.8-5.2-4.3-6" /></>,
    bell:       <><path d="M18 16v-5a6 6 0 1 0-12 0v5l-2 2h16l-2-2z" /><path d="M10 21h4" /></>,
    phone:      <path d="M5 4h3l2 5-2 1a11 11 0 0 0 6 6l1-2 5 2v3a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2z" />,
    location:   <><path d="M12 22s7-7.5 7-13a7 7 0 1 0-14 0c0 5.5 7 13 7 13z" /><circle cx="12" cy="9" r="2.5" /></>,
    clock:      <><circle cx="12" cy="12" r="9" /><path d="M12 7v5l3 2" /></>,
    coin:       <><circle cx="12" cy="12" r="9" /><path d="M8.5 12h7M12 8.5v7" /></>,
    sort:       <path d="M7 4v16m0 0-3-3m3 3 3-3M17 20V4m0 0-3 3m3-3 3 3" />,
    close:      <path d="M6 6l12 12M18 6 6 18" />,
    check:      <path d="m5 12 5 5 9-10" />,
    upload:     <><path d="M12 15V3" /><path d="m7 8 5-5 5 5" /><path d="M5 17v2a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-2" /></>,
    download:   <><path d="M12 3v12" /><path d="m7 10 5 5 5-5" /><path d="M5 17v2a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-2" /></>,
    refresh:    <><path d="M3 12a9 9 0 0 1 15-6.7L21 8" /><path d="M21 3v5h-5" /><path d="M21 12a9 9 0 0 1-15 6.7L3 16" /><path d="M3 21v-5h5" /></>,
    shield:     <path d="M12 3l8 3v6c0 5-3.5 8.5-8 9-4.5-.5-8-4-8-9V6l8-3z" />,
    lock:       <><rect x="5" y="11" width="14" height="10" rx="2" /><path d="M8 11V8a4 4 0 0 1 8 0v3" /></>,
    eye:        <><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" /></>,
    eyeOff:     <><path d="M9.9 5.1A10 10 0 0 1 12 5c6.5 0 10 7 10 7a16 16 0 0 1-3.1 4M6.4 6.4A16 16 0 0 0 2 12s3.5 7 10 7c1.7 0 3.2-.3 4.6-.9" /><path d="m15 15-.6-.6A3 3 0 0 1 9.6 9.6L9 9" /><path d="m3 3 18 18" /></>,
    calendar:   <><rect x="3" y="5" width="18" height="16" rx="2" /><path d="M3 10h18" /><path d="M8 3v4M16 3v4" /></>,
    image:      <><rect x="3" y="5" width="18" height="14" rx="2" /><circle cx="9" cy="10" r="1.5" /><path d="m3 17 5-5 5 5 4-4 4 4" /></>,
    warning:    <><path d="M12 3 2 20h20L12 3z" /><path d="M12 10v5M12 18v.5" /></>,
    info:       <><circle cx="12" cy="12" r="9" /><path d="M12 8v.5M12 11v5" /></>,
    copy:       <><rect x="8" y="8" width="13" height="13" rx="2" /><path d="M16 8V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h3" /></>,
    edit:       <><path d="M12 20h9" /><path d="M16.5 3.5a2.1 2.1 0 1 1 3 3L7 19l-4 1 1-4 12.5-12.5z" /></>,
    trash:      <><path d="M3 6h18" /><path d="M8 6V4a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v2" /><path d="M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6" /><path d="M10 11v6M14 11v6" /></>,
    flag:       <><path d="M4 21V4" /><path d="M4 4h12l-2 4 2 4H4" /></>,
    zap:        <path d="M13 2 3 14h7l-1 8 10-12h-7l1-8z" />,
    gift:       <><rect x="3" y="8" width="18" height="4" rx="1" /><path d="M5 12v9h14v-9" /><path d="M12 8v13" /><path d="M12 8c-1.5-3-5-3-5 0s3.5 0 5 0zM12 8c1.5-3 5-3 5 0s-3.5 0-5 0z" /></>,
    settings:   <><circle cx="12" cy="12" r="3" /><path d="M19.4 15a1.7 1.7 0 0 0 .3 1.8 2 2 0 1 1-2.8 2.8 1.7 1.7 0 0 0-1.8-.3 1.7 1.7 0 0 0-1 1.5 2 2 0 0 1-4 0 1.7 1.7 0 0 0-1.1-1.5 1.7 1.7 0 0 0-1.8.3 2 2 0 1 1-2.8-2.8 1.7 1.7 0 0 0 .3-1.8 1.7 1.7 0 0 0-1.5-1 2 2 0 0 1 0-4 1.7 1.7 0 0 0 1.5-1.1 1.7 1.7 0 0 0-.3-1.8 2 2 0 1 1 2.8-2.8 1.7 1.7 0 0 0 1.8.3 1.7 1.7 0 0 0 1-1.5 2 2 0 0 1 4 0 1.7 1.7 0 0 0 1 1.5 1.7 1.7 0 0 0 1.8-.3 2 2 0 1 1 2.8 2.8 1.7 1.7 0 0 0-.3 1.8 1.7 1.7 0 0 0 1.5 1 2 2 0 0 1 0 4 1.7 1.7 0 0 0-1.5 1z" /></>,
    activity:   <path d="M22 12h-4l-3 9L9 3l-3 9H2" />,
    notebook:   <><path d="M7 3h11a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1z" /><path d="M3 7h3M3 12h3M3 17h3" /><path d="M10 8h5M10 12h5M10 16h3" /></>,
    key:        <><circle cx="7" cy="15" r="4" /><path d="m10.5 12.5 9-9M15 7l3 3M13 9l3 3" /></>,
    alignLeft:  <path d="M3 6h18M3 12h12M3 18h18M3 24h9" />,
    alignCenter:<path d="M3 6h18M6 12h12M3 18h18M7 24h10" />,
    alignRight: <path d="M3 6h18M9 12h12M3 18h18M12 24h9" />,
    bolt:       <path d="M13 2 3 14h7l-1 8 10-12h-7l1-8z" />,
  };
  return (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor"
         strokeWidth={stroke} strokeLinecap="round" strokeLinejoin="round"
         style={{ flexShrink: 0, display: 'inline-block', verticalAlign: '-2px', ...xs }}>
      {paths[name]}
    </svg>
  );
};

// TSL 로고 — 이미지 버전
const TSLLogo = ({ height = 32 }) => (
  <img src="uploads/tsl-logo.jpg" alt="팀시너지랩"
    style={{ height, width: 'auto', display: 'block' }} />
);

// Compact version for header — same image, smaller
const TSLMark = ({ height = 28 }) => (
  <img src="uploads/tsl-logo.jpg" alt="팀시너지랩"
    style={{ height, width: 'auto', display: 'block' }} />
);

Object.assign(window, { Icon, TSLLogo, TSLMark });
