// MarineCheck brand assets — logo + small icon set
// Original mark: rounded-square monogram with a stylized M + check.

const MCLogo = ({ size = 'md', mono = false, style = {} }) => {
  const dim = size === 'sm' ? 18 : size === 'lg' ? 28 : 22;
  const font = size === 'sm' ? 13 : size === 'lg' ? 19 : 15;
  return (
    <span className="mc-logo" style={style}>
      <span className="mc-mark" style={{ width: dim, height: dim, background: mono ? 'currentColor' : undefined }}>
        <svg width={dim * 0.6} height={dim * 0.6} viewBox="0 0 24 24" fill="none">
          {/* Stylized M with horizon line + tick */}
          <path d="M3 19V7l5 5 4-4 4 4 5-5v12" stroke="white" strokeWidth="2.2" strokeLinecap="round" strokeLinejoin="round" />
          <circle cx="20" cy="19" r="2.4" fill="white" />
        </svg>
      </span>
      <span className="mc-word" style={{ fontSize: font, color: mono ? 'currentColor' : undefined }}>
        Marine<span className="check">Check</span>
      </span>
    </span>
  );
};

// Mini icons used throughout - all 16x16 stroke icons
const Icon = ({ name, size = 16, color = 'currentColor', strokeWidth = 1.6 }) => {
  const paths = {
    search: <><circle cx="7.5" cy="7.5" r="4.5" /><path d="M11 11l3.5 3.5" /></>,
    check: <path d="M3 8.5l3.5 3.5L13 5.5" />,
    x: <path d="M4 4l8 8M12 4l-8 8" />,
    alert: <><path d="M8 3v6" /><circle cx="8" cy="12" r=".8" fill={color} stroke="none" /><path d="M8 1.5L1.5 13h13L8 1.5z" /></>,
    shield: <path d="M8 1.5L2 4v4.5C2 11.5 4.5 13.8 8 14.5c3.5-.7 6-3 6-6V4L8 1.5z" />,
    boat: <><path d="M2 11l1 2.5h10L14 11" /><path d="M3.5 11V6.5L8 4l4.5 2.5V11" /><path d="M8 4V2" /></>,
    doc: <><path d="M3.5 1.5h6L13 5v9.5h-9.5V1.5z" /><path d="M9.5 1.5V5H13" /></>,
    user: <><circle cx="8" cy="5.5" r="2.5" /><path d="M3 14c0-2.5 2.2-4.5 5-4.5s5 2 5 4.5" /></>,
    lock: <><rect x="3" y="7.5" width="10" height="6.5" rx="1" /><path d="M5 7.5V5a3 3 0 016 0v2.5" /></>,
    bell: <><path d="M4 12V8a4 4 0 018 0v4l1 1.5H3L4 12z" /><path d="M6.5 13.5a1.5 1.5 0 003 0" /></>,
    arrowRight: <path d="M3 8h10M9 4l4 4-4 4" />,
    arrowLeft: <path d="M13 8H3M7 4L3 8l4 4" />,
    upload: <><path d="M8 10V2M4.5 5.5L8 2l3.5 3.5" /><path d="M2.5 10.5v3h11v-3" /></>,
    scan: <><path d="M2 5V3a1 1 0 011-1h2M14 5V3a1 1 0 00-1-1h-2M2 11v2a1 1 0 001 1h2M14 11v2a1 1 0 01-1 1h-2" /><path d="M2 8h12" /></>,
    api: <><rect x="2" y="3" width="12" height="10" rx="1.5" /><path d="M2 6.5h12M5.5 9.5h2M9 9.5h1.5" /></>,
    chart: <path d="M2 13h12M4 13V8M7.5 13V5M11 13V9" />,
    pound: <path d="M5 13h7M5 9h5M6 13V6.5C6 4.5 7.3 3 9.5 3c.9 0 1.7.3 2.3.8" />,
    plus: <path d="M8 3v10M3 8h10" />,
    chevronDown: <path d="M3.5 6L8 10.5 12.5 6" />,
    chevronRight: <path d="M6 3.5L10.5 8 6 12.5" />,
    settings: <><circle cx="8" cy="8" r="2" /><path d="M8 1.5v2M8 12.5v2M3.5 8h-2M14.5 8h-2M4.5 4.5L3 3M13 13l-1.5-1.5M4.5 11.5L3 13M13 3l-1.5 1.5" /></>,
    swap: <path d="M3 5h9l-2.5-2.5M13 11H4l2.5 2.5" />,
    eye: <><path d="M1.5 8s2.5-4.5 6.5-4.5S14.5 8 14.5 8 12 12.5 8 12.5 1.5 8 1.5 8z" /><circle cx="8" cy="8" r="2" /></>,
    history: <><circle cx="8" cy="8" r="6" /><path d="M8 4.5V8l2.5 1.5" /></>,
    flag: <><path d="M3.5 14V2M3.5 3h8l-1.5 3 1.5 3h-8" /></>,
    sparkle: <path d="M8 2v4M8 10v4M2 8h4M10 8h4" />,
    map: <><path d="M2 4l4-1.5 4 1.5 4-1.5v9L10 13l-4-1.5L2 13V4z" /><path d="M6 2.5v9M10 4v9" /></>,
    link: <><path d="M7 9l2-2M6 5l1-1a3 3 0 014 4l-1 1M10 11l-1 1a3 3 0 01-4-4l1-1" /></>,
    print: <><rect x="3" y="6" width="10" height="6" rx="1" /><path d="M5 6V2.5h6V6M5 12v2h6v-2" /></>,
    download: <><path d="M8 2v8M4.5 7.5L8 11l3.5-3.5" /><path d="M2.5 13.5h11" /></>,
    refresh: <><path d="M2.5 8a5.5 5.5 0 019.7-3.5L14 6.5" /><path d="M14 2.5v4h-4" /><path d="M13.5 8a5.5 5.5 0 01-9.7 3.5L2 9.5" /><path d="M2 13.5v-4h4" /></>,
  };
  return (
    <svg width={size} height={size} viewBox="0 0 16 16" fill="none" stroke={color} strokeWidth={strokeWidth} strokeLinecap="round" strokeLinejoin="round" style={{ flexShrink: 0 }}>
      {paths[name]}
    </svg>
  );
};

Object.assign(window, { MCLogo, Icon });
