    /* ── Market page ── */
    .market-hero { max-width:1140px; margin:0 auto; padding:56px 28px 24px; text-align:center; }
    .market-hero h1 { font-size:clamp(2rem,4vw,2.8rem); font-weight:900; line-height:1.1; letter-spacing:-1.5px; color:var(--text); margin-bottom:14px; }
    .market-hero h1 em { font-style:normal; color:var(--orange); }
    .market-hero p { color:var(--muted); font-size:.95rem; max-width:520px; margin:0 auto; line-height:1.6; }

    /* tabs */
    .market-tabs { display:flex; gap:8px; max-width:1140px; margin:0 auto 0; padding:0 28px 0; }
    .market-tab {
      padding:10px 22px; border-radius:999px; font-weight:700; font-size:.85rem; cursor:pointer;
      border:1.5px solid var(--border); background:var(--white); color:var(--muted);
      transition:all .2s;
    }
    .market-tab.active, .market-tab:hover { background:var(--orange); color:#fff; border-color:var(--orange); }

    /* ── Global search (au-dessus des onglets) ── */
    .market-global-search { max-width:1140px; margin:0 auto 14px; padding:0 28px; position:relative; }
    .market-search-box {
      display:flex; align-items:center; gap:12px;
      background:var(--white); border:2px solid var(--border);
      border-radius:16px; padding:14px 18px;
      transition:border-color .2s, box-shadow .2s;
    }
    .market-search-box:focus-within {
      border-color:var(--orange);
      box-shadow:0 8px 24px rgba(246,108,49,0.12);
    }
    .market-search-ico { color:var(--muted); flex-shrink:0; }
    .market-search-box:focus-within .market-search-ico { color:var(--orange); }
    #globalSearch {
      flex:1; border:none; background:transparent; outline:none;
      font-family:'Inter', sans-serif; font-size:1.05rem; font-weight:500;
      color:var(--text); padding:2px 0;
    }
    #globalSearch::placeholder { color:var(--muted); font-weight:400; }
    .market-search-clear {
      display:inline-flex; align-items:center; justify-content:center;
      width:28px; height:28px; border-radius:50%;
      background:var(--bg); border:1.5px solid var(--border);
      color:var(--muted); cursor:pointer; transition:all .15s;
      padding:0; flex-shrink:0;
    }
    .market-search-clear:hover { color:#e53935; border-color:#e53935; }
    [data-theme="dark"] .market-search-box { background:#1a1a1a; border-color:#2a2a2a; }
    [data-theme="dark"] #globalSearch { color:#e2e2e2; }
    [data-theme="dark"] .market-search-clear { background:#222; border-color:#333; }

    /* table */
    .market-section { max-width:1140px; margin:20px auto 0; padding:0 28px 60px; }
    .market-table-wrap {
      background:var(--white); border:1.5px solid var(--border); border-radius:20px;
      overflow:hidden;
    }
    .market-table { width:100%; border-collapse:collapse; font-size:.875rem; }
    .market-table th {
      text-align:left; padding:14px 18px; font-size:.75rem; font-weight:700; letter-spacing:.06em;
      text-transform:uppercase; color:var(--muted); border-bottom:1.5px solid var(--border);
      background:var(--bg); white-space:nowrap;
    }
    .market-table td { padding:13px 18px; border-bottom:1px solid var(--border); color:var(--text); vertical-align:middle; }
    .market-table tbody tr:last-child td { border-bottom:none; }
    .market-table tbody tr:hover td { background:var(--orange-bg); }
    .mat-badge {
      display:inline-block; padding:3px 10px; border-radius:6px;
      background:var(--bg); border:1px solid var(--border);
      font-family:'JetBrains Mono',monospace; font-size:.78rem; font-weight:500;
      color:var(--text);
    }
    .price-cell { font-weight:700; color:var(--orange); font-size:.95rem; }
    .seller-cell { color:var(--muted); font-size:.83rem; }
    .date-cell { color:var(--muted); font-size:.8rem; white-space:nowrap; }
    .type-badge {
      display:inline-block; padding:2px 9px; border-radius:6px; font-size:.72rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase;
    }
    .type-sell { background:#fff1f0; color:#e53535; border:1px solid #ffc4c4; }
    .type-buy  { background:#f0fdf4; color:#16a34a; border:1px solid #c4f0cc; }

    /* load more */
    .market-load-more {
      display:flex; justify-content:center; padding:20px 28px 40px;
    }
    .btn-load-more {
      padding:12px 30px; background:var(--white); border:1.5px solid var(--border);
      border-radius:999px; font-family:Inter,sans-serif; font-weight:700; font-size:.88rem;
      color:var(--text); cursor:pointer; transition:all .2s;
    }
    .btn-load-more:hover { background:var(--orange); color:#fff; border-color:var(--orange); }
    .btn-load-more:disabled { opacity:.4; cursor:not-allowed; }

    /* count badge */
    .count-chip {
      display:inline-block; background:var(--orange-bg); color:var(--orange);
      border:1px solid var(--orange); border-radius:999px;
      padding:2px 10px; font-size:.72rem; font-weight:700; margin-left:8px;
    }

    /* price history */
    .history-section { max-width:1140px; margin:20px auto 0; padding:0 28px; }
    .history-card {
      background:var(--white); border:1.5px solid var(--border); border-radius:20px;
      overflow:hidden; margin-bottom:24px;
    }
    .history-header { padding:20px 24px 0; border-bottom:1.5px solid var(--border); }
    .history-header-row { display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding-bottom:16px; }
    .history-title { font-size:1rem; font-weight:800; color:var(--text); }
    .history-period-btns { display:flex; gap:6px; margin-left:auto; }
    .period-btn {
      padding:5px 14px; border-radius:999px; font-size:.75rem; font-weight:700;
      border:1.5px solid var(--border); background:var(--bg); color:var(--muted); cursor:pointer;
      transition:all .2s;
    }
    .period-btn.active, .period-btn:hover { background:var(--orange); color:#fff; border-color:var(--orange); }
    .chart-wrap { padding:16px 24px 20px; }
    .sparkline-svg { width:100%; height:120px; display:block; }
    .chart-empty { text-align:center; color:var(--muted); font-size:.88rem; padding:40px; }

    /* search for history */
    .history-search-row { display:flex; gap:10px; padding:16px 24px; border-bottom:1.5px solid var(--border); }
    .history-search { flex:1; padding:10px 16px; border:1.5px solid var(--border); border-radius:999px; background:var(--bg); color:var(--text); font-family:Inter,sans-serif; font-size:.88rem; }
    .history-search:focus { outline:none; border-color:var(--orange); }
    .btn-history-search { padding:10px 20px; background:var(--orange); color:#fff; border:none; border-radius:999px; font-family:Inter,sans-serif; font-weight:700; font-size:.85rem; cursor:pointer; }
    .btn-history-search:hover { background:var(--orange2); }

    /* orders progress */
    .order-progress { display:flex; align-items:center; gap:8px; }
    .order-bar-wrap { flex:1; height:6px; background:var(--border); border-radius:999px; overflow:hidden; min-width:60px; }
    .order-bar-fill { height:100%; background:var(--orange); border-radius:999px; transition:width .3s; }

    /* empty state */
    .market-empty { text-align:center; padding:60px 20px; color:var(--muted); }
    .market-empty svg { opacity:.3; margin-bottom:16px; }
    .market-empty p { font-size:.95rem; }

    /* skeleton loader */
    .sk { background:var(--border); border-radius:4px; animation:skPulse 1.2s ease-in-out infinite; }
    @keyframes skPulse { 0%,100%{opacity:1;} 50%{opacity:.5;} }

    /* ── Lookup analytics card ── */
    .lookup-suggest { position:absolute; left:28px; right:28px; top:100%; margin-top:6px; z-index:10;
      background:var(--white); border:1.5px solid var(--border); border-radius:14px;
      box-shadow:0 8px 28px rgba(0,0,0,.08); max-height:300px; overflow-y:auto; display:none; }
    .lookup-suggest.open { display:block; }
    .lookup-suggest-item { display:flex; align-items:center; gap:10px; padding:9px 14px; cursor:pointer;
      border-bottom:1px solid var(--border); font-size:.86rem; transition:background .12s; }
    .lookup-suggest-item:last-child { border-bottom:none; }
    .lookup-suggest-item:hover, .lookup-suggest-item.focus { background:var(--orange-bg); }
    .lookup-suggest-item img { width:22px; height:22px; image-rendering:pixelated; flex-shrink:0; }
    .lookup-suggest-meta { color:var(--muted); font-size:.74rem; margin-left:auto; }

    .lookup-result { max-width:1140px; margin:0 auto 22px; padding:0 28px; display:flex; flex-direction:column; gap:18px; }
    .lookup-header { display:flex; align-items:center; gap:18px;
      background:var(--white); border:1.5px solid var(--border); border-radius:18px; padding:20px 24px;
      flex-wrap:wrap; }
    .lookup-icon { width:72px; height:72px; flex-shrink:0;
      background:var(--orange-bg); border-radius:14px; display:flex; align-items:center; justify-content:center; }
    .lookup-icon img { width:48px; height:48px; image-rendering:pixelated; }
    .lookup-title-block { flex:1; min-width:160px; }
    .lookup-name { font-size:1.5rem; font-weight:900; letter-spacing:-.5px; color:var(--text); line-height:1.1; }
    .lookup-mat { font-family:'JetBrains Mono', monospace; font-size:.78rem; color:var(--muted); margin-top:4px; }

    .lookup-stats-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(140px, 1fr)); gap:10px; }
    .lookup-stat { background:var(--white); border:1.5px solid var(--border); border-radius:12px; padding:12px 14px;
      transition:border-color .15s, transform .12s; }
    .lookup-stat:hover { border-color:var(--orange); transform:translateY(-1px); }
    .lookup-stat-lbl { font-size:.7rem; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:.04em; }
    .lookup-stat-val { font-size:1.1rem; font-weight:800; color:var(--orange); margin-top:4px; line-height:1.1; }
    .lookup-stat--dim .lookup-stat-val { color:var(--muted); font-weight:600; }

    .lookup-chart-card { background:var(--white); border:1.5px solid var(--border); border-radius:18px; overflow:hidden; }
    .lookup-chart-header { padding:14px 24px; font-size:.85rem; font-weight:700; color:var(--text);
      border-bottom:1.5px solid var(--border); display:flex; align-items:center; gap:10px; }
    .lookup-chart-note { padding:0 24px 18px; font-size:.78rem; color:var(--muted); font-style:italic; }
    .chart-stub-overlay { position:relative; }
    .chart-stub-overlay::after { content:"Exemple — pas encore de données réelles"; position:absolute;
      top:50%; left:50%; transform:translate(-50%,-50%); background:rgba(255,255,255,.92);
      border:1.5px dashed var(--orange); padding:8px 16px; border-radius:999px;
      font-size:.78rem; font-weight:700; color:var(--orange); pointer-events:none; white-space:nowrap; }
    [data-theme="dark"] .chart-stub-overlay::after { background:rgba(26,26,26,.92); }

    [data-theme="dark"] .lookup-suggest { background:#1a1a1a; border-color:#2a2a2a; }
    [data-theme="dark"] .lookup-suggest-item { border-color:#2a2a2a; color:#e2e2e2; }
    [data-theme="dark"] .lookup-suggest-item:hover, [data-theme="dark"] .lookup-suggest-item.focus { background:rgba(246,108,49,.12); }
    [data-theme="dark"] .lookup-header, [data-theme="dark"] .lookup-stat, [data-theme="dark"] .lookup-chart-card { background:#1a1a1a; border-color:#2a2a2a; }
    [data-theme="dark"] .lookup-icon { background:rgba(246,108,49,.12); }

    @media(max-width:640px){
      .market-global-search { padding:0 14px; }
      .market-search-box { padding:11px 14px; }
      #globalSearch { font-size:.95rem; }
      .lookup-suggest { left:14px; right:14px; }
      .market-table th:nth-child(3), .market-table td:nth-child(3) { display:none; }
      .market-table th:nth-child(5), .market-table td:nth-child(5) { display:none; }
      .lookup-name { font-size:1.2rem; }
      .lookup-icon { width:56px; height:56px; }
      .lookup-icon img { width:36px; height:36px; }
    }
