<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Lager och logistik &#8211; Node Nordic &#8211; AI Konsult för företag</title>
	<atom:link href="https://nodenordic.se/function/lager-och-logistik/feed/" rel="self" type="application/rss+xml" />
	<link>https://nodenordic.se</link>
	<description>Vi guidar er från AI-strategi och pilot till färdig implementation och skalning.</description>
	<lastBuildDate>Fri, 23 Jan 2026 02:54:29 +0000</lastBuildDate>
	<language>sv-SE</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>

<image>
	<url>https://nodenordic.se/wp-content/uploads/2025/12/cropped-icon-32x32.png</url>
	<title>Lager och logistik &#8211; Node Nordic &#8211; AI Konsult för företag</title>
	<link>https://nodenordic.se</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Skapa en plan för förbättrad drift i småföretag</title>
		<link>https://nodenordic.se/prompts/skapa-en-plan-for-forbattrad-drift-i-smaforetag/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=skapa-en-plan-for-forbattrad-drift-i-smaforetag</link>
		
		<dc:creator><![CDATA[Rickard Andersson]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 02:54:29 +0000</pubDate>
				<category><![CDATA[prompts]]></category>
		<guid isPermaLink="false">https://nodenordic.se/?p=5001755</guid>

					<description><![CDATA[<p>Driftkostnader ökar och leveransen sviktar. Denna AI-prompt bygger en heltäckande förbättringsplan med KPI:er, bemanning, leverantörer och risker.</p>
<p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/skapa-en-plan-for-forbattrad-drift-i-smaforetag/">Skapa en plan för förbättrad drift i småföretag</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></description>
										<content:encoded><![CDATA[<!-- FOCUS_KEYWORD: small business ops plan -->

<div class="hook-introduction">

<p>Ops blir dyrt på tysta sätt. En extra överlämning här, ett “snabbfix”-kalkylark där, och plötsligt tar arbetet längre tid, fel smyger sig in och ingen kan förklara varför marginalerna fortsätter att krympa. Du behöver inte ännu en vag checklista för att “optimera verksamheten”. Du behöver en plan du faktiskt kan driva.</p>



<p>Den här <strong>ops-planen för småföretag</strong> är byggd för <strong>operativa ansvariga</strong> som har ärvt röriga arbetsflöden och behöver stabilisera leveransen snabbt, <strong>ägare</strong> som känner att overheaden stiger utan bättre output, och <strong>konsulter</strong> som måste översätta en kunds kaos till en genomförbar 30–90-dagars roadmap. Resultatet är en praktisk, heltäckande plan för operativ förbättring med en nulägesbild, prioriterade initiativ, KPI:er, konsekvenser för bemanning och leverantörer samt ett riskregister som du kan hantera veckovis.</p>

</div>

<div class="what-and-when-section">

<h2 class="wp-block-heading">Vad gör den här AI-prompten och när ska du använda den?</h2>



<table class="solution-results-table three-column" role="presentation" aria-label="What this prompt does, when to use it, and what you get">
 <thead>
    <tr>
      <th scope="col">Vad den här prompten gör</th>
      <th scope="col">När du ska använda den här prompten</th>
      <th scope="col">Det här får du</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <ul class="automation-list">
          <li>Den återger först din situation (en bekräftelse före analys) så att planen speglar verksamheten du beskrev, inte en generisk mall.</li>
          <li>Den kartlägger din nuvarande “workflow-verklighet” över centrala flöden som order-to-cash, procure-to-pay och tjänsteleverans, inklusive överlämningar och kända verktyg.</li>
          <li>Den diagnostiserar friktionspunkter och sannolika grundorsaker, som omarbetningsloopar, godkännandeflaskhalsar, otydligt ägarskap och systemglapp.</li>
          <li>Den prioriterar förbättringar med fokus på hög effekt och låg komplexitet, och flaggar tydligt sådant som kräver investering eller verklig förändringsledning.</li>
          <li>Den översätter rekommendationer till mätbara arbetssätt med KPI:er, ansvariga, tidslinjer och praktiska avstämningar som ett litet team kan hålla igång.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>Du hanterar sena order, missade deadlines eller ojämn servicekvalitet och du kan inte ringa in var arbetet fastnar.</li>
          <li>Kostnaderna stiger (personal, leverantörer, fulfillment, mjukvara), men genomströmningen har inte förbättrats och resultaträkningen börjar kännas pressad.</li>
          <li>Du ska snart anställa, outsourca eller byta verktyg och vill ha ett ops-first-perspektiv innan du lägger pengar på fel sak.</li>
          <li>En konkurrent levererar snabbare eller billigare, och du behöver korta ledtiden utan att trigga ett kvalitetsras.</li>
          <li>Du har vuxit förbi “alla kommer ihåg allt”, och nu behöver du repeterbara processer som håller över semestrar, personalomsättning och högsäsong.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>En komplett förbättringsplan organiserad i faser (ofta 30/60/90 dagar) med ansvariga och beroenden.</li>
           <li>En nulägesbild som täcker kärnfunktioner, överlämningar och antaganden om nuläget.</li>
           <li>En prioriterad initiativ-backlog med noteringar om insats/effekt, inklusive snabba vinster och större satsningar.</li>
           <li>Ett KPI-paket med definitioner och mål (till exempel: ledtid, felfrekvens, kostnad per order och leverans i tid).</li>
           <li>Ett praktiskt riskregister med åtgärder, plus konsekvenser för bemanning och leverantörer för varje större förändring.</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

<div class="prompt-display-section">

<h2 class="wp-block-heading">Hela AI-prompten: byggare för operativ förbättringsplan för småföretag</h2>



<div class="prompt-viewer-wrapper" id="prompt-section">
    <div class="prompt-comparison-row prompt-premium">
        <!-- Header with buttons -->
        <div class="prompt-row-header">
            <!-- <span class="prompt-row-icon">✨</span> -->
            <span class="prompt-row-title">
                                    Steg 1: Anpassa prompten med din information
                            </span>
            <div class="prompt-header-buttons">
                                    <button class="prompt-header-btn prompt-header-reset" onclick="resetPrompt()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Återställ</span>
                    </button>
                                <button class="prompt-header-btn prompt-header-copy-green flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span>Anpassa och kopiera hela prompten</span>
                </button>
            </div>
        </div>

        <!-- Customize the Prompt Section -->
                    <div class="prompt-customize-section">
                <span class="customize-title">Anpassa prompten</span>
                <p class="customize-subtitle">Fyll i fälten nedan för att anpassa prompten efter dina behov.</p>
                <table class="customize-table">
                    <thead>
                        <tr>
                            <th>Variabel</th>
                            <th>Vad du ska ange</th>
                            <th>Anpassa prompten</th>
                        </tr>
                    </thead>
                    <tbody>
                                                    <tr>
                                <td class="var-name"><code>[PRODUKTBESKRIVNING]</code></td>
                                <td class="var-desc">
                                    Ge en kortfattad beskrivning av den huvudsakliga produkt eller tjänst som företaget erbjuder, inklusive viktigaste egenskaperna och målgruppen.                                    <div class="var-example">Till exempel: "En prenumerationsbaserad matkassetjänst som erbjuder förportionerade, hälsosamma och färdiga-att-laga måltidskit för upptagna yrkesverksamma."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[PRODUKTBESKRIVNING]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[VIKTIGASTE_OPERATIVA_PROCESSER]</code></td>
                                <td class="var-desc">
                                    Lista de kritiska arbetsflöden eller processer som driver verksamheten, exempelvis produktion, distribution, kundservice eller inköp.                                    <div class="var-example">Till exempel: "Orderhantering, leverantörsstyrning, lageruppföljning och hantering av supportärenden."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[VIKTIGASTE_OPERATIVA_PROCESSER]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[NUVARANDE_PROGRAMVARA_OCH_VERKTYG]</code></td>
                                <td class="var-desc">
                                    Lista den programvara, de verktyg eller system som idag används för att driva verksamheten, inklusive deras huvudsakliga syfte.                                    <div class="var-example">Till exempel: "Shopify för e-handel, QuickBooks för bokföring och Trello för projektledning."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[NUVARANDE_PROGRAMVARA_OCH_VERKTYG]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[IDENTIFIERADE_INEFFEKTIVITETER]</code></td>
                                <td class="var-desc">
                                    Beskriv kända flaskhalsar, förseningar eller problem i nuvarande arbetsflöden som påverkar produktivitet eller lönsamhet negativt.                                    <div class="var-example">Till exempel: "Återkommande lagerslut på grund av oregelbundna leveranser från leverantörer samt manuella inmatningsfel som leder till orderförseningar."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[IDENTIFIERADE_INEFFEKTIVITETER]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[HUVUDMAL]</code></td>
                                <td class="var-desc">
                                    Ange det övergripande målet med förbättringsplanen för verksamheten, till exempel ökad effektivitet, lägre kostnader eller bättre kundnöjdhet.                                    <div class="var-example">Till exempel: "Minska orderhandläggningstiden med 30 % samtidigt som kundnöjdheten ligger över 90 %."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[HUVUDMAL]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[BRANSCH]</code></td>
                                <td class="var-desc">
                                    Ange vilken bransch eller sektor företaget verkar inom för att ge relevant kontext till förbättringsplanen.                                    <div class="var-example">Till exempel: "E-handelsdetaljhandel med inriktning på hållbara produkter för hemmet."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[BRANSCH]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[BUDGET]</code></td>
                                <td class="var-desc">
                                    Ange den budget som avsatts för att genomföra förbättringsplanen för verksamheten, om tillämpligt.                                    <div class="var-example">Till exempel: "50 000 USD för verktyg, utbildning och omdesign av processer."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[BUDGET]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TIDSRAM]</code></td>
                                <td class="var-desc">
                                    Ange önskad tidsplan för att genomföra förbättringsplanen, inklusive viktiga milstolpar om det är relevant.                                    <div class="var-example">Till exempel: "6 månader med kvartalsvisa uppföljningar."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[TIDSRAM]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[VERSALER_MED_UNDERSCORE]</code></td>
                                <td class="var-desc">
                                    Ange eventuell ytterligare information som behövs för förbättringsplanen, formaterad som versala ord separerade med understreck.                                    <div class="var-example">Till exempel: "YTTERLIGARE_KRAV eller SÄRSKILDA_ÖVERVÄGANDEN."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[VERSALER_MED_UNDERSCORE]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                            </tbody>
                </table>

                <button class="copy-customized-btn flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span class="copy-customized-text">Anpassa prompten nu</span>

                </button>
            </div>
        
        <!-- Full Prompt Code Header -->
                    <div class="prompt-code-header">
                <span class="prompt-code-title">
                    Steg 2: Kopiera prompten
                </span>
                <div class="prompt-code-buttons">
                    <!-- Reset: Only visible when unlocked -->
                    <button class="prompt-header-btn prompt-header-reset btn-when-unlocked" onclick="resetPrompt()" style="display: none;">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Återställ</span>
                    </button>
                    <!-- Copy Full Prompt -->
                    <button class="prompt-header-btn prompt-header-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                            <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                        </svg>
                        <span>Kopiera hela prompten</span>
                    </button>
                </div>
            </div>
        

        <!-- Prompt Content -->
        <div class="prompt-box prompt-gated-wrapper">
            <!-- Gated: Blurred content -->
            <div class="prompt-gated-content">
                <div class="prompt-header-visible">MÅL</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PERSONA</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">BEGRÄNSNINGAR</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Omfattningsgränser — vad detta INTE är</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PROCESS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Edge case-hantering (indata ofullständig/tvetydig)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">INDATA</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">SPECIFIKATION FÖR OUTPUT</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">KVALITETSKONTROLLER</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div>            </div>
            <!-- Unlocked: Full content (hidden by default) -->
            <div class="prompt-content-full" id="premium-prompt-content" style="display: none;">
                ## MÅL
Skapa en praktisk, heltäckande plan för operativ förbättring för ett småföretag som ökar genomströmning och lönsamhet genom att omforma arbetsflöden, omfördela resurser och sänka driftskostnader—samtidigt som kvaliteten hålls stabil eller förbättras.

## PERSONA
Agera som en senior operationsansvarig för småföretag som är specialiserad på att förenkla röriga processer, ta bort hinder och omvandla det dagliga arbetet till mätbara, repeterbara system. Kommunicera med tydligt, rakt affärsspråk och prioritera åtgärder som är realistiska för ett litet team.

## BEGRÄNSNINGAR
- Rekommendationer måste vara genomförbara för verksamheten som beskrivs i indata (inga generiska ”bara råd”-planer).
- Prioritera förändringar med hög effekt och låg komplexitet först; flagga sådant som kräver större investering eller change management.
- Använd “plain English + lätt struktur”: korta stycken, skannbara punktlistor och konkreta åtgärder.
- När du föreslår verktyg/teknik, håll dem valfria och förklara det operativa syftet (inte leverantörshype).
- Om någon indata saknas eller är oklar, följ edge-case-reglerna i **PROCESS**.

### Omfattningsgränser — vad detta INTE är
- Inte en juridisk, skatte- eller regelefterlevnadsbedömning.
- Inte en komplett IT-arkitekturdesign eller ett säkerhetspenetrationstest.
- Inte ett löfte om specifika finansiella utfall.
- Inte en ersättning för platsbaserade time-and-motion-studier; du kan föreslå dem, men låtsas inte att de har genomförts.

## PROCESS
1. **Föranalys-bekräftelse (obligatorisk):** Återge kort din förståelse av verksamheten, dess operativa landskap och den huvudsakliga förbättringsintentionen baserat på indata.
2. **Nulägesbild (operativ baslinje):** Sammanfatta hur arbetet i dag flödar genom kärnfunktioner (t.ex. order-to-cash, procure-to-pay, service delivery). Notera kända verktyg och överlämningar.
3. **Arbetsflödesdiagnos:** Identifiera friktionspunkter och begränsningar (fördröjningar, omarbete, för många godkännanden, oklart ägarskap, systemluckor, lagerproblem). Lyft hypoteser om rotorsaker.
4. **Förbättringsmöjligheter (prioriterade):** Ta fram en rankad lista över förändringar med ett impact/effort-perspektiv. Inkludera quick wins och initiativ på medellång sikt.
5. **Optimerings-playbook:** För varje prioriterat område, föreslå specifika insatser såsom eliminering av slöseri, standardiserat arbete, lättviktig automation, bättre schemaläggning, tydligare SLA:er, färre överlämningar och processomdesign.
6. **Resurs- och kostnadsjustering:** Rekommendera förändringar i bemanning/tidsallokering, rolltydlighet, kapacitetsplanering, outsourcing/offshoring-överväganden (endast om rimligt) samt kostnadskontroller.
7. **Robusthet i inköp och lager:** Föreslå sätt att minska slut på lager/överlager, förbättra leverantörers tillförlitlighet och stärka logistiken mot störningar.
8. **Mätsystem:** Definiera KPI:er, mål, rapporteringskadens och ägarskap. Inkludera både ledande indikatorer (processhälsa) och släpande indikatorer (utfall).
9. **Riskkontroller:** Identifiera större operativa risker (leverantörsberoende, kvalitetsläckor, cybersäkerhetsexponering via verktyg, compliance-nära operativa risker) och föreslå mitigeringar.
10. **Skalbarhetsväg:** Förklara hur de omdesignade processerna hanterar högre volym utan proportionella kostnadsökningar; notera kapacitetstriggers som kräver nästa “lager” av process/verktyg.

### Edge case-hantering (indata ofullständig/tvetydig)
- Om en viktig indata saknas, ställ upp till **5** fokuserade frågor först.
- Om detaljer är ofullständiga, gå vidare med rimliga antaganden som tydligt märks som **Assumptions**, och ge alternativ som fungerar över sannolika scenarier.
- Om “identifierade ineffektiviter” står i konflikt med “mål”, påpeka mismatchen och föreslå ett sätt att försona dem.

## INDATA
- **Verksamhetsöversikt:** [PRODUKTBESKRIVNING]
- **Viktiga operativa processer:** [VIKTIGASTE_OPERATIVA_PROCESSER]
- **Nuvarande programvara och verktyg:** [NUVARANDE_PROGRAMVARA_OCH_VERKTYG]
- **Kända ineffektiviteter / problem:** [IDENTIFIERADE_INEFFEKTIVITETER]
- **Mål för operativ förbättring:** [HUVUDMAL]
- **Bransch (om relevant):** [BRANSCH]
- **Budget eller investeringsbegränsningar (om några):** [BUDGET]
- **Tidshorisont / deadline:** [TIDSRAM]

## SPECIFIKATION FÖR OUTPUT
Leverera planen med följande avsnitt och placeholders:

1. **Föranalys-bekräftelse**
   - {Business Understanding}
   - {Primary Constraints Noted}

2. **Nulägeskarta (hög nivå)**
   - {Core Workflows}
   - {Key Handoffs &amp; Systems}
   - {Observed Bottlenecks}

3. **Prioriterad förbättrings-backlog (rankad)**
   För varje punkt:
   - {Initiative Name}
   - {Problem It Solves}
   - {Likely Root Cause}
   - {Impact Level}
   - {Effort Level}
   - {Dependencies}
   - {First Step This Week}

4. **Handlingsplaner (per funktion/process)**
   För varje processområde:
   - {Proposed Changes}
   - {Standard Operating Changes}
   - {Automation / Tooling Options}
   - {Owner &amp; Roles}
   - {Expected Cost Effects}
   - {Quality/Service Safeguards}

5. **Resursallokering och kostnadsstrategi**
   - {Capacity &amp; Utilization Findings}
   - {Reallocation Recommendations}
   - {Outsourcing Candidates (if any)}
   - {Cost-Reduction Levers}

6. **Förbättringar i supply chain och lager**
   - {Supplier Strategy}
   - {Inventory Policy Suggestions}
   - {Logistics Improvements}

7. **System för mätning och kontinuerlig förbättring**
   - {KPI Set}
   - {Targets}
   - {Cadence &amp; Dashboard Outline}
   - {Feedback Loop Mechanism}

8. **Riskregister (operationsfokuserat)**
   För varje risk:
   - {Risk}
   - {Likelihood}
   - {Impact}
   - {Mitigation}
   - {Early Warning Signal}
   - {Owner}

9. **Skalbarhets-roadmap**
   - {Scale Triggers}
   - {Phase 1 (0–35 days)}
   - {Phase 2 (35–90 days)}
   - {Phase 3 (90–150 days)}

## KVALITETSKONTROLLER
Innan du slutför, verifiera:
- Planen adresserar direkt de angivna ineffektiviteterna och målen (ingen utfyllnad).
- Varje större rekommendation har en ägare, en första åtgärd och en mätmetod.
- Quick wins är tydligt separerade från större initiativ med beroenden.
- KPI:er inkluderar både operativa drivare (cycle time, omarbete, WIP) och utfall (kostnad, marginal, leverans i tid).
- Alla användarangivna variabler använder **[VERSALER_MED_UNDERSCORE]**, och alla AI-ifyllda fält använder **{Title Case}**.            </div>
        </div>


    </div>

    <!-- CTA Row - Full width buttons -->
    <div class="prompt-cta-row">
        <button class="prompt-cta-btn prompt-cta-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
            </svg>
            <span class="cta-copy-text">Kopiera hela prompten</span>
        </button>
    </div>
</div>

<style>
    /* Gated prompt states */
    .prompt-gated-wrapper {
        position: relative;
    }

    /* When unlocked - show full content, hide gated */
    body.flowpast-unlocked .prompt-gated-wrapper .prompt-gated-content {
        display: none;
    }

    body.flowpast-unlocked .prompt-gated-wrapper .prompt-content-full {
        display: block !important;
    }

    /* Show/hide elements based on unlock state */
    body.flowpast-unlocked .btn-when-unlocked {
        display: inline-flex !important;
    }

    .prompt-viewer-wrapper {
        scroll-margin-top: 250px;
    }

    /* ========================================
   PROMPT VIEWER - MAIN WRAPPER
   ======================================== */
    .prompt-viewer-wrapper {
        margin: 30px 0;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    /* ========================================
   PROMPT BOX CONTAINER
   ======================================== */
    .prompt-comparison-row {
        border-radius: 12px;
        overflow: hidden;
        border: 1px solid #e0e0e0;
        background: #fff;
    }

    /* ========================================
   HEADER WITH BUTTONS
   ======================================== */
    .prompt-row-header {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 14px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
        flex-wrap: wrap;
    }

    .prompt-row-icon {
        font-size: 20px;
    }

    .prompt-row-title {
        font-weight: 600;
        font-size: 22px;
        color: #fff !important;
        text-decoration: underline
    }

    .prompt-header-buttons {
        margin-left: auto;
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
    }

    /* Header buttons */
    .prompt-header-btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 10px 20px;
        border-radius: 6px;
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-header-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-header-copy:hover {
        background: #2a2a2a;
    }

    .prompt-header-copy.copied {
        background: #2e7d32;
    }

    .prompt-header-copy-green {
        background: #04AA6D !important;
        color: #fff !important;
    }

    .prompt-header-copy-green span {
        color: #fff !important;
    }

    .prompt-header-copy-green:hover {
        background: #039860 !important;
    }

    .prompt-header-copy-green.copied {
        background: #2e7d32 !important;
    }

    .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-header-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-1px);
    }

    /* ========================================
   PROMPT CONTENT - FULL (NO SCROLL)
   ======================================== */
    .prompt-box {
        background: #ffffff;
    }

    .prompt-content-full {
        padding: 24px;
        margin: 0;
        color: #202124;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.7;
        white-space: pre-wrap;
        word-wrap: break-word;
        /* No scroll - show full content */
        max-height: none;
        overflow: visible;
    }

    /* Highlighted variable in prompt */
    .prompt-variable {
        background: #fff3cd;
        color: #1967d2;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #ffc107;
    }

    .prompt-variable-filled {
        background: #d4edda;
        color: #155724;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #28a745;
    }

    /* ========================================
   GATED CONTENT (NO ACCESS)
   ======================================== */
    .prompt-gated-content {
        padding: 24px;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.8;
        max-height: none;
        overflow: visible;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        cursor: default;
    }

    /* ## headers - larger, black */
    .prompt-header-visible {
        color: #202124;
        font-weight: 600;
        margin: 5px 0 0px 0;
        font-size: 20px;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        text-decoration: underline;
        text-underline-offset: 4px;
    }

    /* ### headers - smaller, black */
    .prompt-header-visible.subheader {
        color: #202124;
        font-weight: 600;
        margin: 5px 0;
        font-size: 18px;
    }

    .prompt-header-visible:first-child {
        margin-top: 0;
    }

    /* ========================================
   LOCKED SECTION BLOCK
   ======================================== */
    .locked-section {
        position: relative;
        margin: 4px 0 8px 0;
        border-radius: 6px;
        overflow: hidden;
        background: linear-gradient(110deg, #e2e8f0 8%, #f1f5f9 18%, #e2e8f0 33%);
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
    }

    .locked-section-bg {
        position: relative;
    }

    .locked-section-lines {
        padding: 8px 12px;
        position: relative;
    }

    .locked-line {
        height: 6px;
        background: rgba(255, 255, 255, 0.6);
        border-radius: 3px;
        margin-bottom: 4px;
        margin-left: 12px;
    }

    .locked-line:last-child {
        margin-bottom: 0;
    }

    .locked-section-icon {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 10;
        font-size: 24px;
        filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.1));
    }

    /* Subheader locked sections - slightly indented */
    /*  .prompt-header-visible.subheader+.locked-section {
        margin-left: 16px;
    } */

    /* ========================================
   COMPATIBILITY BADGES
   ======================================== */
    .prompt-compatibility {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        padding: 12px 20px;
        background: #f8f9fa;
        border-top: 1px solid #e0e0e0;
    }

    .compat-label {
        font-size: 13px;
        color: #5f6368;
        font-weight: 500;
    }

    .compat-badge {
        padding: 4px 10px;
        background: #e8f0fe;
        color: #1967d2;
        border-radius: 4px;
        font-size: 12px;
        font-weight: 500;
    }

    /* ========================================
   CTA ROW - FULL WIDTH BUTTONS
   ======================================== */
    .prompt-cta-row {
        display: flex;
        gap: 16px;
        flex-wrap: wrap;
    }

    .prompt-cta-btn {
        flex: 1;
        min-width: 200px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 16px 24px;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-cta-copy {
        background: #3a3a3a;
        color: #fff !important;
    }


    .prompt-cta-copy span {
        background: #3a3a3a;
        color: #fff !important;
    }


    .prompt-cta-copy:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }


    .prompt-cta-copy.copied {
        background: #2e7d32;
    }

    .prompt-cta-reset {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-reset:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-cta-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    /* ========================================
    CUSTOMIZE YOUR PROMPT SECTION
    ======================================== */
    .prompt-customize-section {
        padding: 24px;
        border-bottom: 1px solid #e0e0e0;
        background: #fafbfc;
    }

    .customize-title {
        margin: 0 0 8px 0;
        font-size: 18px;
        font-weight: 700;
        color: #202124;
    }

    .customize-subtitle {
        margin: 0 0 20px 0;
        font-size: 14px;
        color: #5f6368;
    }

    .customize-table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 20px;
    }

    .customize-table th {
        text-align: left;
        padding: 12px;
        background: #f1f3f4;
        border: 1px solid #e0e0e0;
        font-size: 13px;
        font-weight: 600;
        color: #202124;
    }

    .customize-table td {
        padding: 12px;
        border: 1px solid #e0e0e0;
        vertical-align: top;
    }

    .customize-table .var-name {
        width: 25%;
        background: #f8f9fa;
    }

    .customize-table .var-name code {
        background: #fff3cd;
        color: #1967d2;
        border: 1px solid #ffc107;
        padding: 4px 8px;
        border-radius: 4px;
        font-size: 12px;
        word-break: break-all;
        font-weight: 600;
    }

    .customize-table .var-desc {
        width: 35%;
        font-size: 13px;
        color: #5f6368;
        line-height: 1.5;
    }

    .customize-table .var-example {
        margin-top: 8px;
        padding: 8px 10px;
        background: #f8f9fa;
        border-left: 3px solid #dadce0;
        font-size: 12px;
        color: #5f6368;
        font-style: italic;
        border-radius: 0 4px 4px 0;
    }

    .customize-table .var-input {
        width: 40%;
    }

    .customize-input {
        width: 100%;
        padding: 10px 12px;
        border: 1px solid #dadce0;
        border-radius: 6px;
        font-size: 13px;
        font-family: inherit;
        resize: vertical;
        transition: border-color 0.2s, box-shadow 0.2s;
    }

    .customize-input:focus {
        outline: none;
        border-color: rgb(5, 152, 98);
        box-shadow: 0 0 0 3px rgba(5, 152, 98, 0.1);
    }

    .customize-input::placeholder {
        color: #9aa0a6;
        font-style: italic;
    }

    .copy-customized-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        width: 100%;
        padding: 16px 24px;
        background: rgb(5, 152, 98);
        color: #fff !important;
        border: none;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
    }

    .copy-customized-btn span {
        color: #fff !important
    }

    .copy-customized-text span {
        color: #fff !important
    }

    .copy-customized-btn:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    .copy-customized-btn.copied {
        background: #2e7d32;
    }

    /* ========================================
    FULL PROMPT CODE HEADER
    ======================================== */
    .prompt-code-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
    }

    .prompt-code-title {
        font-size: 22px;
        font-weight: 600;
        text-decoration: underline;
        color: #fff !important;

    }

    .prompt-code-buttons {
        display: flex;
        gap: 8px;
    }

    .prompt-code-buttons .prompt-header-btn {
        padding: 8px 14px;
        font-size: 13px;
        background: #ffffff;
        color: #202124;
        border: 1px solid #dadce0;
    }

    .prompt-code-buttons .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
        border-color: rgb(5, 152, 98);
    }

    .prompt-code-buttons .prompt-header-btn.prompt-header-access:hover {
        background: rgb(4, 130, 83) !important;
        border-color: rgb(4, 130, 83);
        color: #fff !important;
    }

    .prompt-code-buttons .prompt-header-btn:hover {
        background: #f1f3f4;
    }

    .prompt-code-buttons .prompt-header-copy.copied {
        background: #d4edda;
        color: #155724;
        border-color: #28a745;
    }

    .prompt-header-reset {
        background: #ffffff;
        color: #202124;
    }

    /* ========================================
   RESPONSIVE
   ======================================== */
    @media (max-width: 768px) {
        .prompt-row-header {
            flex-direction: column;
            align-items: flex-start;
            gap: 12px;
        }

        .prompt-header-buttons {
            margin-left: 0;
            width: 100%;
        }

        .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }

        .prompt-cta-row {
            flex-direction: column;
        }

        .prompt-cta-btn {
            width: 100%;
        }

        /* Customize table responsive */
        .customize-table,
        .customize-table thead,
        .customize-table tbody,
        .customize-table tr,
        .customize-table th,
        .customize-table td {
            display: block;
        }

        .customize-table thead {
            display: none;
        }

        .customize-table tr {
            margin-bottom: 16px;
            border: 1px solid #e0e0e0;
            border-radius: 8px;
            overflow: hidden;
        }

        .customize-table td {
            width: 100% !important;
            border: none;
            border-bottom: 1px solid #e0e0e0;
        }

        .customize-table td:last-child {
            border-bottom: none;
        }

        .customize-table .var-name {
            background: #f1f3f4;
            font-weight: 600;
        }

        .prompt-code-header {
            flex-direction: column;
            gap: 12px;
            align-items: flex-start;
        }

        .prompt-code-buttons {
            width: 100%;
        }

        .prompt-code-buttons .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }
    }
</style>

<script>
    function handlePromptCopy() {
        // Check if unlocked via cookie
        if (typeof window.flowpastIsUnlocked === 'function' && !window.flowpastIsUnlocked()) {
            // Show email popup
            if (typeof window.flowpastShowEmailPopup === 'function') {
                window.flowpastShowEmailPopup('prompt');
            }
            return;
        }

        // Copy the customized prompt (with filled variables)
        const customizedPrompt = getCustomizedPrompt();
        const copyButtons = document.querySelectorAll('.prompt-header-copy, .prompt-header-copy-green, .prompt-cta-copy, .copy-customized-btn');

        navigator.clipboard.writeText(customizedPrompt).then(() => {
            copyButtons.forEach(btn => {
                btn.classList.add('copied');
                const textSpan = btn.querySelector('span');
                if (textSpan) textSpan.textContent = 'Kopierad!';
            });

            setTimeout(() => {
                copyButtons.forEach(btn => {
                    btn.classList.remove('copied');
                    const textSpan = btn.querySelector('span');
                    if (textSpan) textSpan.textContent = 'Kopiera hela prompten';
                });
            }, 2000);
        }).catch(err => {
            console.error('Failed to copy:', err);
        });
    }

    // Store original prompt for customization
    const originalPrompt = "## M\u00c5L\r\nSkapa en praktisk, helt\u00e4ckande plan f\u00f6r operativ f\u00f6rb\u00e4ttring f\u00f6r ett sm\u00e5f\u00f6retag som \u00f6kar genomstr\u00f6mning och l\u00f6nsamhet genom att omforma arbetsfl\u00f6den, omf\u00f6rdela resurser och s\u00e4nka driftskostnader\u2014samtidigt som kvaliteten h\u00e5lls stabil eller f\u00f6rb\u00e4ttras.\r\n\r\n## PERSONA\r\nAgera som en senior operationsansvarig f\u00f6r sm\u00e5f\u00f6retag som \u00e4r specialiserad p\u00e5 att f\u00f6renkla r\u00f6riga processer, ta bort hinder och omvandla det dagliga arbetet till m\u00e4tbara, repeterbara system. Kommunicera med tydligt, rakt aff\u00e4rsspr\u00e5k och prioritera \u00e5tg\u00e4rder som \u00e4r realistiska f\u00f6r ett litet team.\r\n\r\n## BEGR\u00c4NSNINGAR\r\n- Rekommendationer m\u00e5ste vara genomf\u00f6rbara f\u00f6r verksamheten som beskrivs i indata (inga generiska \u201dbara r\u00e5d\u201d-planer).\r\n- Prioritera f\u00f6r\u00e4ndringar med h\u00f6g effekt och l\u00e5g komplexitet f\u00f6rst; flagga s\u00e5dant som kr\u00e4ver st\u00f6rre investering eller change management.\r\n- Anv\u00e4nd \u201cplain English + l\u00e4tt struktur\u201d: korta stycken, skannbara punktlistor och konkreta \u00e5tg\u00e4rder.\r\n- N\u00e4r du f\u00f6resl\u00e5r verktyg\/teknik, h\u00e5ll dem valfria och f\u00f6rklara det operativa syftet (inte leverant\u00f6rshype).\r\n- Om n\u00e5gon indata saknas eller \u00e4r oklar, f\u00f6lj edge-case-reglerna i **PROCESS**.\r\n\r\n### Omfattningsgr\u00e4nser \u2014 vad detta INTE \u00e4r\r\n- Inte en juridisk, skatte- eller regelefterlevnadsbed\u00f6mning.\r\n- Inte en komplett IT-arkitekturdesign eller ett s\u00e4kerhetspenetrationstest.\r\n- Inte ett l\u00f6fte om specifika finansiella utfall.\r\n- Inte en ers\u00e4ttning f\u00f6r platsbaserade time-and-motion-studier; du kan f\u00f6resl\u00e5 dem, men l\u00e5tsas inte att de har genomf\u00f6rts.\r\n\r\n## PROCESS\r\n1. **F\u00f6ranalys-bekr\u00e4ftelse (obligatorisk):** \u00c5terge kort din f\u00f6rst\u00e5else av verksamheten, dess operativa landskap och den huvudsakliga f\u00f6rb\u00e4ttringsintentionen baserat p\u00e5 indata.\r\n2. **Nul\u00e4gesbild (operativ baslinje):** Sammanfatta hur arbetet i dag fl\u00f6dar genom k\u00e4rnfunktioner (t.ex. order-to-cash, procure-to-pay, service delivery). Notera k\u00e4nda verktyg och \u00f6verl\u00e4mningar.\r\n3. **Arbetsfl\u00f6desdiagnos:** Identifiera friktionspunkter och begr\u00e4nsningar (f\u00f6rdr\u00f6jningar, omarbete, f\u00f6r m\u00e5nga godk\u00e4nnanden, oklart \u00e4garskap, systemluckor, lagerproblem). Lyft hypoteser om rotorsaker.\r\n4. **F\u00f6rb\u00e4ttringsm\u00f6jligheter (prioriterade):** Ta fram en rankad lista \u00f6ver f\u00f6r\u00e4ndringar med ett impact\/effort-perspektiv. Inkludera quick wins och initiativ p\u00e5 medell\u00e5ng sikt.\r\n5. **Optimerings-playbook:** F\u00f6r varje prioriterat omr\u00e5de, f\u00f6resl\u00e5 specifika insatser s\u00e5som eliminering av sl\u00f6seri, standardiserat arbete, l\u00e4ttviktig automation, b\u00e4ttre schemal\u00e4ggning, tydligare SLA:er, f\u00e4rre \u00f6verl\u00e4mningar och processomdesign.\r\n6. **Resurs- och kostnadsjustering:** Rekommendera f\u00f6r\u00e4ndringar i bemanning\/tidsallokering, rolltydlighet, kapacitetsplanering, outsourcing\/offshoring-\u00f6verv\u00e4ganden (endast om rimligt) samt kostnadskontroller.\r\n7. **Robusthet i ink\u00f6p och lager:** F\u00f6resl\u00e5 s\u00e4tt att minska slut p\u00e5 lager\/\u00f6verlager, f\u00f6rb\u00e4ttra leverant\u00f6rers tillf\u00f6rlitlighet och st\u00e4rka logistiken mot st\u00f6rningar.\r\n8. **M\u00e4tsystem:** Definiera KPI:er, m\u00e5l, rapporteringskadens och \u00e4garskap. Inkludera b\u00e5de ledande indikatorer (processh\u00e4lsa) och sl\u00e4pande indikatorer (utfall).\r\n9. **Riskkontroller:** Identifiera st\u00f6rre operativa risker (leverant\u00f6rsberoende, kvalitetsl\u00e4ckor, cybers\u00e4kerhetsexponering via verktyg, compliance-n\u00e4ra operativa risker) och f\u00f6resl\u00e5 mitigeringar.\r\n10. **Skalbarhetsv\u00e4g:** F\u00f6rklara hur de omdesignade processerna hanterar h\u00f6gre volym utan proportionella kostnads\u00f6kningar; notera kapacitetstriggers som kr\u00e4ver n\u00e4sta \u201clager\u201d av process\/verktyg.\r\n\r\n### Edge case-hantering (indata ofullst\u00e4ndig\/tvetydig)\r\n- Om en viktig indata saknas, st\u00e4ll upp till **5** fokuserade fr\u00e5gor f\u00f6rst.\r\n- Om detaljer \u00e4r ofullst\u00e4ndiga, g\u00e5 vidare med rimliga antaganden som tydligt m\u00e4rks som **Assumptions**, och ge alternativ som fungerar \u00f6ver sannolika scenarier.\r\n- Om \u201cidentifierade ineffektiviter\u201d st\u00e5r i konflikt med \u201cm\u00e5l\u201d, p\u00e5peka mismatchen och f\u00f6resl\u00e5 ett s\u00e4tt att f\u00f6rsona dem.\r\n\r\n## INDATA\r\n- **Verksamhets\u00f6versikt:** [PRODUKTBESKRIVNING]\r\n- **Viktiga operativa processer:** [VIKTIGASTE_OPERATIVA_PROCESSER]\r\n- **Nuvarande programvara och verktyg:** [NUVARANDE_PROGRAMVARA_OCH_VERKTYG]\r\n- **K\u00e4nda ineffektiviteter \/ problem:** [IDENTIFIERADE_INEFFEKTIVITETER]\r\n- **M\u00e5l f\u00f6r operativ f\u00f6rb\u00e4ttring:** [HUVUDMAL]\r\n- **Bransch (om relevant):** [BRANSCH]\r\n- **Budget eller investeringsbegr\u00e4nsningar (om n\u00e5gra):** [BUDGET]\r\n- **Tidshorisont \/ deadline:** [TIDSRAM]\r\n\r\n## SPECIFIKATION F\u00d6R OUTPUT\r\nLeverera planen med f\u00f6ljande avsnitt och placeholders:\r\n\r\n1. **F\u00f6ranalys-bekr\u00e4ftelse**\r\n   - {Business Understanding}\r\n   - {Primary Constraints Noted}\r\n\r\n2. **Nul\u00e4geskarta (h\u00f6g niv\u00e5)**\r\n   - {Core Workflows}\r\n   - {Key Handoffs & Systems}\r\n   - {Observed Bottlenecks}\r\n\r\n3. **Prioriterad f\u00f6rb\u00e4ttrings-backlog (rankad)**\r\n   F\u00f6r varje punkt:\r\n   - {Initiative Name}\r\n   - {Problem It Solves}\r\n   - {Likely Root Cause}\r\n   - {Impact Level}\r\n   - {Effort Level}\r\n   - {Dependencies}\r\n   - {First Step This Week}\r\n\r\n4. **Handlingsplaner (per funktion\/process)**\r\n   F\u00f6r varje processomr\u00e5de:\r\n   - {Proposed Changes}\r\n   - {Standard Operating Changes}\r\n   - {Automation \/ Tooling Options}\r\n   - {Owner & Roles}\r\n   - {Expected Cost Effects}\r\n   - {Quality\/Service Safeguards}\r\n\r\n5. **Resursallokering och kostnadsstrategi**\r\n   - {Capacity & Utilization Findings}\r\n   - {Reallocation Recommendations}\r\n   - {Outsourcing Candidates (if any)}\r\n   - {Cost-Reduction Levers}\r\n\r\n6. **F\u00f6rb\u00e4ttringar i supply chain och lager**\r\n   - {Supplier Strategy}\r\n   - {Inventory Policy Suggestions}\r\n   - {Logistics Improvements}\r\n\r\n7. **System f\u00f6r m\u00e4tning och kontinuerlig f\u00f6rb\u00e4ttring**\r\n   - {KPI Set}\r\n   - {Targets}\r\n   - {Cadence & Dashboard Outline}\r\n   - {Feedback Loop Mechanism}\r\n\r\n8. **Riskregister (operationsfokuserat)**\r\n   F\u00f6r varje risk:\r\n   - {Risk}\r\n   - {Likelihood}\r\n   - {Impact}\r\n   - {Mitigation}\r\n   - {Early Warning Signal}\r\n   - {Owner}\r\n\r\n9. **Skalbarhets-roadmap**\r\n   - {Scale Triggers}\r\n   - {Phase 1 (0\u201335 days)}\r\n   - {Phase 2 (35\u201390 days)}\r\n   - {Phase 3 (90\u2013150 days)}\r\n\r\n## KVALITETSKONTROLLER\r\nInnan du slutf\u00f6r, verifiera:\r\n- Planen adresserar direkt de angivna ineffektiviteterna och m\u00e5len (ingen utfyllnad).\r\n- Varje st\u00f6rre rekommendation har en \u00e4gare, en f\u00f6rsta \u00e5tg\u00e4rd och en m\u00e4tmetod.\r\n- Quick wins \u00e4r tydligt separerade fr\u00e5n st\u00f6rre initiativ med beroenden.\r\n- KPI:er inkluderar b\u00e5de operativa drivare (cycle time, omarbete, WIP) och utfall (kostnad, marginal, leverans i tid).\r\n- Alla anv\u00e4ndarangivna variabler anv\u00e4nder **[VERSALER_MED_UNDERSCORE]**, och alla AI-ifyllda f\u00e4lt anv\u00e4nder **{Title Case}**.";
    const variables = ["[PRODUKTBESKRIVNING]","[VIKTIGASTE_OPERATIVA_PROCESSER]","[NUVARANDE_PROGRAMVARA_OCH_VERKTYG]","[IDENTIFIERADE_INEFFEKTIVITETER]","[HUVUDMAL]","[BRANSCH]","[BUDGET]","[TIDSRAM]","[VERSALER_MED_UNDERSCORE]"];
    // Initial render with highlighted variables
    document.addEventListener('DOMContentLoaded', function() {
        renderPromptWithHighlights();
    });

    // Live update prompt as user types
    document.querySelectorAll('.customize-input').forEach(input => {
        input.addEventListener('input', renderPromptWithHighlights);
    });

    function renderPromptWithHighlights() {
        const promptContent = document.getElementById('premium-prompt-content');
        if (!promptContent) return;

        let updatedPrompt = originalPrompt;
        let filledVariables = {};

        // Collect filled values
        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                filledVariables[placeholder] = value;
            }
        });

        // Replace filled variables and highlight remaining
        let htmlContent = escapeHtml(updatedPrompt);

        variables.forEach(placeholder => {
            const escapedPlaceholder = escapeHtml(placeholder);
            const regex = new RegExp(escapeRegex(escapedPlaceholder), 'g');

            if (filledVariables[placeholder]) {
                // Show filled value with green highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable-filled">' + escapeHtml(filledVariables[placeholder]) + '</span>'
                );
            } else {
                // Show original placeholder with yellow highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable">' + escapedPlaceholder + '</span>'
                );
            }
        });

        promptContent.innerHTML = htmlContent;
    }

    function escapeRegex(string) {
        return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
    }

    function escapeHtml(text) {
        const div = document.createElement('div');
        div.textContent = text;
        return div.innerHTML;
    }

    function resetPrompt() {
        // Clear all input fields
        document.querySelectorAll('.customize-input').forEach(input => {
            input.value = '';
        });

        // Re-render with original placeholders highlighted
        renderPromptWithHighlights();

        // Visual feedback
        const resetBtns = document.querySelectorAll('.prompt-header-reset, .prompt-cta-reset');
        resetBtns.forEach(btn => {
            const originalText = btn.querySelector('span').textContent;
            btn.querySelector('span').textContent = 'Återställd!';
            setTimeout(() => {
                btn.querySelector('span').textContent = originalText;
            }, 1000);
        });
    }


    function getCustomizedPrompt() {
        let updatedPrompt = originalPrompt;

        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                const regex = new RegExp(escapeRegex(placeholder), 'g');
                updatedPrompt = updatedPrompt.replace(regex, value);
            }
        });

        return updatedPrompt;
    }
</script>

</div>

<div class="pro-tips-section">

<h2 class="wp-block-heading">Proffstips för bättre resultat från AI-prompten</h2>



<ul class="wp-block-list">

<li><strong>Beskriv ett arbetsflöde i enkla steg.</strong> Släng inte in en mission statement. Ge ett enkelt flöde som “Lead kommer in → offert skickas → faktura → schemalägg → leverera → ta betalt”, och notera var det skapar fel. Om du inte är säker, säg det rakt ut och lista symptomen (sen leverans, för många återbetalningar, mycket övertid).</li>


<li><strong>Ta med riktiga siffror, även ungefärliga.</strong> Planen blir vassare när du tar med volym och tempo, som “~40 ordrar/vecka, 2-dagars SLA, ops-team på 3 personer”. Efter första output, fråga: “Rangordna initiativen igen utifrån att vi måste minska övertiden med 25% på 60 dagar.”</li>


<li><strong>Nämn verktyg och överlämningar, inte mjukvaru-önskelistor.</strong> Säg vad du använder i dag (QuickBooks, Google Sheets, Shopify, e-post) och var information byter händer. En bra följdfråga: “Var förlitar vi oss på copy/paste eller matar in samma data två gånger? Föreslå 3 åtgärder som inte kräver en ny plattform.”</li>


<li><strong>Tvinga fram avvägningar med begränsningar.</strong> Små team kan inte göra allt. Testa: “Anta inga nyanställningar detta kvartal och en verktygsbudget på 1 000 kr/månad. Skriv nu om planen med endast de 6 viktigaste initiativen och lägg till veckovisa checkpoints.”</li>


<li><strong>Använd scenariojämförelser för svåra val.</strong> Om planen rekommenderar alternativ (anställa vs outsourca, ny leverantör vs omförhandla), kombinera med en besluts-prompt som <a href="https://nodenordic.se/prompts/valj-basta-alternativet-med-detta-ai-prompt">Välj bästa alternativet med detta AI-prompt</a> och klistra in de 3 främsta vägarna. Be om en poängsatt rekommendation utifrån dina begränsningar: kassa, hastighet, risk och reversibilitet.</li>

</ul>

</div>

<div class="related-prompts-section">

<h2 class="wp-block-heading">Relaterade prompter</h2>



<p>När du väl har en ops-plan hjälper de här promptarna dig att stresstesta val, jämföra alternativ och prioritera vad som ska fixas först.</p>



<p>Om du också behöver välja mellan två operativa vägar (till exempel byta fulfillment-leverantör vs bygga en intern station), använd <a href="https://nodenordic.se/prompts/jamfor-tva-produkterbjudanden-med-ai-prompt">Jämför två produkterbjudanden med AI-prompt</a> som ett strukturerat jämförelseramverk. Den är oväntat användbar för ops eftersom den tvingar fram kriterier, avvägningar och en tydlig rekommendation i stället för “det beror på”.</p>



<p>När förbättringsplanen lyfter fram flera initiativ och du bara kan finansiera ett eller två, hjälper <a href="https://nodenordic.se/prompts/valj-basta-alternativet-med-detta-ai-prompt">Välj bästa alternativet med detta AI-prompt</a> dig att poängsätta alternativ mot begränsningar som kassa, tid till effekt och operativ risk. Det gör att prioritering känns mindre politisk och mer som ett beslutsunderlag.</p>



<p>Om kassaflödet är den verkliga flaskhalsen (sena fakturor, leverantörsvillkor, säsongsdippar), kombinera ditt ops-arbete med <a href="https://nodenordic.se/prompts/forhindra-lanebetalningsinstallelse-med-likviditetskarta">Förhindra lånebetalningsinställelse med likviditetskarta</a>. Den gör “vi är stressade över kassan” till en tidslinje över åtaganden och hävstänger, så att du kan tajma operativa förändringar utan att skapa en ny kris.</p>


<br>


<p>Snabbreferens:</p>



<ul class="wp-block-list">

<li><a href="https://nodenordic.se/prompts/jamfor-tva-produkterbjudanden-med-ai-prompt">Jämför två produkterbjudanden med AI-prompt</a>: Jämförelse sida vid sida med beslutskriterier.</li>


<li><a href="https://nodenordic.se/prompts/valj-basta-alternativet-med-detta-ai-prompt">Välj bästa alternativet med detta AI-prompt</a>: Poängsätt val utifrån dina begränsningar.</li>

<li><a href="https://nodenordic.se/prompts/forhindra-lanebetalningsinstallelse-med-likviditetskarta">Förhindra lånebetalningsinställelse med likviditetskarta</a>: Kassatidskarta och åtgärdsreglage för att förebygga problem.</li>

<li><a href="https://nodenordic.se/prompts/ai-prompt-kalkylator-for-aterbetalning-av-studielan">AI-prompt: kalkylator för återbetalning av studielån</a>: Användbar struktur för payoff-beräkningar i scenarier.</li>
<!-- /wp:post-content -->
<li><a href="https://nodenordic.se/prompts/valj-basta-sociala-plattformen-med-ai-prompten">Välj bästa sociala plattformen med ai-prompten</a>: Ramverk för kanalval och go-to-market-alignment.</li>
<!-- /wp:list-item -->
</ul>
<!-- /wp:list -->
</div>

<div class="faq-section">
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">Vanliga frågor</h2>
<!-- /wp:heading -->

<div class="faq-item">
<span class="question">Vilka roller har mest nytta av den här AI-prompten för en ops-plan för småföretag?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>Operations managers</strong> använder den för att göra spretiga klagomål (“allt går långsamt”) till en prioriterad plan med ansvariga, tidslinjer och mätbara KPI:er. <strong>Småföretagsägare</strong> får en tydlig bild av var marginalen läcker och vilka åtgärder som är realistiska utan att överbygga process. <strong>COO:er och integratorer</strong> förlitar sig på den för att standardisera hur arbetet flödar mellan funktioner, särskilt när tillväxten sprang ifrån den informella samordningen. <strong>Fractional ops-konsulter</strong> använder den för att skapa en roadmap som är redo att ligga till grund för ett uppdrag, inklusive risker och flaggor för förändringsledning, utan att låtsas att de gjort en studie på plats.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Vilka branscher får mest värde av den här AI-prompten för en ops-plan för småföretag?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>E-handel och DTC-varumärken</strong> använder den för att korta ledtiden i fulfillment, minska plock-/packfel och reda upp överlämningar mellan butik, lager och support. <strong>Hem- och fälttjänster</strong> använder den för att strama upp schemaläggning, minska slöseri med onödiga utryckningar och standardisera offerter, fakturering och avslut av jobb så att kassan kommer in snabbare. <strong>Byråer och studios</strong> nyttjar den för att designa om leveransflöden (intake → scope → produktion → granskning), eliminera omarbete och förbättra beläggning utan att bränna ut teamet. <strong>Lätt tillverkning och grossist</strong> får värde av tydligare procure-to-pay- och lagerflöden, särskilt när slut i lager, expressavgifter eller leverantörsförseningar ständigt stör produktionen.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Varför ger grundläggande AI-prompter för att bygga en operativ förbättringsplan svaga resultat?</span>
<!-- wp:paragraph -->
<p class="answer">En typisk prompt som “Skriv en operativ förbättringsplan för mitt företag” misslyckas eftersom den: saknar en nulägesbaslinje (så planen matchar inte ditt faktiska arbetsflöde), saknar ett diagnossteg (så grundorsaker gissas), ignorerar begränsningar som teamstorlek och förändringskapacitet, ger generiska råd om att “optimera” i stället för en prioriterad backlog med ansvariga och KPI:er, och missar riskhantering (så planen ser bra ut på papper men skapar fel i genomförandet). Den här prompten tvingar fram ett bekräfta-först-upplägg och gör sedan om insikter till lättöverskådliga åtgärder som teamet kan genomföra.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Kan jag anpassa den här ops-plan-prompten för småföretag till min specifika situation?</span>
<!-- wp:paragraph -->
<p class="answer">Ja, anpassa den genom att klistra in din verksamhetskontext innan du kör den: vad du säljer, ordervolym eller projektvolym, teamroller, verktyg och vilket arbetsflöde du vill fixa först (order-to-cash, tjänsteleverans, procure-to-pay). Lägg också in hårda begränsningar som budget, “inga nyanställningar” eller ett krav på SLA, eftersom prompten prioriterar arbete med hög effekt och låg komplexitet när den har tydliga ramar. När du fått första planen, följ upp med: “Skriv om planen för ett team på 4 personer, prioritera förändringar som minskar omarbete och lägg till KPI-definitioner samt veckovisa avstämningar.” Du kan också be den ta fram två versioner: konservativ (minimala förändringar) och offensiv (större omstrukturering), så att du kan välja rätt tempo.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Vilka är de vanligaste misstagen när man använder den här ops-plan-prompten för småföretag?</span>
<!-- wp:paragraph -->
<p class="answer">Det största misstaget är att ge en dimmig verksamhetsbeskrivning; i stället för “vi är ett litet serviceföretag”, skriv något i stil med “vi gör 25–35 HVAC-serviceuppdrag/vecka, 2 dispatchers, 6 tekniker, använder ServiceTitan + QuickBooks, och återbesöken ökar.” Ett annat vanligt fel är att hoppa över stegen i nuvarande arbetsflöde, vilket leder till generiska åtgärder; skriv stegen även om de är röriga, som “uppskattning via e-post → manuell faktura → schemaläggning i delad kalender.” Många glömmer också att ta med begränsningar, så rekommendationerna driver mot större projekt; säg inte “vi vill växa”, säg “inga nyanställningar på 90 dagar och verktygsbudget under 500 kr/månad.” Slutligen utelämnar team ofta den viktigaste smärtmetrikern (sena order, övertid, återbetalningar), och då blir KPI-valet svagt; ange ett baslinjetal, även om det är en uppskattning.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Vem ska INTE använda den här ops-plan-prompten för småföretag?</span>
<!-- wp:paragraph -->
<p class="answer">Den här prompten är inte idealisk i situationer där du behöver juridisk rådgivning, skatterådgivning eller vägledning kring regelefterlevnad, eller där arbetet kräver en djup teknisk arkitektur- eller säkerhetsgranskning. Den passar heller inte om du inte vill ge några operativa detaljer, eftersom planen bara blir så verklighetsnära som dina inputs. Och om du behöver en ensidig “snabbmall” utan ambition att mäta eller iterera kan KPI- och riskdelarna kännas tyngre än du vill. I de fallen, börja med en lätt intern checklista och kom tillbaka när du kan åta dig att driva en riktig förbättringscykel.</p>
<!-- /wp:paragraph -->
</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Vilka roller har mest nytta av den här AI-prompten för en ops-plan för småföretag?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Operations Managers använder den för att göra spretiga klagomål (“allt går långsamt”) till en prioriterad plan med ansvariga, tidslinjer och mätbara KPI:er. Småföretagsägare får en tydlig bild av var marginalen läcker och vilka åtgärder som är realistiska utan att överbygga process. COO:er och integratorer förlitar sig på den för att standardisera hur arbetet flödar mellan funktioner, särskilt när tillväxten sprang ifrån den informella samordningen. Fractional ops-konsulter använder den för att skapa en roadmap som är redo att ligga till grund för ett uppdrag, inklusive risker och flaggor för förändringsledning, utan att låtsas att de gjort en studie på plats."
      }
    },
    {
      "@type": "Question",
      "name": "Vilka branscher får mest värde av den här AI-prompten för en ops-plan för småföretag?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "E-handel och DTC-varumärken använder den för att korta ledtiden i fulfillment, minska plock-/packfel och reda upp överlämningar mellan butik, lager och support. Hem- och fälttjänster använder den för att strama upp schemaläggning, minska slöseri med onödiga utryckningar och standardisera offerter, fakturering och avslut av jobb så att kassan kommer in snabbare. Byråer och studios nyttjar den för att designa om leveransflöden (intake → scope → produktion → granskning), eliminera omarbete och förbättra beläggning utan att bränna ut teamet. Lätt tillverkning och grossist får värde av tydligare procure-to-pay- och lagerflöden, särskilt när slut i lager, expressavgifter eller leverantörsförseningar ständigt stör produktionen."
      }
    },
    {
      "@type": "Question",
      "name": "Varför ger grundläggande AI-prompter för att bygga en operativ förbättringsplan svaga resultat?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "En typisk prompt som “Skriv en operativ förbättringsplan för mitt företag” misslyckas eftersom den: saknar en nulägesbaslinje (så planen matchar inte ditt faktiska arbetsflöde), saknar ett diagnossteg (så grundorsaker gissas), ignorerar begränsningar som teamstorlek och förändringskapacitet, ger generiska råd om att “optimera” i stället för en prioriterad backlog med ansvariga och KPI:er, och missar riskhantering (så planen ser bra ut på papper men skapar fel i genomförandet). Den här prompten tvingar fram ett bekräfta-först-upplägg och gör sedan om insikter till lättöverskådliga åtgärder som teamet kan genomföra."
      }
    },
    {
      "@type": "Question",
      "name": "Kan jag anpassa den här ops-plan-prompten för småföretag till min specifika situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ja, anpassa den genom att klistra in din verksamhetskontext innan du kör den: vad du säljer, ordervolym eller projektvolym, teamroller, verktyg och vilket arbetsflöde du vill fixa först (order-to-cash, tjänsteleverans, procure-to-pay). Lägg också in hårda begränsningar som budget, “inga nyanställningar” eller ett krav på SLA, eftersom prompten prioriterar arbete med hög effekt och låg komplexitet när den har tydliga ramar. När du fått första planen, följ upp med: “Skriv om planen för ett team på 4 personer, prioritera förändringar som minskar omarbete och lägg till KPI-definitioner samt veckovisa avstämningar.” Du kan också be den ta fram två versioner: konservativ (minimala förändringar) och offensiv (större omstrukturering), så att du kan välja rätt tempo."
      }
    },
    {
      "@type": "Question",
      "name": "Vilka är de vanligaste misstagen när man använder den här ops-plan-prompten för småföretag?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Det största misstaget är att ge en dimmig verksamhetsbeskrivning; i stället för “vi är ett litet serviceföretag”, skriv något i stil med “vi gör 25–35 HVAC-serviceuppdrag/vecka, 2 dispatchers, 6 tekniker, använder ServiceTitan + QuickBooks, och återbesöken ökar.” Ett annat vanligt fel är att hoppa över stegen i nuvarande arbetsflöde, vilket leder till generiska åtgärder; skriv stegen även om de är röriga, som “uppskattning via e-post → manuell faktura → schemaläggning i delad kalender.” Många glömmer också att ta med begränsningar, så rekommendationerna driver mot större projekt; säg inte “vi vill växa”, säg “inga nyanställningar på 90 dagar och verktygsbudget under 500 kr/månad.” Slutligen utelämnar team ofta den viktigaste smärtmetrikern (sena order, övertid, återbetalningar), och då blir KPI-valet svagt; ange ett baslinjetal, även om det är en uppskattning."
      }
    },
    {
      "@type": "Question",
      "name": "Vem ska INTE använda den här ops-plan-prompten för småföretag?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Den här prompten är inte idealisk i situationer där du behöver juridisk rådgivning, skatterådgivning eller vägledning kring regelefterlevnad, eller där arbetet kräver en djup teknisk arkitektur- eller säkerhetsgranskning. Den passar heller inte om du inte vill ge några operativa detaljer, eftersom planen bara blir så verklighetsnära som dina inputs. Och om du behöver en ensidig “snabbmall” utan ambition att mäta eller iterera kan KPI- och riskdelarna kännas tyngre än du vill. I de fallen, börja med en lätt intern checklista och kom tillbaka när du kan åta dig att driva en riktig förbättringscykel."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">
<!-- wp:paragraph -->
<p>Ops blir inte bättre av motivation. Det blir bättre med tydlighet, prioriteringar och uppföljning. Klistra in den här prompten i ditt AI-verktyg, beskriv ditt arbetsflöde ärligt och gå därifrån med en plan du kan köra redan nästa vecka.</p>
<!-- /wp:paragraph -->
</div><p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/skapa-en-plan-for-forbattrad-drift-i-smaforetag/">Skapa en plan för förbättrad drift i småföretag</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Bygg en playbook för förpackningsefterlevnad</title>
		<link>https://nodenordic.se/prompts/bygg-en-playbook-for-forpackningsefterlevnad/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=bygg-en-playbook-for-forpackningsefterlevnad</link>
		
		<dc:creator><![CDATA[Rickard Andersson]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 02:49:22 +0000</pubDate>
				<category><![CDATA[prompts]]></category>
		<guid isPermaLink="false">https://nodenordic.se/?p=5002887</guid>

					<description><![CDATA[<p>Sändningar anländer skadade eller felroutade – en AI-prompt som skapar en ISTA 3A-plan med ISO 780-symboler och GS1-etiketter. Upptäck fler.</p>
<p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/bygg-en-playbook-for-forpackningsefterlevnad/">Bygg en playbook för förpackningsefterlevnad</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></description>
										<content:encoded><![CDATA[<!-- FOCUS_KEYWORD: packaging compliance playbook -->
<div class="hook-introduction">

<p>Skadade leveranser kostar inte bara ersättningsenheter. De urholkar marginalen i det tysta genom tid i kundsupport, chargebacks, omleveranser och en reputationssmäll i stil med ”vi kan inte lita på den här leverantören”. Och när etiketter fallerar får du en annan typ av smärta: felroutning, missade skanningar och lager som ser borttappat ut tills det är för sent.</p>



<p>Den här <strong>packaging compliance playbook</strong> är byggd för <strong>driftchefer</strong> som gång på gång ser förebyggbara transportskador, <strong>förpackningsingenjörer</strong> som snabbt behöver en strukturerad testplan i ISTA 3A-stil, och <strong>e-handelsgrundare</strong> som skalar till nya transportörer och fulfillment-modeller utan ett märkningssystem som håller. Resultatet är en praktisk, komplett förpackningsplaybook som kombinerar en ISTA 3A-distributionstestsekvens, val/placering av hanteringssymboler enligt ISO 780 och vägledning för GS1-streckkod/etikettlayout som du kan lämna direkt till packare och QA utan att behöva översätta den till ”lager-språk”.</p>

</div>

<div class="what-and-when-section">

<h2 class="wp-block-heading">Vad gör den här AI-prompten och när ska du använda den?</h2>



<table class="solution-results-table three-column" role="presentation" aria-label="What this prompt does, when to use it, and what you get">
 <thead>
    <tr>
      <th scope="col">Vad den här prompten gör</th>
      <th scope="col">När du ska använda den här prompten</th>
      <th scope="col">Det här får du</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <ul class="automation-list">
          <li>Den modellerar paketresan (terminaler, transportband, sista milen) och kopplar varje steg till sannolika felmoder som stöt, vibration och kompression.</li>
          <li>Den tar fram en distributionstestplan i linje med ISTA 3A, med sekvenslogik och acceptanskriterier som du kan köra internt eller ta till ett labb.</li>
          <li>Den väljer hanteringssymboler enligt ISO 780 baserat på produktens känslighet och hanteringsrisker, och specificerar sedan var och hur de ska placeras.</li>
          <li>Den föreslår GS1-identifiering och praxis för streckkodsetiketter, inklusive etikettyp och en layout som minskar skanningsfel.</li>
          <li>Den skriver operativa instruktioner på tydligt språk så att packare, QA och ansvariga i supply chain kan utföra arbetet konsekvent i alla kanaler.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>Du ser ett mönster av spruckna höljen, trasiga förseglingar eller recensioner som säger ”kom fram med buckla” och behöver en repeterbar plan för att förebygga.</li>
          <li>Du byter transportör, lägger till 3PL-stöd eller går från DTC-enskildleveranser till retail/DC-distribution och plötsligt börjar saker fallera.</li>
          <li>Teamet diskuterar material och rätt dimensionering, men ingen kan koppla besluten till testbara kriterier och kontrollpunkter.</li>
          <li>Skanningsgraden är ojämn eftersom etiketter smetar ut, blir skrynkliga eller placeras där transportband och handskannrar missar dem.</li>
          <li>Du behöver dokumentera standarder för förpackning och märkning för onboarding, revisioner eller utrullning till flera lager utan att börja från noll.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>En steg-för-steg-playbook för förpackning som täcker material, packmetod och hanteringsantaganden för 1 produktkonfiguration.</li>
           <li>En testsekvens i ISTA 3A-stil med acceptanskriterier, plus en checklista över vad som ska inspekteras efter varje teststeg.</li>
           <li>En rekommenderad uppsättning ISO 780-symboler med placeringsnoteringar (vilka sidor, ungefärlig position och antal).</li>
           <li>En GS1-etikettstrategi med vägledning för streckkodstyp och en praktisk layoutbeskrivning för att minska felroutning och skanningsfel.</li>
           <li>En kvalitetskontroll-checklista med kontrollpunkter, toleranser och ”stoppa linan”-triggers som teamet faktiskt kan använda.</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

<div class="prompt-display-section">

<h2 class="wp-block-heading">Hela AI-prompten: byggare för compliance-playbook för skadeförebyggande förpackning</h2>



<div class="prompt-viewer-wrapper" id="prompt-section">
    <div class="prompt-comparison-row prompt-premium">
        <!-- Header with buttons -->
        <div class="prompt-row-header">
            <!-- <span class="prompt-row-icon">✨</span> -->
            <span class="prompt-row-title">
                                    Steg 1: Anpassa prompten med din information
                            </span>
            <div class="prompt-header-buttons">
                                    <button class="prompt-header-btn prompt-header-reset" onclick="resetPrompt()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Återställ</span>
                    </button>
                                <button class="prompt-header-btn prompt-header-copy-green flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span>Anpassa och kopiera hela prompten</span>
                </button>
            </div>
        </div>

        <!-- Customize the Prompt Section -->
                    <div class="prompt-customize-section">
                <span class="customize-title">Anpassa prompten</span>
                <p class="customize-subtitle">Fyll i fälten nedan för att anpassa prompten efter dina behov.</p>
                <table class="customize-table">
                    <thead>
                        <tr>
                            <th>Variabel</th>
                            <th>Vad du ska ange</th>
                            <th>Anpassa prompten</th>
                        </tr>
                    </thead>
                    <tbody>
                                                    <tr>
                                <td class="var-name"><code>[PRODUKTBESKRIVNING]</code></td>
                                <td class="var-desc">
                                    Ge en detaljerad beskrivning av produkten, inklusive mått, vikt, material/komposition samt eventuella unika egenskaper eller sårbarheter.                                    <div class="var-example">Till exempel: "En 16 tum hög keramisk vas som väger 2,5 pund, med smal hals och bred bas, benägen att spricka vid tryck eller stötar."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[PRODUKTBESKRIVNING]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[SKORHETSNIVA]</code></td>
                                <td class="var-desc">
                                    Ange produktens skörhetsnivå, inklusive känslighet för stötar, vibrationer, kompression samt miljöfaktorer som temperatur och luftfuktighet.                                    <div class="var-example">Till exempel: "Mycket ömtålig: kan spricka vid mindre fall eller vibrationer; tål inte temperaturer under 32°F."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[SKORHETSNIVA]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[BUDGET]</code></td>
                                <td class="var-desc">
                                    Ange budgeten som avsatts för förpackningslösningen, inklusive material, tester och implementering.                                    <div class="var-example">Till exempel: "5 000 USD för förpackningsmaterial och 2 000 USD för tester."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[BUDGET]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TRANSPORTOR]</code></td>
                                <td class="var-desc">
                                    Ange vilken/vilka transportörer som hanterar produkten, eftersom deras riktlinjer och processer kan påverka förpackningskraven.                                    <div class="var-example">Till exempel: "FedEx Ground och UPS Air Freight."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[TRANSPORTOR]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TIDSRAM]</code></td>
                                <td class="var-desc">
                                    Ange förväntad tidsram för frakt och leverans, inklusive eventuella deadlines för att färdigställa och införa förpackningslösningen.                                    <div class="var-example">Till exempel: "Förpackningslösningen ska vara färdigställd och implementerad inom 6 veckor; typisk leveranstid är 3–5 arbetsdagar."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[TIDSRAM]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TRANSPORTSTRACKA]</code></td>
                                <td class="var-desc">
                                    Ange genomsnittlig eller maximal transportsträcka som produkten kommer att färdas, inklusive eventuella internationella rutter om relevant.                                    <div class="var-example">Till exempel: "Produkterna skickas inom landet upp till 500 miles och internationellt upp till 5 000 miles."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[TRANSPORTSTRACKA]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[LEVERANSMETOD]</code></td>
                                <td class="var-desc">
                                    Beskriv leverans- och uppfyllnadsmodellen, t.ex. direkt till konsument, bulkleverans till distributionscenter eller butiksklara förpackningar.                                    <div class="var-example">Till exempel: "Direktleveranser till konsument via e-handel, packade styckvis i wellkartonger."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[LEVERANSMETOD]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[KONTEXT]</code></td>
                                <td class="var-desc">
                                    Ge kompletterande information om frakt- och hanteringsmiljön, inklusive lagerförhållanden, transportörsspecifika begränsningar eller kundförväntningar.                                    <div class="var-example">Till exempel: "Produkterna hanteras i automatiserade sorteringscentraler med transportband och levereras via sista-milen-bud i stadsområden."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[KONTEXT]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[HALLBARHETSKRAV]</code></td>
                                <td class="var-desc">
                                    Lista eventuella hållbarhetskrav eller preferenser, t.ex. återvinningsbara material, minskad förpackningsmängd eller efterlevnad av miljöcertifieringar.                                    <div class="var-example">Till exempel: "Förpackningen måste vara 100 % återvinningsbar och innehålla minimalt med plast; preferens för FSC-certifierade material."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[HALLBARHETSKRAV]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[REGELKRAV]</code></td>
                                <td class="var-desc">
                                    Ange eventuella regelkrav som förpackningen måste uppfylla, t.ex. märkning, hanteringssymboler eller landspecifika standarder.                                    <div class="var-example">Till exempel: "Måste uppfylla ISO 780 för hanteringssymboler och GS1-standarder för streckkoder vid internationell frakt."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[REGELKRAV]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[NYCKELORD]</code></td>
                                <td class="var-desc">
                                    Ange specifika nyckelord eller fraser som ska betonas i förpackningshandboken för tydlighet och konsekvens.                                    <div class="var-example">Till exempel: "Ömtåligt, återvinningsbart, placering av streckkod, ISTA 3A, stötdämpning."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[NYCKELORD]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                            </tbody>
                </table>

                <button class="copy-customized-btn flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span class="copy-customized-text">Anpassa prompten nu</span>

                </button>
            </div>
        
        <!-- Full Prompt Code Header -->
                    <div class="prompt-code-header">
                <span class="prompt-code-title">
                    Steg 2: Kopiera prompten
                </span>
                <div class="prompt-code-buttons">
                    <!-- Reset: Only visible when unlocked -->
                    <button class="prompt-header-btn prompt-header-reset btn-when-unlocked" onclick="resetPrompt()" style="display: none;">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Återställ</span>
                    </button>
                    <!-- Copy Full Prompt -->
                    <button class="prompt-header-btn prompt-header-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                            <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                        </svg>
                        <span>Kopiera hela prompten</span>
                    </button>
                </div>
            </div>
        

        <!-- Prompt Content -->
        <div class="prompt-box prompt-gated-wrapper">
            <!-- Gated: Blurred content -->
            <div class="prompt-gated-content">
                <div class="prompt-header-visible">MÅL</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PERSONA</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">BEGRÄNSNINGAR</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Vad detta INTE är</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PROCESS</div><div class="prompt-header-visible subheader">0) Föranalys (obligatorisk)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">1) Risk- och flödesmodellering</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">2) Bygg en dynamisk fasplan</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">3) Konstruera förpackningssystemet</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">4) Översättning till ISTA 3A-test</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">5) Hanteringskommunikation (ISO 780)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">6) Identifiering &amp; ruttning (GS1)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">7) Packprocedur &amp; kvalitetsgrindar</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">8) Hållbarhets- och kostnadsjustering</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">9) Kanalvarianter (om tillämpligt)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Hantering av edge cases</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">INDATA</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">OUTPUTSPECIFIKATION</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">KVALITETSKONTROLLER</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div>            </div>
            <!-- Unlocked: Full content (hidden by default) -->
            <div class="prompt-content-full" id="premium-prompt-content" style="display: none;">
                ## MÅL
Skapa en heltäckande, skadeförebyggande förpackningsplaybook för en specifik produkt genom att kombinera:
- ISTA 3A-logik för distributionstestning (sekvens + acceptanskriterier)
- ISO 780-hanteringssymboler (urval + placering)
- GS1-praxis för identifiering/streckkoder (typ + etikettlayout)

Leveransen ska minska risken för skador och minimera rutt-/scanningsfel i de valda fulfillmentkanalerna.

## PERSONA
Du är en erfaren förpackningssystemsingenjör med ett decennium av erfarenhet av att designa redundans och feltolerans för logistik i rymdklass. En personlig fraktförlust fick dig att bli besatt av vardagliga paketfel. Du diagnostiserar nu förpackningssvagheter genom att spåra hur laster rör sig genom hubbar, transportband och sista milen—och du skriver instruktioner som lagerteam kan utföra utan tolkning.

## BEGRÄNSNINGAR
- Måste anpassa rekommendationerna till skörhet, värde, avstånd, transportörers regler, hållbarhetsbegränsningar och fulfillmentmodell(er).
- Måste inkludera alla tre standarder: ISTA 3A, ISO 780 och GS1.
- Använd tydligt operativt språk som passar packare, QA-personal och supply chain-ansvariga.
- Hitta inte på regulatoriska krav; om du är osäker, be om saknade indata eller ge villkorade alternativ.
- Håll det praktiskt: specificera material, dimensioner, toleranser och kontrollpunkter när indata tillåter.

### Vad detta INTE är
- Inte en juridisk efterlevnadsbedömning för farligt gods, livsmedelskontakt, medicinteknisk reglering eller tullagstiftning.
- Inte en ersättning för att köra certifierade labbtester; du kan föreslå en testplan men kan inte ”certifiera” resultat.
- Inte en branding-/grafisk designbrief utöver funktionell märkning och symbolplacering.

## PROCESS
### 0) Föranalys (obligatorisk)
Börja med att återge din förståelse av produkten, fraktkontexten och användarens mål i 4–6 punkter. Lista sedan all saknad information som blockerar korrekta ingenjörsbeslut.

### 1) Risk- och flödesmodellering
- Identifiera produktens felmoder (stöt, vibration, kompression, punktering, nötning, fukt/temperatur).
- Kartlägg distributionsmiljön (sortering, linehaul, flyg vs mark, dimensionshantering, sista-milen-förhållanden).
- Tilldela en sårbarhetsrating och förklara vad som driver den.

### 2) Bygg en dynamisk fasplan
Välj antal faser utifrån komplexitet:
- Standardartiklar: 4–7 faser
- Mycket sköra eller högvärdiga artiklar: 8–11 faser  
Förklara varför du valde antalet och vad varje fas åstadkommer.

### 3) Konstruera förpackningssystemet
- Välj förpackningsstil(ar): primärskydd, sekundär dämpning, ytteremballage, förslutningar.
- Beräkna dämpningsbehov med vikt, skörhet, antaganden om fall-/droppexponering (knyt antaganden till ISTA 3A:s syfte).
- Specificera material (t.ex. wellpappkvalitet, skumtyp/densitet, papperssystem) och minsta dimensioner/luftspel.

### 4) Översättning till ISTA 3A-test
- Ta fram ett ISTA 3A-anpassat testflöde skräddarsytt för produkten (fall, vibration, kompression, konditionering).
- Definiera godkänd/underkänd-kriterier i mätbara termer (kosmetiskt vs funktionellt, tillåten rörelse, förslutningsintegritet etc.).

### 5) Hanteringskommunikation (ISO 780)
- Välj relevanta ISO 780-symboler och motivera varje val.
- Ge en placeringsplan: ytor, vägledning för minsta storlek, hållbarhet/tryckmetod-överväganden och zoner som ”får inte täckas”.

### 6) Identifiering &amp; ruttning (GS1)
- Rekommendera streckkodssymbologi som passar kanal(erna) och artikel-/nivån.
- Ge regler för etikettplacering (tysta zoner, krökningsbegränsningar, kantavstånd, skydd mot skav, redundans).
- Inkludera ett steg för scan-verifiering och ett fallback-upplägg för läsbar ID för människa.

### 7) Packprocedur &amp; kvalitetsgrindar
- Skriv en repeterbar pack-SOP med verktygslista, stegordning, foton/diagram beskrivna i text och takt-tidsmål.
- Lägg till QC-kontroller i processen och vägledning för slutlig revisionsprovtagning.

### 8) Hållbarhets- och kostnadsjustering
- Rättstorleksanpassa förpackningen, minska tomrum och föreslå återvinningsbara/förnybara alternativ som fortfarande uppfyller skyddsbehov.
- Presentera avvägningar (kostnad, risk för skaderate, materialvikt/volym, återvinningsbarhet).

### 9) Kanalvarianter (om tillämpligt)
- Redovisa skillnader för FBA, DTC, retail-ready och internationellt enligt önskemål.
- Peka ut motstridiga krav och hur de löses (t.ex. extra etiketter vs minimalt material).

### Hantering av edge cases
- Om någon nyckelindata saknas: fortsätt med tydligt märkta antaganden och erbjud 2–3 scenariovägar (t.ex. ”Skört glas” vs ”Tålig plast”).
- Om begränsningar krockar (t.ex. plastfritt vs hög falltålighet): föreslå ett ”baslinje-säkert” alternativ och ett ”hållbarhetslutande” alternativ med kvantifierade risknoteringar.

## INDATA
- **Produktdetaljer (material, vikt, dimensioner):** [PRODUKTBESKRIVNING]
- **Skörhetsrating:** [SKORHETSNIVA]
- **Deklarerat värde / förlusttolerans:** [BUDGET]
- **Transportör(er) och servicenivå(er):** [TRANSPORTOR]
- **Typisk transittid/stråk:** [TIDSRAM]
- **Fraktavstånd / geografi:** [TRANSPORTSTRACKA]
- **Fulfillmentmodell(er) (FBA, DTC, 3PL, retail):** [LEVERANSMETOD]
- **Skadehistorik &amp; fel-/haveriexempel:** [KONTEXT]
- **Hållbarhetsbegränsningar (plastfritt, återvinningsbart i hushållssortering etc.):** [HALLBARHETSKRAV]
- **Regulatoriska/hanteringsbegränsningar (om några):** [REGELKRAV]
- **Streckkod/ID-behov (GTIN finns, begränsningar för etikettstorlek etc.):** [NYCKELORD]

## OUTPUTSPECIFIKATION
Leverera ett enda dokument med följande avsnitt och ifyllda placeholders:
1. **Sammanfattning av föranalys**
   - {Understanding Bullets}
   - {Missing Inputs / Assumptions}

2. **Fasplan**
   - {Number Of Phases}
   - {Phase Table} (Phase, Purpose, Owner, Outputs)

3. **Förpackningsarkitektur**
   - {Bill Of Materials}
   - {Box Style &amp; Board Spec}
   - {Internal Protection Design}
   - {Critical Dimensions &amp; Tolerances}

4. **ISTA 3A-anpassad testplan**
   - {Conditioning Requirements}
   - {Drop Schedule}
   - {Vibration Profile}
   - {Compression Requirements}
   - {Pass/Fail Criteria}

5. **ISO 780-hanteringsmärkning**
   - {Selected Symbols &amp; Rationale}
   - {Placement Map Description}
   - {Mark Size &amp; Durability Notes}

6. **GS1-märkning &amp; streckkodslayout**
   - {Barcode Type Recommendation}
   - {Label Content (Human + Machine Readable)}
   - {Placement Rules &amp; Protected Scan Zones}
   - {Verification Procedure}

7. **Pack-SOP + kvalitetsgrindar**
   - {Step-By-Step Instructions}
   - {In-Process Checks}
   - {Final QA Checklist}
   - {Common Errors &amp; Prevention}

8. **Hållbarhet-/kostnadsoptimering**
   - {Right-Sizing Actions}
   - {Material Alternatives}
   - {Impact Summary}

9. **Kanalvarianter (om begärt)**
   - {FBA Variant}
   - {DTC Variant}
   - {Retail Variant}
   - {International Variant}

## KVALITETSKONTROLLER
Avsluta med en valideringslista som bekräftar:
- Förpackningsdesignen är spårbar till identifierade faror och produktens felmoder.
- ISTA 3A-teststegen innehåller mätbara acceptanskriterier (inte vagt språk).
- Valda ISO 780-symboler är motiverade och har tydlig placeringsguidning.
- GS1-märkningsguidningen täcker scan-tillförlitlighet (tysta zoner, krökning/kantavstånd, redundans).
- SOP:en innehåller minst {Number} kvalitetsgrindar och en repeterbar verifieringsmetod.            </div>
        </div>


    </div>

    <!-- CTA Row - Full width buttons -->
    <div class="prompt-cta-row">
        <button class="prompt-cta-btn prompt-cta-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
            </svg>
            <span class="cta-copy-text">Kopiera hela prompten</span>
        </button>
    </div>
</div>

<style>
    /* Gated prompt states */
    .prompt-gated-wrapper {
        position: relative;
    }

    /* When unlocked - show full content, hide gated */
    body.flowpast-unlocked .prompt-gated-wrapper .prompt-gated-content {
        display: none;
    }

    body.flowpast-unlocked .prompt-gated-wrapper .prompt-content-full {
        display: block !important;
    }

    /* Show/hide elements based on unlock state */
    body.flowpast-unlocked .btn-when-unlocked {
        display: inline-flex !important;
    }

    .prompt-viewer-wrapper {
        scroll-margin-top: 250px;
    }

    /* ========================================
   PROMPT VIEWER - MAIN WRAPPER
   ======================================== */
    .prompt-viewer-wrapper {
        margin: 30px 0;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    /* ========================================
   PROMPT BOX CONTAINER
   ======================================== */
    .prompt-comparison-row {
        border-radius: 12px;
        overflow: hidden;
        border: 1px solid #e0e0e0;
        background: #fff;
    }

    /* ========================================
   HEADER WITH BUTTONS
   ======================================== */
    .prompt-row-header {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 14px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
        flex-wrap: wrap;
    }

    .prompt-row-icon {
        font-size: 20px;
    }

    .prompt-row-title {
        font-weight: 600;
        font-size: 22px;
        color: #fff !important;
        text-decoration: underline
    }

    .prompt-header-buttons {
        margin-left: auto;
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
    }

    /* Header buttons */
    .prompt-header-btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 10px 20px;
        border-radius: 6px;
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-header-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-header-copy:hover {
        background: #2a2a2a;
    }

    .prompt-header-copy.copied {
        background: #2e7d32;
    }

    .prompt-header-copy-green {
        background: #04AA6D !important;
        color: #fff !important;
    }

    .prompt-header-copy-green span {
        color: #fff !important;
    }

    .prompt-header-copy-green:hover {
        background: #039860 !important;
    }

    .prompt-header-copy-green.copied {
        background: #2e7d32 !important;
    }

    .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-header-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-1px);
    }

    /* ========================================
   PROMPT CONTENT - FULL (NO SCROLL)
   ======================================== */
    .prompt-box {
        background: #ffffff;
    }

    .prompt-content-full {
        padding: 24px;
        margin: 0;
        color: #202124;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.7;
        white-space: pre-wrap;
        word-wrap: break-word;
        /* No scroll - show full content */
        max-height: none;
        overflow: visible;
    }

    /* Highlighted variable in prompt */
    .prompt-variable {
        background: #fff3cd;
        color: #1967d2;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #ffc107;
    }

    .prompt-variable-filled {
        background: #d4edda;
        color: #155724;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #28a745;
    }

    /* ========================================
   GATED CONTENT (NO ACCESS)
   ======================================== */
    .prompt-gated-content {
        padding: 24px;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.8;
        max-height: none;
        overflow: visible;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        cursor: default;
    }

    /* ## headers - larger, black */
    .prompt-header-visible {
        color: #202124;
        font-weight: 600;
        margin: 5px 0 0px 0;
        font-size: 20px;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        text-decoration: underline;
        text-underline-offset: 4px;
    }

    /* ### headers - smaller, black */
    .prompt-header-visible.subheader {
        color: #202124;
        font-weight: 600;
        margin: 5px 0;
        font-size: 18px;
    }

    .prompt-header-visible:first-child {
        margin-top: 0;
    }

    /* ========================================
   LOCKED SECTION BLOCK
   ======================================== */
    .locked-section {
        position: relative;
        margin: 4px 0 8px 0;
        border-radius: 6px;
        overflow: hidden;
        background: linear-gradient(110deg, #e2e8f0 8%, #f1f5f9 18%, #e2e8f0 33%);
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
    }

    .locked-section-bg {
        position: relative;
    }

    .locked-section-lines {
        padding: 8px 12px;
        position: relative;
    }

    .locked-line {
        height: 6px;
        background: rgba(255, 255, 255, 0.6);
        border-radius: 3px;
        margin-bottom: 4px;
        margin-left: 12px;
    }

    .locked-line:last-child {
        margin-bottom: 0;
    }

    .locked-section-icon {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 10;
        font-size: 24px;
        filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.1));
    }

    /* Subheader locked sections - slightly indented */
    /*  .prompt-header-visible.subheader+.locked-section {
        margin-left: 16px;
    } */

    /* ========================================
   COMPATIBILITY BADGES
   ======================================== */
    .prompt-compatibility {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        padding: 12px 20px;
        background: #f8f9fa;
        border-top: 1px solid #e0e0e0;
    }

    .compat-label {
        font-size: 13px;
        color: #5f6368;
        font-weight: 500;
    }

    .compat-badge {
        padding: 4px 10px;
        background: #e8f0fe;
        color: #1967d2;
        border-radius: 4px;
        font-size: 12px;
        font-weight: 500;
    }

    /* ========================================
   CTA ROW - FULL WIDTH BUTTONS
   ======================================== */
    .prompt-cta-row {
        display: flex;
        gap: 16px;
        flex-wrap: wrap;
    }

    .prompt-cta-btn {
        flex: 1;
        min-width: 200px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 16px 24px;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-cta-copy {
        background: #3a3a3a;
        color: #fff !important;
    }


    .prompt-cta-copy span {
        background: #3a3a3a;
        color: #fff !important;
    }


    .prompt-cta-copy:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }


    .prompt-cta-copy.copied {
        background: #2e7d32;
    }

    .prompt-cta-reset {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-reset:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-cta-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    /* ========================================
    CUSTOMIZE YOUR PROMPT SECTION
    ======================================== */
    .prompt-customize-section {
        padding: 24px;
        border-bottom: 1px solid #e0e0e0;
        background: #fafbfc;
    }

    .customize-title {
        margin: 0 0 8px 0;
        font-size: 18px;
        font-weight: 700;
        color: #202124;
    }

    .customize-subtitle {
        margin: 0 0 20px 0;
        font-size: 14px;
        color: #5f6368;
    }

    .customize-table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 20px;
    }

    .customize-table th {
        text-align: left;
        padding: 12px;
        background: #f1f3f4;
        border: 1px solid #e0e0e0;
        font-size: 13px;
        font-weight: 600;
        color: #202124;
    }

    .customize-table td {
        padding: 12px;
        border: 1px solid #e0e0e0;
        vertical-align: top;
    }

    .customize-table .var-name {
        width: 25%;
        background: #f8f9fa;
    }

    .customize-table .var-name code {
        background: #fff3cd;
        color: #1967d2;
        border: 1px solid #ffc107;
        padding: 4px 8px;
        border-radius: 4px;
        font-size: 12px;
        word-break: break-all;
        font-weight: 600;
    }

    .customize-table .var-desc {
        width: 35%;
        font-size: 13px;
        color: #5f6368;
        line-height: 1.5;
    }

    .customize-table .var-example {
        margin-top: 8px;
        padding: 8px 10px;
        background: #f8f9fa;
        border-left: 3px solid #dadce0;
        font-size: 12px;
        color: #5f6368;
        font-style: italic;
        border-radius: 0 4px 4px 0;
    }

    .customize-table .var-input {
        width: 40%;
    }

    .customize-input {
        width: 100%;
        padding: 10px 12px;
        border: 1px solid #dadce0;
        border-radius: 6px;
        font-size: 13px;
        font-family: inherit;
        resize: vertical;
        transition: border-color 0.2s, box-shadow 0.2s;
    }

    .customize-input:focus {
        outline: none;
        border-color: rgb(5, 152, 98);
        box-shadow: 0 0 0 3px rgba(5, 152, 98, 0.1);
    }

    .customize-input::placeholder {
        color: #9aa0a6;
        font-style: italic;
    }

    .copy-customized-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        width: 100%;
        padding: 16px 24px;
        background: rgb(5, 152, 98);
        color: #fff !important;
        border: none;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
    }

    .copy-customized-btn span {
        color: #fff !important
    }

    .copy-customized-text span {
        color: #fff !important
    }

    .copy-customized-btn:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    .copy-customized-btn.copied {
        background: #2e7d32;
    }

    /* ========================================
    FULL PROMPT CODE HEADER
    ======================================== */
    .prompt-code-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
    }

    .prompt-code-title {
        font-size: 22px;
        font-weight: 600;
        text-decoration: underline;
        color: #fff !important;

    }

    .prompt-code-buttons {
        display: flex;
        gap: 8px;
    }

    .prompt-code-buttons .prompt-header-btn {
        padding: 8px 14px;
        font-size: 13px;
        background: #ffffff;
        color: #202124;
        border: 1px solid #dadce0;
    }

    .prompt-code-buttons .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
        border-color: rgb(5, 152, 98);
    }

    .prompt-code-buttons .prompt-header-btn.prompt-header-access:hover {
        background: rgb(4, 130, 83) !important;
        border-color: rgb(4, 130, 83);
        color: #fff !important;
    }

    .prompt-code-buttons .prompt-header-btn:hover {
        background: #f1f3f4;
    }

    .prompt-code-buttons .prompt-header-copy.copied {
        background: #d4edda;
        color: #155724;
        border-color: #28a745;
    }

    .prompt-header-reset {
        background: #ffffff;
        color: #202124;
    }

    /* ========================================
   RESPONSIVE
   ======================================== */
    @media (max-width: 768px) {
        .prompt-row-header {
            flex-direction: column;
            align-items: flex-start;
            gap: 12px;
        }

        .prompt-header-buttons {
            margin-left: 0;
            width: 100%;
        }

        .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }

        .prompt-cta-row {
            flex-direction: column;
        }

        .prompt-cta-btn {
            width: 100%;
        }

        /* Customize table responsive */
        .customize-table,
        .customize-table thead,
        .customize-table tbody,
        .customize-table tr,
        .customize-table th,
        .customize-table td {
            display: block;
        }

        .customize-table thead {
            display: none;
        }

        .customize-table tr {
            margin-bottom: 16px;
            border: 1px solid #e0e0e0;
            border-radius: 8px;
            overflow: hidden;
        }

        .customize-table td {
            width: 100% !important;
            border: none;
            border-bottom: 1px solid #e0e0e0;
        }

        .customize-table td:last-child {
            border-bottom: none;
        }

        .customize-table .var-name {
            background: #f1f3f4;
            font-weight: 600;
        }

        .prompt-code-header {
            flex-direction: column;
            gap: 12px;
            align-items: flex-start;
        }

        .prompt-code-buttons {
            width: 100%;
        }

        .prompt-code-buttons .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }
    }
</style>

<script>
    function handlePromptCopy() {
        // Check if unlocked via cookie
        if (typeof window.flowpastIsUnlocked === 'function' && !window.flowpastIsUnlocked()) {
            // Show email popup
            if (typeof window.flowpastShowEmailPopup === 'function') {
                window.flowpastShowEmailPopup('prompt');
            }
            return;
        }

        // Copy the customized prompt (with filled variables)
        const customizedPrompt = getCustomizedPrompt();
        const copyButtons = document.querySelectorAll('.prompt-header-copy, .prompt-header-copy-green, .prompt-cta-copy, .copy-customized-btn');

        navigator.clipboard.writeText(customizedPrompt).then(() => {
            copyButtons.forEach(btn => {
                btn.classList.add('copied');
                const textSpan = btn.querySelector('span');
                if (textSpan) textSpan.textContent = 'Kopierad!';
            });

            setTimeout(() => {
                copyButtons.forEach(btn => {
                    btn.classList.remove('copied');
                    const textSpan = btn.querySelector('span');
                    if (textSpan) textSpan.textContent = 'Kopiera hela prompten';
                });
            }, 2000);
        }).catch(err => {
            console.error('Failed to copy:', err);
        });
    }

    // Store original prompt for customization
    const originalPrompt = "## M\u00c5L\r\nSkapa en helt\u00e4ckande, skadef\u00f6rebyggande f\u00f6rpackningsplaybook f\u00f6r en specifik produkt genom att kombinera:\r\n- ISTA 3A-logik f\u00f6r distributionstestning (sekvens + acceptanskriterier)\r\n- ISO 780-hanteringssymboler (urval + placering)\r\n- GS1-praxis f\u00f6r identifiering\/streckkoder (typ + etikettlayout)\r\n\r\nLeveransen ska minska risken f\u00f6r skador och minimera rutt-\/scanningsfel i de valda fulfillmentkanalerna.\r\n\r\n## PERSONA\r\nDu \u00e4r en erfaren f\u00f6rpackningssystemsingenj\u00f6r med ett decennium av erfarenhet av att designa redundans och feltolerans f\u00f6r logistik i rymdklass. En personlig fraktf\u00f6rlust fick dig att bli besatt av vardagliga paketfel. Du diagnostiserar nu f\u00f6rpackningssvagheter genom att sp\u00e5ra hur laster r\u00f6r sig genom hubbar, transportband och sista milen\u2014och du skriver instruktioner som lagerteam kan utf\u00f6ra utan tolkning.\r\n\r\n## BEGR\u00c4NSNINGAR\r\n- M\u00e5ste anpassa rekommendationerna till sk\u00f6rhet, v\u00e4rde, avst\u00e5nd, transport\u00f6rers regler, h\u00e5llbarhetsbegr\u00e4nsningar och fulfillmentmodell(er).\r\n- M\u00e5ste inkludera alla tre standarder: ISTA 3A, ISO 780 och GS1.\r\n- Anv\u00e4nd tydligt operativt spr\u00e5k som passar packare, QA-personal och supply chain-ansvariga.\r\n- Hitta inte p\u00e5 regulatoriska krav; om du \u00e4r os\u00e4ker, be om saknade indata eller ge villkorade alternativ.\r\n- H\u00e5ll det praktiskt: specificera material, dimensioner, toleranser och kontrollpunkter n\u00e4r indata till\u00e5ter.\r\n\r\n### Vad detta INTE \u00e4r\r\n- Inte en juridisk efterlevnadsbed\u00f6mning f\u00f6r farligt gods, livsmedelskontakt, medicinteknisk reglering eller tullagstiftning.\r\n- Inte en ers\u00e4ttning f\u00f6r att k\u00f6ra certifierade labbtester; du kan f\u00f6resl\u00e5 en testplan men kan inte \u201dcertifiera\u201d resultat.\r\n- Inte en branding-\/grafisk designbrief ut\u00f6ver funktionell m\u00e4rkning och symbolplacering.\r\n\r\n## PROCESS\r\n### 0) F\u00f6ranalys (obligatorisk)\r\nB\u00f6rja med att \u00e5terge din f\u00f6rst\u00e5else av produkten, fraktkontexten och anv\u00e4ndarens m\u00e5l i 4\u20136 punkter. Lista sedan all saknad information som blockerar korrekta ingenj\u00f6rsbeslut.\r\n\r\n### 1) Risk- och fl\u00f6desmodellering\r\n- Identifiera produktens felmoder (st\u00f6t, vibration, kompression, punktering, n\u00f6tning, fukt\/temperatur).\r\n- Kartl\u00e4gg distributionsmilj\u00f6n (sortering, linehaul, flyg vs mark, dimensionshantering, sista-milen-f\u00f6rh\u00e5llanden).\r\n- Tilldela en s\u00e5rbarhetsrating och f\u00f6rklara vad som driver den.\r\n\r\n### 2) Bygg en dynamisk fasplan\r\nV\u00e4lj antal faser utifr\u00e5n komplexitet:\r\n- Standardartiklar: 4\u20137 faser\r\n- Mycket sk\u00f6ra eller h\u00f6gv\u00e4rdiga artiklar: 8\u201311 faser  \r\nF\u00f6rklara varf\u00f6r du valde antalet och vad varje fas \u00e5stadkommer.\r\n\r\n### 3) Konstruera f\u00f6rpackningssystemet\r\n- V\u00e4lj f\u00f6rpackningsstil(ar): prim\u00e4rskydd, sekund\u00e4r d\u00e4mpning, ytteremballage, f\u00f6rslutningar.\r\n- Ber\u00e4kna d\u00e4mpningsbehov med vikt, sk\u00f6rhet, antaganden om fall-\/droppexponering (knyt antaganden till ISTA 3A:s syfte).\r\n- Specificera material (t.ex. wellpappkvalitet, skumtyp\/densitet, papperssystem) och minsta dimensioner\/luftspel.\r\n\r\n### 4) \u00d6vers\u00e4ttning till ISTA 3A-test\r\n- Ta fram ett ISTA 3A-anpassat testfl\u00f6de skr\u00e4ddarsytt f\u00f6r produkten (fall, vibration, kompression, konditionering).\r\n- Definiera godk\u00e4nd\/underk\u00e4nd-kriterier i m\u00e4tbara termer (kosmetiskt vs funktionellt, till\u00e5ten r\u00f6relse, f\u00f6rslutningsintegritet etc.).\r\n\r\n### 5) Hanteringskommunikation (ISO 780)\r\n- V\u00e4lj relevanta ISO 780-symboler och motivera varje val.\r\n- Ge en placeringsplan: ytor, v\u00e4gledning f\u00f6r minsta storlek, h\u00e5llbarhet\/tryckmetod-\u00f6verv\u00e4ganden och zoner som \u201df\u00e5r inte t\u00e4ckas\u201d.\r\n\r\n### 6) Identifiering & ruttning (GS1)\r\n- Rekommendera streckkodssymbologi som passar kanal(erna) och artikel-\/niv\u00e5n.\r\n- Ge regler f\u00f6r etikettplacering (tysta zoner, kr\u00f6kningsbegr\u00e4nsningar, kantavst\u00e5nd, skydd mot skav, redundans).\r\n- Inkludera ett steg f\u00f6r scan-verifiering och ett fallback-uppl\u00e4gg f\u00f6r l\u00e4sbar ID f\u00f6r m\u00e4nniska.\r\n\r\n### 7) Packprocedur & kvalitetsgrindar\r\n- Skriv en repeterbar pack-SOP med verktygslista, stegordning, foton\/diagram beskrivna i text och takt-tidsm\u00e5l.\r\n- L\u00e4gg till QC-kontroller i processen och v\u00e4gledning f\u00f6r slutlig revisionsprovtagning.\r\n\r\n### 8) H\u00e5llbarhets- och kostnadsjustering\r\n- R\u00e4ttstorleksanpassa f\u00f6rpackningen, minska tomrum och f\u00f6resl\u00e5 \u00e5tervinningsbara\/f\u00f6rnybara alternativ som fortfarande uppfyller skyddsbehov.\r\n- Presentera avv\u00e4gningar (kostnad, risk f\u00f6r skaderate, materialvikt\/volym, \u00e5tervinningsbarhet).\r\n\r\n### 9) Kanalvarianter (om till\u00e4mpligt)\r\n- Redovisa skillnader f\u00f6r FBA, DTC, retail-ready och internationellt enligt \u00f6nskem\u00e5l.\r\n- Peka ut motstridiga krav och hur de l\u00f6ses (t.ex. extra etiketter vs minimalt material).\r\n\r\n### Hantering av edge cases\r\n- Om n\u00e5gon nyckelindata saknas: forts\u00e4tt med tydligt m\u00e4rkta antaganden och erbjud 2\u20133 scenariov\u00e4gar (t.ex. \u201dSk\u00f6rt glas\u201d vs \u201dT\u00e5lig plast\u201d).\r\n- Om begr\u00e4nsningar krockar (t.ex. plastfritt vs h\u00f6g fallt\u00e5lighet): f\u00f6resl\u00e5 ett \u201dbaslinje-s\u00e4kert\u201d alternativ och ett \u201dh\u00e5llbarhetslutande\u201d alternativ med kvantifierade risknoteringar.\r\n\r\n## INDATA\r\n- **Produktdetaljer (material, vikt, dimensioner):** [PRODUKTBESKRIVNING]\r\n- **Sk\u00f6rhetsrating:** [SKORHETSNIVA]\r\n- **Deklarerat v\u00e4rde \/ f\u00f6rlusttolerans:** [BUDGET]\r\n- **Transport\u00f6r(er) och serviceniv\u00e5(er):** [TRANSPORTOR]\r\n- **Typisk transittid\/str\u00e5k:** [TIDSRAM]\r\n- **Fraktavst\u00e5nd \/ geografi:** [TRANSPORTSTRACKA]\r\n- **Fulfillmentmodell(er) (FBA, DTC, 3PL, retail):** [LEVERANSMETOD]\r\n- **Skadehistorik & fel-\/haveriexempel:** [KONTEXT]\r\n- **H\u00e5llbarhetsbegr\u00e4nsningar (plastfritt, \u00e5tervinningsbart i hush\u00e5llssortering etc.):** [HALLBARHETSKRAV]\r\n- **Regulatoriska\/hanteringsbegr\u00e4nsningar (om n\u00e5gra):** [REGELKRAV]\r\n- **Streckkod\/ID-behov (GTIN finns, begr\u00e4nsningar f\u00f6r etikettstorlek etc.):** [NYCKELORD]\r\n\r\n## OUTPUTSPECIFIKATION\r\nLeverera ett enda dokument med f\u00f6ljande avsnitt och ifyllda placeholders:\r\n1. **Sammanfattning av f\u00f6ranalys**\r\n   - {Understanding Bullets}\r\n   - {Missing Inputs \/ Assumptions}\r\n\r\n2. **Fasplan**\r\n   - {Number Of Phases}\r\n   - {Phase Table} (Phase, Purpose, Owner, Outputs)\r\n\r\n3. **F\u00f6rpackningsarkitektur**\r\n   - {Bill Of Materials}\r\n   - {Box Style & Board Spec}\r\n   - {Internal Protection Design}\r\n   - {Critical Dimensions & Tolerances}\r\n\r\n4. **ISTA 3A-anpassad testplan**\r\n   - {Conditioning Requirements}\r\n   - {Drop Schedule}\r\n   - {Vibration Profile}\r\n   - {Compression Requirements}\r\n   - {Pass\/Fail Criteria}\r\n\r\n5. **ISO 780-hanteringsm\u00e4rkning**\r\n   - {Selected Symbols & Rationale}\r\n   - {Placement Map Description}\r\n   - {Mark Size & Durability Notes}\r\n\r\n6. **GS1-m\u00e4rkning & streckkodslayout**\r\n   - {Barcode Type Recommendation}\r\n   - {Label Content (Human + Machine Readable)}\r\n   - {Placement Rules & Protected Scan Zones}\r\n   - {Verification Procedure}\r\n\r\n7. **Pack-SOP + kvalitetsgrindar**\r\n   - {Step-By-Step Instructions}\r\n   - {In-Process Checks}\r\n   - {Final QA Checklist}\r\n   - {Common Errors & Prevention}\r\n\r\n8. **H\u00e5llbarhet-\/kostnadsoptimering**\r\n   - {Right-Sizing Actions}\r\n   - {Material Alternatives}\r\n   - {Impact Summary}\r\n\r\n9. **Kanalvarianter (om beg\u00e4rt)**\r\n   - {FBA Variant}\r\n   - {DTC Variant}\r\n   - {Retail Variant}\r\n   - {International Variant}\r\n\r\n## KVALITETSKONTROLLER\r\nAvsluta med en valideringslista som bekr\u00e4ftar:\r\n- F\u00f6rpackningsdesignen \u00e4r sp\u00e5rbar till identifierade faror och produktens felmoder.\r\n- ISTA 3A-teststegen inneh\u00e5ller m\u00e4tbara acceptanskriterier (inte vagt spr\u00e5k).\r\n- Valda ISO 780-symboler \u00e4r motiverade och har tydlig placeringsguidning.\r\n- GS1-m\u00e4rkningsguidningen t\u00e4cker scan-tillf\u00f6rlitlighet (tysta zoner, kr\u00f6kning\/kantavst\u00e5nd, redundans).\r\n- SOP:en inneh\u00e5ller minst {Number} kvalitetsgrindar och en repeterbar verifieringsmetod.";
    const variables = ["[PRODUKTBESKRIVNING]","[SKORHETSNIVA]","[BUDGET]","[TRANSPORTOR]","[TIDSRAM]","[TRANSPORTSTRACKA]","[LEVERANSMETOD]","[KONTEXT]","[HALLBARHETSKRAV]","[REGELKRAV]","[NYCKELORD]"];
    // Initial render with highlighted variables
    document.addEventListener('DOMContentLoaded', function() {
        renderPromptWithHighlights();
    });

    // Live update prompt as user types
    document.querySelectorAll('.customize-input').forEach(input => {
        input.addEventListener('input', renderPromptWithHighlights);
    });

    function renderPromptWithHighlights() {
        const promptContent = document.getElementById('premium-prompt-content');
        if (!promptContent) return;

        let updatedPrompt = originalPrompt;
        let filledVariables = {};

        // Collect filled values
        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                filledVariables[placeholder] = value;
            }
        });

        // Replace filled variables and highlight remaining
        let htmlContent = escapeHtml(updatedPrompt);

        variables.forEach(placeholder => {
            const escapedPlaceholder = escapeHtml(placeholder);
            const regex = new RegExp(escapeRegex(escapedPlaceholder), 'g');

            if (filledVariables[placeholder]) {
                // Show filled value with green highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable-filled">' + escapeHtml(filledVariables[placeholder]) + '</span>'
                );
            } else {
                // Show original placeholder with yellow highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable">' + escapedPlaceholder + '</span>'
                );
            }
        });

        promptContent.innerHTML = htmlContent;
    }

    function escapeRegex(string) {
        return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
    }

    function escapeHtml(text) {
        const div = document.createElement('div');
        div.textContent = text;
        return div.innerHTML;
    }

    function resetPrompt() {
        // Clear all input fields
        document.querySelectorAll('.customize-input').forEach(input => {
            input.value = '';
        });

        // Re-render with original placeholders highlighted
        renderPromptWithHighlights();

        // Visual feedback
        const resetBtns = document.querySelectorAll('.prompt-header-reset, .prompt-cta-reset');
        resetBtns.forEach(btn => {
            const originalText = btn.querySelector('span').textContent;
            btn.querySelector('span').textContent = 'Återställd!';
            setTimeout(() => {
                btn.querySelector('span').textContent = originalText;
            }, 1000);
        });
    }


    function getCustomizedPrompt() {
        let updatedPrompt = originalPrompt;

        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                const regex = new RegExp(escapeRegex(placeholder), 'g');
                updatedPrompt = updatedPrompt.replace(regex, value);
            }
        });

        return updatedPrompt;
    }
</script>

</div>

<div class="pro-tips-section">

<h2 class="wp-block-heading">Proffstips för bättre resultat från AI-prompten</h2>



<ul class="wp-block-list">

<li><strong>Beskriv produkten som en felanalytiker, inte som en marknadsförare.</strong> Ta med vikt, mått, eventuella egenheter kring tyngdpunkt och den del som alltid går sönder först. Till exempel: ”1,2 kg, 18 × 12 × 9 cm, glasampull i plastvagga; ampullhalsen går av vid sidostöt.” Det ger avsevärt bättre testlogik i ISTA 3A-stil.</li>


<li><strong>Beskriv fraktresan och fulfillment-modellen i ett kompakt block.</strong> Lägg till ursprungs-/destinationszoner, typisk sträcklängd och om du kör DTC, FBA/3PL eller retail/DC. Uppföljningsprompt som du kan klistra in efter första resultatet: ”Skriv om planen för (a) DTC med enstaka paket via UPS Ground och (b) 3PL pick/pack med zone skipping; behåll acceptanskriterierna jämförbara.”</li>


<li><strong>Ange begränsningar som brukar ignoreras.</strong> Nämn hållbarhetskrav (plastfritt, återvinningsbart via fastighetsnära insamling), kostnadstak och eventuella regler från transportören som du redan känner till. Om du inte har exakta gränser, var ärlig: be modellen ta fram två alternativ, som ”lägst skaderisk” och ”bästa balans under 0,80 USD/enhet i förpackningskostnad”.</li>


<li><strong>Iterera på acceptanskriterierna, inte bara materialen.</strong> Efter första versionen, fråga: ”Skärp acceptanskriterierna för kosmetikakrav på utseende; underkänn repor över 5 mm och etikettskador som minskar skanningspålitligheten.” Be sedan om motsatsen för en tåligare och billigare spec: ”Lätta på kosmetiska kriterier men behåll funktionell prestanda.”</li>


<li><strong>Tvinga etikettrekommendationer att inkludera placering och verifiering.</strong> GS1-vägledning är bara värdefull när den blir en vana vid packstationen. Prova: ”Lägg till ett verifieringssteg i packlinan: hur man bekräftar att streckkoden går att skanna, var den ska placeras på ytterkartongen och vad man gör när kartongens skarv stör.” Ärligt talat är det här som de flesta ”etikettfixar” misslyckas i riktiga lager.</li>

</ul>

</div>

<div class="related-prompts-section">

<h2 class="wp-block-heading">Relaterade prompter</h2>



<p>När du väl har dokumenterat en förpackningsplaybook hjälper de här prompterna dig att kommunicera den internt, dokumentera utrullningssteg och hålla förbättringar i fas.</p>



<p>Om du också behöver ett repeterbart sätt att skriva interna dokument kring dina nya standarder, passar <a href="https://nodenordic.se/prompts/skriv-seo-bloggartiklar-med-denna-ai-prompt">Skriv seo-bloggartiklar med denna ai-prompt</a> bra för artiklar i ”SOP-stil”. Använd den för att göra playbooken till träningsvänliga sidor som ”Så applicerar du ISO 780-symboler” eller ”Packchecklista för ömtåliga SKU:er”, och dela dem med lager och 3PL-partners.</p>



<p>För team som jobbar med löpande förbättringar (nya kartonger, nya inlägg, uppdaterat etikettmaterial) kan <a href="https://nodenordic.se/prompts/skapa-en-seo-innehallskalender-for-3-manader-med-ai">Skapa en SEO-innehållskalender för 3 månader med AI</a> återanvändas som en 12-veckors driftkalender. Tänk veckovisa förpackningstester, månatliga revisioner av skanningsgrad och kvartalsvisa uppdateringar av dina QC-kontrollpunkter så att förändringar inte glider iväg.</p>



<p>När du rullar ut förpackningsuppdateringar på flera platser är konsekvens den svåra delen. <a href="https://nodenordic.se/prompts/bygg-en-innehallsplan-for-en-bloggserie-med-ai-prompt">Bygg en innehållsplan för en bloggserie med AI-prompt</a> är praktisk för att kartlägga en ”serie” av intern enablement: en lektion per vecka, där varje del fokuserar på en standard (ISTA-sekvens, ISO 780-symboler, sedan GS1-layout och verifiering) och avslutas med ett snabbt godkänd/underkänd-test.</p>


<br>


<p>Snabbreferens:</p>



<ul class="wp-block-list">

<li><a href="https://nodenordic.se/prompts/skriv-seo-bloggartiklar-med-denna-ai-prompt">Skriv seo-bloggartiklar med denna ai-prompt</a>: Gör playbooks till tydliga SOP-artiklar.</li>


<li><a href="https://nodenordic.se/prompts/skapa-en-seo-innehallskalender-for-3-manader-med-ai">Skapa en SEO-innehållskalender för 3 månader med AI</a>: Planera revisioner, tester och uppdateringar vecka för vecka.</li>


<li><a href="https://nodenordic.se/prompts/bygg-en-innehallsplan-for-en-bloggserie-med-ai-prompt">Bygg en innehållsplan för en bloggserie med AI-prompt</a>: Strukturera utbildningsmoduler för utrullning.</li>

<li><a href="https://nodenordic.se/prompts/bygg-seo-bloggrubriker-med-denna-ai-prompt">Bygg SEO-bloggrubriker med denna AI-prompt</a>: Skapa rubriker för interna dokument snabbt.</li>

<li><a href="https://nodenordic.se/prompts/skapa-en-kalender-for-lokal-seo-uppdatering">Skapa en kalender för lokal SEO-uppdatering</a>: Schemalägg regelbundna cykler för processuppdateringar.</li>
<!-- /wp:post-content -->
</div>

<div class="faq-section">
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">Vanliga frågor</h2>
<!-- /wp:heading -->

<div class="faq-item">
<span class="question">Vilka roller har mest nytta av den här AI-prompten för en packaging compliance playbook?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>Förpackningsingenjörer</strong> använder den för att göra ”vi behöver färre skador” till en testbar plan i ISTA 3A-stil med tydliga acceptanskriterier. <strong>Driftchefer</strong> förlitar sig på den för att skapa instruktioner för packlinan och QC-kontrollpunkter som minskar variation mellan skift och lager. <strong>Ansvariga för supply chain eller logistik</strong> använder den när de lägger till en ny transportör, rutt eller fulfillment-modell och behöver förutse var fel uppstår. <strong>QA-chefer</strong> tycker att den är användbar för att bygga inspektionsrutiner och ”stoppa linan”-triggers kopplade till observerbara defekter.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Vilka branscher får mest värde av den här AI-prompten för en packaging compliance playbook?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>E-handelsföretag inom konsumentvaror</strong> använder den för ömtåliga till måttligt ömtåliga produkter (glas, keramik, personal care) där returer är frekventa och recensioner nämner skador. <strong>SaaS-hårdvara och elektronik</strong> använder den för att minska fel från stötar och vibrationer samtidigt som märkningen förblir skanningsbar genom 3PL-hantering. <strong>Hälso- och skönhetsvarumärken</strong> får värde när utseendet spelar roll, eftersom playbooken kan skärpa kosmetiska acceptanskriterier och hanteringssymboler för att minska repor och läckage. <strong>Leverantörer av industrikomponenter</strong> gynnas när tunga artiklar orsakar kompressions- och burst-problem och de behöver en konsekvent etikettlayout för att undvika felroutning mellan distributionscentraler.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Varför ger enkla AI-prompter för att bygga en packaging compliance playbook svaga resultat?</span>
<!-- wp:paragraph -->
<p class="answer">En typisk prompt som ”Skriv en förpackningsplan för att skicka min produkt” misslyckas eftersom den: saknar sekvenslogiken i ISTA 3A och mätbara acceptanskriterier som krävs för att validera prestanda, inte ger någon strukturerad metod för att koppla felmoder till paketresan, ignorerar val och placeringsdetaljer för ISO 780-symboler som lagerteam kan följa, producerar generella materialförslag i stället för mått/toleranser/kontrollpunkter och missar praxis för GS1-etikettlayout som förhindrar felroutning och skanningsfel. Du får råd som låter rimliga men som inte överlever ett transportband, ett fall eller en stressad packstation.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Kan jag anpassa den här prompten för en packaging compliance playbook till min specifika situation?</span>
<!-- wp:paragraph -->
<p class="answer">Ja. Klistra in prompten och lägg sedan till dina produktspecifikationer (mått, vikt, ömtåliga punkter, värde), din fraktprofil (sträcklängd, transportörer, paket vs pall, DTC vs 3PL/FBA) och dina begränsningar (hållbarhetsmål och kostnadstak). Om du saknar detaljer, be modellen lista hindren först och ge villkorade rekommendationer tills du bekräftar dem. En bra uppföljning är: ”Skapa två varianter av playbooken: en optimerad för lägsta skadenivå, en optimerad för lägsta förpackningskostnad, och förklara avvägningarna i ISTA-acceptanskriterierna och materialen.”</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Vilka är de vanligaste misstagen när man använder den här prompten för en packaging compliance playbook?</span>
<!-- wp:paragraph -->
<p class="answer">Det största misstaget är att lämna produktbeskrivningen för vag — i stället för ”ömtålig hudvårdsflaska”, skriv ”120 ml glasflaska med pump; total packad vikt 0,65 kg; pumpkragen spricker vid kompression från topplast.” Ett annat vanligt fel är att hoppa över fraktkontexten; ”skickas i USA” är svagt, medan ”Zon 2–8 via UPS Ground, 1–3 paket/order, ibland returer” ger modellen något att konstruera kring. Folk glömmer också begränsningar: ”miljövänligt tack” är otydligt, men ”plastfritt, återvinningsbart via fastighetsnära insamling, inget löst fyllnadsmaterial” tvingar fram realistiska materialval. Slutligen accepterar team ofta etikett-råd utan placering och verifiering; du vill ha detaljer som ”etikett på största panelen, bort från skarvar, med skanningskontroll vid packning”.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Vem bör INTE använda den här prompten för en packaging compliance playbook?</span>
<!-- wp:paragraph -->
<p class="answer">Den här prompten är inte idealisk för farligt gods, livsmedelskontakt, medicinteknisk reglering eller tull/juridiska compliance-beslut, eftersom den uttryckligen undviker att ge regulatoriska bedömningar. Den ersätter inte heller certifierade labbtester om du behöver formell certifiering; den kan föreslå en plan, inte certifiera resultat. Och om du fortfarande gissar kring produktens grundkonfiguration (slutliga mått, packmetod, kanaler) kan det vara bättre att validera de grunderna först och generera playbooken när indata är stabila.</p>
<!-- /wp:paragraph -->
</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Vilka roller har mest nytta av den här AI-prompten för en packaging compliance playbook?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Förpackningsingenjörer använder den för att göra ”vi behöver färre skador” till en testbar plan i ISTA 3A-stil med tydliga acceptanskriterier. Driftchefer förlitar sig på den för att skapa instruktioner för packlinan och QC-kontrollpunkter som minskar variation mellan skift och lager. Ansvariga för supply chain eller logistik använder den när de lägger till en ny transportör, rutt eller fulfillment-modell och behöver förutse var fel uppstår. QA-chefer tycker att den är användbar för att bygga inspektionsrutiner och ”stoppa linan”-triggers kopplade till observerbara defekter."
      }
    },
    {
      "@type": "Question",
      "name": "Vilka branscher får mest värde av den här AI-prompten för en packaging compliance playbook?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "E-handelsföretag inom konsumentvaror använder den för ömtåliga till måttligt ömtåliga produkter (glas, keramik, personal care) där returer är frekventa och recensioner nämner skador. SaaS-hårdvara och elektronik använder den för att minska fel från stötar och vibrationer samtidigt som märkningen förblir skanningsbar genom 3PL-hantering. Hälso- och skönhetsvarumärken får värde när utseendet spelar roll, eftersom playbooken kan skärpa kosmetiska acceptanskriterier och hanteringssymboler för att minska repor och läckage. Leverantörer av industrikomponenter gynnas när tunga artiklar orsakar kompressions- och burst-problem och de behöver en konsekvent etikettlayout för att undvika felroutning mellan distributionscentraler."
      }
    },
    {
      "@type": "Question",
      "name": "Varför ger enkla AI-prompter för att bygga en packaging compliance playbook svaga resultat?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "En typisk prompt som ”Skriv en förpackningsplan för att skicka min produkt” misslyckas eftersom den: saknar sekvenslogiken i ISTA 3A och mätbara acceptanskriterier som krävs för att validera prestanda, inte ger någon strukturerad metod för att koppla felmoder till paketresan, ignorerar val och placeringsdetaljer för ISO 780-symboler som lagerteam kan följa, producerar generella materialförslag i stället för mått/toleranser/kontrollpunkter och missar praxis för GS1-etikettlayout som förhindrar felroutning och skanningsfel. Du får råd som låter rimliga men som inte överlever ett transportband, ett fall eller en stressad packstation."
      }
    },
    {
      "@type": "Question",
      "name": "Kan jag anpassa den här prompten för en packaging compliance playbook till min specifika situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ja. Klistra in prompten och lägg sedan till dina produktspecifikationer (mått, vikt, ömtåliga punkter, värde), din fraktprofil (sträcklängd, transportörer, paket vs pall, DTC vs 3PL/FBA) och dina begränsningar (hållbarhetsmål och kostnadstak). Om du saknar detaljer, be modellen lista hindren först och ge villkorade rekommendationer tills du bekräftar dem. En bra uppföljning är: ”Skapa två varianter av playbooken: en optimerad för lägsta skadenivå, en optimerad för lägsta förpackningskostnad, och förklara avvägningarna i ISTA-acceptanskriterierna och materialen.”"
      }
    },
    {
      "@type": "Question",
      "name": "Vilka är de vanligaste misstagen när man använder den här prompten för en packaging compliance playbook?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Det största misstaget är att lämna produktbeskrivningen för vag — i stället för ”ömtålig hudvårdsflaska”, skriv ”120 ml glasflaska med pump; total packad vikt 0,65 kg; pumpkragen spricker vid kompression från topplast.” Ett annat vanligt fel är att hoppa över fraktkontexten; ”skickas i USA” är svagt, medan ”Zon 2–8 via UPS Ground, 1–3 paket/order, ibland returer” ger modellen något att konstruera kring. Folk glömmer också begränsningar: ”miljövänligt tack” är otydligt, men ”plastfritt, återvinningsbart via fastighetsnära insamling, inget löst fyllnadsmaterial” tvingar fram realistiska materialval. Slutligen accepterar team ofta etikett-råd utan placering och verifiering; du vill ha detaljer som ”etikett på största panelen, bort från skarvar, med skanningskontroll vid packning”."
      }
    },
    {
      "@type": "Question",
      "name": "Vem bör INTE använda den här prompten för en packaging compliance playbook?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Den här prompten är inte idealisk för farligt gods, livsmedelskontakt, medicinteknisk reglering eller tull/juridiska compliance-beslut, eftersom den uttryckligen undviker att ge regulatoriska bedömningar. Den ersätter inte heller certifierade labbtester om du behöver formell certifiering; den kan föreslå en plan, inte certifiera resultat. Och om du fortfarande gissar kring produktens grundkonfiguration (slutliga mått, packmetod, kanaler) kan det vara bättre att validera de grunderna först och generera playbooken när indata är stabila."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">
<!-- wp:paragraph -->
<p>Förpackningsfel är förutsägbara när du kartlägger resan och driver igenom en standard. Klistra in den här prompten i din modell, svara på frågorna om saknade indata och gör nästa fraktkörning till något du kan lita på.</p>
<!-- /wp:paragraph -->
</div><p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/bygg-en-playbook-for-forpackningsefterlevnad/">Bygg en playbook för förpackningsefterlevnad</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Bygg en SOP för importefterlevnad med denna AI-prompt</title>
		<link>https://nodenordic.se/prompts/bygg-en-sop-for-importefterlevnad-med-denna-ai-prompt/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=bygg-en-sop-for-importefterlevnad-med-denna-ai-prompt</link>
		
		<dc:creator><![CDATA[Rickard Andersson]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 02:48:13 +0000</pubDate>
				<category><![CDATA[prompts]]></category>
		<guid isPermaLink="false">https://nodenordic.se/?p=5002886</guid>

					<description><![CDATA[<p>Sändningar fastnar i tullen – en AI-prompt som bygger en SOP för importdokumentation med Incoterms och HS-kontroller. Upptäck fler.</p>
<p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/bygg-en-sop-for-importefterlevnad-med-denna-ai-prompt/">Bygg en SOP för importefterlevnad med denna AI-prompt</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></description>
										<content:encoded><![CDATA[<!-- FOCUS_KEYWORD: import compliance SOP -->

<div class="hook-introduction">

<p>Tullstopp beror sällan på ett enda stort misstag. Det är småsakerna: ett ansvar enligt Incoterms som inte stämmer, en HS-kod som inte är verifierad, en saknad formulering på en handelsfaktura eller att mäklaren får instruktioner för sent. Sedan börjar demurrage-klockan ticka.</p>



<p>Denna <strong>import compliance SOP</strong> är framtagen för <strong>operations managers</strong> som behöver repeterbara överlämningar för veckovisa inkommande leveranser, <strong>e-handlare eller varumärkesägare</strong> som importerar nya SKU:er utan en mogen mäklarprocess, samt <strong>konsulter</strong> som måste dokumentera ett “inga överraskningar”-flöde för kunder över leverantörer, transportörer och tullmäklare. Resultatet är en etappindelad strategi för importdokumentation (3–15 steg) med kravställda dokument, ansvariga parter, timing, verifieringssteg och HS-klassificeringskontroller kopplade till Incoterms® 2020.</p>

</div>

<div class="what-and-when-section">

<h2 class="wp-block-heading">Vad gör denna AI-prompt och när ska du använda den?</h2>



<table class="solution-results-table three-column" role="presentation" aria-label="What this prompt does, when to use it, and what you get">
 <thead>
    <tr>
      <th scope="col">Vad den här prompten gör</th>
      <th scope="col">När du ska använda den här prompten</th>
      <th scope="col">Det här får du</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <ul class="automation-list">
          <li>Återger ditt sändningsscenario och dina mål, och synliggör antaganden som kan skapa compliance-glapp.</li>
          <li>Kartlägger sändningsflödet end-to-end och identifierar kontrollpunkter över export, transit, import och överlämningar mellan mäklare/transportör.</li>
          <li>Väljer ett lämpligt antal SOP-steg (minst 3, max 15) baserat på risk, jurisdiktioner, produktkomplexitet och sändningsfrekvens.</li>
          <li>Definierar varje steg med obligatoriska dokument, ansvarig part, exakt timing och verifieringssteg som du kan operationalisera.</li>
          <li>Bygger in validering och eskalering för HS-klassificering i processen så att felklassificeringsrisk hanteras som en kärnkontroll, inte som en eftertanke.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>Dina sändningar går igenom, men alltför ofta “först efter” sista minuten-justeringar av dokument och fram-och-tillbaka med mäklaren.</li>
          <li>Du importerar en ny produktkategori och litar inte på nuvarande HS-koder, värderingsmetod eller ursprungsuppgifter.</li>
          <li>Ditt team diskuterar Incoterms-ansvar, och ingen kan tydligt säga vem som äger vilka dokument och när.</li>
          <li>En konkurrent har kortare ledtider, och du misstänker att dina förseningar är processrelaterade snarare än transportörsrelaterade.</li>
          <li>Du skalar från sporadisk import till frekventa inbound-lanes och behöver en repeterbar SOP innan volymen ökar.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>En import compliance SOP i 3–15 steg anpassad efter din sändning, med aktiviteter och ägare steg för steg.</li>
           <li>En dokumentchecklista per steg (till exempel: handelsfaktura, packlista, certifikat, fullmakt till tullmäklare, PGA-dokument).</li>
           <li>Ansvarsfördelning enligt Incoterms® 2020 som tydliggör överlämningar mellan leverantör, köpare, transportör och mäklare.</li>
           <li>En metod för validering av HS-klassificering samt en eskaleringsväg (vem granskar, när man ska pausa, när man ska ta in mäklare/juridik).</li>
           <li>Verifieringssteg och tidsgrindar som du kan göra om till interna ärenden, SOP-sidor eller en checklista för sändningsstart.</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

<div class="prompt-display-section">

<h2 class="wp-block-heading">Hela AI-prompten: byggare för importdokumentation och SOP för tull- och compliance</h2>



<div class="prompt-viewer-wrapper" id="prompt-section">
    <div class="prompt-comparison-row prompt-premium">
        <!-- Header with buttons -->
        <div class="prompt-row-header">
            <!-- <span class="prompt-row-icon">✨</span> -->
            <span class="prompt-row-title">
                                    Steg 1: Anpassa prompten med din information
                            </span>
            <div class="prompt-header-buttons">
                                    <button class="prompt-header-btn prompt-header-reset" onclick="resetPrompt()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Återställ</span>
                    </button>
                                <button class="prompt-header-btn prompt-header-copy-green flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span>Anpassa och kopiera hela prompten</span>
                </button>
            </div>
        </div>

        <!-- Customize the Prompt Section -->
                    <div class="prompt-customize-section">
                <span class="customize-title">Anpassa prompten</span>
                <p class="customize-subtitle">Fyll i fälten nedan för att anpassa prompten efter dina behov.</p>
                <table class="customize-table">
                    <thead>
                        <tr>
                            <th>Variabel</th>
                            <th>Vad du ska ange</th>
                            <th>Anpassa prompten</th>
                        </tr>
                    </thead>
                    <tbody>
                                                    <tr>
                                <td class="var-name"><code>[URSPRUNGS_LAND]</code></td>
                                <td class="var-desc">
                                    Ange vilket land som försändelsen skickas från. Detta hjälper till att fastställa exportkrav och relevanta handelsavtal.                                    <div class="var-example">Till exempel: "Kina"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[URSPRUNGS_LAND]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[DESTINATIONS_LAND]</code></td>
                                <td class="var-desc">
                                    Ange vilket land försändelsen ska skickas till. Detta avgör importregler och tullkrav.                                    <div class="var-example">Till exempel: "USA"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[DESTINATIONS_LAND]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[PRODUKTBESKRIVNING]</code></td>
                                <td class="var-desc">
                                    Ge en detaljerad beskrivning av försändelsen, inklusive material, sammansättning, funktion och avsedd användning.                                    <div class="var-example">Till exempel: "Aluminiumlegeringsplåtar för tillverkning inom flygindustrin, 2 mm tjocklek, korrosionsbeständiga."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[PRODUKTBESKRIVNING]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[HS_KOD]</code></td>
                                <td class="var-desc">
                                    Ange produktens Harmonized System-kod (HS-kod) om den är känd. Koden används för tulltaxeklassificering och regelefterlevnadskontroller.                                    <div class="var-example">Till exempel: "7606.12.3090"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[HS_KOD]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[INCOTERM]</code></td>
                                <td class="var-desc">
                                    Ange vald Incoterm® 2020-regel eller be om hjälp att välja. Detta definierar fördelningen av kostnader och risk mellan köpare och säljare.                                    <div class="var-example">Till exempel: "FOB (Free On Board)"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[INCOTERM]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[BUDGET]</code></td>
                                <td class="var-desc">
                                    Ange försändelsens uppskattade värde i rätt valuta. Detta är avgörande för tulldeklarationer och beräkning av tullar och avgifter.                                    <div class="var-example">Till exempel: "25 000 USD"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[BUDGET]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[FORSANDELSEFREKVENS]</code></td>
                                <td class="var-desc">
                                    Ange hur ofta försändelser sker. Detta hjälper till att anpassa strategin för återkommande eller engångsleveranser.                                    <div class="var-example">Till exempel: "Månatliga försändelser"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[FORSANDELSEFREKVENS]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[KONTEXT]</code></td>
                                <td class="var-desc">
                                    Lista relevanta myndigheter, regelefterlevnadsprogram eller certifieringar som berör försändelsen. Detta säkerställer att arbetet matchar specifika krav.                                    <div class="var-example">Till exempel: "FDA-godkännande krävs, deltagande i CTPAT-programmet."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[KONTEXT]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[RISKTOLERANS]</code></td>
                                <td class="var-desc">
                                    Ange önskad nivå av risktolerans i försändelseprocessen (låg, medel eller hög). Detta påverkar strategins komplexitet och vilka skyddsåtgärder som behövs.                                    <div class="var-example">Till exempel: "Medel risktolerans: kan acceptera mindre förseningar men vill undvika sanktioner."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[RISKTOLERANS]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[HUVUDMAL]</code></td>
                                <td class="var-desc">
                                    Ange huvudmålet med importstrategin, till exempel att minska förseningar, minimera sanktionsrisker eller säkerställa regelefterlevnad.                                    <div class="var-example">Till exempel: "Minimera förseningar i tullklareringen och säkerställa full regelefterlevnad av tullregler."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[HUVUDMAL]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                            </tbody>
                </table>

                <button class="copy-customized-btn flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span class="copy-customized-text">Anpassa prompten nu</span>

                </button>
            </div>
        
        <!-- Full Prompt Code Header -->
                    <div class="prompt-code-header">
                <span class="prompt-code-title">
                    Steg 2: Kopiera prompten
                </span>
                <div class="prompt-code-buttons">
                    <!-- Reset: Only visible when unlocked -->
                    <button class="prompt-header-btn prompt-header-reset btn-when-unlocked" onclick="resetPrompt()" style="display: none;">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Återställ</span>
                    </button>
                    <!-- Copy Full Prompt -->
                    <button class="prompt-header-btn prompt-header-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                            <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                        </svg>
                        <span>Kopiera hela prompten</span>
                    </button>
                </div>
            </div>
        

        <!-- Prompt Content -->
        <div class="prompt-box prompt-gated-wrapper">
            <!-- Gated: Blurred content -->
            <div class="prompt-gated-content">
                <div class="prompt-header-visible">MÅL</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PERSONA</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">BEGRÄNSNINGAR</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PROCESS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">INDATA</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">SPECIFIKATION FÖR OUTPUT</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">1) Sammanfattning av föranalys</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">2) Stegplan (3–15 steg, dynamiskt valt)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">3) Modul för HS-klassificering &amp; tull-/avgiftsexponering</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">4) Ansvarskarta för Incoterm® 2020</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">5) Operativ verktygslåda</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">KVALITETSKONTROLLER</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div>            </div>
            <!-- Unlocked: Full content (hidden by default) -->
            <div class="prompt-content-full" id="premium-prompt-content" style="display: none;">
                ## MÅL  
Utforma en skräddarsydd, heltäckande strategi för importdokumentation och tull-efterlevnad som minskar klareringsförseningar, minimerar exponering för sanktionsavgifter och tydliggör ansvar med hjälp av Incoterms® 2020, metoder för HS-klassificering och praktiska ramverk för tullkontroll.

## PERSONA  
Agera som en systemdesigner för global trade compliance: en tidigare operativ gräns-/tullkontrollspecialist med omfattande hamnerfarenhet som nu bygger ”zero-surprise”-importprocesser för företag genom att översätta regelverk till tydliga arbetsflöden, beslutsträd och överlämningschecklistor.

## BEGRÄNSNINGAR  
- Bygg planen utifrån användarens faktiska sändningsdetaljer, inte generiska råd.  
- Välj dynamiskt antal steg baserat på risk, produktkomplexitet och involverade jurisdiktioner (minst 3, max 15).  
- Varje steg måste ange: obligatoriska dokument, ansvarig part, timing och verifieringssteg.  
- Använd Incoterms® 2020:s fördelning av kostnader/risker för att definiera dokumentägarskap och överlämningar.  
- Behandla HS-klassificering som en central riskkontroll: inkludera ett arbetssätt för klassificeringsvalidering och en eskaleringsväg.  
- **Edge cases:** Om viktiga indata saknas/är otydliga, pausa och ställ riktade följdfrågor innan du tar fram hela strategin.  
- **Omfattningsgränser — detta är INTE:**  
  - Inte juridisk rådgivning eller en ersättning för licensierad tullombudstjänst/juridisk rådgivning.  
  - Inte en garanti för klareringsutfall.  
  - Inte instruktioner för kringgående, feldeklaration, undervärdering eller kringgående av sanktioner.  

## PROCESS  
1. **Föranalys (måste finnas med i din output):** Återge kort din förståelse av sändningsscenariot och användarens mål, och lista eventuella antaganden.  
2. Kartlägg sändningsvägen och identifiera alla kontrollpunkter (export, transit, import, PGA/OGAs där relevant, överlämningar till ombud, interaktioner med transportör).  
3. Fastställ optimalt antal steg (3–15) med hjälp av: antal länder, produkt-/regelverkskomplexitet, värde/frekvens och risktolerans.  
4. För varje steg, definiera: aktiviteter, dokument/dataelement, ansvarig part, timing och kriterier för ”klart/verifierat”.  
5. Bygg en modul för HS-klassificering och tull-/skattepåverkan (inklusive klassificeringssäkerhetsnivå och vilket underlag som stöder den).  
6. Skapa ett överlämningsprotokoll i linje med vald Incoterm® 2020 (vem tillhandahåller vad, när och hur det valideras).  
7. Ge en slutlig checklista som ”readiness pack” som användaren kan omsätta i praktiken.

## INDATA  
- **Ursprungsland:** [URSPRUNGS_LAND]  
- **Destinationsland:** [DESTINATIONS_LAND]  
- **Produktbeskrivning (material, funktion, sammansättning, användning):** [PRODUKTBESKRIVNING]  
- **Preliminär HS-kod (om känd):** [HS_KOD]  
- **Val av Incoterm® 2020 (eller be om hjälp att välja):** [INCOTERM]  
- **Sändningsvärde (uppskattning, valuta):** [BUDGET]  
- **Sändningsfrekvens (engångs, veckovis, månadsvis osv.):** [FORSANDELSEFREKVENS]  
- **Kända myndigheter/program som är involverade (om några):** [KONTEXT]  
- **Risktolerans (låg/medel/hög):** [RISKTOLERANS]  
- **Primärt mål (hastighet, lägsta tull, revisionssäkerhet, förutsägbarhet osv.):** [HUVUDMAL]

## SPECIFIKATION FÖR OUTPUT  
Ta fram strategin med följande struktur:

### 1) Sammanfattning av föranalys  
- {Scenario Understanding}  
- {Assumptions}  
- {Missing Info Questions} (endast vid behov)

### 2) Stegplan (3–15 steg, dynamiskt valt)  
För varje steg, inkludera:  
- {Stage Name}  
- {Objective}  
- {Actions}  
- {Required Documents &amp; Data Fields}  
- {Owner / Responsible Party}  
- {Timing Window} (t.ex. ”~30–45 dagar före avsändning” snarare än exakta tidsstämplar)  
- {Compliance Checks / Red-Flag Triggers}  
- {Exit Criteria}

### 3) Modul för HS-klassificering &amp; tull-/avgiftsexponering  
- {Classification Approach} (underlag att samla in, hur det valideras)  
- {Key Classification Risks}  
- {Duty/Tax Considerations} (övergripande, baserat på given info; notera osäkerheter)  
- {Escalation Path} (när ombud/BTI/beskedsansökan/ruling request/etc. ska involveras)

### 4) Ansvarskarta för Incoterm® 2020  
- {Incoterm Responsibilities Table} (vem hanterar transport, försäkring, export-/importklarering, dokument)  
- {Handoff Protocol} (vad som utbyts, format, deadlines, verifiering)

### 5) Operativ verktygslåda  
- {Master Document Checklist}  
- {Broker/Forwarder Instruction Sheet}  
- {Recordkeeping &amp; Audit File Structure}  
- {Exception Handling Playbook}

## KVALITETSKONTROLLER  
I slutet, inkludera en kort valideringslista som bekräftar:  
- Antal steg (3–15) matchar scenariots komplexitet och anges explicit.  
- Varje steg inkluderar ägare, timingfönster och exit criteria.  
- Incoterm® 2020-ansvar är konsekvent med överlämningsprotokollet.  
- HS-klassificering har en valideringsmetod och en eskaleringstrigger.  
- Öppna frågor/antaganden är tydligt märkta och utger sig inte för att vara fakta.            </div>
        </div>


    </div>

    <!-- CTA Row - Full width buttons -->
    <div class="prompt-cta-row">
        <button class="prompt-cta-btn prompt-cta-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
            </svg>
            <span class="cta-copy-text">Kopiera hela prompten</span>
        </button>
    </div>
</div>

<style>
    /* Gated prompt states */
    .prompt-gated-wrapper {
        position: relative;
    }

    /* When unlocked - show full content, hide gated */
    body.flowpast-unlocked .prompt-gated-wrapper .prompt-gated-content {
        display: none;
    }

    body.flowpast-unlocked .prompt-gated-wrapper .prompt-content-full {
        display: block !important;
    }

    /* Show/hide elements based on unlock state */
    body.flowpast-unlocked .btn-when-unlocked {
        display: inline-flex !important;
    }

    .prompt-viewer-wrapper {
        scroll-margin-top: 250px;
    }

    /* ========================================
   PROMPT VIEWER - MAIN WRAPPER
   ======================================== */
    .prompt-viewer-wrapper {
        margin: 30px 0;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    /* ========================================
   PROMPT BOX CONTAINER
   ======================================== */
    .prompt-comparison-row {
        border-radius: 12px;
        overflow: hidden;
        border: 1px solid #e0e0e0;
        background: #fff;
    }

    /* ========================================
   HEADER WITH BUTTONS
   ======================================== */
    .prompt-row-header {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 14px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
        flex-wrap: wrap;
    }

    .prompt-row-icon {
        font-size: 20px;
    }

    .prompt-row-title {
        font-weight: 600;
        font-size: 22px;
        color: #fff !important;
        text-decoration: underline
    }

    .prompt-header-buttons {
        margin-left: auto;
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
    }

    /* Header buttons */
    .prompt-header-btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 10px 20px;
        border-radius: 6px;
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-header-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-header-copy:hover {
        background: #2a2a2a;
    }

    .prompt-header-copy.copied {
        background: #2e7d32;
    }

    .prompt-header-copy-green {
        background: #04AA6D !important;
        color: #fff !important;
    }

    .prompt-header-copy-green span {
        color: #fff !important;
    }

    .prompt-header-copy-green:hover {
        background: #039860 !important;
    }

    .prompt-header-copy-green.copied {
        background: #2e7d32 !important;
    }

    .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-header-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-1px);
    }

    /* ========================================
   PROMPT CONTENT - FULL (NO SCROLL)
   ======================================== */
    .prompt-box {
        background: #ffffff;
    }

    .prompt-content-full {
        padding: 24px;
        margin: 0;
        color: #202124;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.7;
        white-space: pre-wrap;
        word-wrap: break-word;
        /* No scroll - show full content */
        max-height: none;
        overflow: visible;
    }

    /* Highlighted variable in prompt */
    .prompt-variable {
        background: #fff3cd;
        color: #1967d2;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #ffc107;
    }

    .prompt-variable-filled {
        background: #d4edda;
        color: #155724;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #28a745;
    }

    /* ========================================
   GATED CONTENT (NO ACCESS)
   ======================================== */
    .prompt-gated-content {
        padding: 24px;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.8;
        max-height: none;
        overflow: visible;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        cursor: default;
    }

    /* ## headers - larger, black */
    .prompt-header-visible {
        color: #202124;
        font-weight: 600;
        margin: 5px 0 0px 0;
        font-size: 20px;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        text-decoration: underline;
        text-underline-offset: 4px;
    }

    /* ### headers - smaller, black */
    .prompt-header-visible.subheader {
        color: #202124;
        font-weight: 600;
        margin: 5px 0;
        font-size: 18px;
    }

    .prompt-header-visible:first-child {
        margin-top: 0;
    }

    /* ========================================
   LOCKED SECTION BLOCK
   ======================================== */
    .locked-section {
        position: relative;
        margin: 4px 0 8px 0;
        border-radius: 6px;
        overflow: hidden;
        background: linear-gradient(110deg, #e2e8f0 8%, #f1f5f9 18%, #e2e8f0 33%);
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
    }

    .locked-section-bg {
        position: relative;
    }

    .locked-section-lines {
        padding: 8px 12px;
        position: relative;
    }

    .locked-line {
        height: 6px;
        background: rgba(255, 255, 255, 0.6);
        border-radius: 3px;
        margin-bottom: 4px;
        margin-left: 12px;
    }

    .locked-line:last-child {
        margin-bottom: 0;
    }

    .locked-section-icon {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 10;
        font-size: 24px;
        filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.1));
    }

    /* Subheader locked sections - slightly indented */
    /*  .prompt-header-visible.subheader+.locked-section {
        margin-left: 16px;
    } */

    /* ========================================
   COMPATIBILITY BADGES
   ======================================== */
    .prompt-compatibility {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        padding: 12px 20px;
        background: #f8f9fa;
        border-top: 1px solid #e0e0e0;
    }

    .compat-label {
        font-size: 13px;
        color: #5f6368;
        font-weight: 500;
    }

    .compat-badge {
        padding: 4px 10px;
        background: #e8f0fe;
        color: #1967d2;
        border-radius: 4px;
        font-size: 12px;
        font-weight: 500;
    }

    /* ========================================
   CTA ROW - FULL WIDTH BUTTONS
   ======================================== */
    .prompt-cta-row {
        display: flex;
        gap: 16px;
        flex-wrap: wrap;
    }

    .prompt-cta-btn {
        flex: 1;
        min-width: 200px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 16px 24px;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-cta-copy {
        background: #3a3a3a;
        color: #fff !important;
    }


    .prompt-cta-copy span {
        background: #3a3a3a;
        color: #fff !important;
    }


    .prompt-cta-copy:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }


    .prompt-cta-copy.copied {
        background: #2e7d32;
    }

    .prompt-cta-reset {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-reset:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-cta-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    /* ========================================
    CUSTOMIZE YOUR PROMPT SECTION
    ======================================== */
    .prompt-customize-section {
        padding: 24px;
        border-bottom: 1px solid #e0e0e0;
        background: #fafbfc;
    }

    .customize-title {
        margin: 0 0 8px 0;
        font-size: 18px;
        font-weight: 700;
        color: #202124;
    }

    .customize-subtitle {
        margin: 0 0 20px 0;
        font-size: 14px;
        color: #5f6368;
    }

    .customize-table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 20px;
    }

    .customize-table th {
        text-align: left;
        padding: 12px;
        background: #f1f3f4;
        border: 1px solid #e0e0e0;
        font-size: 13px;
        font-weight: 600;
        color: #202124;
    }

    .customize-table td {
        padding: 12px;
        border: 1px solid #e0e0e0;
        vertical-align: top;
    }

    .customize-table .var-name {
        width: 25%;
        background: #f8f9fa;
    }

    .customize-table .var-name code {
        background: #fff3cd;
        color: #1967d2;
        border: 1px solid #ffc107;
        padding: 4px 8px;
        border-radius: 4px;
        font-size: 12px;
        word-break: break-all;
        font-weight: 600;
    }

    .customize-table .var-desc {
        width: 35%;
        font-size: 13px;
        color: #5f6368;
        line-height: 1.5;
    }

    .customize-table .var-example {
        margin-top: 8px;
        padding: 8px 10px;
        background: #f8f9fa;
        border-left: 3px solid #dadce0;
        font-size: 12px;
        color: #5f6368;
        font-style: italic;
        border-radius: 0 4px 4px 0;
    }

    .customize-table .var-input {
        width: 40%;
    }

    .customize-input {
        width: 100%;
        padding: 10px 12px;
        border: 1px solid #dadce0;
        border-radius: 6px;
        font-size: 13px;
        font-family: inherit;
        resize: vertical;
        transition: border-color 0.2s, box-shadow 0.2s;
    }

    .customize-input:focus {
        outline: none;
        border-color: rgb(5, 152, 98);
        box-shadow: 0 0 0 3px rgba(5, 152, 98, 0.1);
    }

    .customize-input::placeholder {
        color: #9aa0a6;
        font-style: italic;
    }

    .copy-customized-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        width: 100%;
        padding: 16px 24px;
        background: rgb(5, 152, 98);
        color: #fff !important;
        border: none;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
    }

    .copy-customized-btn span {
        color: #fff !important
    }

    .copy-customized-text span {
        color: #fff !important
    }

    .copy-customized-btn:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    .copy-customized-btn.copied {
        background: #2e7d32;
    }

    /* ========================================
    FULL PROMPT CODE HEADER
    ======================================== */
    .prompt-code-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
    }

    .prompt-code-title {
        font-size: 22px;
        font-weight: 600;
        text-decoration: underline;
        color: #fff !important;

    }

    .prompt-code-buttons {
        display: flex;
        gap: 8px;
    }

    .prompt-code-buttons .prompt-header-btn {
        padding: 8px 14px;
        font-size: 13px;
        background: #ffffff;
        color: #202124;
        border: 1px solid #dadce0;
    }

    .prompt-code-buttons .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
        border-color: rgb(5, 152, 98);
    }

    .prompt-code-buttons .prompt-header-btn.prompt-header-access:hover {
        background: rgb(4, 130, 83) !important;
        border-color: rgb(4, 130, 83);
        color: #fff !important;
    }

    .prompt-code-buttons .prompt-header-btn:hover {
        background: #f1f3f4;
    }

    .prompt-code-buttons .prompt-header-copy.copied {
        background: #d4edda;
        color: #155724;
        border-color: #28a745;
    }

    .prompt-header-reset {
        background: #ffffff;
        color: #202124;
    }

    /* ========================================
   RESPONSIVE
   ======================================== */
    @media (max-width: 768px) {
        .prompt-row-header {
            flex-direction: column;
            align-items: flex-start;
            gap: 12px;
        }

        .prompt-header-buttons {
            margin-left: 0;
            width: 100%;
        }

        .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }

        .prompt-cta-row {
            flex-direction: column;
        }

        .prompt-cta-btn {
            width: 100%;
        }

        /* Customize table responsive */
        .customize-table,
        .customize-table thead,
        .customize-table tbody,
        .customize-table tr,
        .customize-table th,
        .customize-table td {
            display: block;
        }

        .customize-table thead {
            display: none;
        }

        .customize-table tr {
            margin-bottom: 16px;
            border: 1px solid #e0e0e0;
            border-radius: 8px;
            overflow: hidden;
        }

        .customize-table td {
            width: 100% !important;
            border: none;
            border-bottom: 1px solid #e0e0e0;
        }

        .customize-table td:last-child {
            border-bottom: none;
        }

        .customize-table .var-name {
            background: #f1f3f4;
            font-weight: 600;
        }

        .prompt-code-header {
            flex-direction: column;
            gap: 12px;
            align-items: flex-start;
        }

        .prompt-code-buttons {
            width: 100%;
        }

        .prompt-code-buttons .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }
    }
</style>

<script>
    function handlePromptCopy() {
        // Check if unlocked via cookie
        if (typeof window.flowpastIsUnlocked === 'function' && !window.flowpastIsUnlocked()) {
            // Show email popup
            if (typeof window.flowpastShowEmailPopup === 'function') {
                window.flowpastShowEmailPopup('prompt');
            }
            return;
        }

        // Copy the customized prompt (with filled variables)
        const customizedPrompt = getCustomizedPrompt();
        const copyButtons = document.querySelectorAll('.prompt-header-copy, .prompt-header-copy-green, .prompt-cta-copy, .copy-customized-btn');

        navigator.clipboard.writeText(customizedPrompt).then(() => {
            copyButtons.forEach(btn => {
                btn.classList.add('copied');
                const textSpan = btn.querySelector('span');
                if (textSpan) textSpan.textContent = 'Kopierad!';
            });

            setTimeout(() => {
                copyButtons.forEach(btn => {
                    btn.classList.remove('copied');
                    const textSpan = btn.querySelector('span');
                    if (textSpan) textSpan.textContent = 'Kopiera hela prompten';
                });
            }, 2000);
        }).catch(err => {
            console.error('Failed to copy:', err);
        });
    }

    // Store original prompt for customization
    const originalPrompt = "## M\u00c5L  \r\nUtforma en skr\u00e4ddarsydd, helt\u00e4ckande strategi f\u00f6r importdokumentation och tull-efterlevnad som minskar klareringsf\u00f6rseningar, minimerar exponering f\u00f6r sanktionsavgifter och tydligg\u00f6r ansvar med hj\u00e4lp av Incoterms\u00ae 2020, metoder f\u00f6r HS-klassificering och praktiska ramverk f\u00f6r tullkontroll.\r\n\r\n## PERSONA  \r\nAgera som en systemdesigner f\u00f6r global trade compliance: en tidigare operativ gr\u00e4ns-\/tullkontrollspecialist med omfattande hamnerfarenhet som nu bygger \u201dzero-surprise\u201d-importprocesser f\u00f6r f\u00f6retag genom att \u00f6vers\u00e4tta regelverk till tydliga arbetsfl\u00f6den, beslutstr\u00e4d och \u00f6verl\u00e4mningschecklistor.\r\n\r\n## BEGR\u00c4NSNINGAR  \r\n- Bygg planen utifr\u00e5n anv\u00e4ndarens faktiska s\u00e4ndningsdetaljer, inte generiska r\u00e5d.  \r\n- V\u00e4lj dynamiskt antal steg baserat p\u00e5 risk, produktkomplexitet och involverade jurisdiktioner (minst 3, max 15).  \r\n- Varje steg m\u00e5ste ange: obligatoriska dokument, ansvarig part, timing och verifieringssteg.  \r\n- Anv\u00e4nd Incoterms\u00ae 2020:s f\u00f6rdelning av kostnader\/risker f\u00f6r att definiera dokument\u00e4garskap och \u00f6verl\u00e4mningar.  \r\n- Behandla HS-klassificering som en central riskkontroll: inkludera ett arbetss\u00e4tt f\u00f6r klassificeringsvalidering och en eskaleringsv\u00e4g.  \r\n- **Edge cases:** Om viktiga indata saknas\/\u00e4r otydliga, pausa och st\u00e4ll riktade f\u00f6ljdfr\u00e5gor innan du tar fram hela strategin.  \r\n- **Omfattningsgr\u00e4nser \u2014 detta \u00e4r INTE:**  \r\n  - Inte juridisk r\u00e5dgivning eller en ers\u00e4ttning f\u00f6r licensierad tullombudstj\u00e4nst\/juridisk r\u00e5dgivning.  \r\n  - Inte en garanti f\u00f6r klareringsutfall.  \r\n  - Inte instruktioner f\u00f6r kringg\u00e5ende, feldeklaration, underv\u00e4rdering eller kringg\u00e5ende av sanktioner.  \r\n\r\n## PROCESS  \r\n1. **F\u00f6ranalys (m\u00e5ste finnas med i din output):** \u00c5terge kort din f\u00f6rst\u00e5else av s\u00e4ndningsscenariot och anv\u00e4ndarens m\u00e5l, och lista eventuella antaganden.  \r\n2. Kartl\u00e4gg s\u00e4ndningsv\u00e4gen och identifiera alla kontrollpunkter (export, transit, import, PGA\/OGAs d\u00e4r relevant, \u00f6verl\u00e4mningar till ombud, interaktioner med transport\u00f6r).  \r\n3. Fastst\u00e4ll optimalt antal steg (3\u201315) med hj\u00e4lp av: antal l\u00e4nder, produkt-\/regelverkskomplexitet, v\u00e4rde\/frekvens och risktolerans.  \r\n4. F\u00f6r varje steg, definiera: aktiviteter, dokument\/dataelement, ansvarig part, timing och kriterier f\u00f6r \u201dklart\/verifierat\u201d.  \r\n5. Bygg en modul f\u00f6r HS-klassificering och tull-\/skattep\u00e5verkan (inklusive klassificeringss\u00e4kerhetsniv\u00e5 och vilket underlag som st\u00f6der den).  \r\n6. Skapa ett \u00f6verl\u00e4mningsprotokoll i linje med vald Incoterm\u00ae 2020 (vem tillhandah\u00e5ller vad, n\u00e4r och hur det valideras).  \r\n7. Ge en slutlig checklista som \u201dreadiness pack\u201d som anv\u00e4ndaren kan oms\u00e4tta i praktiken.\r\n\r\n## INDATA  \r\n- **Ursprungsland:** [URSPRUNGS_LAND]  \r\n- **Destinationsland:** [DESTINATIONS_LAND]  \r\n- **Produktbeskrivning (material, funktion, sammans\u00e4ttning, anv\u00e4ndning):** [PRODUKTBESKRIVNING]  \r\n- **Prelimin\u00e4r HS-kod (om k\u00e4nd):** [HS_KOD]  \r\n- **Val av Incoterm\u00ae 2020 (eller be om hj\u00e4lp att v\u00e4lja):** [INCOTERM]  \r\n- **S\u00e4ndningsv\u00e4rde (uppskattning, valuta):** [BUDGET]  \r\n- **S\u00e4ndningsfrekvens (eng\u00e5ngs, veckovis, m\u00e5nadsvis osv.):** [FORSANDELSEFREKVENS]  \r\n- **K\u00e4nda myndigheter\/program som \u00e4r involverade (om n\u00e5gra):** [KONTEXT]  \r\n- **Risktolerans (l\u00e5g\/medel\/h\u00f6g):** [RISKTOLERANS]  \r\n- **Prim\u00e4rt m\u00e5l (hastighet, l\u00e4gsta tull, revisionss\u00e4kerhet, f\u00f6ruts\u00e4gbarhet osv.):** [HUVUDMAL]\r\n\r\n## SPECIFIKATION F\u00d6R OUTPUT  \r\nTa fram strategin med f\u00f6ljande struktur:\r\n\r\n### 1) Sammanfattning av f\u00f6ranalys  \r\n- {Scenario Understanding}  \r\n- {Assumptions}  \r\n- {Missing Info Questions} (endast vid behov)\r\n\r\n### 2) Stegplan (3\u201315 steg, dynamiskt valt)  \r\nF\u00f6r varje steg, inkludera:  \r\n- {Stage Name}  \r\n- {Objective}  \r\n- {Actions}  \r\n- {Required Documents & Data Fields}  \r\n- {Owner \/ Responsible Party}  \r\n- {Timing Window} (t.ex. \u201d~30\u201345 dagar f\u00f6re avs\u00e4ndning\u201d snarare \u00e4n exakta tidsst\u00e4mplar)  \r\n- {Compliance Checks \/ Red-Flag Triggers}  \r\n- {Exit Criteria}\r\n\r\n### 3) Modul f\u00f6r HS-klassificering & tull-\/avgiftsexponering  \r\n- {Classification Approach} (underlag att samla in, hur det valideras)  \r\n- {Key Classification Risks}  \r\n- {Duty\/Tax Considerations} (\u00f6vergripande, baserat p\u00e5 given info; notera os\u00e4kerheter)  \r\n- {Escalation Path} (n\u00e4r ombud\/BTI\/beskedsans\u00f6kan\/ruling request\/etc. ska involveras)\r\n\r\n### 4) Ansvarskarta f\u00f6r Incoterm\u00ae 2020  \r\n- {Incoterm Responsibilities Table} (vem hanterar transport, f\u00f6rs\u00e4kring, export-\/importklarering, dokument)  \r\n- {Handoff Protocol} (vad som utbyts, format, deadlines, verifiering)\r\n\r\n### 5) Operativ verktygsl\u00e5da  \r\n- {Master Document Checklist}  \r\n- {Broker\/Forwarder Instruction Sheet}  \r\n- {Recordkeeping & Audit File Structure}  \r\n- {Exception Handling Playbook}\r\n\r\n## KVALITETSKONTROLLER  \r\nI slutet, inkludera en kort valideringslista som bekr\u00e4ftar:  \r\n- Antal steg (3\u201315) matchar scenariots komplexitet och anges explicit.  \r\n- Varje steg inkluderar \u00e4gare, timingf\u00f6nster och exit criteria.  \r\n- Incoterm\u00ae 2020-ansvar \u00e4r konsekvent med \u00f6verl\u00e4mningsprotokollet.  \r\n- HS-klassificering har en valideringsmetod och en eskaleringstrigger.  \r\n- \u00d6ppna fr\u00e5gor\/antaganden \u00e4r tydligt m\u00e4rkta och utger sig inte f\u00f6r att vara fakta.";
    const variables = ["[URSPRUNGS_LAND]","[DESTINATIONS_LAND]","[PRODUKTBESKRIVNING]","[HS_KOD]","[INCOTERM]","[BUDGET]","[FORSANDELSEFREKVENS]","[KONTEXT]","[RISKTOLERANS]","[HUVUDMAL]"];
    // Initial render with highlighted variables
    document.addEventListener('DOMContentLoaded', function() {
        renderPromptWithHighlights();
    });

    // Live update prompt as user types
    document.querySelectorAll('.customize-input').forEach(input => {
        input.addEventListener('input', renderPromptWithHighlights);
    });

    function renderPromptWithHighlights() {
        const promptContent = document.getElementById('premium-prompt-content');
        if (!promptContent) return;

        let updatedPrompt = originalPrompt;
        let filledVariables = {};

        // Collect filled values
        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                filledVariables[placeholder] = value;
            }
        });

        // Replace filled variables and highlight remaining
        let htmlContent = escapeHtml(updatedPrompt);

        variables.forEach(placeholder => {
            const escapedPlaceholder = escapeHtml(placeholder);
            const regex = new RegExp(escapeRegex(escapedPlaceholder), 'g');

            if (filledVariables[placeholder]) {
                // Show filled value with green highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable-filled">' + escapeHtml(filledVariables[placeholder]) + '</span>'
                );
            } else {
                // Show original placeholder with yellow highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable">' + escapedPlaceholder + '</span>'
                );
            }
        });

        promptContent.innerHTML = htmlContent;
    }

    function escapeRegex(string) {
        return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
    }

    function escapeHtml(text) {
        const div = document.createElement('div');
        div.textContent = text;
        return div.innerHTML;
    }

    function resetPrompt() {
        // Clear all input fields
        document.querySelectorAll('.customize-input').forEach(input => {
            input.value = '';
        });

        // Re-render with original placeholders highlighted
        renderPromptWithHighlights();

        // Visual feedback
        const resetBtns = document.querySelectorAll('.prompt-header-reset, .prompt-cta-reset');
        resetBtns.forEach(btn => {
            const originalText = btn.querySelector('span').textContent;
            btn.querySelector('span').textContent = 'Återställd!';
            setTimeout(() => {
                btn.querySelector('span').textContent = originalText;
            }, 1000);
        });
    }


    function getCustomizedPrompt() {
        let updatedPrompt = originalPrompt;

        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                const regex = new RegExp(escapeRegex(placeholder), 'g');
                updatedPrompt = updatedPrompt.replace(regex, value);
            }
        });

        return updatedPrompt;
    }
</script>

</div>

<div class="pro-tips-section">

<h2 class="wp-block-heading">Proffstips för bättre resultat från AI-prompten</h2>



<ul class="wp-block-list">

<li><strong>Ta med en verklig sändning, inte en “genomsnittlig”.</strong> Klistra in en specifik lane (ursprung, destination, hamnar), produktbeskrivning, sändningsvärde och vilka parter ni har (leverantör, importer of record, mäklare). Om du är osäker, säg det. Prompten är byggd för att pausa och ställa riktade frågor innan den bygger hela SOP:n.</li>


<li><strong>Ange Incoterms® 2020-termen och vad du tror att den innebär.</strong> Många förseningar börjar när teamet antar att “EXW betyder att leverantören hanterar exportdokument” (ofta fel i praktiken). Lägg till en rad som: “Vi använder FOB Shanghai; vi tror att leverantören står för exportklarering och dokument, mäklaren hanterar importförtullningen.” Fråga sedan: “Korrigera eventuella ansvarsmissar och visa överlämningspunkterna.”</li>


<li><strong>Mata in era nuvarande dokument (även om de är stökiga).</strong> Om du kan, klistra in fälten ni redan samlar in på handelsfakturor, packlistor och mäklarinstruktioner. Följ sedan upp med: “Flagga saknade eller riskfyllda fält och skriv om minsta användbara mallar vi ska kräva från leverantörer.” Du får mer handlingsbara verifieringssteg.</li>


<li><strong>Iterera på antal steg och risktolerans.</strong> Efter första resultatet kan du fråga: “Korta ner detta till minsta fungerande SOP för låg-risk, återkommande SKU:er” eller “Gör den striktare för högvärdessändningar och lägg till extra verifiering före fartygets avgång.” Du ser hur kontroller flyttas tidigare i tidslinjen.</li>


<li><strong>Gör stegen till operativa artefakter.</strong> Be om formatering som passar era verktyg: “Konvertera stegen till en Asana-checklista med ägare och förfallodatum” eller “Skriv om som en en-sides SOP plus en separat checklista för överlämning till mäklaren.” Ärligt talat är det i formateringen som de här strategierna blir användbara.</li>

</ul>

</div>

<div class="related-prompts-section">

<h2 class="wp-block-heading">Relaterade promptar</h2>



<p>När du har dokumenterat din import compliance SOP hjälper dessa promptar dig att operationalisera de efterföljande intäktsflöden som beror på pålitlig leveranstiming och felfri orderdata.</p>



<p>Om du också behöver ett strukturerat sätt att öka AOV efter att ordern landat, passar <a href="https://nodenordic.se/prompts/skapa-en-playbook-for-upp-och-korsforsaljning">Bygg en upsell- och cross-sell-playbook med denna AI-prompt</a> bra tillsammans med compliance-arbetet. När importförseningarna minskar kan du planera upsell-timing utifrån förutsägbara fulfillment-fönster i stället för att gissa.</p>



<p>För team som arbetar med retention är <a href="https://nodenordic.se/prompts/bygg-ett-uppfoljningssystem-efter-kop-med-ai-prompt">Bygg ett uppföljningssystem efter köp med denna AI-prompt</a> användbar direkt efter att du stabiliserat leveransprestandan. Om tullstopp orsakar sena leveranser behöver dina uppföljningsmeddelanden ofta ha beredskapslogik; när SOP:n minskar variationen kan uppföljningssystemet vara enklare och mer effektivt.</p>



<p>När du vill översätta produktillgänglighet till smartare bundles hjälper <a href="https://nodenordic.se/prompts/hitta-korsforsaljningspaket-via-korgdata-ai-prompt">AI-prompt för att hitta cross-sell-bundles från varukorgsdata</a> dig att bestämma vad som ska paras ihop baserat på verkliga varukorgar. Den är särskilt användbar om din nya import-SOP gör att du kan bredda ditt SKU-sortiment och du vill att bundle-logiken ska bygga på data, inte åsikter.</p>


<br>


<p>Snabböversikt:</p>



<ul class="wp-block-list">

<li><a href="https://nodenordic.se/prompts/skapa-en-playbook-for-upp-och-korsforsaljning">Bygg en upsell- och cross-sell-playbook med denna AI-prompt</a>: Upsell-system efter erbjudandenivå och timing.</li>


<li><a href="https://nodenordic.se/prompts/bygg-ett-uppfoljningssystem-efter-kop-med-ai-prompt">Bygg ett uppföljningssystem efter köp med denna AI-prompt</a>: Uppföljningar som minskar churn och återbetalningar.</li>


<li><a href="https://nodenordic.se/prompts/skapa-playbooks-for-korsforsaljning-och-merforsaljning">Bygg cross-sell- och up-sell-playbooks AI-prompt</a>: Cross-sell-aktiviteter mappade mot kundsegment.</li>


<li><a href="https://nodenordic.se/prompts/bygg-ett-tackflode-efter-kop-med-denna-ai-prompt">Bygg ett tackflöde efter köp med denna AI-prompt</a>: Tackflöde för att öka andraköpsfrekvensen.</li>

<li><a href="https://nodenordic.se/prompts/hitta-korsforsaljningspaket-via-korgdata-ai-prompt">AI-prompt för att hitta cross-sell-bundles från varukorgsdata</a>: Bundle-idéer baserade på varukorgsmönster.</li>

</ul>
<!-- /wp:post-content -->
</div>

<div class="faq-section">
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">Vanliga frågor</h2>
<!-- /wp:heading -->

<div class="faq-item">
<span class="question">Vilka roller har störst nytta av denna AI-prompt för import compliance SOP?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>Ansvariga för trade compliance/global handel</strong> använder den för att standardisera kontroller kring HS-klassificering, dokumentintegritet och eskalering, så att processen håller för revisioner och personalomsättning. <strong>Supply chain-/logistikchefer</strong> använder den för att definiera överlämningar och tidsgrindar med transportörer och mäklare, vilket minskar “överraskningsstopp” i värsta möjliga läge. <strong>Operations managers</strong> gillar den eftersom varje steg har en ägare, en checklista och ett verifieringssteg, vilket gör den enkel att bygga in i ärenden eller en checklista för sändningsstart. <strong>Importers of record hos växande varumärken</strong> förlitar sig på den när de utökar antalet SKU:er och behöver tydliga ansvarsfördelningar enligt Incoterms® 2020.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Vilka branscher får mest värde av denna AI-prompt för import compliance SOP?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>E-handelsvarumärken som importerar konsumentvaror</strong> får värde eftersom många SKU:er, säsongsvariationer och leverantörsvariation gör dokumentkonsekvens svårt; den etappindelade SOP:n minskar återkommande förseningar. <strong>SaaS- och hårdvarubolag</strong> gynnas när sändningar inkluderar tillbehör, reservdelar eller bundle-kit där HS-klassificering och värderingsdetaljer kan bli inkonsekventa mellan leverantörer. <strong>Industri- och tillverkningsimportörer</strong> använder den för att styra komplexa stycklistor, ursprungsuppgifter och mäklarinstruktioner över flera anläggningar. <strong>Team för livsmedel, kosmetik eller reglerade produkter</strong> har nytta av den eftersom PGA/OGA-beröringspunkter och extra dokument behöver planeras tidigt, inte upptäckas i hamnen.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Varför ger enkla AI-promptar för att bygga en import compliance SOP svaga resultat?</span>
<!-- wp:paragraph -->
<p class="answer">En typisk prompt som “Skriv en import-SOP för mitt företag” misslyckas eftersom den: saknar detaljer om din faktiska sändningsväg (hamnar, parter, jurisdiktioner), inte ger någon stegstruktur med ägare/timing/verifiering, ignorerar ansvarsfördelning enligt Incoterms® 2020 (så dokumentägarskap blir otydligt), producerar generiska checklistor i stället för kontrollpunkter kopplade till verkliga överlämningar och behandlar HS-klassificering som en engångsetikett i stället för en kontroll för validering och eskalering. Den här prompten tvingar fram en föranalys, dimensionerar SOP:n dynamiskt (3–15 steg) och bygger in klassificeringsrisk i arbetsflödet.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Kan jag anpassa denna import compliance SOP-prompt efter min specifika situation?</span>
<!-- wp:paragraph -->
<p class="answer">Ja. Snabbaste sättet är att ange din lane (ursprungsland, destinationsland, eventuella transitpunkter), produktdetaljer, sändningsfrekvens/-värde och din valda Incoterms® 2020-term så att prompten kan tilldela dokumentägarskap korrekt. Om du är osäker på HS-koder eller ursprungsuppgifter, säg det uttryckligen och be prompten lägga in starkare valideringssteg och en “stoppa linan”-eskalering. En bra uppföljning är: “Skriv om SOP:n utifrån att vi byter från FOB till DDP; visa vilka dokument och tidsgrindar som ändras och vilka nya risker det innebär.”</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Vilka är de vanligaste misstagen när man använder denna import compliance SOP-prompt?</span>
<!-- wp:paragraph -->
<p class="answer">Det största misstaget är att beskriva produkten för vagt — i stället för “elektronik”, skriv “Bluetooth-aktiverad konsumentljudenhet med litiumbatteri; säljs som en enhet med laddkabel.” Ett annat vanligt fel är att lämna Incoterms-termen underförstådd; “leverantören skickar till oss” är svagt, medan “FOB Ningbo, köparen arrangerar huvudtransport och försäkring” är användbart. Team glömmer också att lista alla parter (importer of record, mäklare, speditör, leverantör), vilket gör ansvar otydligt; namnge dem och ange vem som får signera vad. Slutligen hoppar många över sin faktiska smärtpunkt; “undvik förseningar” är generiskt, men “stoppade två gånger på grund av saknat COO och inkonsekventa fakturavärden” gör att SOP:n kan lägga in riktade verifieringssteg.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Vem ska INTE använda denna import compliance SOP-prompt?</span>
<!-- wp:paragraph -->
<p class="answer">Den här prompten är inte idealisk för team som söker juridisk rådgivning, ett garanterat klareringsutfall eller instruktioner som går över compliance-gränser. Den kan också vara överdriven för en engångssändning med lågt värde där du inte kommer att införa en etappindelad process eller iterera med din mäklare. Om du saknar grundläggande sändningsinformation (ingen lane, inga produktdetaljer, inga parter), samla in det först och kör sedan prompten; då får du en betydligt skarpare SOP.</p>
<!-- /wp:paragraph -->
</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Vilka roller har störst nytta av denna AI-prompt för import compliance SOP?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ansvariga för trade compliance/global handel använder den för att standardisera kontroller kring HS-klassificering, dokumentintegritet och eskalering, så att processen håller för revisioner och personalomsättning. Supply chain-/logistikchefer använder den för att definiera överlämningar och tidsgrindar med transportörer och mäklare, vilket minskar “överraskningsstopp” i värsta möjliga läge. Operations managers gillar den eftersom varje steg har en ägare, en checklista och ett verifieringssteg, vilket gör den enkel att bygga in i ärenden eller en checklista för sändningsstart. Importers of record hos växande varumärken förlitar sig på den när de utökar antalet SKU:er och behöver tydliga ansvarsfördelningar enligt Incoterms® 2020."
      }
    },
    {
      "@type": "Question",
      "name": "Vilka branscher får mest värde av denna AI-prompt för import compliance SOP?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "E-handelsvarumärken som importerar konsumentvaror får värde eftersom många SKU:er, säsongsvariationer och leverantörsvariation gör dokumentkonsekvens svårt; den etappindelade SOP:n minskar återkommande förseningar. SaaS- och hårdvarubolag gynnas när sändningar inkluderar tillbehör, reservdelar eller bundle-kit där HS-klassificering och värderingsdetaljer kan bli inkonsekventa mellan leverantörer. Industri- och tillverkningsimportörer använder den för att styra komplexa stycklistor, ursprungsuppgifter och mäklarinstruktioner över flera anläggningar. Team för livsmedel, kosmetik eller reglerade produkter har nytta av den eftersom PGA/OGA-beröringspunkter och extra dokument behöver planeras tidigt, inte upptäckas i hamnen."
      }
    },
    {
      "@type": "Question",
      "name": "Varför ger enkla AI-promptar för att bygga en import compliance SOP svaga resultat?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "En typisk prompt som “Skriv en import-SOP för mitt företag” misslyckas eftersom den: saknar detaljer om din faktiska sändningsväg (hamnar, parter, jurisdiktioner), inte ger någon stegstruktur med ägare/timing/verifiering, ignorerar ansvarsfördelning enligt Incoterms® 2020 (så dokumentägarskap blir otydligt), producerar generiska checklistor i stället för kontrollpunkter kopplade till verkliga överlämningar och behandlar HS-klassificering som en engångsetikett i stället för en kontroll för validering och eskalering. Den här prompten tvingar fram en föranalys, dimensionerar SOP:n dynamiskt (3–15 steg) och bygger in klassificeringsrisk i arbetsflödet."
      }
    },
    {
      "@type": "Question",
      "name": "Kan jag anpassa denna import compliance SOP-prompt efter min specifika situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ja. Snabbaste sättet är att ange din lane (ursprungsland, destinationsland, eventuella transitpunkter), produktdetaljer, sändningsfrekvens/-värde och din valda Incoterms® 2020-term så att prompten kan tilldela dokumentägarskap korrekt. Om du är osäker på HS-koder eller ursprungsuppgifter, säg det uttryckligen och be prompten lägga in starkare valideringssteg och en “stoppa linan”-eskalering. En bra uppföljning är: “Skriv om SOP:n utifrån att vi byter från FOB till DDP; visa vilka dokument och tidsgrindar som ändras och vilka nya risker det innebär.”"
      }
    },
    {
      "@type": "Question",
      "name": "Vilka är de vanligaste misstagen när man använder denna import compliance SOP-prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Det största misstaget är att beskriva produkten för vagt — i stället för “elektronik”, skriv “Bluetooth-aktiverad konsumentljudenhet med litiumbatteri; säljs som en enhet med laddkabel.” Ett annat vanligt fel är att lämna Incoterms-termen underförstådd; “leverantören skickar till oss” är svagt, medan “FOB Ningbo, köparen arrangerar huvudtransport och försäkring” är användbart. Team glömmer också att lista alla parter (importer of record, mäklare, speditör, leverantör), vilket gör ansvar otydligt; namnge dem och ange vem som får signera vad. Slutligen hoppar många över sin faktiska smärtpunkt; “undvik förseningar” är generiskt, men “stoppade två gånger på grund av saknat COO och inkonsekventa fakturavärden” gör att SOP:n kan lägga in riktade verifieringssteg."
      }
    },
    {
      "@type": "Question",
      "name": "Vem ska INTE använda denna import compliance SOP-prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Den här prompten är inte idealisk för team som söker juridisk rådgivning, ett garanterat klareringsutfall eller instruktioner som går över compliance-gränser. Den kan också vara överdriven för en engångssändning med lågt värde där du inte kommer att införa en etappindelad process eller iterera med din mäklare. Om du saknar grundläggande sändningsinformation (ingen lane, inga produktdetaljer, inga parter), samla in det först och kör sedan prompten; då får du en betydligt skarpare SOP."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">
<!-- wp:paragraph -->
<p>Klareringsförseningar beror oftast på förebyggbar otydlighet: vem som äger vilket dokument, när det verifieras och vad som händer när HS-klassificeringen är osäker. Lägg in den här prompten i ditt arbetssätt, generera SOP:n och använd den för att köra din nästa sändning med färre överraskningar.</p>
<!-- /wp:paragraph -->
</div><p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/bygg-en-sop-for-importefterlevnad-med-denna-ai-prompt/">Bygg en SOP för importefterlevnad med denna AI-prompt</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Skriv leverantörsuppföljningar med fokus på köparen</title>
		<link>https://nodenordic.se/prompts/skriv-leverantorsuppfoljningar-med-fokus-pa-koparen/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=skriv-leverantorsuppfoljningar-med-fokus-pa-koparen</link>
		
		<dc:creator><![CDATA[Rickard Andersson]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 02:47:16 +0000</pubDate>
				<category><![CDATA[prompts]]></category>
		<guid isPermaLink="false">https://nodenordic.se/?p=5002885</guid>

					<description><![CDATA[<p>Leverantörer blir ignorerade – en beprövad AI-prompt som skriver SPIN- och Challenger-uppföljningar med tydliga nästa steg. Upptäck fler.</p>
<p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/skriv-leverantorsuppfoljningar-med-fokus-pa-koparen/">Skriv leverantörsuppföljningar med fokus på köparen</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></description>
										<content:encoded><![CDATA[<!-- FOCUS_KEYWORD: supplier follow-ups prompt -->

<div class="hook-introduction">

<p>Dina uppföljningar mot leverantör blir ignorerade av en anledning. De flesta meddelanden är skrivna för leverantörens tidslinje, inte för köparens beslutsprocess. De låter som ”ville bara kolla läget”, och stressade inköpsteam stänger av direkt.</p>



<p>Den här <strong>supplier follow-ups prompt</strong> är byggd för <strong>account executives</strong> som vill återöppna en stannad utvärdering utan att låta behövande, <strong>säljteam som jobbar mot inköp</strong> som måste synka flera intressenter hos kunden, och <strong>konsulter</strong> som stöttar B2B-partnerskap där ett otydligt nästa steg kan dra ut i veckor. Resultatet är ett köparförst uppföljningspaket: ett kärnmejl plus vinkelvarianter, ett eskaleringsalternativ vid uteblivet svar och en mobilkort version, allt förankrat i SPIN och en Challenger-inspirerad ”teach”-insikt.</p>

</div>

<div class="what-and-when-section">

<h2 class="wp-block-heading">Vad gör den här AI-prompten och när ska du använda den?</h2>



<table class="solution-results-table three-column" role="presentation" aria-label="What this prompt does, when to use it, and what you get">
 <thead>
    <tr>
      <th scope="col">Vad den här prompten gör</th>
      <th scope="col">När du ska använda den här prompten</th>
      <th scope="col">Det du får</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <ul class="automation-list">
          <li>Den återger affärskontexten och den sannolika stoppklossen i en kort föranalys så att uppföljningen inte känns slumpmässig.</li>
          <li>Den kartlägger affären (fas, brådska, relationsdjup och köparens kommunikationsstil) för att matcha ton och fråga.</li>
          <li>Den genererar SPIN-frågor som passar fasen, inklusive implication- och need-payoff-frågor som bjuder in till ett beslut.</li>
          <li>Den lägger till en Challenger-inspirerad ”teach/reframe”-insikt som sätter risk, kostnad för fördröjning eller missad uppsida i perspektiv utan att predika.</li>
          <li>Den bygger en kontrollerad stängning med en primär CTA som innehåller en tidsram, plus ett enkelt alternativ för att minska friktion.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>Du hade ett bra discovery-samtal, men köparen blev tyst efter att du skickade pris eller offert.</li>
          <li>Juridik, säkerhet eller ekonomi fördröjer godkännande, och din champion får inget tydligt internt svar.</li>
          <li>Köparen säger ”vi utvärderar fortfarande”, men du misstänker att ni jämförs med ett billigare eller befintligt alternativ.</li>
          <li>En intressent bad om ”en sak till” (case, scope-justering, reviderade villkor) och försvann sedan.</li>
          <li>Du behöver återengagera utan att pressa, eftersom kontot är viktigt och relationen är långsiktig.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>Ett köparförst mejlutkast för uppföljning som innehåller en kontextankare, teach-moment, SPIN-frågor och en enda CTA.</li>
           <li>Minst 3 varianter (alternativ vinkel, eskalering vid uteblivet svar och en mobilkort version) så att du snabbt kan anpassa.</li>
           <li>Ett set med fas-anpassade SPIN-frågor som du kan återanvända i samtal eller i framtida mejl.</li>
           <li>En tydlig begäran om nästa steg med en specifik tidsram och ett ”enkelt ut”-alternativ (till exempel en snabb hänvisning till rätt ansvarig).</li>
           <li>En kort föranalys som hjälper teamet att enas om vad som är pending och vad ni faktiskt ber köparen att göra.</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

<div class="prompt-display-section">

<h2 class="wp-block-heading">Hela AI-prompten: köparförst byggare för leverantörsuppföljningssekvens</h2>



<div class="prompt-viewer-wrapper" id="prompt-section">
    <div class="prompt-comparison-row prompt-premium">
        <!-- Header with buttons -->
        <div class="prompt-row-header">
            <!-- <span class="prompt-row-icon">✨</span> -->
            <span class="prompt-row-title">
                                    Steg 1: Anpassa prompten med din information
                            </span>
            <div class="prompt-header-buttons">
                                    <button class="prompt-header-btn prompt-header-reset" onclick="resetPrompt()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Återställ</span>
                    </button>
                                <button class="prompt-header-btn prompt-header-copy-green flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span>Anpassa och kopiera hela prompten</span>
                </button>
            </div>
        </div>

        <!-- Customize the Prompt Section -->
                    <div class="prompt-customize-section">
                <span class="customize-title">Anpassa prompten</span>
                <p class="customize-subtitle">Fyll i fälten nedan för att anpassa prompten efter dina behov.</p>
                <table class="customize-table">
                    <thead>
                        <tr>
                            <th>Variabel</th>
                            <th>Vad du ska ange</th>
                            <th>Anpassa prompten</th>
                        </tr>
                    </thead>
                    <tbody>
                                                    <tr>
                                <td class="var-name"><code>[SENASTE_KONTAKTDATUM]</code></td>
                                <td class="var-desc">
                                    Ange datumet för den senaste interaktionen med kunden. Använd ett tydligt format, till exempel ÅÅÅÅ-MM-DD.                                    <div class="var-example">Till exempel: "2023-10-01"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[SENASTE_KONTAKTDATUM]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[OPPNA_PUNKTER]</code></td>
                                <td class="var-desc">
                                    Lista eventuella utestående leveranser, obesvarade frågor eller olösta ärenden från tidigare kontakter.                                    <div class="var-example">Till exempel: "Inväntar bekräftelse på leveranstidplanen och förtydligande av betalningsvillkoren."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[OPPNA_PUNKTER]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[MALGRUPP]</code></td>
                                <td class="var-desc">
                                    Beskriv vilken typ av köpare det gäller, inklusive roll, bransch och viktiga egenskaper som är relevanta för affären.                                    <div class="var-example">Till exempel: "Inköpschefer inom tillverkningsindustrin med fokus på kostnadseffektivitet och leverantörers pålitlighet."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[MALGRUPP]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[BRANSCH]</code></td>
                                <td class="var-desc">
                                    Ange bransch eller nisch som är relevant för kunden eller affären.                                    <div class="var-example">Till exempel: "Tillverkning av fordonskomponenter."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[BRANSCH]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[PRODUKTBESKRIVNING]</code></td>
                                <td class="var-desc">
                                    Ge en kortfattad sammanfattning av den produkt eller tjänst som erbjuds.                                    <div class="var-example">Till exempel: "Ett molnbaserat lagerhanteringssystem utvecklat för medelstora tillverkare."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[PRODUKTBESKRIVNING]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[UPPFOLJNINGSTYP]</code></td>
                                <td class="var-desc">
                                    Ange vilken kategori uppföljningen gäller, till exempel prover, offert, försening, betalning eller annat.                                    <div class="var-example">Till exempel: "Uppföljning av offert."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[UPPFOLJNINGSTYP]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[SENASTE_KONTAKT_DETALJER]</code></td>
                                <td class="var-desc">
                                    Sammanfatta vad som hände vid den senaste kontakten med kunden, inklusive eventuella överenskommelser eller öppna punkter.                                    <div class="var-example">Till exempel: "Gick igenom prisalternativ och skickade en reviderad offert för granskning."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[SENASTE_KONTAKT_DETALJER]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[UTMANING]</code></td>
                                <td class="var-desc">
                                    Beskriv den huvudsakliga utmaning eller det hinder kunden står inför som er lösning adresserar.                                    <div class="var-example">Till exempel: "Svårigheter att följa lagersaldo över flera lager, vilket leder till både bristsituationer och överlager."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[UTMANING]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[AFFARSFAS]</code></td>
                                <td class="var-desc">
                                    Ange nuvarande fas i affären, till exempel första kontakt, förhandling eller avslut.                                    <div class="var-example">Till exempel: "Förhandlingsfas."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[AFFARSFAS]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[ANGELAGENHETSGRAD]</code></td>
                                <td class="var-desc">
                                    Ange hur brådskande eller tidskritisk affären är ur kundens perspektiv.                                    <div class="var-example">Till exempel: "Hög brådska på grund av kommande räkenskapsårsslut."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[ANGELAGENHETSGRAD]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[RELATIONSDJUP]</code></td>
                                <td class="var-desc">
                                    Beskriv nivån av kännedom och förtroende mellan er och kunden.                                    <div class="var-example">Till exempel: "Medel—vi samarbetade tidigare i ett mindre projekt förra kvartalet."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[RELATIONSDJUP]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[KUNDENS_KOMMUNIKATIONSSTIL]</code></td>
                                <td class="var-desc">
                                    Beskriv kundens föredragna kommunikationssätt, till exempel formellt, rakt på sak eller samarbetsinriktat.                                    <div class="var-example">Till exempel: "Föredrar korta, datadrivna uppdateringar via e-post."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[KUNDENS_KOMMUNIKATIONSSTIL]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TIDSRAM]</code></td>
                                <td class="var-desc">
                                    Ange önskad tidsram för nästa steg eller för att få en lösning på plats.                                    <div class="var-example">Till exempel: "Inom de kommande två arbetsdagarna."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[TIDSRAM]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[INTRESSENTER]</code></td>
                                <td class="var-desc">
                                    Lista eventuella ytterligare beslutsfattare eller påverkare som är involverade i affären.                                    <div class="var-example">Till exempel: "Driftchef, CFO och teamledare för inköp."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[INTRESSENTER]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[PLATTFORM]</code></td>
                                <td class="var-desc">
                                    Ange vilken kommunikationsplattform eller kanal som används för uppföljningen.                                    <div class="var-example">Till exempel: "E-post, med LinkedIn-meddelande som sekundär kanal."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[PLATTFORM]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[VARUMARKESTON]</code></td>
                                <td class="var-desc">
                                    Beskriv den ton och stil i kommunikationen som ligger i linje med ert varumärke.                                    <div class="var-example">Till exempel: "Professionell, partnerskapsorienterad och resultatinriktad."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[VARUMARKESTON]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[PRIMART_MAL]</code></td>
                                <td class="var-desc">
                                    Ange huvudsyftet med uppföljningsmeddelandet.                                    <div class="var-example">Till exempel: "Boka ett möte för att slutföra avtalsvillkoren."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[PRIMART_MAL]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[KONTEXT]</code></td>
                                <td class="var-desc">
                                    Ge bakgrundsinformation som är relevant för uppföljningen, inklusive tidigare diskussioner eller kundens prioriteringar.                                    <div class="var-example">Till exempel: "Kunden uttryckte intresse för att minska driftskostnaderna under det senaste samtalet."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[KONTEXT]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[VERSALER_MED_UNDERSCORE]</code></td>
                                <td class="var-desc">
                                    Ange ett variabelnamn formaterat med versaler och separerat med understreck.                                    <div class="var-example">Till exempel: "UPPFOLJNING_KATEGORI"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[VERSALER_MED_UNDERSCORE]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                            </tbody>
                </table>

                <button class="copy-customized-btn flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span class="copy-customized-text">Anpassa prompten nu</span>

                </button>
            </div>
        
        <!-- Full Prompt Code Header -->
                    <div class="prompt-code-header">
                <span class="prompt-code-title">
                    Steg 2: Kopiera prompten
                </span>
                <div class="prompt-code-buttons">
                    <!-- Reset: Only visible when unlocked -->
                    <button class="prompt-header-btn prompt-header-reset btn-when-unlocked" onclick="resetPrompt()" style="display: none;">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Återställ</span>
                    </button>
                    <!-- Copy Full Prompt -->
                    <button class="prompt-header-btn prompt-header-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                            <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                        </svg>
                        <span>Kopiera hela prompten</span>
                    </button>
                </div>
            </div>
        

        <!-- Prompt Content -->
        <div class="prompt-box prompt-gated-wrapper">
            <!-- Gated: Blurred content -->
            <div class="prompt-gated-content">
                <div class="prompt-header-visible">MÅL</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PERSONA</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">BEGRÄNSNINGAR</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PROCESS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Vad det här INTE är</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">INDATA</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">OUTPUTSPECIFIKATION</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">1) Scenariobeskrivning</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">2) Uppföljningsfasplan (5–9 steg)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">3) Meddelandepaket (anpassat till [UPPFOLJNINGSTYP])</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">4) Timing- &amp; kanalrekommendationer</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">5) Svarshanteringssnuttar</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">KVALITETSKONTROLLER</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div>            </div>
            <!-- Unlocked: Full content (hidden by default) -->
            <div class="prompt-content-full" id="premium-prompt-content" style="display: none;">
                ## MÅL  
Skapa högpresterande uppföljningskommunikation till leverantörer som för en B2B-affär framåt. Meddelanden måste vara köparcentrerade, använda SPIN-frågor (Situation/Problem/Implication/Need-payoff), inkludera en Challenger-inspirerad ”teach/reframe”-insikt och avslutas med ett tydligt nästa steg som behåller artig kontroll.

## PERSONA  
Du är en **Buyer-first sales messaging strategist** med 15 års erfarenhet som inköpsledare på ett Fortune 500-bolag som utvärderade (och ofta ignorerade) leverantörers uppföljningar. Du översätter nu vad som faktiskt förtjänar ett svar till kortfattad, respektfull och kommersiellt vass outreach. Din skrivstil är lugn, konkret och executive—fokuserad på resultat, beslut och att ta bort friktion.

## BEGRÄNSNINGAR  
- Skriv för köparens prioriteringar (tid, risk, intern samsyn), inte säljarens behov.  
- Undvik vaga puffar (t.ex. ”kollar läget”, ”puttar på den här”, ”följer upp”).  
- Varje outreach måste innehålla **(a)** en kontextförankring, **(b)** en ny insikt, **(c)** SPIN-frågor som passar fasen, **(d)** en enda primär CTA med tidsram, plus ett enkelt alternativ.  
- Håll tonen professionell och partnerskapsorienterad; ingen skuld, inga påtryckningstaktiker.  
- Om information saknas: be bara om minsta möjliga som behövs och ge ett ”best-guess”-utkast märkt som sådant.

## PROCESS  
1. **Föranalys (obligatorisk):** Återge kort din förståelse av scenariot: senaste kontaktpunkt, vad som är öppet, sannolik blockerare och mest logiska nästa steg.  
2. **Affärskartläggning:** Identifiera affärsfas, angelägenhet, relationsdjup och köparens kommunikationsstil.  
3. **Fasplanering:** Välj **5–9 steg** av uppföljning (dynamiskt) baserat på uppföljningstyp, komplexitet och hur brådskande svar är.  
4. **Köparlins:** Skriv ett Challenger ”teach moment” som omramar köparens situation (risk, kostnad av att vänta, missad uppsida eller processbrist).  
5. **Meddelandebygg:** Ta fram kärnmejlet plus varianter (alternativ vinkel, eskalering vid uteblivet svar och mobilkort version).  
6. **Sekvens &amp; timing:** Ge en praktisk kadens och kanal-mix (email/threading, samtal, LinkedIn) anpassad till scenariot.  
7. **Hantera svar:** Ge mikro-skript för vanliga svar (invändning, fördröjning, intresse, ”inte jag”).  
8. **Edge cases:** Om [SENASTE_KONTAKTDATUM] är okänt eller [OPPNA_PUNKTER] är otydliga, generera två versioner: en som utgår från ”nyligen kontakt” och en som utgår från ”gammal tråd”.

### Vad det här INTE är  
- Inte en komplett sales playbook, offert eller prisstrategi.  
- Inte juridisk rådgivning, inkasso- eller kontraktråd (särskilt vid betalningstvister).  
- Inte manipulativ copywriting, skrämselretorik eller skapande av falsk brådska.

## INDATA  
- **Primärt användarsegment (köpartyp):** [MALGRUPP]  
- **Bransch/nisch:** [BRANSCH]  
- **Erbjudandesammanfattning:** [PRODUKTBESKRIVNING]  
- **Uppföljningskategori (prov/offert/fördröjning/betalning/annat):** [UPPFOLJNINGSTYP]  
- **Senaste kontaktpunkt (vad hände):** [SENASTE_KONTAKT_DETALJER]  
- **Datum/tid sedan senaste kontakt:** [SENASTE_KONTAKTDATUM]  
- **Överenskomna nästa steg / öppna punkter:** [OPPNA_PUNKTER]  
- **Nuvarande blockerare (om någon):** [UTMANING]  
- **Affärsfas (t.ex. utvärdering, förhandling, inköp, förnyelse):** [AFFARSFAS]  
- **Angelägenhetsgrad + varför:** [ANGELAGENHETSGRAD]  
- **Relationsdjup (ny/utvecklas/etablerad):** [RELATIONSDJUP]  
- **Köparens kommunikationsstil (kortfattad/detaljorienterad/formell/etc.):** [KUNDENS_KOMMUNIKATIONSSTIL]  
- **Besluts-tidslinje:** [TIDSRAM]  
- **Intressenter involverade:** [INTRESSENTER]  
- **Föredragen kanal(er):** [PLATTFORM]  
- **Varumärkeston:** [VARUMARKESTON]  
- **Primärt utfall du vill ha:** [PRIMART_MAL]  
- **Eventuella begränsningar (budget, compliance, leverantörsonboarding):** [KONTEXT]

## OUTPUTSPECIFIKATION  
Leverera följande, med hjälp av placeholders som visas:

### 1) Scenariobeskrivning  
- {Last Touchpoint Summary}  
- {What’s Open}  
- {Likely Buyer Concern}  
- {Recommended Next Step}

### 2) Uppföljningsfasplan (5–9 steg)  
För varje steg, ange:  
- {Phase Name}  
- {Trigger/When to Send}  
- {Goal}  
- {Value Add}  
- {CTA}

### 3) Meddelandepaket (anpassat till [UPPFOLJNINGSTYP])  
Ge varje meddelande med: {Subject Line} och {Email Body}

- **Primärt meddelande (bästa vägen till ett svar)**  
- **Alternativ vinkel (annan inramning/värde)**  
- **Eskalering vid uteblivet svar (fortfarande respektfull, något fastare)**  
- **Mobilkort version (&lt;= 75 ord)**

Varje mejl måste innehålla:  
- {Context Anchor}  
- {Challenger Teach Moment}  
- {SPIN Questions} (tydligt märkta S/P/I/N)  
- {Clear Ask + Timeframe}  
- {Fallback Option} (t.ex. ”Om det inte är du, vem bör jag prata med?”)

### 4) Timing- &amp; kanalrekommendationer  
- {Recommended Cadence} (dagar mellan kontakter)  
- {Best Send Windows} (köparens lokala tid)  
- {Channel Mix Suggestion}

### 5) Svarshanteringssnuttar  
Ge korta svar för:  
- {Objection Reply}  
- {Delay Reply}  
- {Interest Reply}  
- {Wrong Contact Reply}

## KVALITETSKONTROLLER  
Innan du slutför, verifiera:  
- Meddelandena innehåller **noll** vag ”kollar läget”-formulering och ingen skuldbeläggande inramning.  
- Varje mejl innehåller en konkret insikt + minst en SPIN-fråga som matchas mot {Deal Stage}.  
- CTA:n är specifik, tidsatt och lätt att tacka ja till (med ett enkelt alternativ).  
- Tonen matchar [VARUMARKESTON] och [KUNDENS_KOMMUNIKATIONSSTIL] (executive-vänlig, låg friktion).  
- Output använder **[VERSALER_MED_UNDERSCORE]** endast för indata och **{Title Case}** endast för deliverable placeholders.            </div>
        </div>


    </div>

    <!-- CTA Row - Full width buttons -->
    <div class="prompt-cta-row">
        <button class="prompt-cta-btn prompt-cta-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
            </svg>
            <span class="cta-copy-text">Kopiera hela prompten</span>
        </button>
    </div>
</div>

<style>
    /* Gated prompt states */
    .prompt-gated-wrapper {
        position: relative;
    }

    /* When unlocked - show full content, hide gated */
    body.flowpast-unlocked .prompt-gated-wrapper .prompt-gated-content {
        display: none;
    }

    body.flowpast-unlocked .prompt-gated-wrapper .prompt-content-full {
        display: block !important;
    }

    /* Show/hide elements based on unlock state */
    body.flowpast-unlocked .btn-when-unlocked {
        display: inline-flex !important;
    }

    .prompt-viewer-wrapper {
        scroll-margin-top: 250px;
    }

    /* ========================================
   PROMPT VIEWER - MAIN WRAPPER
   ======================================== */
    .prompt-viewer-wrapper {
        margin: 30px 0;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    /* ========================================
   PROMPT BOX CONTAINER
   ======================================== */
    .prompt-comparison-row {
        border-radius: 12px;
        overflow: hidden;
        border: 1px solid #e0e0e0;
        background: #fff;
    }

    /* ========================================
   HEADER WITH BUTTONS
   ======================================== */
    .prompt-row-header {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 14px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
        flex-wrap: wrap;
    }

    .prompt-row-icon {
        font-size: 20px;
    }

    .prompt-row-title {
        font-weight: 600;
        font-size: 22px;
        color: #fff !important;
        text-decoration: underline
    }

    .prompt-header-buttons {
        margin-left: auto;
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
    }

    /* Header buttons */
    .prompt-header-btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 10px 20px;
        border-radius: 6px;
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-header-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-header-copy:hover {
        background: #2a2a2a;
    }

    .prompt-header-copy.copied {
        background: #2e7d32;
    }

    .prompt-header-copy-green {
        background: #04AA6D !important;
        color: #fff !important;
    }

    .prompt-header-copy-green span {
        color: #fff !important;
    }

    .prompt-header-copy-green:hover {
        background: #039860 !important;
    }

    .prompt-header-copy-green.copied {
        background: #2e7d32 !important;
    }

    .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-header-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-1px);
    }

    /* ========================================
   PROMPT CONTENT - FULL (NO SCROLL)
   ======================================== */
    .prompt-box {
        background: #ffffff;
    }

    .prompt-content-full {
        padding: 24px;
        margin: 0;
        color: #202124;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.7;
        white-space: pre-wrap;
        word-wrap: break-word;
        /* No scroll - show full content */
        max-height: none;
        overflow: visible;
    }

    /* Highlighted variable in prompt */
    .prompt-variable {
        background: #fff3cd;
        color: #1967d2;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #ffc107;
    }

    .prompt-variable-filled {
        background: #d4edda;
        color: #155724;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #28a745;
    }

    /* ========================================
   GATED CONTENT (NO ACCESS)
   ======================================== */
    .prompt-gated-content {
        padding: 24px;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.8;
        max-height: none;
        overflow: visible;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        cursor: default;
    }

    /* ## headers - larger, black */
    .prompt-header-visible {
        color: #202124;
        font-weight: 600;
        margin: 5px 0 0px 0;
        font-size: 20px;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        text-decoration: underline;
        text-underline-offset: 4px;
    }

    /* ### headers - smaller, black */
    .prompt-header-visible.subheader {
        color: #202124;
        font-weight: 600;
        margin: 5px 0;
        font-size: 18px;
    }

    .prompt-header-visible:first-child {
        margin-top: 0;
    }

    /* ========================================
   LOCKED SECTION BLOCK
   ======================================== */
    .locked-section {
        position: relative;
        margin: 4px 0 8px 0;
        border-radius: 6px;
        overflow: hidden;
        background: linear-gradient(110deg, #e2e8f0 8%, #f1f5f9 18%, #e2e8f0 33%);
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
    }

    .locked-section-bg {
        position: relative;
    }

    .locked-section-lines {
        padding: 8px 12px;
        position: relative;
    }

    .locked-line {
        height: 6px;
        background: rgba(255, 255, 255, 0.6);
        border-radius: 3px;
        margin-bottom: 4px;
        margin-left: 12px;
    }

    .locked-line:last-child {
        margin-bottom: 0;
    }

    .locked-section-icon {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 10;
        font-size: 24px;
        filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.1));
    }

    /* Subheader locked sections - slightly indented */
    /*  .prompt-header-visible.subheader+.locked-section {
        margin-left: 16px;
    } */

    /* ========================================
   COMPATIBILITY BADGES
   ======================================== */
    .prompt-compatibility {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        padding: 12px 20px;
        background: #f8f9fa;
        border-top: 1px solid #e0e0e0;
    }

    .compat-label {
        font-size: 13px;
        color: #5f6368;
        font-weight: 500;
    }

    .compat-badge {
        padding: 4px 10px;
        background: #e8f0fe;
        color: #1967d2;
        border-radius: 4px;
        font-size: 12px;
        font-weight: 500;
    }

    /* ========================================
   CTA ROW - FULL WIDTH BUTTONS
   ======================================== */
    .prompt-cta-row {
        display: flex;
        gap: 16px;
        flex-wrap: wrap;
    }

    .prompt-cta-btn {
        flex: 1;
        min-width: 200px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 16px 24px;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-cta-copy {
        background: #3a3a3a;
        color: #fff !important;
    }


    .prompt-cta-copy span {
        background: #3a3a3a;
        color: #fff !important;
    }


    .prompt-cta-copy:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }


    .prompt-cta-copy.copied {
        background: #2e7d32;
    }

    .prompt-cta-reset {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-reset:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-cta-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    /* ========================================
    CUSTOMIZE YOUR PROMPT SECTION
    ======================================== */
    .prompt-customize-section {
        padding: 24px;
        border-bottom: 1px solid #e0e0e0;
        background: #fafbfc;
    }

    .customize-title {
        margin: 0 0 8px 0;
        font-size: 18px;
        font-weight: 700;
        color: #202124;
    }

    .customize-subtitle {
        margin: 0 0 20px 0;
        font-size: 14px;
        color: #5f6368;
    }

    .customize-table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 20px;
    }

    .customize-table th {
        text-align: left;
        padding: 12px;
        background: #f1f3f4;
        border: 1px solid #e0e0e0;
        font-size: 13px;
        font-weight: 600;
        color: #202124;
    }

    .customize-table td {
        padding: 12px;
        border: 1px solid #e0e0e0;
        vertical-align: top;
    }

    .customize-table .var-name {
        width: 25%;
        background: #f8f9fa;
    }

    .customize-table .var-name code {
        background: #fff3cd;
        color: #1967d2;
        border: 1px solid #ffc107;
        padding: 4px 8px;
        border-radius: 4px;
        font-size: 12px;
        word-break: break-all;
        font-weight: 600;
    }

    .customize-table .var-desc {
        width: 35%;
        font-size: 13px;
        color: #5f6368;
        line-height: 1.5;
    }

    .customize-table .var-example {
        margin-top: 8px;
        padding: 8px 10px;
        background: #f8f9fa;
        border-left: 3px solid #dadce0;
        font-size: 12px;
        color: #5f6368;
        font-style: italic;
        border-radius: 0 4px 4px 0;
    }

    .customize-table .var-input {
        width: 40%;
    }

    .customize-input {
        width: 100%;
        padding: 10px 12px;
        border: 1px solid #dadce0;
        border-radius: 6px;
        font-size: 13px;
        font-family: inherit;
        resize: vertical;
        transition: border-color 0.2s, box-shadow 0.2s;
    }

    .customize-input:focus {
        outline: none;
        border-color: rgb(5, 152, 98);
        box-shadow: 0 0 0 3px rgba(5, 152, 98, 0.1);
    }

    .customize-input::placeholder {
        color: #9aa0a6;
        font-style: italic;
    }

    .copy-customized-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        width: 100%;
        padding: 16px 24px;
        background: rgb(5, 152, 98);
        color: #fff !important;
        border: none;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
    }

    .copy-customized-btn span {
        color: #fff !important
    }

    .copy-customized-text span {
        color: #fff !important
    }

    .copy-customized-btn:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    .copy-customized-btn.copied {
        background: #2e7d32;
    }

    /* ========================================
    FULL PROMPT CODE HEADER
    ======================================== */
    .prompt-code-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
    }

    .prompt-code-title {
        font-size: 22px;
        font-weight: 600;
        text-decoration: underline;
        color: #fff !important;

    }

    .prompt-code-buttons {
        display: flex;
        gap: 8px;
    }

    .prompt-code-buttons .prompt-header-btn {
        padding: 8px 14px;
        font-size: 13px;
        background: #ffffff;
        color: #202124;
        border: 1px solid #dadce0;
    }

    .prompt-code-buttons .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
        border-color: rgb(5, 152, 98);
    }

    .prompt-code-buttons .prompt-header-btn.prompt-header-access:hover {
        background: rgb(4, 130, 83) !important;
        border-color: rgb(4, 130, 83);
        color: #fff !important;
    }

    .prompt-code-buttons .prompt-header-btn:hover {
        background: #f1f3f4;
    }

    .prompt-code-buttons .prompt-header-copy.copied {
        background: #d4edda;
        color: #155724;
        border-color: #28a745;
    }

    .prompt-header-reset {
        background: #ffffff;
        color: #202124;
    }

    /* ========================================
   RESPONSIVE
   ======================================== */
    @media (max-width: 768px) {
        .prompt-row-header {
            flex-direction: column;
            align-items: flex-start;
            gap: 12px;
        }

        .prompt-header-buttons {
            margin-left: 0;
            width: 100%;
        }

        .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }

        .prompt-cta-row {
            flex-direction: column;
        }

        .prompt-cta-btn {
            width: 100%;
        }

        /* Customize table responsive */
        .customize-table,
        .customize-table thead,
        .customize-table tbody,
        .customize-table tr,
        .customize-table th,
        .customize-table td {
            display: block;
        }

        .customize-table thead {
            display: none;
        }

        .customize-table tr {
            margin-bottom: 16px;
            border: 1px solid #e0e0e0;
            border-radius: 8px;
            overflow: hidden;
        }

        .customize-table td {
            width: 100% !important;
            border: none;
            border-bottom: 1px solid #e0e0e0;
        }

        .customize-table td:last-child {
            border-bottom: none;
        }

        .customize-table .var-name {
            background: #f1f3f4;
            font-weight: 600;
        }

        .prompt-code-header {
            flex-direction: column;
            gap: 12px;
            align-items: flex-start;
        }

        .prompt-code-buttons {
            width: 100%;
        }

        .prompt-code-buttons .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }
    }
</style>

<script>
    function handlePromptCopy() {
        // Check if unlocked via cookie
        if (typeof window.flowpastIsUnlocked === 'function' && !window.flowpastIsUnlocked()) {
            // Show email popup
            if (typeof window.flowpastShowEmailPopup === 'function') {
                window.flowpastShowEmailPopup('prompt');
            }
            return;
        }

        // Copy the customized prompt (with filled variables)
        const customizedPrompt = getCustomizedPrompt();
        const copyButtons = document.querySelectorAll('.prompt-header-copy, .prompt-header-copy-green, .prompt-cta-copy, .copy-customized-btn');

        navigator.clipboard.writeText(customizedPrompt).then(() => {
            copyButtons.forEach(btn => {
                btn.classList.add('copied');
                const textSpan = btn.querySelector('span');
                if (textSpan) textSpan.textContent = 'Kopierad!';
            });

            setTimeout(() => {
                copyButtons.forEach(btn => {
                    btn.classList.remove('copied');
                    const textSpan = btn.querySelector('span');
                    if (textSpan) textSpan.textContent = 'Kopiera hela prompten';
                });
            }, 2000);
        }).catch(err => {
            console.error('Failed to copy:', err);
        });
    }

    // Store original prompt for customization
    const originalPrompt = "## M\u00c5L  \r\nSkapa h\u00f6gpresterande uppf\u00f6ljningskommunikation till leverant\u00f6rer som f\u00f6r en B2B-aff\u00e4r fram\u00e5t. Meddelanden m\u00e5ste vara k\u00f6parcentrerade, anv\u00e4nda SPIN-fr\u00e5gor (Situation\/Problem\/Implication\/Need-payoff), inkludera en Challenger-inspirerad \u201dteach\/reframe\u201d-insikt och avslutas med ett tydligt n\u00e4sta steg som beh\u00e5ller artig kontroll.\r\n\r\n## PERSONA  \r\nDu \u00e4r en **Buyer-first sales messaging strategist** med 15 \u00e5rs erfarenhet som ink\u00f6psledare p\u00e5 ett Fortune 500-bolag som utv\u00e4rderade (och ofta ignorerade) leverant\u00f6rers uppf\u00f6ljningar. Du \u00f6vers\u00e4tter nu vad som faktiskt f\u00f6rtj\u00e4nar ett svar till kortfattad, respektfull och kommersiellt vass outreach. Din skrivstil \u00e4r lugn, konkret och executive\u2014fokuserad p\u00e5 resultat, beslut och att ta bort friktion.\r\n\r\n## BEGR\u00c4NSNINGAR  \r\n- Skriv f\u00f6r k\u00f6parens prioriteringar (tid, risk, intern samsyn), inte s\u00e4ljarens behov.  \r\n- Undvik vaga puffar (t.ex. \u201dkollar l\u00e4get\u201d, \u201dputtar p\u00e5 den h\u00e4r\u201d, \u201df\u00f6ljer upp\u201d).  \r\n- Varje outreach m\u00e5ste inneh\u00e5lla **(a)** en kontextf\u00f6rankring, **(b)** en ny insikt, **(c)** SPIN-fr\u00e5gor som passar fasen, **(d)** en enda prim\u00e4r CTA med tidsram, plus ett enkelt alternativ.  \r\n- H\u00e5ll tonen professionell och partnerskapsorienterad; ingen skuld, inga p\u00e5tryckningstaktiker.  \r\n- Om information saknas: be bara om minsta m\u00f6jliga som beh\u00f6vs och ge ett \u201dbest-guess\u201d-utkast m\u00e4rkt som s\u00e5dant.\r\n\r\n## PROCESS  \r\n1. **F\u00f6ranalys (obligatorisk):** \u00c5terge kort din f\u00f6rst\u00e5else av scenariot: senaste kontaktpunkt, vad som \u00e4r \u00f6ppet, sannolik blockerare och mest logiska n\u00e4sta steg.  \r\n2. **Aff\u00e4rskartl\u00e4ggning:** Identifiera aff\u00e4rsfas, angel\u00e4genhet, relationsdjup och k\u00f6parens kommunikationsstil.  \r\n3. **Fasplanering:** V\u00e4lj **5\u20139 steg** av uppf\u00f6ljning (dynamiskt) baserat p\u00e5 uppf\u00f6ljningstyp, komplexitet och hur br\u00e5dskande svar \u00e4r.  \r\n4. **K\u00f6parlins:** Skriv ett Challenger \u201dteach moment\u201d som omramar k\u00f6parens situation (risk, kostnad av att v\u00e4nta, missad uppsida eller processbrist).  \r\n5. **Meddelandebygg:** Ta fram k\u00e4rnmejlet plus varianter (alternativ vinkel, eskalering vid uteblivet svar och mobilkort version).  \r\n6. **Sekvens & timing:** Ge en praktisk kadens och kanal-mix (email\/threading, samtal, LinkedIn) anpassad till scenariot.  \r\n7. **Hantera svar:** Ge mikro-skript f\u00f6r vanliga svar (inv\u00e4ndning, f\u00f6rdr\u00f6jning, intresse, \u201dinte jag\u201d).  \r\n8. **Edge cases:** Om [SENASTE_KONTAKTDATUM] \u00e4r ok\u00e4nt eller [OPPNA_PUNKTER] \u00e4r otydliga, generera tv\u00e5 versioner: en som utg\u00e5r fr\u00e5n \u201dnyligen kontakt\u201d och en som utg\u00e5r fr\u00e5n \u201dgammal tr\u00e5d\u201d.\r\n\r\n### Vad det h\u00e4r INTE \u00e4r  \r\n- Inte en komplett sales playbook, offert eller prisstrategi.  \r\n- Inte juridisk r\u00e5dgivning, inkasso- eller kontraktr\u00e5d (s\u00e4rskilt vid betalningstvister).  \r\n- Inte manipulativ copywriting, skr\u00e4mselretorik eller skapande av falsk br\u00e5dska.\r\n\r\n## INDATA  \r\n- **Prim\u00e4rt anv\u00e4ndarsegment (k\u00f6partyp):** [MALGRUPP]  \r\n- **Bransch\/nisch:** [BRANSCH]  \r\n- **Erbjudandesammanfattning:** [PRODUKTBESKRIVNING]  \r\n- **Uppf\u00f6ljningskategori (prov\/offert\/f\u00f6rdr\u00f6jning\/betalning\/annat):** [UPPFOLJNINGSTYP]  \r\n- **Senaste kontaktpunkt (vad h\u00e4nde):** [SENASTE_KONTAKT_DETALJER]  \r\n- **Datum\/tid sedan senaste kontakt:** [SENASTE_KONTAKTDATUM]  \r\n- **\u00d6verenskomna n\u00e4sta steg \/ \u00f6ppna punkter:** [OPPNA_PUNKTER]  \r\n- **Nuvarande blockerare (om n\u00e5gon):** [UTMANING]  \r\n- **Aff\u00e4rsfas (t.ex. utv\u00e4rdering, f\u00f6rhandling, ink\u00f6p, f\u00f6rnyelse):** [AFFARSFAS]  \r\n- **Angel\u00e4genhetsgrad + varf\u00f6r:** [ANGELAGENHETSGRAD]  \r\n- **Relationsdjup (ny\/utvecklas\/etablerad):** [RELATIONSDJUP]  \r\n- **K\u00f6parens kommunikationsstil (kortfattad\/detaljorienterad\/formell\/etc.):** [KUNDENS_KOMMUNIKATIONSSTIL]  \r\n- **Besluts-tidslinje:** [TIDSRAM]  \r\n- **Intressenter involverade:** [INTRESSENTER]  \r\n- **F\u00f6redragen kanal(er):** [PLATTFORM]  \r\n- **Varum\u00e4rkeston:** [VARUMARKESTON]  \r\n- **Prim\u00e4rt utfall du vill ha:** [PRIMART_MAL]  \r\n- **Eventuella begr\u00e4nsningar (budget, compliance, leverant\u00f6rsonboarding):** [KONTEXT]\r\n\r\n## OUTPUTSPECIFIKATION  \r\nLeverera f\u00f6ljande, med hj\u00e4lp av placeholders som visas:\r\n\r\n### 1) Scenariobeskrivning  \r\n- {Last Touchpoint Summary}  \r\n- {What\u2019s Open}  \r\n- {Likely Buyer Concern}  \r\n- {Recommended Next Step}\r\n\r\n### 2) Uppf\u00f6ljningsfasplan (5\u20139 steg)  \r\nF\u00f6r varje steg, ange:  \r\n- {Phase Name}  \r\n- {Trigger\/When to Send}  \r\n- {Goal}  \r\n- {Value Add}  \r\n- {CTA}\r\n\r\n### 3) Meddelandepaket (anpassat till [UPPFOLJNINGSTYP])  \r\nGe varje meddelande med: {Subject Line} och {Email Body}\r\n\r\n- **Prim\u00e4rt meddelande (b\u00e4sta v\u00e4gen till ett svar)**  \r\n- **Alternativ vinkel (annan inramning\/v\u00e4rde)**  \r\n- **Eskalering vid uteblivet svar (fortfarande respektfull, n\u00e5got fastare)**  \r\n- **Mobilkort version (<= 75 ord)**\r\n\r\nVarje mejl m\u00e5ste inneh\u00e5lla:  \r\n- {Context Anchor}  \r\n- {Challenger Teach Moment}  \r\n- {SPIN Questions} (tydligt m\u00e4rkta S\/P\/I\/N)  \r\n- {Clear Ask + Timeframe}  \r\n- {Fallback Option} (t.ex. \u201dOm det inte \u00e4r du, vem b\u00f6r jag prata med?\u201d)\r\n\r\n### 4) Timing- & kanalrekommendationer  \r\n- {Recommended Cadence} (dagar mellan kontakter)  \r\n- {Best Send Windows} (k\u00f6parens lokala tid)  \r\n- {Channel Mix Suggestion}\r\n\r\n### 5) Svarshanteringssnuttar  \r\nGe korta svar f\u00f6r:  \r\n- {Objection Reply}  \r\n- {Delay Reply}  \r\n- {Interest Reply}  \r\n- {Wrong Contact Reply}\r\n\r\n## KVALITETSKONTROLLER  \r\nInnan du slutf\u00f6r, verifiera:  \r\n- Meddelandena inneh\u00e5ller **noll** vag \u201dkollar l\u00e4get\u201d-formulering och ingen skuldbel\u00e4ggande inramning.  \r\n- Varje mejl inneh\u00e5ller en konkret insikt + minst en SPIN-fr\u00e5ga som matchas mot {Deal Stage}.  \r\n- CTA:n \u00e4r specifik, tidsatt och l\u00e4tt att tacka ja till (med ett enkelt alternativ).  \r\n- Tonen matchar [VARUMARKESTON] och [KUNDENS_KOMMUNIKATIONSSTIL] (executive-v\u00e4nlig, l\u00e5g friktion).  \r\n- Output anv\u00e4nder **[VERSALER_MED_UNDERSCORE]** endast f\u00f6r indata och **{Title Case}** endast f\u00f6r deliverable placeholders.";
    const variables = ["[SENASTE_KONTAKTDATUM]","[OPPNA_PUNKTER]","[MALGRUPP]","[BRANSCH]","[PRODUKTBESKRIVNING]","[UPPFOLJNINGSTYP]","[SENASTE_KONTAKT_DETALJER]","[UTMANING]","[AFFARSFAS]","[ANGELAGENHETSGRAD]","[RELATIONSDJUP]","[KUNDENS_KOMMUNIKATIONSSTIL]","[TIDSRAM]","[INTRESSENTER]","[PLATTFORM]","[VARUMARKESTON]","[PRIMART_MAL]","[KONTEXT]","[VERSALER_MED_UNDERSCORE]"];
    // Initial render with highlighted variables
    document.addEventListener('DOMContentLoaded', function() {
        renderPromptWithHighlights();
    });

    // Live update prompt as user types
    document.querySelectorAll('.customize-input').forEach(input => {
        input.addEventListener('input', renderPromptWithHighlights);
    });

    function renderPromptWithHighlights() {
        const promptContent = document.getElementById('premium-prompt-content');
        if (!promptContent) return;

        let updatedPrompt = originalPrompt;
        let filledVariables = {};

        // Collect filled values
        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                filledVariables[placeholder] = value;
            }
        });

        // Replace filled variables and highlight remaining
        let htmlContent = escapeHtml(updatedPrompt);

        variables.forEach(placeholder => {
            const escapedPlaceholder = escapeHtml(placeholder);
            const regex = new RegExp(escapeRegex(escapedPlaceholder), 'g');

            if (filledVariables[placeholder]) {
                // Show filled value with green highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable-filled">' + escapeHtml(filledVariables[placeholder]) + '</span>'
                );
            } else {
                // Show original placeholder with yellow highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable">' + escapedPlaceholder + '</span>'
                );
            }
        });

        promptContent.innerHTML = htmlContent;
    }

    function escapeRegex(string) {
        return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
    }

    function escapeHtml(text) {
        const div = document.createElement('div');
        div.textContent = text;
        return div.innerHTML;
    }

    function resetPrompt() {
        // Clear all input fields
        document.querySelectorAll('.customize-input').forEach(input => {
            input.value = '';
        });

        // Re-render with original placeholders highlighted
        renderPromptWithHighlights();

        // Visual feedback
        const resetBtns = document.querySelectorAll('.prompt-header-reset, .prompt-cta-reset');
        resetBtns.forEach(btn => {
            const originalText = btn.querySelector('span').textContent;
            btn.querySelector('span').textContent = 'Återställd!';
            setTimeout(() => {
                btn.querySelector('span').textContent = originalText;
            }, 1000);
        });
    }


    function getCustomizedPrompt() {
        let updatedPrompt = originalPrompt;

        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                const regex = new RegExp(escapeRegex(placeholder), 'g');
                updatedPrompt = updatedPrompt.replace(regex, value);
            }
        });

        return updatedPrompt;
    }
</script>

</div>

<div class="pro-tips-section">

<h2 class="wp-block-heading">Proffstips för bättre resultat med AI-prompten</h2>



<ul class="wp-block-list">

<li><strong>Mata in senaste kontaktpunkten, ordagrant.</strong> Klistra in det senaste mejlet du skickade och den senaste raden du fick tillbaka (även om den är kort). Om du bara sammanfattar kan AI:n hitta på kontextankare som låter rimliga men inte stämmer med tråden. När du klistrat in, lägg till en rad: ”Pending: säkerhetsgranskning” eller ”Pending: sista mötet med intressenter.”</li>


<li><strong>Berätta vilket beslut som faktiskt sitter fast.</strong> ”Väntar på återkoppling” är inget beslut. Ge den en verklig vägdelning, som: ”De behöver välja mellan årsavtal vs flerårsavtal” eller ”De behöver internt godkännande för att köra en pilot i Q2.” Uppföljningsprompt du kan använda: ”Skriv om CTA:n så att den ber om ett beslut om pilotens startdatum, inte ett möte.”</li>

<li><strong>Välj ett teach-moment som handlar om deras risk, inte om din produkt.</strong> Ärligt talat är de flesta ”insikter” leverantörer delar bara produktmarknadsföring i förklädnad. Rikta omramningen mot inköpsverkligheten: missade besparingar vid fördröjning, bristande samsyn mellan intressenter, ofullständiga krav eller ett dolt kostnadsställe. Fråga sedan AI:n: ”Ge mig två teach-moments: ett om kostnad för fördröjning, ett om processrisk.”</li>


<li><strong>Iterera genom att skärpa SPIN-frågorna.</strong> Efter första resultatet, välj en SPIN-fråga som känns för bred och be om en vassare version. Prova: ”Gör Problem-frågan mer specifik för deras nuvarande workflow, och gör Implication-frågan så att den kvantifierar tid eller risk.” Små ändringar här kan lyfta svarsfrekvensen eftersom köparen kan svara snabbt.</li>


<li><strong>Bygg en minisekvens, inte en engångstext.</strong> Den här prompten är som starkast när du planerar 5–9 uppföljningssteg baserat på brådska och affärens komplexitet. Be om en kadens och vinkelbyten: ”Skapa en sekvens med 6 kontaktpunkter över 14 dagar, där kontakt 3 är mobilkort och kontakt 5 är en artig eskalering för att bekräfta close-lost eller nästa steg.” Du slipper skriva om från noll varje gång.</li>

</ul>
<!-- /wp:post-content -->
</div>

<div class="related-prompts-section">
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">Relaterade promptar</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>När dina uppföljningar börjar få svar igen hjälper de här promptarna dig att stötta den interna köpresan som ofta ligger bakom tystnaden.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Om du också behöver bevisa att ni kan leverera efter att affären stängts hjälper en vy för onboarding-mätning mycket. När implementationsrisk är en stoppkloss kan <a href="https://nodenordic.se/prompts/bygg-en-dashboard-for-onboardingmatetal">Bygg en dashboard för onboardingmätetal</a> hjälpa dig att visa exakt hur du kommer att följa upp adoption, milstolpar och värderealisering.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>För team som gör utrullningar med mycket rekrytering, där förändringsledning spelar roll, kan positionering av ert arbetsgivarvarumärke och er interna berättelse minska motstånd. När köparens oro är ”kommer det här att hålla”, para ihop din uppföljning med <a href="https://nodenordic.se/prompts/bygg-en-roadmap-for-arbetsgivarvarumarket">Bygg en roadmap för arbetsgivarvarumärket</a> för att skapa en tydligare story som din champion kan återge internt.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>När uppsättningen intressenter inkluderar HR eller talent leadership behöver du ibland en bredare plan innan de förbinder sig till ett leverantörsbeslut. I så fall ger <a href="https://nodenordic.se/prompts/bygg-en-transformationsplan-for-social-rekrytering-med-ai">Bygg en transformationsplan för social rekrytering med AI</a> struktur som kan göra ”vi funderar på det” till ett definierat initiativ med datum och ansvariga.</p>
<!-- /wp:paragraph -->

<br>

<!-- wp:paragraph -->
<p>Snabbreferens:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul>
<!-- wp:list-item -->
<li><a href="https://nodenordic.se/prompts/bygg-en-dashboard-for-onboardingmatetal">Bygg en dashboard för onboardingmätetal</a>: Mät onboardingresultat och adoptionsmilstolpar.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><a href="https://nodenordic.se/prompts/bygg-en-roadmap-for-arbetsgivarvarumarket">Bygg en roadmap för arbetsgivarvarumärket</a>: Förtydliga positionering, narrativ och genomförandesteg.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><a href="https://nodenordic.se/prompts/bygg-en-transformationsplan-for-social-rekrytering-med-ai">Bygg en transformationsplan för social rekrytering med AI</a>: Gör ett vagt initiativ till en plan.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><a href="https://nodenordic.se/prompts/skapa-en-playbook-for-campusrekrytering-med-ai-prompt">Skapa en playbook för campusrekrytering med AI-prompt</a>: Skapa en strukturerad playbook för intressenter.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><a href="https://nodenordic.se/prompts/bygg-en-702010-utvecklingsplan-med-ai-prompt">Bygg en 70/20/10-utvecklingsplan med AI-prompt</a>: Planera enablement och kompetensutveckling över tid.</li>
<!-- /wp:list-item -->
</ul>
<!-- /wp:list -->
</div>

<div class="faq-section">
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">Vanliga frågor</h2>
<!-- /wp:heading -->

<div class="faq-item">
<span class="question">Vilka roller har mest nytta av den här supplier follow-ups prompt AI-prompten?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>Enterprise Account Executives</strong> använder den för att få tillbaka momentum efter att en offert tystnat, samtidigt som budskapet förblir köparcentrerat och konkret. <strong>Sales Development Leaders</strong> använder den för att skapa uppföljningsvarianter som teamet kan personifiera utan att falla tillbaka på ”ville bara kolla läget”-språk. <strong>Partnership Managers</strong> lutar sig mot den när ett gemensamt initiativ fastnat i intern samsyn och de behöver ett respektfullt, kontrollerat nästa steg. <strong>Revenue Operations Managers</strong> uppskattar den eftersom promptens struktur (kontextankare, SPIN-frågor, CTA) är tillräckligt konsekvent för att bli en repeterbar standard.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Vilka branscher får mest värde av den här supplier follow-ups prompt AI-prompten?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>Tillverkning och distribution</strong> använder den när leverantörsutvärderingar fastnar i riskgranskningar, ledtider och byteskostnader, och de behöver en uppföljning som pratar om kontinuitet och att undvika driftstopp. <strong>SaaS- och IT-tjänsteteam</strong> har nytta när säkerhet, inköp och ekonomi alla har vetomakt; prompten hjälper till att ställa fas-anpassade SPIN-frågor utan att låta otålig. <strong>Konsult- och professional services-bolag</strong> använder den för att omrama värde kring resultat och leveransrisk, särskilt när köparen jämför flera leverantörer. <strong>Sjukvård och reglerade branscher</strong> får värde eftersom tonen är exekutiv och lugn, vilket fungerar bättre när compliance och interna godkännanden bromsar allt.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Varför ger enkla AI-promptar för uppföljningsmejl till leverantörer svaga resultat?</span>
<!-- wp:paragraph -->
<p class="answer">En typisk prompt som ”Skriv ett uppföljningsmejl till en potentiell leverantör” misslyckas eftersom den: saknar ett kontextankare kopplat till senaste kontaktpunkten, så meddelandet känns generiskt; inte ger någon SPIN-struktur, så den ställer frågor som är lätta att ignorera; bortser från köparens friktion som risk, intern samsyn och vem som äger beslutet; producerar artiga puffar i stället för ett kommersiellt skarpt nästa steg; och missar ett Challenger-inspirerat teach-moment som ger köparen en anledning att svara nu i stället för senare.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Kan jag anpassa den här supplier follow-ups prompt för min specifika situation?</span>
<!-- wp:paragraph -->
<p class="answer">Ja, men du anpassar den genom att lägga till kontext innan du kör den, eftersom prompten i sig inte har några inbyggda variabler. Ta med datum för senaste kontaktpunkt, vad som är pending (till exempel ”MSA-redlines” eller ”bekräftelse av pilotscope”), vilka intressenter som är involverade och vilket beslut du vill ha. Be sedan om uppföljningspaketet för den fas du är i, till exempel tidig utvärdering kontra slutligt godkännande. En användbar följdfråga är: ”Skriv om detta för en CFO-målgrupp, håll det under 120 ord, och gör den primära CTA:n till ett ja/nej-beslut med två datumalternativ.”</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Vilka är de vanligaste misstagen när man använder den här supplier follow-ups prompt?</span>
<!-- wp:paragraph -->
<p class="answer">Det största misstaget är att lämna scenariot för vagt; i stället för ”De blev tysta efter samtalet”, använd ”Senaste kontaktpunkt: 2026-01-12 demo-recap skickad; pending: säkerhetsfrågeformulär och policy för datalagring; stoppkloss: InfoSec-backlog.” Ett annat vanligt fel är att be om ”en uppföljning” utan att namnge beslutet du behöver, vilket gör CTA:n till en mjuk mötesförfrågan; ge den ett beslut som ”godkänn pilotstartdatum” eller ”bekräfta close-lost.” Många klistrar inte in några köparbegränsningar, vilket leder till säljarcentrerat språk; lägg till verkliga prioriteringar som ”riskminskning”, ”tid till värde” eller ”samsyn mellan intressenter.” Slutligen gör avsaknad av teach-moment att mejlet smälter in; styr prompten med en specifik vinkel som ”kostnad för fördröjning” eller ”dold processrisk.”</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Vem ska INTE använda den här supplier follow-ups prompt?</span>
<!-- wp:paragraph -->
<p class="answer">Den här prompten är inte idealisk för engångsmässig transaktionsförsäljning där en enkel påminnelse och en betalningslänk är hela jobbet, eller för team som inte kan dela någon affärskontext alls (ens sanerad). Den passar heller inte om du behöver en helt automatiserad mail-merge-mall med placeholders, eftersom prompten är designad för genomtänkt, scenariobaserad textproduktion. Om det är du, överväg att bygga ett lättviktsbibliotek av mallar och använd den här prompten bara för högvärdiga, komplexa affärer som motiverar djupare budskapsarbete.</p>
<!-- /wp:paragraph -->
</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Vilka roller har mest nytta av den här supplier follow-ups prompt AI-prompten?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Enterprise Account Executives använder den för att få tillbaka momentum efter att en offert tystnat, samtidigt som budskapet förblir köparcentrerat och konkret. Sales Development Leaders använder den för att skapa uppföljningsvarianter som teamet kan personifiera utan att falla tillbaka på ”ville bara kolla läget”-språk. Partnership Managers lutar sig mot den när ett gemensamt initiativ fastnat i intern samsyn och de behöver ett respektfullt, kontrollerat nästa steg. Revenue Operations Managers uppskattar den eftersom promptens struktur (kontextankare, SPIN-frågor, CTA) är tillräckligt konsekvent för att bli en repeterbar standard."
      }
    },
    {
      "@type": "Question",
      "name": "Vilka branscher får mest värde av den här supplier follow-ups prompt AI-prompten?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Tillverkning och distribution använder den när leverantörsutvärderingar fastnar i riskgranskningar, ledtider och byteskostnader, och de behöver en uppföljning som pratar om kontinuitet och att undvika driftstopp. SaaS- och IT-tjänsteteam har nytta när säkerhet, inköp och ekonomi alla har vetomakt; prompten hjälper till att ställa fas-anpassade SPIN-frågor utan att låta otålig. Konsult- och professional services-bolag använder den för att omrama värde kring resultat och leveransrisk, särskilt när köparen jämför flera leverantörer. Sjukvård och reglerade branscher får värde eftersom tonen är exekutiv och lugn, vilket fungerar bättre när compliance och interna godkännanden bromsar allt."
      }
    },
    {
      "@type": "Question",
      "name": "Varför ger enkla AI-promptar för uppföljningsmejl till leverantörer svaga resultat?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "En typisk prompt som ”Skriv ett uppföljningsmejl till en potentiell leverantör” misslyckas eftersom den: saknar ett kontextankare kopplat till senaste kontaktpunkten, så meddelandet känns generiskt; inte ger någon SPIN-struktur, så den ställer frågor som är lätta att ignorera; bortser från köparens friktion som risk, intern samsyn och vem som äger beslutet; producerar artiga puffar i stället för ett kommersiellt skarpt nästa steg; och missar ett Challenger-inspirerat teach-moment som ger köparen en anledning att svara nu i stället för senare."
      }
    },
    {
      "@type": "Question",
      "name": "Kan jag anpassa den här supplier follow-ups prompt för min specifika situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ja, men du anpassar den genom att lägga till kontext innan du kör den, eftersom prompten i sig inte har några inbyggda variabler. Ta med datum för senaste kontaktpunkt, vad som är pending (till exempel ”MSA-redlines” eller ”bekräftelse av pilotscope”), vilka intressenter som är involverade och vilket beslut du vill ha. Be sedan om uppföljningspaketet för den fas du är i, till exempel tidig utvärdering kontra slutligt godkännande. En användbar följdfråga är: ”Skriv om detta för en CFO-målgrupp, håll det under 120 ord, och gör den primära CTA:n till ett ja/nej-beslut med två datumalternativ.”"
      }
    },
    {
      "@type": "Question",
      "name": "Vilka är de vanligaste misstagen när man använder den här supplier follow-ups prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Det största misstaget är att lämna scenariot för vagt; i stället för ”De blev tysta efter samtalet”, använd ”Senaste kontaktpunkt: 2026-01-12 demo-recap skickad; pending: säkerhetsfrågeformulär och policy för datalagring; stoppkloss: InfoSec-backlog.” Ett annat vanligt fel är att be om ”en uppföljning” utan att namnge beslutet du behöver, vilket gör CTA:n till en mjuk mötesförfrågan; ge den ett beslut som ”godkänn pilotstartdatum” eller ”bekräfta close-lost.” Många klistrar inte in några köparbegränsningar, vilket leder till säljarcentrerat språk; lägg till verkliga prioriteringar som ”riskminskning”, ”tid till värde” eller ”samsyn mellan intressenter.” Slutligen gör avsaknad av teach-moment att mejlet smälter in; styr prompten med en specifik vinkel som ”kostnad för fördröjning” eller ”dold processrisk.”"
      }
    },
    {
      "@type": "Question",
      "name": "Vem ska INTE använda den här supplier follow-ups prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Den här prompten är inte idealisk för engångsmässig transaktionsförsäljning där en enkel påminnelse och en betalningslänk är hela jobbet, eller för team som inte kan dela någon affärskontext alls (ens sanerad). Den passar heller inte om du behöver en helt automatiserad mail-merge-mall med placeholders, eftersom prompten är designad för genomtänkt, scenariobaserad textproduktion. Om det är du, överväg att bygga ett lättviktsbibliotek av mallar och använd den här prompten bara för högvärdiga, komplexa affärer som motiverar djupare budskapsarbete."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">
<!-- wp:paragraph -->
<p>Tystnad är oftast inte ett nej. Det är friktion, risk eller ett saknat beslut. Klistra in prompten i ChatGPT, ge den din verkliga affärskontext och skicka uppföljningar som köpare faktiskt kan svara på.</p>
<!-- /wp:paragraph -->
</div><p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/skriv-leverantorsuppfoljningar-med-fokus-pa-koparen/">Skriv leverantörsuppföljningar med fokus på köparen</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Bygg ett arbetsflöde för återhämtning vid ersättning</title>
		<link>https://nodenordic.se/prompts/bygg-ett-arbetsflode-for-aterhamtning-vid-ersattning/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=bygg-ett-arbetsflode-for-aterhamtning-vid-ersattning</link>
		
		<dc:creator><![CDATA[Rickard Andersson]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 02:46:17 +0000</pubDate>
				<category><![CDATA[prompts]]></category>
		<guid isPermaLink="false">https://nodenordic.se/?p=5002883</guid>

					<description><![CDATA[<p>Ersättningar spårar ur – bygg ett DMAIC-arbetsflöde med skyddsräcken, mätetal och missbrukskontroller. Utforska fler AI-prompter.</p>
<p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/bygg-ett-arbetsflode-for-aterhamtning-vid-ersattning/">Bygg ett arbetsflöde för återhämtning vid ersättning</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></description>
										<content:encoded><![CDATA[<!-- FOCUS_KEYWORD: replacement recovery workflow -->

<div class="hook-introduction">

<p>Ersättningsärenden låter enkla tills du skalar upp dem. Då blir de en rörig mix av inkonsekventa godkännanden, ökande bedrägerier, långsamma ärenden och kunder som känner att de “utreds” i stället för att få hjälp. Kostnaderna smyger upp, och driftteamet hamnar i ständig brandsläckning av samma felmönster varje vecka.</p>



<p>Det här <strong>replacement recovery workflow</strong> är byggt för <strong>chefer inom fulfillment operations</strong> som hanterar toppar i försändelser som försvinner under transport, <strong>kundsupportansvariga</strong> som vill korta handläggningstiden utan att öppna bedrägeriluckor, och <strong>e-handelschefer</strong> som behöver skydda marginalen och samtidigt behålla lojaliteten. Resultatet är en interaktiv, stegvis driftsmodell som använder DMAIC plus tänket kring Service Recovery Paradox, inklusive skyddsräcken, mätetal, regler för edge cases och en “skriv continue för att gå vidare”-process.</p>

</div>

<div class="what-and-when-section">

<h2 class="wp-block-heading">Vad gör den här AI-prompten och när ska du använda den?</h2>



<table class="solution-results-table three-column" role="presentation" aria-label="What this prompt does, when to use it, and what you get">
 <thead>
    <tr>
      <th scope="col">Vad den här prompten gör</th>
      <th scope="col">När du ska använda den här prompten</th>
      <th scope="col">Vad du får</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <ul class="automation-list">
          <li>Den sammanfattar din nuvarande ersättningssituation, lyfter de tre största operativa spänningarna och tydliggör antaganden innan den föreslår lösningar.</li>
          <li>Den designar ett end-to-end-flöde för ersättningsartiklar med DMAIC som stomme, från definiera och mäta till kontroll.</li>
          <li>Den tillämpar Service Recovery Paradox-logik så att återställningsåtgärder mätbart ökar lojaliteten i stället för att bara stänga ärenden.</li>
          <li>Den bygger beslut som står emot missbruk, inklusive mönster hos den som gör anspråk, SKU-risknivåer och incitamentsäkra policyer.</li>
          <li>Den tvingar in täckning av edge cases (högvärdes-SKU:er, restorder, delleveranser, marketplace vs DTC, reglerade produkter) så att undantag inte blir den verkliga processen.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>Din policy för “direkt ersättning” utnyttjas, och du behöver stramare kontroller utan att sänka CSAT.</li>
          <li>Ersättningar tar för lång tid eftersom teamen bråkar om regler, bevisnivåer och vem som äger varje steg.</li>
          <li>Du är på väg in i högsäsong, och även små felgrader kommer att överbelasta support- och lagerteam.</li>
          <li>Transportörernas prestation, förpackningsfel eller plock/pack-fel ökar, och ersättningar maskerar grundorsaken.</li>
          <li>Du behöver standardisera en multikanalverklighet (marketplace + DTC) där policyer och datainsyn skiljer sig.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>En stegvis DMAIC-återställningsplan med antal faser anpassat efter komplexitet och risk.</li>
           <li>Ett beslutsramverk för ersättning (godkänn, avslå, utred, återbetala, skicka om senare) med tydliga triggers och bevisregler.</li>
           <li>Policy-skyddsräcken och kontroller mot missbruk, inklusive hantering av återkommande anspråk och trösklar för högvärdes-SKU:er.</li>
           <li>Ett mätetalspaket (hastighet, tillit, kostnad och bedrägerisignaler) som undviker vanity KPI-fällor.</li>
           <li>En kontrollplan med övervakningsrutiner, eskaleringsvägar och “vad ska vi fixa härnäst”-prompter för kontinuerliga förbättringar.</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

<div class="prompt-display-section">

<h2 class="wp-block-heading">Hela AI-prompten: byggare för DMAIC-baserat replacement recovery workflow</h2>



<div class="prompt-viewer-wrapper" id="prompt-section">
    <div class="prompt-comparison-row prompt-premium">
        <!-- Header with buttons -->
        <div class="prompt-row-header">
            <!-- <span class="prompt-row-icon">✨</span> -->
            <span class="prompt-row-title">
                                    Steg 1: Anpassa prompten med din information
                            </span>
            <div class="prompt-header-buttons">
                                    <button class="prompt-header-btn prompt-header-reset" onclick="resetPrompt()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Återställ</span>
                    </button>
                                <button class="prompt-header-btn prompt-header-copy-green flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span>Anpassa och kopiera hela prompten</span>
                </button>
            </div>
        </div>

        <!-- Customize the Prompt Section -->
                    <div class="prompt-customize-section">
                <span class="customize-title">Anpassa prompten</span>
                <p class="customize-subtitle">Fyll i fälten nedan för att anpassa prompten efter dina behov.</p>
                <table class="customize-table">
                    <thead>
                        <tr>
                            <th>Variabel</th>
                            <th>Vad du ska ange</th>
                            <th>Anpassa prompten</th>
                        </tr>
                    </thead>
                    <tbody>
                                                    <tr>
                                <td class="var-name"><code>[FORETAGSNAMN]</code></td>
                                <td class="var-desc">
                                    Ange namnet på det företag eller varumärke som driftsmodellen för ersättningsartiklar utformas för.                                    <div class="var-example">Till exempel: "SwiftGear Logistics"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[FORETAGSNAMN]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[BRANSCH]</code></td>
                                <td class="var-desc">
                                    Specificera företagets bransch och säljmodell, till exempel direkt till konsument (DTC), marketplace/marknadsplats, omnikanal eller B2B.                                    <div class="var-example">Till exempel: "Konsumentelektronik, omnikanal"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[BRANSCH]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[MALGRUPP]</code></td>
                                <td class="var-desc">
                                    Beskriv det primära kundsegmentet, inklusive demografi, beteenden och centrala egenskaper som är relevanta för affären.                                    <div class="var-example">Till exempel: "Teknikintresserade millennials som köper premiumprylar online, med fokus på snabb leverans och smidiga returer."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[MALGRUPP]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[PRODUKTBESKRIVNING]</code></td>
                                <td class="var-desc">
                                    Ge en kort beskrivning av företagets huvudsakliga produkter eller tjänster.                                    <div class="var-example">Till exempel: "Smarta hem-enheter som kameror, termostater och dörrlås, utformade för enkel installation och integrering."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[PRODUKTBESKRIVNING]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[KONTEXT]</code></td>
                                <td class="var-desc">
                                    Förklara nuläget eller bakgrunden som gör att en driftsmodell för ersättningsartiklar behöver utvecklas.                                    <div class="var-example">Till exempel: "Företaget har höga volymer av returer och ersättningar till följd av snabb tillväxt och ojämna kundserviceprocesser."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[KONTEXT]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[HUVUDUTMANING]</code></td>
                                <td class="var-desc">
                                    Beskriv den viktigaste utmaningen eller problematiken företaget har kopplat till ersättningar och återvinning av kundrelationen.                                    <div class="var-example">Till exempel: "Återkommande förseningar i ersättningsleveranser leder till missnöjda kunder och negativa omdömen."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[HUVUDUTMANING]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[PRIMART_MAL]</code></td>
                                <td class="var-desc">
                                    Ange det huvudsakliga mål företaget vill uppnå med driftsmodellen för ersättningsartiklar.                                    <div class="var-example">Till exempel: "Minska handläggningstiden för ersättningar med 30 % samtidigt som motståndskraften mot bedrägerier bibehålls och kundförtroendet stärks."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[PRIMART_MAL]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TIDSRAM]</code></td>
                                <td class="var-desc">
                                    Ange den förväntade tidsplanen för att införa driftsmodellen för ersättningsartiklar.                                    <div class="var-example">Till exempel: "6 månader, inklusive stegvisa utrullningar och tester."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[TIDSRAM]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[OPERATIONELLA_BEGRANSNINGAR]</code></td>
                                <td class="var-desc">
                                    Lista eventuella specifika begränsningar, såsom budget, bemanning, tekniska begränsningar eller regulatoriska krav.                                    <div class="var-example">Till exempel: "Begränsad budget för ny programvara, krav på integration med befintligt WMS samt efterlevnad av EU:s konsumentskyddsregler."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[OPERATIONELLA_BEGRANSNINGAR]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[ERSATTNINGSVOLYM]</code></td>
                                <td class="var-desc">
                                    Ange en uppskattning av den månatliga eller årliga volymen ersättningsärenden som företaget hanterar.                                    <div class="var-example">Till exempel: "Cirka 5 000 ersättningsärenden per månad, med säsongstoppar under Q4."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[ERSATTNINGSVOLYM]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[SLA_MAL]</code></td>
                                <td class="var-desc">
                                    Definiera service level agreements (SLA:er) för ersättningar, exempelvis mål för handläggnings- eller leveranstider.                                    <div class="var-example">Till exempel: "Handlägg ersättningsärenden inom 24 timmar och säkerställ leverans inom 3 arbetsdagar."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[SLA_MAL]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[VANLIGASTE_KUNDKLAGOMALEN]</code></td>
                                <td class="var-desc">
                                    Lista de vanligaste klagomålen kunder har om den nuvarande ersättningsprocessen.                                    <div class="var-example">Till exempel: "Försenade ersättningar, bristande kommunikation under processen och att fel varor levereras."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[VANLIGASTE_KUNDKLAGOMALEN]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[SKU_KATEGORIER]</code></td>
                                <td class="var-desc">
                                    Identifiera de huvudsakliga produktkategorierna eller SKU:erna som ingår i ersättningsprocessen.                                    <div class="var-example">Till exempel: "Elektronik med högt värde, tillbehör och reservdelar för smarta hem-enheter."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[SKU_KATEGORIER]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[VARUMARKESTON]</code></td>
                                <td class="var-desc">
                                    Beskriv vilken ton och kommunikationsstil varumärket använder i dialogen med kunder.                                    <div class="var-example">Till exempel: "Professionell men lättillgänglig, med fokus på transparens och proaktiv support."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[VARUMARKESTON]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                            </tbody>
                </table>

                <button class="copy-customized-btn flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span class="copy-customized-text">Anpassa prompten nu</span>

                </button>
            </div>
        
        <!-- Full Prompt Code Header -->
                    <div class="prompt-code-header">
                <span class="prompt-code-title">
                    Steg 2: Kopiera prompten
                </span>
                <div class="prompt-code-buttons">
                    <!-- Reset: Only visible when unlocked -->
                    <button class="prompt-header-btn prompt-header-reset btn-when-unlocked" onclick="resetPrompt()" style="display: none;">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Återställ</span>
                    </button>
                    <!-- Copy Full Prompt -->
                    <button class="prompt-header-btn prompt-header-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                            <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                        </svg>
                        <span>Kopiera hela prompten</span>
                    </button>
                </div>
            </div>
        

        <!-- Prompt Content -->
        <div class="prompt-box prompt-gated-wrapper">
            <!-- Gated: Blurred content -->
            <div class="prompt-gated-content">
                <div class="prompt-header-visible">MÅL</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PERSONA</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">BEGRÄNSNINGAR</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PROCESS</div><div class="prompt-header-visible subheader">1) Föranalyssteg (obligatoriskt innan du bygger något)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">2) Logik för fasplanering (dynamisk)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">3) Interaktiv leverans</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">4) Omfattningsgränser — vad detta INTE är</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">INPUT</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">OUTPUTSPECIFIKATION</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Steg 1 — Define: nulägeskartläggning</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Steg 2 — Define: recovery-principer &amp; skyddsräcken</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Steg 3 — Measure: mätsystem</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Steg 4 — Analyze: rotorsaksintelligens</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Steg 5 — Improve: målflöde (kärnoperativ modell)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Steg 6 — Improve: design av kundkommunikation</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Steg 7 — Control: kontroller, automation och skydd</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Steg 8 — Control: prestationsstyrning</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Steg 9 — Implementeringsfärdplan</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Avslutande sammanfattning (efter steg 9)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">KVALITETSKONTROLLER</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div>            </div>
            <!-- Unlocked: Full content (hidden by default) -->
            <div class="prompt-content-full" id="premium-prompt-content" style="display: none;">
                ## MÅL
Skapa en skräddarsydd, heltäckande operativ modell för ersättningsärenden för ett företag med DMAIC plus tänkande enligt Service Recovery Paradox—så att lösningen blir snabb, pålitlig (svår att manipulera) och mätbart förbättrar kundlojalitet i stället för att bara flytta problemen någon annanstans. Arbetsflödet måste levereras interaktivt i stegvisa releaser, där du uppmanar användaren att fylla i saknade detaljer och att skriva **“continue”** för att gå vidare.

## PERSONA
Du är en **Service Operations Recovery Designer** med djup erfarenhet av fulfillment och contact center, inklusive att leda högvolymiga peak seasons, bygga om trasiga recovery-program efter större servicehaverier, och tillämpa lean/continuous-improvement-praktiker på returer, ersättningar och avvikelsehantering. Din stil är pragmatisk, skeptisk till vanity metrics och starkt implementeringsfokuserad.

## BEGRÄNSNINGAR
- Använd **DMAIC** som ryggrad samtidigt som du uttryckligen tillämpar principer från **Service Recovery Paradox** (utmärkt recovery kan öka lojalitet).
- Optimera för: kundförtroende + hastighet + kostnadskontroll + motståndskraft mot bedrägeri/missbruk.
- Anpassa rekommendationer till: volym, nuvarande SLA:er, kundsegment, tekniska/integrationsbegränsningar och operativ kapacitet.
- Undvik att skapa incitament som uppmuntrar falska anspråk eller “replacement shopping”.
- **Hantering av edge cases krävs** (t.ex. högvärdes-SKU:er, återkommande claimants, lost-in-transit, delleveranser, restorder, marketplace vs. DTC, reglerade produkter).
- Om input är ofullständig eller oklar, pausa och fråga bara efter minsta möjliga extra information som behövs för att kunna fortsätta.

## PROCESS
### 1) Föranalyssteg (obligatoriskt innan du bygger något)
- Återge din förståelse av användarens situation utifrån deras input.
- Identifiera de 3 viktigaste spänningarna att balansera (t.ex. “instant replacement” vs bedrägeririsk).
- Lista antaganden du gör och markera dem tydligt som antaganden.

### 2) Logik för fasplanering (dynamisk)
- Bedöm först processens komplexitet och risk.
- Välj sedan ett lämpligt antal faser: **9–11 steg** för en full DMAIC-uppbyggnad (justera upp/ner baserat på mognad, volym, allvarlighetsgrad och resurser).
- Namnge varje steg och förklara varför det finns (en mening per steg).

### 3) Interaktiv leverans
- Leverera arbetet **ett steg i taget**.
- Avsluta varje steg med: “Type **continue** to proceed.”  
- När användaren ger nya detaljer mitt i processen, införliva dem i nästa steg och notera vad som ändrades.

### 4) Omfattningsgränser — vad detta INTE är
- Inte en juridisk policy eller en compliance-bedömning.
- Inte ett löfte om finansiella utfall.
- Inte en ersättning för security engineering, underwriting av payment risk eller formella bedrägeriutredningar.
- Inte en fullständig ERP/WMS-implementationsplan; integrationer adresseras på krav-/arkitekturnivå om inte användaren tillhandahåller systemspecifika detaljer.

## INPUT
- **Företag / varumärkesnamn:** [FORETAGSNAMN]  
- **Bransch / säljmodell (DTC, marketplace, omnichannel, B2B, etc.):** [BRANSCH]  
- **Primärt användarsegment / kundprofil:** [MALGRUPP]  
- **Vad som ersätts (produkt + fulfillment-kontext):** [PRODUKTBESKRIVNING]  
- **Bakgrund till nuvarande situation:** [KONTEXT]  
- **Huvudsaklig smärtpunkt att lösa först:** [HUVUDUTMANING]  
- **Primärt mål (hastighet, CSAT, kostnad, minskad fraud, etc.):** [PRIMART_MAL]  
- **Tidsfönster för utrullning:** [TIDSRAM]  
- **Begränsningar (system, carriers, integrationer, bemanning, policygränser):** [OPERATIONELLA_BEGRANSNINGAR]  
- **Nuvarande ersättningsvolym (per månad):** [ERSATTNINGSVOLYM]  
- **Nuvarande ersättnings-SLA:er / löften:** [SLA_MAL]  
- **Vanligaste klagomålen (3 punkter):** [VANLIGASTE_KUNDKLAGOMALEN]  
- **Viktigaste SKU-kategorier (3–5):** [SKU_KATEGORIER]  

## OUTPUTSPECIFIKATION
Ta fram en stegvis leverans enligt DMAIC + recovery-paradox. Varje steg måste innehålla punkterna som listas för det steget och använda platshållarna nedan.

### Steg 1 — Define: nulägeskartläggning
Inkludera:
- {Current Workflow Summary}
- {Failure Modes List}
- {Customer Anger Drivers} (jämför uttryckligen “original failure” vs “bad recovery”)
- {Open Questions} (bara det som behövs härnäst)

### Steg 2 — Define: recovery-principer &amp; skyddsräcken
Inkludera:
- {Eligibility Rules} (anti-gaming)
- {Evidence Standards} (balans mellan förtroende och skydd)
- {Exception Paths}
- {Target Recovery Speeds} (segmenterat vid behov)
- {Customer Promise Boundaries}

### Steg 3 — Measure: mätsystem
Inkludera:
- {Metric Set} (rate, tid, kostnad, CSAT/NPS, repeat-claims, defect escape, etc.)
- {Event Capture Map} (var data samlas in i flödet)
- {Baseline Plan}
- {Alert Triggers}

### Steg 4 — Analyze: rotorsaksintelligens
Inkludera:
- {Reason Code Taxonomy}
- {Decision Rules For Pattern Detection}
- {Systemic Issue Flags}
- {Supplier / Carrier Feedback Loop}
- {Customer Behavior Signals} (utan bias; fokusera på observerbara riskindikatorer)

### Steg 5 — Improve: målflöde (kärnoperativ modell)
Inkludera:
- {Workflow Steps} (numrerade)
- {Decision Tree Summary}
- {Inventory &amp; Stock Checks}
- {Reship / Refund / Repair Routing Rules}
- {Automation Opportunities}
- {Abuse Controls Embedded In-Flow}

### Steg 6 — Improve: design av kundkommunikation
Inkludera:
- {Touchpoint Timeline}
- {Message Templates} (ton i linje med [VARUMARKESTON] om den anges; annars “tydlig, lugn, ansvarstagande”)
- {Proactive Updates Cadence}
- {Delight Options} (kostnadstak)
- {Voice-of-Customer Capture Points}

### Steg 7 — Control: kontroller, automation och skydd
Inkludera:
- {Control Plan}
- {QA Checkpoints}
- {Fraud &amp; Abuse Detection Approach} (regler + tröskelvärden, inte kod om inte efterfrågat)
- {Limiters} (volymspikar, SKU-risknivåer)
- {Continuous Improvement Loop}

### Steg 8 — Control: prestationsstyrning
Inkludera:
- {KPI Dashboard Layout}
- {Operating Rhythm} (veckovis / månadsvis)
- {Escalation Ladder}
- {Training Outline}
- {Vendor/Carrier Scorecard Elements}

### Steg 9 — Implementeringsfärdplan
Inkludera:
- {Rollout Plan} (cirka 10–12 veckor, med sekvensering och beroenden)
- {Quick Wins}
- {Resourcing Plan}
- {Risks &amp; Mitigations}
- {Success Checkpoints}

### Avslutande sammanfattning (efter steg 9)
Inkludera:
- {Executive Summary}
- {Immediate Next Steps}
- {Decisions Needed From Stakeholders}

## KVALITETSKONTROLLER
Innan du avslutar varje steg, verifiera:
- Täckning: DMAIC-intentionen för steget är fullt adresserad (inte hoppad över eller ihopblandad).
- Motståndskraft mot missbruk: minst en uttrycklig anti-gaming-mekanism finns där det är relevant.
- Kundpåverkan: kommunikation och timing minskar frustration i stället för att förstärka den.
- Mätbarhet: utfall kopplas till konkreta metrics och capture points.
- Genomförbarhet: rekommendationer matchar [OPERATIONELLA_BEGRANSNINGAR], [ERSATTNINGSVOLYM] och [SLA_MAL] (eller ange antaganden om okänt).            </div>
        </div>


    </div>

    <!-- CTA Row - Full width buttons -->
    <div class="prompt-cta-row">
        <button class="prompt-cta-btn prompt-cta-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
            </svg>
            <span class="cta-copy-text">Kopiera hela prompten</span>
        </button>
    </div>
</div>

<style>
    /* Gated prompt states */
    .prompt-gated-wrapper {
        position: relative;
    }

    /* When unlocked - show full content, hide gated */
    body.flowpast-unlocked .prompt-gated-wrapper .prompt-gated-content {
        display: none;
    }

    body.flowpast-unlocked .prompt-gated-wrapper .prompt-content-full {
        display: block !important;
    }

    /* Show/hide elements based on unlock state */
    body.flowpast-unlocked .btn-when-unlocked {
        display: inline-flex !important;
    }

    .prompt-viewer-wrapper {
        scroll-margin-top: 250px;
    }

    /* ========================================
   PROMPT VIEWER - MAIN WRAPPER
   ======================================== */
    .prompt-viewer-wrapper {
        margin: 30px 0;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    /* ========================================
   PROMPT BOX CONTAINER
   ======================================== */
    .prompt-comparison-row {
        border-radius: 12px;
        overflow: hidden;
        border: 1px solid #e0e0e0;
        background: #fff;
    }

    /* ========================================
   HEADER WITH BUTTONS
   ======================================== */
    .prompt-row-header {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 14px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
        flex-wrap: wrap;
    }

    .prompt-row-icon {
        font-size: 20px;
    }

    .prompt-row-title {
        font-weight: 600;
        font-size: 22px;
        color: #fff !important;
        text-decoration: underline
    }

    .prompt-header-buttons {
        margin-left: auto;
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
    }

    /* Header buttons */
    .prompt-header-btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 10px 20px;
        border-radius: 6px;
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-header-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-header-copy:hover {
        background: #2a2a2a;
    }

    .prompt-header-copy.copied {
        background: #2e7d32;
    }

    .prompt-header-copy-green {
        background: #04AA6D !important;
        color: #fff !important;
    }

    .prompt-header-copy-green span {
        color: #fff !important;
    }

    .prompt-header-copy-green:hover {
        background: #039860 !important;
    }

    .prompt-header-copy-green.copied {
        background: #2e7d32 !important;
    }

    .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-header-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-1px);
    }

    /* ========================================
   PROMPT CONTENT - FULL (NO SCROLL)
   ======================================== */
    .prompt-box {
        background: #ffffff;
    }

    .prompt-content-full {
        padding: 24px;
        margin: 0;
        color: #202124;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.7;
        white-space: pre-wrap;
        word-wrap: break-word;
        /* No scroll - show full content */
        max-height: none;
        overflow: visible;
    }

    /* Highlighted variable in prompt */
    .prompt-variable {
        background: #fff3cd;
        color: #1967d2;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #ffc107;
    }

    .prompt-variable-filled {
        background: #d4edda;
        color: #155724;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #28a745;
    }

    /* ========================================
   GATED CONTENT (NO ACCESS)
   ======================================== */
    .prompt-gated-content {
        padding: 24px;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.8;
        max-height: none;
        overflow: visible;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        cursor: default;
    }

    /* ## headers - larger, black */
    .prompt-header-visible {
        color: #202124;
        font-weight: 600;
        margin: 5px 0 0px 0;
        font-size: 20px;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        text-decoration: underline;
        text-underline-offset: 4px;
    }

    /* ### headers - smaller, black */
    .prompt-header-visible.subheader {
        color: #202124;
        font-weight: 600;
        margin: 5px 0;
        font-size: 18px;
    }

    .prompt-header-visible:first-child {
        margin-top: 0;
    }

    /* ========================================
   LOCKED SECTION BLOCK
   ======================================== */
    .locked-section {
        position: relative;
        margin: 4px 0 8px 0;
        border-radius: 6px;
        overflow: hidden;
        background: linear-gradient(110deg, #e2e8f0 8%, #f1f5f9 18%, #e2e8f0 33%);
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
    }

    .locked-section-bg {
        position: relative;
    }

    .locked-section-lines {
        padding: 8px 12px;
        position: relative;
    }

    .locked-line {
        height: 6px;
        background: rgba(255, 255, 255, 0.6);
        border-radius: 3px;
        margin-bottom: 4px;
        margin-left: 12px;
    }

    .locked-line:last-child {
        margin-bottom: 0;
    }

    .locked-section-icon {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 10;
        font-size: 24px;
        filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.1));
    }

    /* Subheader locked sections - slightly indented */
    /*  .prompt-header-visible.subheader+.locked-section {
        margin-left: 16px;
    } */

    /* ========================================
   COMPATIBILITY BADGES
   ======================================== */
    .prompt-compatibility {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        padding: 12px 20px;
        background: #f8f9fa;
        border-top: 1px solid #e0e0e0;
    }

    .compat-label {
        font-size: 13px;
        color: #5f6368;
        font-weight: 500;
    }

    .compat-badge {
        padding: 4px 10px;
        background: #e8f0fe;
        color: #1967d2;
        border-radius: 4px;
        font-size: 12px;
        font-weight: 500;
    }

    /* ========================================
   CTA ROW - FULL WIDTH BUTTONS
   ======================================== */
    .prompt-cta-row {
        display: flex;
        gap: 16px;
        flex-wrap: wrap;
    }

    .prompt-cta-btn {
        flex: 1;
        min-width: 200px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 16px 24px;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-cta-copy {
        background: #3a3a3a;
        color: #fff !important;
    }


    .prompt-cta-copy span {
        background: #3a3a3a;
        color: #fff !important;
    }


    .prompt-cta-copy:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }


    .prompt-cta-copy.copied {
        background: #2e7d32;
    }

    .prompt-cta-reset {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-reset:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-cta-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    /* ========================================
    CUSTOMIZE YOUR PROMPT SECTION
    ======================================== */
    .prompt-customize-section {
        padding: 24px;
        border-bottom: 1px solid #e0e0e0;
        background: #fafbfc;
    }

    .customize-title {
        margin: 0 0 8px 0;
        font-size: 18px;
        font-weight: 700;
        color: #202124;
    }

    .customize-subtitle {
        margin: 0 0 20px 0;
        font-size: 14px;
        color: #5f6368;
    }

    .customize-table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 20px;
    }

    .customize-table th {
        text-align: left;
        padding: 12px;
        background: #f1f3f4;
        border: 1px solid #e0e0e0;
        font-size: 13px;
        font-weight: 600;
        color: #202124;
    }

    .customize-table td {
        padding: 12px;
        border: 1px solid #e0e0e0;
        vertical-align: top;
    }

    .customize-table .var-name {
        width: 25%;
        background: #f8f9fa;
    }

    .customize-table .var-name code {
        background: #fff3cd;
        color: #1967d2;
        border: 1px solid #ffc107;
        padding: 4px 8px;
        border-radius: 4px;
        font-size: 12px;
        word-break: break-all;
        font-weight: 600;
    }

    .customize-table .var-desc {
        width: 35%;
        font-size: 13px;
        color: #5f6368;
        line-height: 1.5;
    }

    .customize-table .var-example {
        margin-top: 8px;
        padding: 8px 10px;
        background: #f8f9fa;
        border-left: 3px solid #dadce0;
        font-size: 12px;
        color: #5f6368;
        font-style: italic;
        border-radius: 0 4px 4px 0;
    }

    .customize-table .var-input {
        width: 40%;
    }

    .customize-input {
        width: 100%;
        padding: 10px 12px;
        border: 1px solid #dadce0;
        border-radius: 6px;
        font-size: 13px;
        font-family: inherit;
        resize: vertical;
        transition: border-color 0.2s, box-shadow 0.2s;
    }

    .customize-input:focus {
        outline: none;
        border-color: rgb(5, 152, 98);
        box-shadow: 0 0 0 3px rgba(5, 152, 98, 0.1);
    }

    .customize-input::placeholder {
        color: #9aa0a6;
        font-style: italic;
    }

    .copy-customized-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        width: 100%;
        padding: 16px 24px;
        background: rgb(5, 152, 98);
        color: #fff !important;
        border: none;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
    }

    .copy-customized-btn span {
        color: #fff !important
    }

    .copy-customized-text span {
        color: #fff !important
    }

    .copy-customized-btn:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    .copy-customized-btn.copied {
        background: #2e7d32;
    }

    /* ========================================
    FULL PROMPT CODE HEADER
    ======================================== */
    .prompt-code-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
    }

    .prompt-code-title {
        font-size: 22px;
        font-weight: 600;
        text-decoration: underline;
        color: #fff !important;

    }

    .prompt-code-buttons {
        display: flex;
        gap: 8px;
    }

    .prompt-code-buttons .prompt-header-btn {
        padding: 8px 14px;
        font-size: 13px;
        background: #ffffff;
        color: #202124;
        border: 1px solid #dadce0;
    }

    .prompt-code-buttons .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
        border-color: rgb(5, 152, 98);
    }

    .prompt-code-buttons .prompt-header-btn.prompt-header-access:hover {
        background: rgb(4, 130, 83) !important;
        border-color: rgb(4, 130, 83);
        color: #fff !important;
    }

    .prompt-code-buttons .prompt-header-btn:hover {
        background: #f1f3f4;
    }

    .prompt-code-buttons .prompt-header-copy.copied {
        background: #d4edda;
        color: #155724;
        border-color: #28a745;
    }

    .prompt-header-reset {
        background: #ffffff;
        color: #202124;
    }

    /* ========================================
   RESPONSIVE
   ======================================== */
    @media (max-width: 768px) {
        .prompt-row-header {
            flex-direction: column;
            align-items: flex-start;
            gap: 12px;
        }

        .prompt-header-buttons {
            margin-left: 0;
            width: 100%;
        }

        .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }

        .prompt-cta-row {
            flex-direction: column;
        }

        .prompt-cta-btn {
            width: 100%;
        }

        /* Customize table responsive */
        .customize-table,
        .customize-table thead,
        .customize-table tbody,
        .customize-table tr,
        .customize-table th,
        .customize-table td {
            display: block;
        }

        .customize-table thead {
            display: none;
        }

        .customize-table tr {
            margin-bottom: 16px;
            border: 1px solid #e0e0e0;
            border-radius: 8px;
            overflow: hidden;
        }

        .customize-table td {
            width: 100% !important;
            border: none;
            border-bottom: 1px solid #e0e0e0;
        }

        .customize-table td:last-child {
            border-bottom: none;
        }

        .customize-table .var-name {
            background: #f1f3f4;
            font-weight: 600;
        }

        .prompt-code-header {
            flex-direction: column;
            gap: 12px;
            align-items: flex-start;
        }

        .prompt-code-buttons {
            width: 100%;
        }

        .prompt-code-buttons .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }
    }
</style>

<script>
    function handlePromptCopy() {
        // Check if unlocked via cookie
        if (typeof window.flowpastIsUnlocked === 'function' && !window.flowpastIsUnlocked()) {
            // Show email popup
            if (typeof window.flowpastShowEmailPopup === 'function') {
                window.flowpastShowEmailPopup('prompt');
            }
            return;
        }

        // Copy the customized prompt (with filled variables)
        const customizedPrompt = getCustomizedPrompt();
        const copyButtons = document.querySelectorAll('.prompt-header-copy, .prompt-header-copy-green, .prompt-cta-copy, .copy-customized-btn');

        navigator.clipboard.writeText(customizedPrompt).then(() => {
            copyButtons.forEach(btn => {
                btn.classList.add('copied');
                const textSpan = btn.querySelector('span');
                if (textSpan) textSpan.textContent = 'Kopierad!';
            });

            setTimeout(() => {
                copyButtons.forEach(btn => {
                    btn.classList.remove('copied');
                    const textSpan = btn.querySelector('span');
                    if (textSpan) textSpan.textContent = 'Kopiera hela prompten';
                });
            }, 2000);
        }).catch(err => {
            console.error('Failed to copy:', err);
        });
    }

    // Store original prompt for customization
    const originalPrompt = "## M\u00c5L\r\nSkapa en skr\u00e4ddarsydd, helt\u00e4ckande operativ modell f\u00f6r ers\u00e4ttnings\u00e4renden f\u00f6r ett f\u00f6retag med DMAIC plus t\u00e4nkande enligt Service Recovery Paradox\u2014s\u00e5 att l\u00f6sningen blir snabb, p\u00e5litlig (sv\u00e5r att manipulera) och m\u00e4tbart f\u00f6rb\u00e4ttrar kundlojalitet i st\u00e4llet f\u00f6r att bara flytta problemen n\u00e5gon annanstans. Arbetsfl\u00f6det m\u00e5ste levereras interaktivt i stegvisa releaser, d\u00e4r du uppmanar anv\u00e4ndaren att fylla i saknade detaljer och att skriva **\u201ccontinue\u201d** f\u00f6r att g\u00e5 vidare.\r\n\r\n## PERSONA\r\nDu \u00e4r en **Service Operations Recovery Designer** med djup erfarenhet av fulfillment och contact center, inklusive att leda h\u00f6gvolymiga peak seasons, bygga om trasiga recovery-program efter st\u00f6rre servicehaverier, och till\u00e4mpa lean\/continuous-improvement-praktiker p\u00e5 returer, ers\u00e4ttningar och avvikelsehantering. Din stil \u00e4r pragmatisk, skeptisk till vanity metrics och starkt implementeringsfokuserad.\r\n\r\n## BEGR\u00c4NSNINGAR\r\n- Anv\u00e4nd **DMAIC** som ryggrad samtidigt som du uttryckligen till\u00e4mpar principer fr\u00e5n **Service Recovery Paradox** (utm\u00e4rkt recovery kan \u00f6ka lojalitet).\r\n- Optimera f\u00f6r: kundf\u00f6rtroende + hastighet + kostnadskontroll + motst\u00e5ndskraft mot bedr\u00e4geri\/missbruk.\r\n- Anpassa rekommendationer till: volym, nuvarande SLA:er, kundsegment, tekniska\/integrationsbegr\u00e4nsningar och operativ kapacitet.\r\n- Undvik att skapa incitament som uppmuntrar falska anspr\u00e5k eller \u201creplacement shopping\u201d.\r\n- **Hantering av edge cases kr\u00e4vs** (t.ex. h\u00f6gv\u00e4rdes-SKU:er, \u00e5terkommande claimants, lost-in-transit, delleveranser, restorder, marketplace vs. DTC, reglerade produkter).\r\n- Om input \u00e4r ofullst\u00e4ndig eller oklar, pausa och fr\u00e5ga bara efter minsta m\u00f6jliga extra information som beh\u00f6vs f\u00f6r att kunna forts\u00e4tta.\r\n\r\n## PROCESS\r\n### 1) F\u00f6ranalyssteg (obligatoriskt innan du bygger n\u00e5got)\r\n- \u00c5terge din f\u00f6rst\u00e5else av anv\u00e4ndarens situation utifr\u00e5n deras input.\r\n- Identifiera de 3 viktigaste sp\u00e4nningarna att balansera (t.ex. \u201cinstant replacement\u201d vs bedr\u00e4geririsk).\r\n- Lista antaganden du g\u00f6r och markera dem tydligt som antaganden.\r\n\r\n### 2) Logik f\u00f6r fasplanering (dynamisk)\r\n- Bed\u00f6m f\u00f6rst processens komplexitet och risk.\r\n- V\u00e4lj sedan ett l\u00e4mpligt antal faser: **9\u201311 steg** f\u00f6r en full DMAIC-uppbyggnad (justera upp\/ner baserat p\u00e5 mognad, volym, allvarlighetsgrad och resurser).\r\n- Namnge varje steg och f\u00f6rklara varf\u00f6r det finns (en mening per steg).\r\n\r\n### 3) Interaktiv leverans\r\n- Leverera arbetet **ett steg i taget**.\r\n- Avsluta varje steg med: \u201cType **continue** to proceed.\u201d  \r\n- N\u00e4r anv\u00e4ndaren ger nya detaljer mitt i processen, inf\u00f6rliva dem i n\u00e4sta steg och notera vad som \u00e4ndrades.\r\n\r\n### 4) Omfattningsgr\u00e4nser \u2014 vad detta INTE \u00e4r\r\n- Inte en juridisk policy eller en compliance-bed\u00f6mning.\r\n- Inte ett l\u00f6fte om finansiella utfall.\r\n- Inte en ers\u00e4ttning f\u00f6r security engineering, underwriting av payment risk eller formella bedr\u00e4geriutredningar.\r\n- Inte en fullst\u00e4ndig ERP\/WMS-implementationsplan; integrationer adresseras p\u00e5 krav-\/arkitekturniv\u00e5 om inte anv\u00e4ndaren tillhandah\u00e5ller systemspecifika detaljer.\r\n\r\n## INPUT\r\n- **F\u00f6retag \/ varum\u00e4rkesnamn:** [FORETAGSNAMN]  \r\n- **Bransch \/ s\u00e4ljmodell (DTC, marketplace, omnichannel, B2B, etc.):** [BRANSCH]  \r\n- **Prim\u00e4rt anv\u00e4ndarsegment \/ kundprofil:** [MALGRUPP]  \r\n- **Vad som ers\u00e4tts (produkt + fulfillment-kontext):** [PRODUKTBESKRIVNING]  \r\n- **Bakgrund till nuvarande situation:** [KONTEXT]  \r\n- **Huvudsaklig sm\u00e4rtpunkt att l\u00f6sa f\u00f6rst:** [HUVUDUTMANING]  \r\n- **Prim\u00e4rt m\u00e5l (hastighet, CSAT, kostnad, minskad fraud, etc.):** [PRIMART_MAL]  \r\n- **Tidsf\u00f6nster f\u00f6r utrullning:** [TIDSRAM]  \r\n- **Begr\u00e4nsningar (system, carriers, integrationer, bemanning, policygr\u00e4nser):** [OPERATIONELLA_BEGRANSNINGAR]  \r\n- **Nuvarande ers\u00e4ttningsvolym (per m\u00e5nad):** [ERSATTNINGSVOLYM]  \r\n- **Nuvarande ers\u00e4ttnings-SLA:er \/ l\u00f6ften:** [SLA_MAL]  \r\n- **Vanligaste klagom\u00e5len (3 punkter):** [VANLIGASTE_KUNDKLAGOMALEN]  \r\n- **Viktigaste SKU-kategorier (3\u20135):** [SKU_KATEGORIER]  \r\n\r\n## OUTPUTSPECIFIKATION\r\nTa fram en stegvis leverans enligt DMAIC + recovery-paradox. Varje steg m\u00e5ste inneh\u00e5lla punkterna som listas f\u00f6r det steget och anv\u00e4nda platsh\u00e5llarna nedan.\r\n\r\n### Steg 1 \u2014 Define: nul\u00e4geskartl\u00e4ggning\r\nInkludera:\r\n- {Current Workflow Summary}\r\n- {Failure Modes List}\r\n- {Customer Anger Drivers} (j\u00e4mf\u00f6r uttryckligen \u201coriginal failure\u201d vs \u201cbad recovery\u201d)\r\n- {Open Questions} (bara det som beh\u00f6vs h\u00e4rn\u00e4st)\r\n\r\n### Steg 2 \u2014 Define: recovery-principer & skyddsr\u00e4cken\r\nInkludera:\r\n- {Eligibility Rules} (anti-gaming)\r\n- {Evidence Standards} (balans mellan f\u00f6rtroende och skydd)\r\n- {Exception Paths}\r\n- {Target Recovery Speeds} (segmenterat vid behov)\r\n- {Customer Promise Boundaries}\r\n\r\n### Steg 3 \u2014 Measure: m\u00e4tsystem\r\nInkludera:\r\n- {Metric Set} (rate, tid, kostnad, CSAT\/NPS, repeat-claims, defect escape, etc.)\r\n- {Event Capture Map} (var data samlas in i fl\u00f6det)\r\n- {Baseline Plan}\r\n- {Alert Triggers}\r\n\r\n### Steg 4 \u2014 Analyze: rotorsaksintelligens\r\nInkludera:\r\n- {Reason Code Taxonomy}\r\n- {Decision Rules For Pattern Detection}\r\n- {Systemic Issue Flags}\r\n- {Supplier \/ Carrier Feedback Loop}\r\n- {Customer Behavior Signals} (utan bias; fokusera p\u00e5 observerbara riskindikatorer)\r\n\r\n### Steg 5 \u2014 Improve: m\u00e5lfl\u00f6de (k\u00e4rnoperativ modell)\r\nInkludera:\r\n- {Workflow Steps} (numrerade)\r\n- {Decision Tree Summary}\r\n- {Inventory & Stock Checks}\r\n- {Reship \/ Refund \/ Repair Routing Rules}\r\n- {Automation Opportunities}\r\n- {Abuse Controls Embedded In-Flow}\r\n\r\n### Steg 6 \u2014 Improve: design av kundkommunikation\r\nInkludera:\r\n- {Touchpoint Timeline}\r\n- {Message Templates} (ton i linje med [VARUMARKESTON] om den anges; annars \u201ctydlig, lugn, ansvarstagande\u201d)\r\n- {Proactive Updates Cadence}\r\n- {Delight Options} (kostnadstak)\r\n- {Voice-of-Customer Capture Points}\r\n\r\n### Steg 7 \u2014 Control: kontroller, automation och skydd\r\nInkludera:\r\n- {Control Plan}\r\n- {QA Checkpoints}\r\n- {Fraud & Abuse Detection Approach} (regler + tr\u00f6skelv\u00e4rden, inte kod om inte efterfr\u00e5gat)\r\n- {Limiters} (volymspikar, SKU-riskniv\u00e5er)\r\n- {Continuous Improvement Loop}\r\n\r\n### Steg 8 \u2014 Control: prestationsstyrning\r\nInkludera:\r\n- {KPI Dashboard Layout}\r\n- {Operating Rhythm} (veckovis \/ m\u00e5nadsvis)\r\n- {Escalation Ladder}\r\n- {Training Outline}\r\n- {Vendor\/Carrier Scorecard Elements}\r\n\r\n### Steg 9 \u2014 Implementeringsf\u00e4rdplan\r\nInkludera:\r\n- {Rollout Plan} (cirka 10\u201312 veckor, med sekvensering och beroenden)\r\n- {Quick Wins}\r\n- {Resourcing Plan}\r\n- {Risks & Mitigations}\r\n- {Success Checkpoints}\r\n\r\n### Avslutande sammanfattning (efter steg 9)\r\nInkludera:\r\n- {Executive Summary}\r\n- {Immediate Next Steps}\r\n- {Decisions Needed From Stakeholders}\r\n\r\n## KVALITETSKONTROLLER\r\nInnan du avslutar varje steg, verifiera:\r\n- T\u00e4ckning: DMAIC-intentionen f\u00f6r steget \u00e4r fullt adresserad (inte hoppad \u00f6ver eller ihopblandad).\r\n- Motst\u00e5ndskraft mot missbruk: minst en uttrycklig anti-gaming-mekanism finns d\u00e4r det \u00e4r relevant.\r\n- Kundp\u00e5verkan: kommunikation och timing minskar frustration i st\u00e4llet f\u00f6r att f\u00f6rst\u00e4rka den.\r\n- M\u00e4tbarhet: utfall kopplas till konkreta metrics och capture points.\r\n- Genomf\u00f6rbarhet: rekommendationer matchar [OPERATIONELLA_BEGRANSNINGAR], [ERSATTNINGSVOLYM] och [SLA_MAL] (eller ange antaganden om ok\u00e4nt).";
    const variables = ["[FORETAGSNAMN]","[BRANSCH]","[MALGRUPP]","[PRODUKTBESKRIVNING]","[KONTEXT]","[HUVUDUTMANING]","[PRIMART_MAL]","[TIDSRAM]","[OPERATIONELLA_BEGRANSNINGAR]","[ERSATTNINGSVOLYM]","[SLA_MAL]","[VANLIGASTE_KUNDKLAGOMALEN]","[SKU_KATEGORIER]","[VARUMARKESTON]"];
    // Initial render with highlighted variables
    document.addEventListener('DOMContentLoaded', function() {
        renderPromptWithHighlights();
    });

    // Live update prompt as user types
    document.querySelectorAll('.customize-input').forEach(input => {
        input.addEventListener('input', renderPromptWithHighlights);
    });

    function renderPromptWithHighlights() {
        const promptContent = document.getElementById('premium-prompt-content');
        if (!promptContent) return;

        let updatedPrompt = originalPrompt;
        let filledVariables = {};

        // Collect filled values
        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                filledVariables[placeholder] = value;
            }
        });

        // Replace filled variables and highlight remaining
        let htmlContent = escapeHtml(updatedPrompt);

        variables.forEach(placeholder => {
            const escapedPlaceholder = escapeHtml(placeholder);
            const regex = new RegExp(escapeRegex(escapedPlaceholder), 'g');

            if (filledVariables[placeholder]) {
                // Show filled value with green highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable-filled">' + escapeHtml(filledVariables[placeholder]) + '</span>'
                );
            } else {
                // Show original placeholder with yellow highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable">' + escapedPlaceholder + '</span>'
                );
            }
        });

        promptContent.innerHTML = htmlContent;
    }

    function escapeRegex(string) {
        return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
    }

    function escapeHtml(text) {
        const div = document.createElement('div');
        div.textContent = text;
        return div.innerHTML;
    }

    function resetPrompt() {
        // Clear all input fields
        document.querySelectorAll('.customize-input').forEach(input => {
            input.value = '';
        });

        // Re-render with original placeholders highlighted
        renderPromptWithHighlights();

        // Visual feedback
        const resetBtns = document.querySelectorAll('.prompt-header-reset, .prompt-cta-reset');
        resetBtns.forEach(btn => {
            const originalText = btn.querySelector('span').textContent;
            btn.querySelector('span').textContent = 'Återställd!';
            setTimeout(() => {
                btn.querySelector('span').textContent = originalText;
            }, 1000);
        });
    }


    function getCustomizedPrompt() {
        let updatedPrompt = originalPrompt;

        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                const regex = new RegExp(escapeRegex(placeholder), 'g');
                updatedPrompt = updatedPrompt.replace(regex, value);
            }
        });

        return updatedPrompt;
    }
</script>

</div>

<div class="pro-tips-section">

<h2 class="wp-block-heading">Proffstips för bättre resultat från AI-prompten</h2>



<ul class="wp-block-list">

<li><strong>Ta med verkliga basnivåer, även om de är grova.</strong> Prompten kommer att be om saknade detaljer, men du får skarpare skyddsräcken om du anger dagens ersättningsgrad, lost-in-transit-andel och genomsnittlig lösningstid. Om du inte vet, uppskatta och märk upp det (“~2,3 % av order begär ersättning; mediantid till lösning är 3 dagar”). Det är bättre än att gissa i tysthet.</li>


<li><strong>Definiera “tillit” i mätbara termer.</strong> Service Recovery Paradox kan låta fluffigt tills du kvantifierar det. Berätta för modellen vilken lojalitetsproxy du faktiskt kan se, som återköp inom 60 dagar, andel negativa recensioner, chargeback-rate eller NPS efter kontakt. Följdfråga: “Använd återköp inom 45 dagar som lojalitetsmått; föreslå två återställningsåtgärder och hur vi skulle testa dem.”</li>


<li><strong>Segmentera efter risk, inte efter känsla.</strong> Många team skriver regler som “VIP-kunder får direkt ersättning”, vilket kan bli dyrt och lätt att missbruka. Ge i stället segment som: förstagångsköpare, återkommande kunder med 0 tidigare anspråk, återkommande anspråkslämnare (2+ anspråk inom 90 dagar) och kunder med högt kundkorgsvärde. Fråga: “Skapa en nivåindelad policymatris baserad på anspråkshistorik och SKU-värdeintervall.”</li>


<li><strong>Efter första outputen: tvinga fram stresstester av avvägningar.</strong> Prompten balanserar naturligt hastighet, kostnad och bedrägeriresistens, men du bör pressa den hårdare. Testa: “Gör nu alternativ 1 30 % snabbare med något högre kostnad, och alternativ 2 20 % billigare med något långsammare lösning. Förklara felmoderna och var det brister.”</li>


<li><strong>Använd edge cases som acceptanskriterier.</strong> Om flödet fallerar på restorder och delleveranser så faller det i produktion. Mata in 3–5 jobbiga exempel (lost-in-transit för högvärdes-SKU, delleverans där 1 enhet saknas, reglerade produktbegränsningar för ersättning) och be sedan: “Skriv om beslutsreglerna så att de här fallen blir entydiga, inklusive vem som äger eskalering och begränsningar för kundkommunikation.”</li>

</ul>

</div>

<div class="related-prompts-section">

<h2 class="wp-block-heading">Relaterade prompter</h2>



<p>När ditt replacement recovery workflow är stabilt hjälper de här prompterna dig att minska återkommande incidenter och återta marginal i efterhand:</p>



<p>Om du också behöver kompensera ersättningskostnader med smartare intäktsfångst är <a href="https://nodenordic.se/prompts/bygg-korsforsaljningsfloden-efter-kop-med-ai-prompt">Bygg korsförsäljningsflöden efter köp med AI-prompt</a> ett praktiskt nästa steg. När en ersättning skickas måste tajming och budskap vara fingertoppskänsliga; ett strukturerat post-purchase-flöde hjälper dig att välja erbjudanden som känns hjälpsamma, inte opportunistiska.</p>



<p>För team som gör större katalogstädningar passar <a href="https://nodenordic.se/prompts/hitta-produktkategorier-med-hog-marginal-och-fa-returer">Hitta produktkategorier med hög marginal och få returer</a> bra tillsammans med återställningsarbetet. Ersättningar döljer ofta vilka SKU:er som faktiskt skapar operativt släp, så att identifiera “vinsttäta, låg-retur”-kategorier hjälper dig att styra merchandising och annonsbudget mot friskare produktlinjer.</p>



<p>När ledningen vill ha en mer genomarbetad plan för att öka AOV (utan att öka supportbelastningen), använd <a href="https://nodenordic.se/prompts/skapa-kompletterande-produktpaket-med-en-ai-prompt">Skapa kompletterande produktpaket med en AI-prompt</a>. Bundlar kan minska efterföljande ersättningsbrus genom bättre produktpassform och tydligare förväntningar, särskilt när du bundlar tillbehör som förebygger skador eller felanvändning.</p>


<br>


<p>Snabb översikt:</p>



<ul class="wp-block-list">

<li><a href="https://nodenordic.se/prompts/bygg-korsforsaljningsfloden-efter-kop-med-ai-prompt">Bygg korsförsäljningsflöden efter köp med AI-prompt</a>: Erbjudanden efter köp, tajmade till kundhändelser.</li>


<li><a href="https://nodenordic.se/prompts/hitta-produktkategorier-med-hog-marginal-och-fa-returer">Hitta produktkategorier med hög marginal och få returer</a>: Hitta lönsamma kategorier med färre returer.</li>


<li><a href="https://nodenordic.se/prompts/skapa-kompletterande-produktpaket-med-en-ai-prompt">Skapa kompletterande produktpaket med en AI-prompt</a>: Bundelidéer som förbättrar passform och värde.</li>


<li><a href="https://nodenordic.se/prompts/skapa-en-playbook-for-upp-och-korsforsaljning">Skapa en playbook för upp- och korsförsäljning</a>: Fullständig upsell-/cross-sell-strategi och regler.</li>


<li><a href="https://nodenordic.se/prompts/skapa-playbooks-for-korsforsaljning-och-merforsaljning">Skapa playbooks för korsförsäljning och merförsäljning</a>: Erbjudandekartläggning per segment och tillfälle.</li>

</ul>

</div>

<div class="faq-section">

<h2 class="wp-block-heading">Vanliga frågor</h2>


<div class="faq-item">
<span class="question">Vilka roller har mest nytta av den här AI-prompten för replacement recovery workflow?</span>

<p class="answer"><strong>chef för kundsupport</strong> använder den här för att standardisera ersättningsbeslut så att agenter slutar improvisera och eskaleringar minskar. <strong>chefer inom fulfillment-/lagerdrift</strong> använder den för att koppla ersättningsvolym till plock/pack, lagersaldots korrekthet och problem vid överlämning till transportör, inte bara “kundanspråk”. <strong>bedrägeri- och riskanalytiker</strong> använder den för att designa beviströsklar och kontroller för återkommande anspråkslämnare utan att skapa nya incitament att utnyttja systemet. <strong>ansvariga för kundupplevelse</strong> använder Service Recovery Paradox-delarna för att testa återställningsåtgärder som faktiskt ökar lojaliteten, inte bara kortsiktig nöjdhet.</p>

</div>

<div class="faq-item">
<span class="question">Vilka branscher får mest värde av den här AI-prompten för replacement recovery workflow?</span>

<p class="answer"><strong>DTC-e-handelsvarumärken</strong> får värde eftersom ersättningshastighet och ton direkt påverkar återköp, och bedrägerinätverk ofta riktar in sig på enkla “skicka om”-policyer. Prompten hjälper dem att bygga nivåindelade regler utifrån anspråkshistorik, SKU-värde och leveransbevis. <strong>marketplaces och multikanalsäljare</strong> får nytta när marketplace-policyer krockar med DTC-policyer, eftersom arbetsflödet tvingar fram kanalspecifika beslut och eskaleringsvägar. <strong>prenumerationsbox- och påfyllnadsverksamheter</strong> använder den för att minska churn genom att behandla saknade/sena boxar som en återställningsbar upplevelse, med kontrollerad kompensation och tydliga SLA:er. <strong>konsumentelektronik och högvärdiga varor</strong>-team använder den för högrisk-edge cases som serienummer, claims om stöld vid dörren och regulatoriska fraktbegränsningar.</p>

</div>

<div class="faq-item">
<span class="question">Varför ger grundläggande AI-prompter för att bygga ett replacement recovery workflow svaga resultat?</span>

<p class="answer">En typisk prompt som “Skriv ett ersättningsflöde för min butik” misslyckas eftersom den: saknar en DMAIC-stomme, så den når aldrig mätning och kontroll. Den saknar beslutsregler som står emot missbruk, vilket oavsiktligt uppmuntrar “ersättningsshopping” och upprepade anspråk. Den ignorerar operativa begränsningar som restorder, insynsgap i marketplace-data och kapacitet i kontaktcenter, så flödet ser bra ut men går inte att köra. Den ger generiska steg i stället för hantering av edge cases för högvärdes-SKU:er, delleveranser och lost-in-transit-scenarier, där de flesta verkliga tvister uppstår. Och den missar Service Recovery Paradox-tänket, så du får kostnadsjakt i stället för lojalitetsbyggande återställningsåtgärder som du kan testa.</p>

</div>

<div class="faq-item">
<span class="question">Kan jag anpassa den här replacement recovery workflow-prompten för min specifika situation?</span>

<p class="answer">Ja. Prompten är byggd för att pausa och be om minsta möjliga saknade input och sedan anpassa sig efter din volym, nuvarande SLA:er, kundsegment, tekniska och integrationsmässiga begränsningar samt operativ kapacitet. Du kan styra den genom att vara tydlig med begränsningar (till exempel “ingen access till transportörers API:er”, “WMS uppdateras nattligen” eller “agenter kan inte begära ID-verifiering på checkout-marknader”). Efter första stegvisa versionen, ställ en följdfråga som: “Bygg om arbetsflödet för 15 000 order/dag, 65 % marketplace, 48 timmars ersättnings-SLA och en strikt gräns för manuella granskningar. Visa vad som måste automatiseras vs. hanteras av specialister.”</p>

</div>

<div class="faq-item">
<span class="question">Vilka är de vanligaste misstagen när man använder den här replacement recovery workflow-prompten?</span>

<p class="answer">Det största misstaget är att lämna kontexten för vag, som “Vi gör många ersättningar”, i stället för “Vi skickar 4 000 order/dag, ersättningar är 2,8 %, och 40 % är ‘delivered-not-received’-anspråk.” Ett annat vanligt fel är att inte ange dina hårda begränsningar; “Vi kan integrera vad som helst” leder till orealistiska automationer, medan “Vi har bara Shopify + Zendesk, inga anpassade appförändringar på 60 dagar” ger en plan som går att genomföra. Team glömmer också att specificera missbruksmönster de redan ser (dåligt: “lite bedrägeri”; bra: “återkommande anspråkslämnare med 3+ DNR-anspråk på 30 dagar, ofta på högvärdes-SKU:er”). Till sist hoppar många över edge cases; om du inte nämner restorder, delleveranser och reglerade produkter från början kommer du att lappa processen senare med inkonsekventa undantag.</p>

</div>

<div class="faq-item">
<span class="question">Vem bör INTE använda den här replacement recovery workflow-prompten?</span>

<p class="answer">Den här prompten är inte optimal för engångssituationer där du bara behöver en enskild e-postmall eller ett snabbt “godkänn/avslå”-script. Den hjälper inte heller särskilt mycket om du inte har validerat din grundläggande fulfillment-data (korrekt orderstatus, korrekt lagersanning, pålitlighet i transportörers scanning), eftersom DMAIC-rekommendationer bygger på mätbara signaler. Och om teamet vill ha en lättviktig checklista i stället för en driftsmodell med skyddsräcken och kontroller kan den kännas överdimensionerad. I de fallen: börja med att dokumentera era nuvarande steg och felorsaker i två veckor och kom sedan tillbaka med verkliga exempel.</p>

</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Vilka roller har mest nytta av den här AI-prompten för replacement recovery workflow?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "chef för kundsupport använder den här för att standardisera ersättningsbeslut så att agenter slutar improvisera och eskaleringar minskar. chefer inom fulfillment-/lagerdrift använder den för att koppla ersättningsvolym till plock/pack, lagersaldots korrekthet och problem vid överlämning till transportör, inte bara “kundanspråk”. bedrägeri- och riskanalytiker använder den för att designa beviströsklar och kontroller för återkommande anspråkslämnare utan att skapa nya incitament att utnyttja systemet. ansvariga för kundupplevelse använder Service Recovery Paradox-delarna för att testa återställningsåtgärder som faktiskt ökar lojaliteten, inte bara kortsiktig nöjdhet."
      }
    },
    {
      "@type": "Question",
      "name": "Vilka branscher får mest värde av den här AI-prompten för replacement recovery workflow?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "DTC-e-handelsvarumärken får värde eftersom ersättningshastighet och ton direkt påverkar återköp, och bedrägerinätverk ofta riktar in sig på enkla “skicka om”-policyer. Prompten hjälper dem att bygga nivåindelade regler utifrån anspråkshistorik, SKU-värde och leveransbevis. marketplaces och multikanalsäljare får nytta när marketplace-policyer krockar med DTC-policyer, eftersom arbetsflödet tvingar fram kanalspecifika beslut och eskaleringsvägar. prenumerationsbox- och påfyllnadsverksamheter använder den för att minska churn genom att behandla saknade/sena boxar som en återställningsbar upplevelse, med kontrollerad kompensation och tydliga SLA:er. konsumentelektronik och högvärdiga varor-team använder den för högrisk-edge cases som serienummer, claims om stöld vid dörren och regulatoriska fraktbegränsningar."
      }
    },
    {
      "@type": "Question",
      "name": "Varför ger grundläggande AI-prompter för att bygga ett replacement recovery workflow svaga resultat?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "En typisk prompt som “Skriv ett ersättningsflöde för min butik” misslyckas eftersom den: saknar en DMAIC-stomme, så den når aldrig mätning och kontroll. Den saknar beslutsregler som står emot missbruk, vilket oavsiktligt uppmuntrar “ersättningsshopping” och upprepade anspråk. Den ignorerar operativa begränsningar som restorder, insynsgap i marketplace-data och kapacitet i kontaktcenter, så flödet ser bra ut men går inte att köra. Den ger generiska steg i stället för hantering av edge cases för högvärdes-SKU:er, delleveranser och lost-in-transit-scenarier, där de flesta verkliga tvister uppstår. Och den missar Service Recovery Paradox-tänket, så du får kostnadsjakt i stället för lojalitetsbyggande återställningsåtgärder som du kan testa."
      }
    },
    {
      "@type": "Question",
      "name": "Kan jag anpassa den här replacement recovery workflow-prompten för min specifika situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ja. Prompten är byggd för att pausa och be om minsta möjliga saknade input och sedan anpassa sig efter din volym, nuvarande SLA:er, kundsegment, tekniska och integrationsmässiga begränsningar samt operativ kapacitet. Du kan styra den genom att vara tydlig med begränsningar (till exempel “ingen access till transportörers API:er”, “WMS uppdateras nattligen” eller “agenter kan inte begära ID-verifiering på checkout-marknader”). Efter första stegvisa versionen, ställ en följdfråga som: “Bygg om arbetsflödet för 15 000 order/dag, 65 % marketplace, 48 timmars ersättnings-SLA och en strikt gräns för manuella granskningar. Visa vad som måste automatiseras vs. hanteras av specialister.”"
      }
    },
    {
      "@type": "Question",
      "name": "Vilka är de vanligaste misstagen när man använder den här replacement recovery workflow-prompten?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Det största misstaget är att lämna kontexten för vag, som “Vi gör många ersättningar”, i stället för “Vi skickar 4 000 order/dag, ersättningar är 2,8 %, och 40 % är ‘delivered-not-received’-anspråk.” Ett annat vanligt fel är att inte ange dina hårda begränsningar; “Vi kan integrera vad som helst” leder till orealistiska automationer, medan “Vi har bara Shopify + Zendesk, inga anpassade appförändringar på 60 dagar” ger en plan som går att genomföra. Team glömmer också att specificera missbruksmönster de redan ser (dåligt: “lite bedrägeri”; bra: “återkommande anspråkslämnare med 3+ DNR-anspråk på 30 dagar, ofta på högvärdes-SKU:er”). Till sist hoppar många över edge cases; om du inte nämner restorder, delleveranser och reglerade produkter från början kommer du att lappa processen senare med inkonsekventa undantag."
      }
    },
    {
      "@type": "Question",
      "name": "Vem bör INTE använda den här replacement recovery workflow-prompten?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Den här prompten är inte optimal för engångssituationer där du bara behöver en enskild e-postmall eller ett snabbt “godkänn/avslå”-script. Den hjälper inte heller särskilt mycket om du inte har validerat din grundläggande fulfillment-data (korrekt orderstatus, korrekt lagersanning, pålitlighet i transportörers scanning), eftersom DMAIC-rekommendationer bygger på mätbara signaler. Och om teamet vill ha en lättviktig checklista i stället för en driftsmodell med skyddsräcken och kontroller kan den kännas överdimensionerad. I de fallen: börja med att dokumentera era nuvarande steg och felorsaker i två veckor och kom sedan tillbaka med verkliga exempel."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">

<p>Ersättningar behöver varken vara ett marginalslukhål eller en bedrägerimagnet. Lägg in den här prompten i ditt AI-verktyg, följ det stegvisa “continue”-flödet och få en återställningsdriftsmodell som teamet faktiskt kan köra.</p>

</div><p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/bygg-ett-arbetsflode-for-aterhamtning-vid-ersattning/">Bygg ett arbetsflöde för återhämtning vid ersättning</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Minska avhopp i kassan med tydlig frakt med AI</title>
		<link>https://nodenordic.se/prompts/minska-avhopp-i-kassan-med-tydlig-frakt-med-ai/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=minska-avhopp-i-kassan-med-tydlig-frakt-med-ai</link>
		
		<dc:creator><![CDATA[Rickard Andersson]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 02:41:49 +0000</pubDate>
				<category><![CDATA[prompts]]></category>
		<guid isPermaLink="false">https://nodenordic.se/?p=5002879</guid>

					<description><![CDATA[<p>Avhopp i kassan ökar när leveransen är oklar. Denna AI-prompt bygger fraktcopy i steg, matriser, FAQ och tester.</p>
<p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/minska-avhopp-i-kassan-med-tydlig-frakt-med-ai/">Minska avhopp i kassan med tydlig frakt med AI</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></description>
										<content:encoded><![CDATA[<!-- FOCUS_KEYWORD: shipping clarity AI prompt -->
<div class="hook-introduction">

<p>Din kassa kan göra allt rätt, för att sedan tappa köpet i sista stund. Inte på grund av priset. Utan för att frakten känns otydlig. När leveranstid, kostnader och ”vad händer härnäst” inte är glasklart trycker kunder på tillbaka och intalar sig att de ska ”bestämma senare”.</p>



<p>Den här <strong>AI-prompten för tydlighet i frakt</strong> är byggd för <strong>e-handelsansvariga</strong> som behöver reda ut en rörig fraktpolicy som kunder inte läser, <strong>CRO-specialister</strong> som felsöker avhopp i kassan kopplade till leveransosäkerhet och <strong>varumärkesansvariga</strong> som får ”När kommer den?”-ärenden efter varje kampanj. Resultatet blir ett komplett paket för fraktkommunikation: stegvis copy i kassan, en fraktmatris, riktade FAQ:er och testidéer du kan implementera utan att förvandla sajten till en vägg av text.</p>

</div>

<div class="what-and-when-section">

<h2 class="wp-block-heading">Vad gör den här AI-prompten och när ska du använda den?</h2>



<table class="solution-results-table three-column" role="presentation" aria-label="What this prompt does, when to use it, and what you get">
 <thead>
    <tr>
      <th scope="col">Vad prompten gör</th>
      <th scope="col">När du ska använda prompten</th>
      <th scope="col">Det här får du</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <ul class="automation-list">
          <li>Den formulerar om ditt nuvarande leveranslöfte och identifierar de konkreta ”okända” som skapar tvekan (tid, kostnad, spårning, undantag eller regioner).</li>
          <li>Den omvandlar råa fraktuppgifter till skannbar mikrocopy för kassa och produktsida (PDP) och använder progressiv exponering i stället för långa policyblock.</li>
          <li>Den tar fram ett utkast till en strukturerad fraktmatris (per region, metod, tidsram och transportör) så att kunder snabbt kan hitta svar själva.</li>
          <li>Den skapar en uppsättning FAQ:er som minskar osäkerhet, inklusive specialfall som postboxar, delade leveranser och hanteringstid om det är relevant.</li>
          <li>Den föreslår praktiska A/B-testidéer för frakttydlighet, med fokus på placering, formulering och förväntansstyrning snarare än ”smart” övertalning.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>Du ser höga avhopp i fraktsteget eller betalsteget, och session replays visar att besökare letar efter leveransinfo.</li>
          <li>Supportinkorgen är full av frågor före köp om leveransdatum, transportörer eller internationella tullavgifter.</li>
          <li>Du lanserar en rea, en ny fraktmetod eller en ny region och behöver att löftet är konsekvent överallt.</li>
          <li>Recensioner nämner ”frakten tog längre tid än väntat” även när ni tekniskt sett följt policyn, vilket signalerar en förväntningskrock.</li>
          <li>Du skalar betald trafik och har inte råd med friktion; små förtroendeläckor i kassan blir snabbt dyra.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>En stegvis uppsättning fraktcopy för viktiga kontaktpunkter (PDP-snutt, varukorg, kassa och efter köp) med 2–3 varianter per punkt.</li>
           <li>Ett utkast till en fraktmatristabell som täcker regioner, metoder, leveranstidsramar och transportörer i en korrekt formaterad, skannbar layout.</li>
           <li>12–20 publiceringsklara FAQ:er om frakt skrivna på klarspråk, inklusive ”vad händer efter att jag beställt” och ”hur spårning fungerar”.</li>
           <li>En kort lista med ”okända och riskflaggor” som du kan använda för att få marknadsföringslöften att matcha den faktiska driften.</li>
           <li>6–10 testhypoteser med framgångsmått (till exempel: minska avhopp i fraktsteget, minska supportärenden, öka konvertering).</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

<div class="prompt-display-section">

<h2 class="wp-block-heading">Hela AI-prompten: byggare för paket med frakttydlighet i kassan</h2>



<div class="prompt-viewer-wrapper" id="prompt-section">
    <div class="prompt-comparison-row prompt-premium">
        <!-- Header with buttons -->
        <div class="prompt-row-header">
            <!-- <span class="prompt-row-icon">✨</span> -->
            <span class="prompt-row-title">
                                    Steg 1: Anpassa prompten med din information
                            </span>
            <div class="prompt-header-buttons">
                                    <button class="prompt-header-btn prompt-header-reset" onclick="resetPrompt()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Återställ</span>
                    </button>
                                <button class="prompt-header-btn prompt-header-copy-green flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span>Anpassa och kopiera hela prompten</span>
                </button>
            </div>
        </div>

        <!-- Customize the Prompt Section -->
                    <div class="prompt-customize-section">
                <span class="customize-title">Anpassa prompten</span>
                <p class="customize-subtitle">Fyll i fälten nedan för att anpassa prompten efter dina behov.</p>
                <table class="customize-table">
                    <thead>
                        <tr>
                            <th>Variabel</th>
                            <th>Vad du ska ange</th>
                            <th>Anpassa prompten</th>
                        </tr>
                    </thead>
                    <tbody>
                                                    <tr>
                                <td class="var-name"><code>[MALGRUPP]</code></td>
                                <td class="var-desc">
                                    Beskriv den primära kundgruppen som butiken vänder sig till, inklusive demografi, intressen och köpbeteende.                                    <div class="var-example">Till exempel: "Miljömedvetna millennials som föredrar hållbara produkter och handlar online för bekvämlighetens skull."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[MALGRUPP]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[LEVERANSALTERNATIV]</code></td>
                                <td class="var-desc">
                                    Lista vilka leveransalternativ som finns, till exempel standard, express eller leverans samma dag.                                    <div class="var-example">Till exempel: "Standardleverans, 2-dagars express och leverans nästa dag."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[LEVERANSALTERNATIV]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[LEVERANSTIDER]</code></td>
                                <td class="var-desc">
                                    Ange uppskattade leveranstider för varje leveransalternativ, inklusive eventuella variationer beroende på ort eller högsäsong.                                    <div class="var-example">Till exempel: "Standardleverans: 5–7 arbetsdagar; Expressleverans: 2–3 arbetsdagar; Leverans nästa dag: nästa arbetsdag."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[LEVERANSTIDER]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[LEVERANSOMRADEN]</code></td>
                                <td class="var-desc">
                                    Beskriv vilka geografiska områden leverans erbjuds till, inklusive eventuella undantag eller begränsningar.                                    <div class="var-example">Till exempel: "Levererar till USA:s fastland, Alaska, Hawaii och Kanada. Levererar inte till postboxar eller APO/FPO-adresser."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[LEVERANSOMRADEN]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TRANSPORTORER]</code></td>
                                <td class="var-desc">
                                    Lista vilka fraktbolag som används för leverans, till exempel USPS, FedEx eller UPS.                                    <div class="var-example">Till exempel: "FedEx för expressleverans, USPS för standardleverans och DHL för internationella beställningar."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[TRANSPORTORER]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[PRODUKTBESKRIVNING]</code></td>
                                <td class="var-desc">
                                    Ge en kort beskrivning av butikens produkter, inklusive viktiga egenskaper och kundnytta.                                    <div class="var-example">Till exempel: "Kläder av hög kvalitet med etiskt ursprung, designade för komfort och lång hållbarhet."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[PRODUKTBESKRIVNING]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[BRANSCH]</code></td>
                                <td class="var-desc">
                                    Ange vilken bransch eller marknadsnisch butiken verkar inom.                                    <div class="var-example">Till exempel: "E-handelsbutik inom mode med fokus på hållbara kläder."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[BRANSCH]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[VARUMARKESTON]</code></td>
                                <td class="var-desc">
                                    Beskriv vilken ton och kommunikationsstil varumärket använder för att skapa kontakt med målgruppen.                                    <div class="var-example">Till exempel: "Vänlig, lättillgänglig och kundfokuserad, med tydligt fokus på hållbarhet."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[VARUMARKESTON]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[FRAKTPRISER]</code></td>
                                <td class="var-desc">
                                    Beskriv hur fraktprissättningen är upplagd, till exempel fast pris, trappsteg/prisnivåer eller rörliga kostnader.                                    <div class="var-example">Till exempel: "Fast pris 5 USD för standardleverans, 15 USD för expressleverans och fri frakt för beställningar över 50 USD."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[FRAKTPRISER]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[GRANS_FOR_FRI_FRAKT]</code></td>
                                <td class="var-desc">
                                    Ange minsta ordervärde som krävs för att kunden ska få fri frakt.                                    <div class="var-example">Till exempel: "Minimiköp på 50 USD för fri standardfrakt."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[GRANS_FOR_FRI_FRAKT]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[FRAKTBEGRANSNINGAR]</code></td>
                                <td class="var-desc">
                                    Lista eventuella begränsningar eller restriktioner för frakt, till exempel viktgränser, farligt gods eller avlägsna områden.                                    <div class="var-example">Till exempel: "Kan inte skicka varor över 50 lb eller produkter med litiumbatterier till Alaska eller Hawaii."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[FRAKTBEGRANSNINGAR]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[KONKURRENTER]</code></td>
                                <td class="var-desc">
                                    Ange namn på konkurrenter eller branschreferenser att jämföra med eller differentiera sig mot.                                    <div class="var-example">Till exempel: "Konkurrenter är bland annat Patagonia, Everlane och REI."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[KONKURRENTER]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[PLATTFORM]</code></td>
                                <td class="var-desc">
                                    Ange vilken e-handelsplattform butiken använder, till exempel Shopify, WooCommerce eller Magento.                                    <div class="var-example">Till exempel: "Shopify Plus med anpassade integrationer i kassan."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[PLATTFORM]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[HUVUDMAL]</code></td>
                                <td class="var-desc">
                                    Ange det viktigaste målet med att förbättra kommunikationen kring leverans, till exempel att minska övergivna varukorgar eller öka kundernas förtroende.                                    <div class="var-example">Till exempel: "Minska avhopp i kassan genom att minska osäkerhet kring leverans och öka förtroendet för leveranstiderna."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[HUVUDMAL]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                            </tbody>
                </table>

                <button class="copy-customized-btn flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span class="copy-customized-text">Anpassa prompten nu</span>

                </button>
            </div>
        
        <!-- Full Prompt Code Header -->
                    <div class="prompt-code-header">
                <span class="prompt-code-title">
                    Steg 2: Kopiera prompten
                </span>
                <div class="prompt-code-buttons">
                    <!-- Reset: Only visible when unlocked -->
                    <button class="prompt-header-btn prompt-header-reset btn-when-unlocked" onclick="resetPrompt()" style="display: none;">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Återställ</span>
                    </button>
                    <!-- Copy Full Prompt -->
                    <button class="prompt-header-btn prompt-header-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                            <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                        </svg>
                        <span>Kopiera hela prompten</span>
                    </button>
                </div>
            </div>
        

        <!-- Prompt Content -->
        <div class="prompt-box prompt-gated-wrapper">
            <!-- Gated: Blurred content -->
            <div class="prompt-gated-content">
                <div class="prompt-header-visible">MÅL</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PERSONA</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">BEGRÄNSNINGAR</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Vad detta INTE är</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PROCESS</div><div class="prompt-header-visible subheader">0) Föranalys (obligatorisk)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">1) Kartläggning av nuläge &amp; setup</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">2) Granskning av kundosäkerhet</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">3) Tydlighetsritning (informationshierarki)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">4) Bygg frakt- &amp; leveranstext</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">5) Förbättringsloop (testning + underhåll)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Hantering av specialfall</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">INPUTS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">OUTPUTSPECIFIKATION</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">KVALITETSKONTROLLER</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div>            </div>
            <!-- Unlocked: Full content (hidden by default) -->
            <div class="prompt-content-full" id="premium-prompt-content" style="display: none;">
                ## MÅL
Förvandla en nätbutiks otydliga leverans-/fraktpolicy till ett fraktkommunikationspaket med högt förtroende och låg friktion som minskar avhopp i kassan och eliminerar ”leveransosäkerhet” som anledning att inte köpa.

## PERSONA
Du är en senior UX-konverteringsstrateg med specialisering på checkout och design av förväntningar efter köp. Din expertis kommer från flera år av förbättringar av köpflöden i högvolyms-e-handel och djup kunskap om hur leveranslöften, tydlighet i spårning och transparens i fulfillment påverkar förtroende. Din stil är pragmatisk, kundempati-driven och kompromisslös när det gäller att ta bort otydlighet.

## BEGRÄNSNINGAR
- Prioritera tydlighet framför finess; skriv för skumläsning.
- Utgå från klarspråk på cirka åk 8-nivå om inte [MALGRUPP] anger något annat.
- Undvik juridiskt språk om det inte krävs; ge aldrig löften som verksamheten inte kan hålla.
- Använd progressiv informationsvisning: det viktigaste först, detaljer tillgängliga utan att skapa visuellt brus.
- Var konsekvent med verksamhetens faktiska kapacitet i [LEVERANSALTERNATIV], [LEVERANSTIDER], [LEVERANSOMRADEN] och [TRANSPORTORER].
- Om konkurrenter/branschnormer anges, anpassa dig till dem eller differentiera dig medvetet utan spekulation.

### Vad detta INTE är
- Inte juridisk rådgivning eller en ersättning för en policy granskad av jurist.
- Inte en omdesign av fulfillment/operationer (du kan notera operativa begränsningar, men du kommer inte att ”fixa logistiken”).
- Inte en generisk mall; output måste spegla de givna inputsen.
- Inte SEO-blogginnehåll; leveransen är kundkommunikation som används i kassan.

## PROCESS
### 0) Föranalys (obligatorisk)
Innan du skriver något, återge kort:
- Vad du tror butiken säljer och vem den vänder sig till (från [PRODUKTBESKRIVNING] och [MALGRUPP])
- Vilket leveranslöfte kunden hör idag (baserat på inputs)
- De största ”okända” som kan skapa tvekan

Ställ sedan upp till 5 förtydligande frågor **endast om** någon kritisk input saknas eller motsäger annan information.

### 1) Kartläggning av nuläge &amp; setup
Omvandla råinput till en ren intern karta:
- Tillgängliga leveransmetoder
- Regioner som täcks och undantag
- Prisregler och trösklar
- Tidsuppskattningar och variation
- Överlämning till transportör och spårningsögonblick
- Undantag (postboxar, glesbygd, tull, högsäsong m.m.)

### 2) Granskning av kundosäkerhet
Identifiera **3–6** sannolika kundoron som är specifik för upplägget, till exempel:
- ”Kommer det fram till {Date}?”
- ”Vad händer efter att jag betalar?”
- ”Vad händer om spårningen inte rör sig?”
- ”Tillkommer det överraskningsavgifter?”
- ”Vad är undantaget eller begränsat?”

För varje oro: ange vilken information som löser den och var den bör visas.

### 3) Tydlighetsritning (informationshierarki)
Designa en sidstruktur med progressiv informationsvisning:
- Vad som måste synas direkt nära köpbeslut
- Vad som kan ligga bakom en accordion/tooltip/länk
- Mobil-först-ordning och skanningsmönster
- Vägledning för tabell vs. bullets vs. korta frågor &amp; svar

### 4) Bygg frakt- &amp; leveranstext
Skriv produktionsklar text för en sektion ”Frakt &amp; leverans” som innehåller:
- En förtroendeskapande rubrik och underrubrik
- En skumläsbar presentation av leveranstid och kostnad
- Budskap om fri frakt-tröskel (om relevant) som inte känns som en gimmick
- Förväntningar efter checkout (bekräftelse, hantering, spårning, överlämning till transportör)
- Förtroendesignaler kring transportör/spårning (endast om sant)
- Kort FAQ som hanterar edge cases och undantag

### 5) Förbättringsloop (testning + underhåll)
Ge en praktisk optimeringsplan:
- 3–5 A/B-testidéer kopplade till en hypotes
- Mätetal och event-förslag för att övervaka osäkerhetsdrivet avhopp
- En återkommande granskningskadens och vad som ska uppdateras varje cykel
- Vanliga felmoder att se upp för (särskilt på mobil)

### Hantering av specialfall
- Om [LEVERANSTIDER] är intervall med hög variation, skriv text som sätter förväntningar och förklarar variationen utan att låta defensiv.
- Om [LEVERANSOMRADEN] inkluderar internationell leverans, inkludera tydlighet kring tull/moms/avgifter med ”kan”-språk om exakta regler inte är kända.
- Om fri frakt finns men exkluderar varor/regioner, redovisa undantaget tydligt där tröskeln nämns.
- Om inputs är ofullständiga, producera en ”bästa tillgängliga”-version och markera antaganden tydligt under en {Assumptions}-sektion.

## INPUTS
- **Primärt användarsegment:** [MALGRUPP]
- **Erbjudandesammanfattning:** [PRODUKTBESKRIVNING]
- **Bransch/kategori:** [BRANSCH]
- **Riktlinjer för tonalitet:** [VARUMARKESTON]
- **Erbjudna leveransmetoder (t.ex. Standard/Express):** [LEVERANSALTERNATIV]
- **Regioner/länder ni skickar till (och eventuella undantag):** [LEVERANSOMRADEN]
- **Leverans-/hanteringstidsuppskattningar per metod:** [LEVERANSTIDER]
- **Fraktpriser och regler:** [FRAKTPRISER]
- **Fri frakt-tröskel (om någon):** [GRANS_FOR_FRI_FRAKT]
- **Primära transportörer:** [TRANSPORTORER]
- **Begränsningar (t.ex. inga postboxar, farligt gods, högsäsongsförseningar):** [FRAKTBEGRANSNINGAR]
- **Konkurrenter eller marknadsnormer att matcha/överträffa (valfritt):** [KONKURRENTER]
- **Plattform/sammanhang där detta ska visas (varukorgssida, checkout, PDP, hjälpcenter):** [PLATTFORM]
- **Primärt mål (t.ex. minska varukorgsavhopp, färre supportärenden):** [HUVUDMAL]

## OUTPUTSPECIFIKATION
Leverera följande sektioner, i ordning:

1. **{Pre-Analysis Summary}**
   - {Understanding Of Store}
   - {Primary Shipping Promise Today}
   - {Key Unknowns}
   - {Clarifying Questions If Needed}

2. **{Shipping Setup Snapshot}**
   - {Methods And Regions}
   - {Costs And Thresholds}
   - {Timeframes}
   - {Carriers And Tracking}
   - {Notable Constraints}

3. **{Customer Uncertainty Audit}**
   - En numrerad lista där varje punkt innehåller:
     - {Anxiety}
     - {What Customers Need To Know}
     - {Best Placement In Checkout Journey}
     - {Recommended Trust Cue}

4. **{Clarity Blueprint (Progressive Disclosure)}**
   - {Above-The-Fold Must-Haves}
   - {Secondary Details (Accordion/Link)}
   - {Suggested Layout Notes}
   - {Mobile-First Considerations}

5. **{Shipping &amp; Delivery Copy (Ready To Paste)}**
   - {Headline}
   - {Subhead}
   - {Delivery Table Or Matrix}
   - {Pricing And Free-Shipping Callout}
   - {After-Checkout Expectations}
   - {Carrier/Tracking Statement}
   - {FAQ Block}

6. **{Testing &amp; Maintenance Plan}**
   - {A/B Test Ideas}
   - {Metrics To Track}
   - {Instrumentation Suggestions}
   - {Quarterly Review Checklist}
   - {Common Pitfalls}

7. **{Assumptions}** (endast vid behov)

## KVALITETSKONTROLLER
Innan du färdigställer, verifiera:
- Texten ger ett konkret löfte om ”vad som händer härnäst” efter betalning.
- Tidsramar, kostnader och undantag är entydiga och lätta att skanna.
- Inga påståenden krockar med angivna begränsningar eller okända faktorer.
- Strukturen fungerar på mobil utan att kritisk information göms.
- FAQ:en besvarar de mest sannolika ”deal-breaker”-frågorna för detta upplägg.            </div>
        </div>


    </div>

    <!-- CTA Row - Full width buttons -->
    <div class="prompt-cta-row">
        <button class="prompt-cta-btn prompt-cta-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
            </svg>
            <span class="cta-copy-text">Kopiera hela prompten</span>
        </button>
    </div>
</div>

<style>
    /* Gated prompt states */
    .prompt-gated-wrapper {
        position: relative;
    }

    /* When unlocked - show full content, hide gated */
    body.flowpast-unlocked .prompt-gated-wrapper .prompt-gated-content {
        display: none;
    }

    body.flowpast-unlocked .prompt-gated-wrapper .prompt-content-full {
        display: block !important;
    }

    /* Show/hide elements based on unlock state */
    body.flowpast-unlocked .btn-when-unlocked {
        display: inline-flex !important;
    }

    .prompt-viewer-wrapper {
        scroll-margin-top: 250px;
    }

    /* ========================================
   PROMPT VIEWER - MAIN WRAPPER
   ======================================== */
    .prompt-viewer-wrapper {
        margin: 30px 0;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    /* ========================================
   PROMPT BOX CONTAINER
   ======================================== */
    .prompt-comparison-row {
        border-radius: 12px;
        overflow: hidden;
        border: 1px solid #e0e0e0;
        background: #fff;
    }

    /* ========================================
   HEADER WITH BUTTONS
   ======================================== */
    .prompt-row-header {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 14px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
        flex-wrap: wrap;
    }

    .prompt-row-icon {
        font-size: 20px;
    }

    .prompt-row-title {
        font-weight: 600;
        font-size: 22px;
        color: #fff !important;
        text-decoration: underline
    }

    .prompt-header-buttons {
        margin-left: auto;
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
    }

    /* Header buttons */
    .prompt-header-btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 10px 20px;
        border-radius: 6px;
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-header-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-header-copy:hover {
        background: #2a2a2a;
    }

    .prompt-header-copy.copied {
        background: #2e7d32;
    }

    .prompt-header-copy-green {
        background: #04AA6D !important;
        color: #fff !important;
    }

    .prompt-header-copy-green span {
        color: #fff !important;
    }

    .prompt-header-copy-green:hover {
        background: #039860 !important;
    }

    .prompt-header-copy-green.copied {
        background: #2e7d32 !important;
    }

    .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-header-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-1px);
    }

    /* ========================================
   PROMPT CONTENT - FULL (NO SCROLL)
   ======================================== */
    .prompt-box {
        background: #ffffff;
    }

    .prompt-content-full {
        padding: 24px;
        margin: 0;
        color: #202124;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.7;
        white-space: pre-wrap;
        word-wrap: break-word;
        /* No scroll - show full content */
        max-height: none;
        overflow: visible;
    }

    /* Highlighted variable in prompt */
    .prompt-variable {
        background: #fff3cd;
        color: #1967d2;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #ffc107;
    }

    .prompt-variable-filled {
        background: #d4edda;
        color: #155724;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #28a745;
    }

    /* ========================================
   GATED CONTENT (NO ACCESS)
   ======================================== */
    .prompt-gated-content {
        padding: 24px;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.8;
        max-height: none;
        overflow: visible;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        cursor: default;
    }

    /* ## headers - larger, black */
    .prompt-header-visible {
        color: #202124;
        font-weight: 600;
        margin: 5px 0 0px 0;
        font-size: 20px;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        text-decoration: underline;
        text-underline-offset: 4px;
    }

    /* ### headers - smaller, black */
    .prompt-header-visible.subheader {
        color: #202124;
        font-weight: 600;
        margin: 5px 0;
        font-size: 18px;
    }

    .prompt-header-visible:first-child {
        margin-top: 0;
    }

    /* ========================================
   LOCKED SECTION BLOCK
   ======================================== */
    .locked-section {
        position: relative;
        margin: 4px 0 8px 0;
        border-radius: 6px;
        overflow: hidden;
        background: linear-gradient(110deg, #e2e8f0 8%, #f1f5f9 18%, #e2e8f0 33%);
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
    }

    .locked-section-bg {
        position: relative;
    }

    .locked-section-lines {
        padding: 8px 12px;
        position: relative;
    }

    .locked-line {
        height: 6px;
        background: rgba(255, 255, 255, 0.6);
        border-radius: 3px;
        margin-bottom: 4px;
        margin-left: 12px;
    }

    .locked-line:last-child {
        margin-bottom: 0;
    }

    .locked-section-icon {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 10;
        font-size: 24px;
        filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.1));
    }

    /* Subheader locked sections - slightly indented */
    /*  .prompt-header-visible.subheader+.locked-section {
        margin-left: 16px;
    } */

    /* ========================================
   COMPATIBILITY BADGES
   ======================================== */
    .prompt-compatibility {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        padding: 12px 20px;
        background: #f8f9fa;
        border-top: 1px solid #e0e0e0;
    }

    .compat-label {
        font-size: 13px;
        color: #5f6368;
        font-weight: 500;
    }

    .compat-badge {
        padding: 4px 10px;
        background: #e8f0fe;
        color: #1967d2;
        border-radius: 4px;
        font-size: 12px;
        font-weight: 500;
    }

    /* ========================================
   CTA ROW - FULL WIDTH BUTTONS
   ======================================== */
    .prompt-cta-row {
        display: flex;
        gap: 16px;
        flex-wrap: wrap;
    }

    .prompt-cta-btn {
        flex: 1;
        min-width: 200px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 16px 24px;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-cta-copy {
        background: #3a3a3a;
        color: #fff !important;
    }


    .prompt-cta-copy span {
        background: #3a3a3a;
        color: #fff !important;
    }


    .prompt-cta-copy:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }


    .prompt-cta-copy.copied {
        background: #2e7d32;
    }

    .prompt-cta-reset {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-reset:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-cta-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    /* ========================================
    CUSTOMIZE YOUR PROMPT SECTION
    ======================================== */
    .prompt-customize-section {
        padding: 24px;
        border-bottom: 1px solid #e0e0e0;
        background: #fafbfc;
    }

    .customize-title {
        margin: 0 0 8px 0;
        font-size: 18px;
        font-weight: 700;
        color: #202124;
    }

    .customize-subtitle {
        margin: 0 0 20px 0;
        font-size: 14px;
        color: #5f6368;
    }

    .customize-table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 20px;
    }

    .customize-table th {
        text-align: left;
        padding: 12px;
        background: #f1f3f4;
        border: 1px solid #e0e0e0;
        font-size: 13px;
        font-weight: 600;
        color: #202124;
    }

    .customize-table td {
        padding: 12px;
        border: 1px solid #e0e0e0;
        vertical-align: top;
    }

    .customize-table .var-name {
        width: 25%;
        background: #f8f9fa;
    }

    .customize-table .var-name code {
        background: #fff3cd;
        color: #1967d2;
        border: 1px solid #ffc107;
        padding: 4px 8px;
        border-radius: 4px;
        font-size: 12px;
        word-break: break-all;
        font-weight: 600;
    }

    .customize-table .var-desc {
        width: 35%;
        font-size: 13px;
        color: #5f6368;
        line-height: 1.5;
    }

    .customize-table .var-example {
        margin-top: 8px;
        padding: 8px 10px;
        background: #f8f9fa;
        border-left: 3px solid #dadce0;
        font-size: 12px;
        color: #5f6368;
        font-style: italic;
        border-radius: 0 4px 4px 0;
    }

    .customize-table .var-input {
        width: 40%;
    }

    .customize-input {
        width: 100%;
        padding: 10px 12px;
        border: 1px solid #dadce0;
        border-radius: 6px;
        font-size: 13px;
        font-family: inherit;
        resize: vertical;
        transition: border-color 0.2s, box-shadow 0.2s;
    }

    .customize-input:focus {
        outline: none;
        border-color: rgb(5, 152, 98);
        box-shadow: 0 0 0 3px rgba(5, 152, 98, 0.1);
    }

    .customize-input::placeholder {
        color: #9aa0a6;
        font-style: italic;
    }

    .copy-customized-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        width: 100%;
        padding: 16px 24px;
        background: rgb(5, 152, 98);
        color: #fff !important;
        border: none;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
    }

    .copy-customized-btn span {
        color: #fff !important
    }

    .copy-customized-text span {
        color: #fff !important
    }

    .copy-customized-btn:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    .copy-customized-btn.copied {
        background: #2e7d32;
    }

    /* ========================================
    FULL PROMPT CODE HEADER
    ======================================== */
    .prompt-code-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
    }

    .prompt-code-title {
        font-size: 22px;
        font-weight: 600;
        text-decoration: underline;
        color: #fff !important;

    }

    .prompt-code-buttons {
        display: flex;
        gap: 8px;
    }

    .prompt-code-buttons .prompt-header-btn {
        padding: 8px 14px;
        font-size: 13px;
        background: #ffffff;
        color: #202124;
        border: 1px solid #dadce0;
    }

    .prompt-code-buttons .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
        border-color: rgb(5, 152, 98);
    }

    .prompt-code-buttons .prompt-header-btn.prompt-header-access:hover {
        background: rgb(4, 130, 83) !important;
        border-color: rgb(4, 130, 83);
        color: #fff !important;
    }

    .prompt-code-buttons .prompt-header-btn:hover {
        background: #f1f3f4;
    }

    .prompt-code-buttons .prompt-header-copy.copied {
        background: #d4edda;
        color: #155724;
        border-color: #28a745;
    }

    .prompt-header-reset {
        background: #ffffff;
        color: #202124;
    }

    /* ========================================
   RESPONSIVE
   ======================================== */
    @media (max-width: 768px) {
        .prompt-row-header {
            flex-direction: column;
            align-items: flex-start;
            gap: 12px;
        }

        .prompt-header-buttons {
            margin-left: 0;
            width: 100%;
        }

        .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }

        .prompt-cta-row {
            flex-direction: column;
        }

        .prompt-cta-btn {
            width: 100%;
        }

        /* Customize table responsive */
        .customize-table,
        .customize-table thead,
        .customize-table tbody,
        .customize-table tr,
        .customize-table th,
        .customize-table td {
            display: block;
        }

        .customize-table thead {
            display: none;
        }

        .customize-table tr {
            margin-bottom: 16px;
            border: 1px solid #e0e0e0;
            border-radius: 8px;
            overflow: hidden;
        }

        .customize-table td {
            width: 100% !important;
            border: none;
            border-bottom: 1px solid #e0e0e0;
        }

        .customize-table td:last-child {
            border-bottom: none;
        }

        .customize-table .var-name {
            background: #f1f3f4;
            font-weight: 600;
        }

        .prompt-code-header {
            flex-direction: column;
            gap: 12px;
            align-items: flex-start;
        }

        .prompt-code-buttons {
            width: 100%;
        }

        .prompt-code-buttons .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }
    }
</style>

<script>
    function handlePromptCopy() {
        // Check if unlocked via cookie
        if (typeof window.flowpastIsUnlocked === 'function' && !window.flowpastIsUnlocked()) {
            // Show email popup
            if (typeof window.flowpastShowEmailPopup === 'function') {
                window.flowpastShowEmailPopup('prompt');
            }
            return;
        }

        // Copy the customized prompt (with filled variables)
        const customizedPrompt = getCustomizedPrompt();
        const copyButtons = document.querySelectorAll('.prompt-header-copy, .prompt-header-copy-green, .prompt-cta-copy, .copy-customized-btn');

        navigator.clipboard.writeText(customizedPrompt).then(() => {
            copyButtons.forEach(btn => {
                btn.classList.add('copied');
                const textSpan = btn.querySelector('span');
                if (textSpan) textSpan.textContent = 'Kopierad!';
            });

            setTimeout(() => {
                copyButtons.forEach(btn => {
                    btn.classList.remove('copied');
                    const textSpan = btn.querySelector('span');
                    if (textSpan) textSpan.textContent = 'Kopiera hela prompten';
                });
            }, 2000);
        }).catch(err => {
            console.error('Failed to copy:', err);
        });
    }

    // Store original prompt for customization
    const originalPrompt = "## M\u00c5L\r\nF\u00f6rvandla en n\u00e4tbutiks otydliga leverans-\/fraktpolicy till ett fraktkommunikationspaket med h\u00f6gt f\u00f6rtroende och l\u00e5g friktion som minskar avhopp i kassan och eliminerar \u201dleveransos\u00e4kerhet\u201d som anledning att inte k\u00f6pa.\r\n\r\n## PERSONA\r\nDu \u00e4r en senior UX-konverteringsstrateg med specialisering p\u00e5 checkout och design av f\u00f6rv\u00e4ntningar efter k\u00f6p. Din expertis kommer fr\u00e5n flera \u00e5r av f\u00f6rb\u00e4ttringar av k\u00f6pfl\u00f6den i h\u00f6gvolyms-e-handel och djup kunskap om hur leveransl\u00f6ften, tydlighet i sp\u00e5rning och transparens i fulfillment p\u00e5verkar f\u00f6rtroende. Din stil \u00e4r pragmatisk, kundempati-driven och kompromissl\u00f6s n\u00e4r det g\u00e4ller att ta bort otydlighet.\r\n\r\n## BEGR\u00c4NSNINGAR\r\n- Prioritera tydlighet framf\u00f6r finess; skriv f\u00f6r skuml\u00e4sning.\r\n- Utg\u00e5 fr\u00e5n klarspr\u00e5k p\u00e5 cirka \u00e5k 8-niv\u00e5 om inte [MALGRUPP] anger n\u00e5got annat.\r\n- Undvik juridiskt spr\u00e5k om det inte kr\u00e4vs; ge aldrig l\u00f6ften som verksamheten inte kan h\u00e5lla.\r\n- Anv\u00e4nd progressiv informationsvisning: det viktigaste f\u00f6rst, detaljer tillg\u00e4ngliga utan att skapa visuellt brus.\r\n- Var konsekvent med verksamhetens faktiska kapacitet i [LEVERANSALTERNATIV], [LEVERANSTIDER], [LEVERANSOMRADEN] och [TRANSPORTORER].\r\n- Om konkurrenter\/branschnormer anges, anpassa dig till dem eller differentiera dig medvetet utan spekulation.\r\n\r\n### Vad detta INTE \u00e4r\r\n- Inte juridisk r\u00e5dgivning eller en ers\u00e4ttning f\u00f6r en policy granskad av jurist.\r\n- Inte en omdesign av fulfillment\/operationer (du kan notera operativa begr\u00e4nsningar, men du kommer inte att \u201dfixa logistiken\u201d).\r\n- Inte en generisk mall; output m\u00e5ste spegla de givna inputsen.\r\n- Inte SEO-blogginneh\u00e5ll; leveransen \u00e4r kundkommunikation som anv\u00e4nds i kassan.\r\n\r\n## PROCESS\r\n### 0) F\u00f6ranalys (obligatorisk)\r\nInnan du skriver n\u00e5got, \u00e5terge kort:\r\n- Vad du tror butiken s\u00e4ljer och vem den v\u00e4nder sig till (fr\u00e5n [PRODUKTBESKRIVNING] och [MALGRUPP])\r\n- Vilket leveransl\u00f6fte kunden h\u00f6r idag (baserat p\u00e5 inputs)\r\n- De st\u00f6rsta \u201dok\u00e4nda\u201d som kan skapa tvekan\r\n\r\nSt\u00e4ll sedan upp till 5 f\u00f6rtydligande fr\u00e5gor **endast om** n\u00e5gon kritisk input saknas eller mots\u00e4ger annan information.\r\n\r\n### 1) Kartl\u00e4ggning av nul\u00e4ge & setup\r\nOmvandla r\u00e5input till en ren intern karta:\r\n- Tillg\u00e4ngliga leveransmetoder\r\n- Regioner som t\u00e4cks och undantag\r\n- Prisregler och tr\u00f6sklar\r\n- Tidsuppskattningar och variation\r\n- \u00d6verl\u00e4mning till transport\u00f6r och sp\u00e5rnings\u00f6gonblick\r\n- Undantag (postboxar, glesbygd, tull, h\u00f6gs\u00e4song m.m.)\r\n\r\n### 2) Granskning av kundos\u00e4kerhet\r\nIdentifiera **3\u20136** sannolika kundoron som \u00e4r specifik f\u00f6r uppl\u00e4gget, till exempel:\r\n- \u201dKommer det fram till {Date}?\u201d\r\n- \u201dVad h\u00e4nder efter att jag betalar?\u201d\r\n- \u201dVad h\u00e4nder om sp\u00e5rningen inte r\u00f6r sig?\u201d\r\n- \u201dTillkommer det \u00f6verraskningsavgifter?\u201d\r\n- \u201dVad \u00e4r undantaget eller begr\u00e4nsat?\u201d\r\n\r\nF\u00f6r varje oro: ange vilken information som l\u00f6ser den och var den b\u00f6r visas.\r\n\r\n### 3) Tydlighetsritning (informationshierarki)\r\nDesigna en sidstruktur med progressiv informationsvisning:\r\n- Vad som m\u00e5ste synas direkt n\u00e4ra k\u00f6pbeslut\r\n- Vad som kan ligga bakom en accordion\/tooltip\/l\u00e4nk\r\n- Mobil-f\u00f6rst-ordning och skanningsm\u00f6nster\r\n- V\u00e4gledning f\u00f6r tabell vs. bullets vs. korta fr\u00e5gor & svar\r\n\r\n### 4) Bygg frakt- & leveranstext\r\nSkriv produktionsklar text f\u00f6r en sektion \u201dFrakt & leverans\u201d som inneh\u00e5ller:\r\n- En f\u00f6rtroendeskapande rubrik och underrubrik\r\n- En skuml\u00e4sbar presentation av leveranstid och kostnad\r\n- Budskap om fri frakt-tr\u00f6skel (om relevant) som inte k\u00e4nns som en gimmick\r\n- F\u00f6rv\u00e4ntningar efter checkout (bekr\u00e4ftelse, hantering, sp\u00e5rning, \u00f6verl\u00e4mning till transport\u00f6r)\r\n- F\u00f6rtroendesignaler kring transport\u00f6r\/sp\u00e5rning (endast om sant)\r\n- Kort FAQ som hanterar edge cases och undantag\r\n\r\n### 5) F\u00f6rb\u00e4ttringsloop (testning + underh\u00e5ll)\r\nGe en praktisk optimeringsplan:\r\n- 3\u20135 A\/B-testid\u00e9er kopplade till en hypotes\r\n- M\u00e4tetal och event-f\u00f6rslag f\u00f6r att \u00f6vervaka os\u00e4kerhetsdrivet avhopp\r\n- En \u00e5terkommande granskningskadens och vad som ska uppdateras varje cykel\r\n- Vanliga felmoder att se upp f\u00f6r (s\u00e4rskilt p\u00e5 mobil)\r\n\r\n### Hantering av specialfall\r\n- Om [LEVERANSTIDER] \u00e4r intervall med h\u00f6g variation, skriv text som s\u00e4tter f\u00f6rv\u00e4ntningar och f\u00f6rklarar variationen utan att l\u00e5ta defensiv.\r\n- Om [LEVERANSOMRADEN] inkluderar internationell leverans, inkludera tydlighet kring tull\/moms\/avgifter med \u201dkan\u201d-spr\u00e5k om exakta regler inte \u00e4r k\u00e4nda.\r\n- Om fri frakt finns men exkluderar varor\/regioner, redovisa undantaget tydligt d\u00e4r tr\u00f6skeln n\u00e4mns.\r\n- Om inputs \u00e4r ofullst\u00e4ndiga, producera en \u201db\u00e4sta tillg\u00e4ngliga\u201d-version och markera antaganden tydligt under en {Assumptions}-sektion.\r\n\r\n## INPUTS\r\n- **Prim\u00e4rt anv\u00e4ndarsegment:** [MALGRUPP]\r\n- **Erbjudandesammanfattning:** [PRODUKTBESKRIVNING]\r\n- **Bransch\/kategori:** [BRANSCH]\r\n- **Riktlinjer f\u00f6r tonalitet:** [VARUMARKESTON]\r\n- **Erbjudna leveransmetoder (t.ex. Standard\/Express):** [LEVERANSALTERNATIV]\r\n- **Regioner\/l\u00e4nder ni skickar till (och eventuella undantag):** [LEVERANSOMRADEN]\r\n- **Leverans-\/hanteringstidsuppskattningar per metod:** [LEVERANSTIDER]\r\n- **Fraktpriser och regler:** [FRAKTPRISER]\r\n- **Fri frakt-tr\u00f6skel (om n\u00e5gon):** [GRANS_FOR_FRI_FRAKT]\r\n- **Prim\u00e4ra transport\u00f6rer:** [TRANSPORTORER]\r\n- **Begr\u00e4nsningar (t.ex. inga postboxar, farligt gods, h\u00f6gs\u00e4songsf\u00f6rseningar):** [FRAKTBEGRANSNINGAR]\r\n- **Konkurrenter eller marknadsnormer att matcha\/\u00f6vertr\u00e4ffa (valfritt):** [KONKURRENTER]\r\n- **Plattform\/sammanhang d\u00e4r detta ska visas (varukorgssida, checkout, PDP, hj\u00e4lpcenter):** [PLATTFORM]\r\n- **Prim\u00e4rt m\u00e5l (t.ex. minska varukorgsavhopp, f\u00e4rre support\u00e4renden):** [HUVUDMAL]\r\n\r\n## OUTPUTSPECIFIKATION\r\nLeverera f\u00f6ljande sektioner, i ordning:\r\n\r\n1. **{Pre-Analysis Summary}**\r\n   - {Understanding Of Store}\r\n   - {Primary Shipping Promise Today}\r\n   - {Key Unknowns}\r\n   - {Clarifying Questions If Needed}\r\n\r\n2. **{Shipping Setup Snapshot}**\r\n   - {Methods And Regions}\r\n   - {Costs And Thresholds}\r\n   - {Timeframes}\r\n   - {Carriers And Tracking}\r\n   - {Notable Constraints}\r\n\r\n3. **{Customer Uncertainty Audit}**\r\n   - En numrerad lista d\u00e4r varje punkt inneh\u00e5ller:\r\n     - {Anxiety}\r\n     - {What Customers Need To Know}\r\n     - {Best Placement In Checkout Journey}\r\n     - {Recommended Trust Cue}\r\n\r\n4. **{Clarity Blueprint (Progressive Disclosure)}**\r\n   - {Above-The-Fold Must-Haves}\r\n   - {Secondary Details (Accordion\/Link)}\r\n   - {Suggested Layout Notes}\r\n   - {Mobile-First Considerations}\r\n\r\n5. **{Shipping & Delivery Copy (Ready To Paste)}**\r\n   - {Headline}\r\n   - {Subhead}\r\n   - {Delivery Table Or Matrix}\r\n   - {Pricing And Free-Shipping Callout}\r\n   - {After-Checkout Expectations}\r\n   - {Carrier\/Tracking Statement}\r\n   - {FAQ Block}\r\n\r\n6. **{Testing & Maintenance Plan}**\r\n   - {A\/B Test Ideas}\r\n   - {Metrics To Track}\r\n   - {Instrumentation Suggestions}\r\n   - {Quarterly Review Checklist}\r\n   - {Common Pitfalls}\r\n\r\n7. **{Assumptions}** (endast vid behov)\r\n\r\n## KVALITETSKONTROLLER\r\nInnan du f\u00e4rdigst\u00e4ller, verifiera:\r\n- Texten ger ett konkret l\u00f6fte om \u201dvad som h\u00e4nder h\u00e4rn\u00e4st\u201d efter betalning.\r\n- Tidsramar, kostnader och undantag \u00e4r entydiga och l\u00e4tta att skanna.\r\n- Inga p\u00e5st\u00e5enden krockar med angivna begr\u00e4nsningar eller ok\u00e4nda faktorer.\r\n- Strukturen fungerar p\u00e5 mobil utan att kritisk information g\u00f6ms.\r\n- FAQ:en besvarar de mest sannolika \u201ddeal-breaker\u201d-fr\u00e5gorna f\u00f6r detta uppl\u00e4gg.";
    const variables = ["[MALGRUPP]","[LEVERANSALTERNATIV]","[LEVERANSTIDER]","[LEVERANSOMRADEN]","[TRANSPORTORER]","[PRODUKTBESKRIVNING]","[BRANSCH]","[VARUMARKESTON]","[FRAKTPRISER]","[GRANS_FOR_FRI_FRAKT]","[FRAKTBEGRANSNINGAR]","[KONKURRENTER]","[PLATTFORM]","[HUVUDMAL]"];
    // Initial render with highlighted variables
    document.addEventListener('DOMContentLoaded', function() {
        renderPromptWithHighlights();
    });

    // Live update prompt as user types
    document.querySelectorAll('.customize-input').forEach(input => {
        input.addEventListener('input', renderPromptWithHighlights);
    });

    function renderPromptWithHighlights() {
        const promptContent = document.getElementById('premium-prompt-content');
        if (!promptContent) return;

        let updatedPrompt = originalPrompt;
        let filledVariables = {};

        // Collect filled values
        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                filledVariables[placeholder] = value;
            }
        });

        // Replace filled variables and highlight remaining
        let htmlContent = escapeHtml(updatedPrompt);

        variables.forEach(placeholder => {
            const escapedPlaceholder = escapeHtml(placeholder);
            const regex = new RegExp(escapeRegex(escapedPlaceholder), 'g');

            if (filledVariables[placeholder]) {
                // Show filled value with green highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable-filled">' + escapeHtml(filledVariables[placeholder]) + '</span>'
                );
            } else {
                // Show original placeholder with yellow highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable">' + escapedPlaceholder + '</span>'
                );
            }
        });

        promptContent.innerHTML = htmlContent;
    }

    function escapeRegex(string) {
        return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
    }

    function escapeHtml(text) {
        const div = document.createElement('div');
        div.textContent = text;
        return div.innerHTML;
    }

    function resetPrompt() {
        // Clear all input fields
        document.querySelectorAll('.customize-input').forEach(input => {
            input.value = '';
        });

        // Re-render with original placeholders highlighted
        renderPromptWithHighlights();

        // Visual feedback
        const resetBtns = document.querySelectorAll('.prompt-header-reset, .prompt-cta-reset');
        resetBtns.forEach(btn => {
            const originalText = btn.querySelector('span').textContent;
            btn.querySelector('span').textContent = 'Återställd!';
            setTimeout(() => {
                btn.querySelector('span').textContent = originalText;
            }, 1000);
        });
    }


    function getCustomizedPrompt() {
        let updatedPrompt = originalPrompt;

        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                const regex = new RegExp(escapeRegex(placeholder), 'g');
                updatedPrompt = updatedPrompt.replace(regex, value);
            }
        });

        return updatedPrompt;
    }
</script>

</div>

<div class="pro-tips-section">

<h2 class="wp-block-heading">Proffstips för bättre resultat med AI-prompten</h2>



<ul class="wp-block-list">

<li><strong>Var smärtsamt tydlig med hanteringstid kontra transporttid.</strong> Det mesta av ”fraktförvirringen” är egentligen förvirring kring ”när skickar ni”. Om du kan, mata modellen med konkreta intervall (till exempel: ”Hantering: 1–2 arbetsdagar; Transport: 2–5 arbetsdagar”) och be den skriva copy som separerar dem tydligt i kassan.</li>


<li><strong>Använd dina verkliga transportörnamn och servicenivåer.</strong> ”Standardfrakt” funkar som etikett, men kunder litar på detaljer när de spelar roll. Efter första svaret kan du följa upp med: ”Skriv om matrisen och FAQ:erna och använd exakt dessa transportörer och metoder: UPS Ground, USPS Priority, DHL Express och Local Delivery (2–10 miles).”</li>


<li><strong>Tala om vad du inte kan lova.</strong> Ärligt talat är det skillnaden mellan hjälpsam tydlighet och riskabelt överlöfte. Lägg in begränsningar som ”Inga garanterade leveransdatum” eller ”Ingen helgleverans” och be om formuleringar som sätter rätt förväntningar utan att låta defensiva.</li>


<li><strong>Iterera utifrån placering på sidan, inte bara formuleringar.</strong> Samma mening läses olika i varukorgen jämfört med i en ”fraktpolicy”-panel. När du fått den stegvisa copy:n, be: ”Skapa nu en version för en infällbar sektion ’Leveransdetaljer’ med max 3 punkter och en länktext.”</li>


<li><strong>Kombinera tydlighetsarbetet med en SEO-konsistenskontroll (valfritt).</strong> Om ert leveranslöfte skiljer sig mellan produktsidor, kategorisidor och hjälpdokument märker kunder det. Kombinera detta med ett internt konsistensflöde som <a href="https://nodenordic.se/prompts/skapa-en-on-page-seo-checklista-for-implementering">Skapa en on-page SEO-checklista för implementering</a> för att granska var leveranspåståenden förekommer och säkerställa att de matchar språket i kassan.</li>

</ul>

</div>

<div class="related-prompts-section">

<h2 class="wp-block-heading">Relaterade promptar</h2>



<p>När leveranskommunikationen är tydlig hjälper de här promptarna dig att göra resten av sajten lättare att hitta, förstå och lita på.</p>



<p>Om du också behöver säkerställa att kunder faktiskt kan hitta dina fraktdetaljer (och att Google lyfter fram rätt sidor), passar <a href="https://nodenordic.se/prompts/skapa-en-ai-prompt-for-checklista-for-on-page-seo">Skapa en ai-prompt för checklista för on-page seo</a> bra. Använd den när din policy-, FAQ- eller leveranssidor finns, men känns ”begrava­de”, inkonsekventa eller svåra att nå från produktsidor med hög köpintention.</p>



<p>För team som jobbar med löpande optimering hjälper <a href="https://nodenordic.se/prompts/skapa-en-seo-driven-innehallsplan-med-ai-prompten">Skapa en SEO-driven innehållsplan med AI-prompten</a> dig att planera stödjande innehåll som minskar köposäkerhet. Den är användbar när du vill skapa artiklar och hjälpdokument baserat på frågor du redan ser i ärenden, som ”frakt till Alaska”, ”internationella tullavgifter” eller ”hur spårningsuppdateringar fungerar”.</p>



<p>När du vill ha en tajtare, genomförbar plan för innehållsproduktion (sidor, briefar och uppdateringscykler) är <a href="https://nodenordic.se/prompts/bygg-en-seo-innehallsplan-med-denna-ai-prompt">Bygg en seo-innehållsplan med denna ai-prompt</a> ett bra nästa steg. När paketet för frakttydlighet är live hjälper den dig att utöka täckningen utan att glida in i generiskt innehåll som inte driver konvertering.</p>


<br>


<p>Snabbreferens:</p>



<ul class="wp-block-list">

<li><a href="https://nodenordic.se/prompts/skapa-en-ai-prompt-for-checklista-for-on-page-seo">Skapa en ai-prompt för checklista för on-page seo</a>: Hitta och åtgärda förtroendegap på sidan.</li>


<li><a href="https://nodenordic.se/prompts/skapa-en-on-page-seo-checklista-for-implementering">Skapa en on-page SEO-checklista för implementering</a>: Gör åtgärderna till en leveransklar checklista.</li>


<li><a href="https://nodenordic.se/prompts/skapa-en-seo-driven-innehallsplan-med-ai-prompten">Skapa en SEO-driven innehållsplan med AI-prompten</a>: Planera innehåll utifrån sökintention och invändningar.</li>


<li><a href="https://nodenordic.se/prompts/bygg-en-seo-innehallsplan-med-denna-ai-prompt">Bygg en seo-innehållsplan med denna ai-prompt</a>: Bygg en strukturerad publiceringsplan snabbt.</li>


<li><a href="https://nodenordic.se/prompts/bygg-en-social-strategi-for-off-page-seo">Bygg en social strategi för off-page SEO</a>: Marknadsför nyckelsidor utanför din sajt.</li>

</ul>

</div>

<div class="faq-section">

<h2 class="wp-block-heading">Vanliga frågor</h2>


<div class="faq-item">
<span class="question">Vilka roller har mest nytta av den här AI-prompten för frakttydlighet?</span>

<p class="answer"><strong>E-handelsansvariga</strong> använder den för att göra spridda fraktnoteringar till ett konsekvent löfte över PDP, varukorg, kassa och efter köp. <strong>Specialister inom konverteringsoptimering (CRO)</strong> använder den för att minska friktion från ”leveransosäkerhet” och ta fram testbara copy-varianter kopplade till beteende i kassan. <strong>Supportansvariga</strong> får nytta eftersom prompten producerar FAQ:er som avleder återkommande ärenden som ”Var är min order?” och ”När kommer den?”. <strong>Lifecycle/CRM-marknadsförare</strong> använder den för att skärpa förväntansstyrningen efter köp, så att spårningsmejl och orderbekräftelser inte skapar ny förvirring.</p>

</div>

<div class="faq-item">
<span class="question">Vilka branscher får mest värde av den här AI-prompten för frakttydlighet?</span>

<p class="answer"><strong>DTC-konsumentvaror</strong> använder den när kunder jämför varumärken och avbryter om leveransen känns oförutsägbar, särskilt vid lanseringar och rabatter. <strong>Kläder och skor</strong> får värde eftersom frakt, returer och delade leveranser ofta krockar, så en tydlig matris och FAQ:er minskar överraskningar. <strong>Hälsa och skönhet</strong> använder den för att kommunicera leveranshastighet, spårningsförväntningar och regionsbegränsningar utan att låta som juridisk text. <strong>Prenumerations- och påfyllnadsvarumärken</strong> använder den för att tydliggöra tidslinjen för första ordern jämfört med återkommande leveranser, vilket minskar churn som beror på missförstådd leveransrytm.</p>

</div>

<div class="faq-item">
<span class="question">Varför ger grundläggande AI-promptar för fraktpolicy och leveranstexter i kassan svaga resultat?</span>

<p class="answer">En typisk prompt som ”Skriv en fraktpolicy för min butik” misslyckas eftersom den: saknar dina faktiska fraktmetoder, regioner, transportörer och leveranstidsramar, så den fyller luckor med generiska antaganden. Den ger ingen struktur för progressiv exponering, vilket leder till en lång, oläslig sida i stället för stegvis mikrocopy för varukorg och kassa. Den ignorerar kundernas tveksamhetspunkter (hanteringstid, stopptider, spårning, undantag), så texten minskar inte osäkerhet. Den skapar ”juridik-aktigt” språk som låter försiktigt men inte svarar på praktiska frågor, och den missar konsistenskontroller som håller ditt löfte synkat över alla touchpoints.</p>

</div>

<div class="faq-item">
<span class="question">Kan jag anpassa den här AI-prompten för frakttydlighet till min specifika situation?</span>

<p class="answer">Ja, och det bör du. Prompten är gjord för att spegla dina faktiska förutsättningar, så du vill ge tydliga detaljer för PRODUCT_DESCRIPTION, TARGET_AUDIENCE, SHIPPING_METHODS, DELIVERY_TIMEFRAMES, SHIPPING_REGIONS och CARRIERS. Om du har begränsningar (ingen helgleverans, begränsad landsbygdstäckning, signatur krävs), ta med dem så att texten förblir sanningsenlig. En bra uppföljningsrequest är: ”Skriv nu om fraktsektionen i kassan för mobil skanning, max 2 rader per metod, och inkludera en enda expanderbar ’detaljer’-panel för undantag.”</p>

</div>

<div class="faq-item">
<span class="question">Vilka är de vanligaste misstagen när man använder den här AI-prompten för frakttydlighet?</span>

<p class="answer">Det största misstaget är att lämna TARGET_AUDIENCE för vag — i stället för ”online shoppers”, testa ”förstagångsköpare av premiumhudvård som oroar sig för värmeexponering under transport”. Ett annat vanligt fel är att ange DELIVERY_TIMEFRAMES utan att separera hantering kontra transport (dåligt: ”3–5 dagar”; bättre: ”Skickas inom 1–2 arbetsdagar, därefter 2–5 arbetsdagar i transport”). Många glömmer också att ange SHIPPING_REGIONS korrekt (dåligt: ”vi skickar över hela världen”; bättre: ”endast USA + Kanada, exklusive postboxar för express”). Till sist listar man SHIPPING_METHODS utan begränsningar (dåligt: ”express finns”; bättre: ”express endast för beställningar inom sammanhängande USA som läggs före kl. 13:00 ET”).</p>

</div>

<div class="faq-item">
<span class="question">Vem ska INTE använda den här AI-prompten för frakttydlighet?</span>

<p class="answer">Den här prompten är inte optimal för team som inte kan beskriva sin nuvarande fraktverklighet med någon säkerhet, eftersom resultatet måste vara konsekvent med faktiska metoder, tidsramar, regioner och transportörer. Den är inte heller en ersättning för juristgranskad policytext om du verkar i en hårt reglerad miljö eller har komplexa ansvarskrav. Och om du bara vill ha en generisk standardpolicy att klistra in en gång och glömma, är en enkel mall ett bättre val. Använd den här när du är beredd att iterera och synka copy med driften.</p>

</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Vilka roller har mest nytta av den här AI-prompten för frakttydlighet?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "E-handelsansvariga använder den för att göra spridda fraktnoteringar till ett konsekvent löfte över PDP, varukorg, kassa och efter köp. Specialister inom konverteringsoptimering (CRO) använder den för att minska friktion från ”leveransosäkerhet” och ta fram testbara copy-varianter kopplade till beteende i kassan. Supportansvariga får nytta eftersom prompten producerar FAQ:er som avleder återkommande ärenden som ”Var är min order?” och ”När kommer den?”. Lifecycle/CRM-marknadsförare använder den för att skärpa förväntansstyrningen efter köp, så att spårningsmejl och orderbekräftelser inte skapar ny förvirring."
      }
    },
    {
      "@type": "Question",
      "name": "Vilka branscher får mest värde av den här AI-prompten för frakttydlighet?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "DTC-konsumentvaror använder den när kunder jämför varumärken och avbryter om leveransen känns oförutsägbar, särskilt vid lanseringar och rabatter. Kläder och skor får värde eftersom frakt, returer och delade leveranser ofta krockar, så en tydlig matris och FAQ:er minskar överraskningar. Hälsa och skönhet använder den för att kommunicera leveranshastighet, spårningsförväntningar och regionsbegränsningar utan att låta som juridisk text. Prenumerations- och påfyllnadsvarumärken använder den för att tydliggöra tidslinjen för första ordern jämfört med återkommande leveranser, vilket minskar churn som beror på missförstådd leveransrytm."
      }
    },
    {
      "@type": "Question",
      "name": "Varför ger grundläggande AI-promptar för fraktpolicy och leveranstexter i kassan svaga resultat?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "En typisk prompt som ”Skriv en fraktpolicy för min butik” misslyckas eftersom den: saknar dina faktiska fraktmetoder, regioner, transportörer och leveranstidsramar, så den fyller luckor med generiska antaganden. Den ger ingen struktur för progressiv exponering, vilket leder till en lång, oläslig sida i stället för stegvis mikrocopy för varukorg och kassa. Den ignorerar kundernas tveksamhetspunkter (hanteringstid, stopptider, spårning, undantag), så texten minskar inte osäkerhet. Den skapar ”juridik-aktigt” språk som låter försiktigt men inte svarar på praktiska frågor, och den missar konsistenskontroller som håller ditt löfte synkat över alla touchpoints."
      }
    },
    {
      "@type": "Question",
      "name": "Kan jag anpassa den här AI-prompten för frakttydlighet till min specifika situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ja, och det bör du. Prompten är gjord för att spegla dina faktiska förutsättningar, så du vill ge tydliga detaljer för PRODUCT_DESCRIPTION, TARGET_AUDIENCE, SHIPPING_METHODS, DELIVERY_TIMEFRAMES, SHIPPING_REGIONS och CARRIERS. Om du har begränsningar (ingen helgleverans, begränsad landsbygdstäckning, signatur krävs), ta med dem så att texten förblir sanningsenlig. En bra uppföljningsrequest är: ”Skriv nu om fraktsektionen i kassan för mobil skanning, max 2 rader per metod, och inkludera en enda expanderbar ’detaljer’-panel för undantag.”"
      }
    },
    {
      "@type": "Question",
      "name": "Vilka är de vanligaste misstagen när man använder den här AI-prompten för frakttydlighet?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Det största misstaget är att lämna TARGET_AUDIENCE för vag — i stället för ”online shoppers”, testa ”förstagångsköpare av premiumhudvård som oroar sig för värmeexponering under transport”. Ett annat vanligt fel är att ange DELIVERY_TIMEFRAMES utan att separera hantering kontra transport (dåligt: ”3–5 dagar”; bättre: ”Skickas inom 1–2 arbetsdagar, därefter 2–5 arbetsdagar i transport”). Många glömmer också att ange SHIPPING_REGIONS korrekt (dåligt: ”vi skickar över hela världen”; bättre: ”endast USA + Kanada, exklusive postboxar för express”). Till sist listar man SHIPPING_METHODS utan begränsningar (dåligt: ”express finns”; bättre: ”express endast för beställningar inom sammanhängande USA som läggs före kl. 13:00 ET”)."
      }
    },
    {
      "@type": "Question",
      "name": "Vem ska INTE använda den här AI-prompten för frakttydlighet?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Den här prompten är inte optimal för team som inte kan beskriva sin nuvarande fraktverklighet med någon säkerhet, eftersom resultatet måste vara konsekvent med faktiska metoder, tidsramar, regioner och transportörer. Den är inte heller en ersättning för juristgranskad policytext om du verkar i en hårt reglerad miljö eller har komplexa ansvarskrav. Och om du bara vill ha en generisk standardpolicy att klistra in en gång och glömma, är en enkel mall ett bättre val. Använd den här när du är beredd att iterera och synka copy med driften."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">

<p>Avhopp i kassan är inte alltid ett prisproblem. Ibland är det ett tydlighetsproblem. Klistra in den här prompten i ditt AI-verktyg, svara ärligt på frågorna om er fraktverklighet och publicera ett leveranslöfte som kunder förstår direkt.</p>

</div><p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/minska-avhopp-i-kassan-med-tydlig-frakt-med-ai/">Minska avhopp i kassan med tydlig frakt med AI</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Bygg en plan för fraktintegration med AI</title>
		<link>https://nodenordic.se/prompts/bygg-en-plan-for-fraktintegration-med-ai/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=bygg-en-plan-for-fraktintegration-med-ai</link>
		
		<dc:creator><![CDATA[Rickard Andersson]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 02:34:15 +0000</pubDate>
				<category><![CDATA[prompts]]></category>
		<guid isPermaLink="false">https://nodenordic.se/?p=5003026</guid>

					<description><![CDATA[<p>Fraktkostnader skenar och varukorgar överges. Använd denna AI-prompt för transportörs- och plattformsintegration, utrullning och kostnadsmodell.</p>
<p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/bygg-en-plan-for-fraktintegration-med-ai/">Bygg en plan för fraktintegration med AI</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></description>
										<content:encoded><![CDATA[<!-- FOCUS_KEYWORD: shipping integration plan -->

<div class="hook-introduction">

<p>Frakt sätts ofta ihop snabbt och ad hoc. Sedan kommer högsäsongen, priserna sticker, etiketter misslyckas och supportärendena staplas eftersom ingen kan förklara vad som händer. Du betalar för misstagen två gånger: först i tilläggsavgifter och sedan i churn.</p>



<p>Den här <strong>fraktintegrationsplanen</strong> är byggd för <strong>ops-ledare</strong> som städar upp en rörig multi-carrier-setup, <strong>e-handelschefer</strong> som behöver tydligare leveransval som inte urholkar marginalen, och <strong>implementeringskonsulter</strong> som ansvarar för en cutover som inte får skapa fel under julvolymer. Resultatet är en praktisk arkitekturplan: jämförelse av transportörer/plattformar, indata till kostnadsmodell, antaganden om tillförlitlighet, integrationsmönster (retries, idempotency, köhantering) samt en fasad utrullning med parallellkörning och fallback-strategier.</p>

</div>

<div class="what-and-when-section">

<h2 class="wp-block-heading">Vad gör den här AI-prompten och när ska du använda den?</h2>



<table class="solution-results-table three-column" role="presentation" aria-label="What this prompt does, when to use it, and what you get">
 <thead>
    <tr>
      <th scope="col">Vad den här prompten gör</th>
      <th scope="col">När du ska använda den här prompten</th>
      <th scope="col">Vad du får</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <ul class="automation-list">
          <li>Kartlägger en enhetlig fraktarkitektur över transportörer och fraktplattformar, inklusive var varje komponent ligger i ditt order-till-etikett-flöde.</li>
          <li>Tvingar fram en riktig kostnadsgenomgång som tar höjd för volymvikt, avgifter för privatadresser/avlägsna områden, bränsle- och högsäsongstillägg, adresskorrigering, lördagsleverans och returer.</li>
          <li>Jämför direkta transportörsintegrationer (till exempel UPS/FedEx/DHL) mot aggregatorer (som Shippo/EasyPost/ShipStation) utifrån operativ passform och verkligheten i implementationen.</li>
          <li>Designar mönster för felhantering: retries, idempotency-nycklar, köhantering, strategi för rate limits, logik för omtryck av etiketter och fallback-val av transportör.</li>
          <li>Tar fram en genomgång för internationell frakt som täcker tulldokumentation, beräkning av tull/moms, paperless trade, presentation av landed cost och vanliga felpunkter vid tullklarering.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>Du ska precis migrera bort från en patchwork-lösning av appar, kalkylark och manuell etikettskapande, och du behöver en säkrare väg än att “slå om brytaren”.</li>
          <li>Supporten ser fler ärenden om “var är mitt paket” och “fel adress”, och du misstänker inkonsekvenser i etiketter/prissättning eller opålitliga statushändelser.</li>
          <li>Du ska omförhandla transportörsavtal och behöver förstå vilka prisreglage som faktiskt spelar roll innan du pratar med sälj.</li>
          <li>Högsäsongen närmar sig och du har inte råd med ett avbrott, en rate-limit-krasch eller en incident hos etikettleverantören under högvolymsfönster.</li>
          <li>Du expanderar internationellt och vill ha tydlighet kring landed cost och färre tullstopp utan att låtsas att skatt/efterlevnad är “löst”.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>En beslutsmatris för transportörer och plattformar med 6–10 utvärderingskriterier och tydliga tradeoffs.</li>
           <li>En checklista för fraktkostnadsmodell med exakta kategorier av tilläggsavgifter och mätdata du ska samla in.</li>
           <li>En referensdesign för integration som inkluderar köhantering, retry-regler, idempotency-upplägg och en fallback-strategi för etiketter.</li>
           <li>En fasad utrullningsplan med steg för parallellkörning, cutover-gates och riskkontroller för stabilitet i högsäsong.</li>
           <li>En sektion för internationell frakt som listar vanliga felmoder vid tullklarering och operativa åtgärder för varje.</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

<div class="prompt-display-section">

<h2 class="wp-block-heading">Hela AI-prompten: byggare för en enhetlig fraktintegrationsplan</h2>



<div class="prompt-viewer-wrapper" id="prompt-section">
    <div class="prompt-comparison-row prompt-premium">
        <!-- Header with buttons -->
        <div class="prompt-row-header">
            <!-- <span class="prompt-row-icon">✨</span> -->
            <span class="prompt-row-title">
                                    Steg 1: Anpassa prompten med din information
                            </span>
            <div class="prompt-header-buttons">
                                    <button class="prompt-header-btn prompt-header-reset" onclick="resetPrompt()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Återställ</span>
                    </button>
                                <button class="prompt-header-btn prompt-header-copy-green flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span>Anpassa och kopiera hela prompten</span>
                </button>
            </div>
        </div>

        <!-- Customize the Prompt Section -->
                    <div class="prompt-customize-section">
                <span class="customize-title">Anpassa prompten</span>
                <p class="customize-subtitle">Fyll i fälten nedan för att anpassa prompten efter dina behov.</p>
                <table class="customize-table">
                    <thead>
                        <tr>
                            <th>Variabel</th>
                            <th>Vad du ska ange</th>
                            <th>Anpassa prompten</th>
                        </tr>
                    </thead>
                    <tbody>
                                                    <tr>
                                <td class="var-name"><code>[PRODUKTBESKRIVNING]</code></td>
                                <td class="var-desc">
                                    Ge en detaljerad beskrivning av produkterna som ska skickas, inklusive storlek, vikt, ömtålighet och eventuella krav på särskild hantering.                                    <div class="var-example">Till exempel: "Elektronik som smartphones och surfplattor, som väger cirka 0,5–1,5 kg styck, kräver antistatförpackning och varsam hantering för att undvika skador under transport."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[PRODUKTBESKRIVNING]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[KONTEXT]</code></td>
                                <td class="var-desc">
                                    Beskriv nuläget i era frakt- och leveransprocesser, inklusive utmaningar, befintliga transportörer eller plattformar samt eventuella operativa begränsningar.                                    <div class="var-example">Till exempel: "Använder i dagsläget en kombination av UPS och FedEx för inrikes leveranser, med höga kostnader under högsäsong. Vi har problem med leveransförseningar och saknar integration med vårt OMS."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[KONTEXT]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[HUVUDMAL]</code></td>
                                <td class="var-desc">
                                    Ange det viktigaste målet ni vill uppnå med den nya fraktarkitekturen, till exempel lägre kostnader, snabbare leveranser eller högre leveranssäkerhet.                                    <div class="var-example">Till exempel: "Minska fraktkostnaderna med 15 % samtidigt som vi behåller 2-dagarsleverans för inrikes beställningar och förbättrar träffsäkerheten i internationell tullklarering."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[HUVUDMAL]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TIDSRAM]</code></td>
                                <td class="var-desc">
                                    Ange tidsplanen för införandet av den nya fraktarkitekturen, inklusive eventuella kritiska deadlines.                                    <div class="var-example">Till exempel: "Slutför införandet innan julhandeln, med tester och parallell drift från och med Q3."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[TIDSRAM]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[PLATTFORM]</code></td>
                                <td class="var-desc">
                                    Ange vilka tekniska plattformar ni använder, till exempel orderhanteringssystem (OMS) eller e-handelsplattform.                                    <div class="var-example">Till exempel: "Shopify för e-handel och NetSuite för orderhantering."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[PLATTFORM]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[BRANSCH]</code></td>
                                <td class="var-desc">
                                    Beskriv vilken bransch ni verkar inom och vilka specifika fraktutmaningar som är kopplade till den.                                    <div class="var-example">Till exempel: "Modehandel i premiumsegmentet, som kräver varsam hantering av ömtåliga och högvärdiga varor samt leverans med mottagningskvittens."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[BRANSCH]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[BUDGET]</code></td>
                                <td class="var-desc">
                                    Ange budgeten som avsatts för att införa den nya fraktarkitekturen, inklusive mjukvara, hårdvara och driftskostnader.                                    <div class="var-example">Till exempel: "50 000 USD för initial uppsättning samt 10 000 USD per månad för löpande plattforms- och transportörskostnader."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[BUDGET]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TON]</code></td>
                                <td class="var-desc">
                                    Ange vilken ton eller kommunikationsstil du vill att rekommendationerna ska ha, till exempel formell, teknisk eller mer avslappnad.                                    <div class="var-example">Till exempel: "Teknisk och rak, med fokus på konkreta åtgärder och realistiska avvägningar."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[TON]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                            </tbody>
                </table>

                <button class="copy-customized-btn flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span class="copy-customized-text">Anpassa prompten nu</span>

                </button>
            </div>
        
        <!-- Full Prompt Code Header -->
                    <div class="prompt-code-header">
                <span class="prompt-code-title">
                    Steg 2: Kopiera prompten
                </span>
                <div class="prompt-code-buttons">
                    <!-- Reset: Only visible when unlocked -->
                    <button class="prompt-header-btn prompt-header-reset btn-when-unlocked" onclick="resetPrompt()" style="display: none;">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Återställ</span>
                    </button>
                    <!-- Copy Full Prompt -->
                    <button class="prompt-header-btn prompt-header-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                            <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                        </svg>
                        <span>Kopiera hela prompten</span>
                    </button>
                </div>
            </div>
        

        <!-- Prompt Content -->
        <div class="prompt-box prompt-gated-wrapper">
            <!-- Gated: Blurred content -->
            <div class="prompt-gated-content">
                <div class="prompt-header-visible">MÅL</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PERSONA</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">BEGRÄNSNINGAR</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Vad detta INTE är</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PROCESS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">INDATA</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">OUTPUT-SPECIFIKATION</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">1) Strategiöversikt (Executive summary)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">2) Jämförelse av transportör + plattform (tabell)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">3) Integrationsarbetsflöden (diagram)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">4) Implementeringsroadmap (stegvis plan)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">5) Kostnad–nytta (nuvarande vs föreslaget)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Leveransstandarder</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">KVALITETSKONTROLLER</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div>            </div>
            <!-- Unlocked: Full content (hidden by default) -->
            <div class="prompt-content-full" id="premium-prompt-content" style="display: none;">
                ## MÅL
Utforma en enhetlig fraktarkitektur för en e-handelsverksamhet som minskar den totala fraktkostnaden, tydliggör leveransval för kunder och förblir stabil under toppvolymer—samtidigt som du väljer transportörer och/eller fraktplattformar baserat på verklig operativ passform (inte säljpåståenden).

## PERSONA
Du är en logistik- och integrationsarkitekt med bakgrund som före detta systemingenjör hos en transportör och ansvarig för frakt i ett högskaligt startup-bolag. Du kommunicerar som en erfaren teknisk operatör: rak om tradeoffs, specifik om felmoder och fokuserad på total ägandekostnad och implementeringsrealism.

## BEGRÄNSNINGAR
- Rekommendationer måste vara anpassade till givna behov för produkthantering, servicenivåer, destinationer och volymprofil—inga “one-size-fits-most”-svar.
- Jämför både direkta transportörer (FedEx, UPS, DHL) och aggregatörer/fraktplattformar (Shippo, EasyPost, ShipStation) där det är relevant.
- Inkludera operativ sanning: sannolik uptime-beteende och verklig tillförlitlighet (undvik att återge leverantörers SLA:er som “fakta”; om du uppskattar, märk det som en uppskattning och förklara grunden).
- Kostnadsanalys måste inkludera effekter av dimensionsvikt, avgifter för privatadress/avlägsna områden, bränsle- och toppsäsongstillägg, adresskorrigering, lördagsleverans och returer.
- Internationell genomgång måste hantera tulldokumentation, beräkning av tull/moms, paperless trade, presentation av landed cost och vanliga felpunkter vid klarering.
- Integrationsvägledning måste inkludera felhantering, retries, idempotens, köläggning, strategi för rate limits och fallback-strategier för transportör/etikett.
- Hantera migrationskomplexitet från en befintlig lapptäckeslösning, inklusive parallellkörning och cutover-risker.

### Vad detta INTE är
- Inte en juridisk/skattecompliance-bedömning för något land.
- Inte en offert på förhandlade priser; ge intervall, spakar som påverkar prissättning och vad som ska begäras från sälj.
- Inte en generisk “topp 10”-lista över transportörer eller en marknadsföringssammanfattning av funktioner.

## PROCESS
1. **Föranalys (ange din förståelse först):** Återge kort användarens scenario och de viktigaste begränsningarna du drar slutsats om utifrån indata (produkter, regioner, hastighet, volym, plattform). Lista eventuella antaganden.
2. **Klargör luckor:** Om någon input saknas eller är vag, ställ upp till 6 riktade frågor. Om användaren vill ha ett svar direkt, fortsätt med en “best-effort”-plan och markera tydligt antaganden och risk.
3. **Begränsningsmappning:** Översätt indata till konkreta krav (t.ex. max latens för etikettgenerering, farligt gods-begränsningar, cold chain-behov, cutoff-tider, packregler, skalningsmål för peak).
4. **Urval av alternativ:** Välj 2–4 genomförbara vägar (t.ex. direkta transportör-API:er, aggregatör, hybrid) och motivera varför andra är dålig passform.
5. **Evidensbaserad jämförelse:** Bygg en tabell som jämför kandidater över kostnadstransparens, spårningsfidelitet, internationell beredskap, integrationsinsats och “gotchas”.
6. **Arkitektur &amp; arbetsflöden:** Ge integrationsarbetsflöden (textbaserade diagram) som visar dataflöde från OMS till prissättning, etikettsköp, spårning, returer och avstämning.
7. **Utrullningsplan:** Ge en stegvis implementeringsroadmap med realistiska tidsintervall och migrationssteg från befintligt system.
8. **Ekonomi:** Ge en total-cost-bild: mjukvaruavgifter, transportörers minimikrav, kostnad per etikett, engineering/ops-tid, undantagshantering och besparingsmöjligheter.

## INDATA
- **Produkttyper &amp; hanteringsprofil:** [PRODUKTBESKRIVNING]
- **Fraktdestinationer (inrikes + internationellt):** [KONTEXT]
- **Krav på leveranshastighet:** [HUVUDMAL]
- **Månatlig ordervolym (nuvarande + prognos):** [TIDSRAM]
- **Nuvarande OMS/e-handelsplattform:** [PLATTFORM]
- **Bransch (valfritt, om det påverkar begränsningar som farligt gods/reglerade varor):** [BRANSCH]
- **Budgetbegränsningar (valfritt):** [BUDGET]
- **Önskad ton (valfritt):** [TON]

## OUTPUT-SPECIFIKATION
Använd följande struktur och rubriker.

### 1) Strategiöversikt (Executive summary)
- {Recommended Approach}: direct vs aggregator vs hybrid
- {Why This Fits}: 3–6 punkter kopplade till användarens begränsningar
- {Top Risks &amp; Mitigations}: 3–6 punkter
- {Quick Wins}: omedelbara förändringar som minskar cart abandonment och fraktläckage

### 2) Jämförelse av transportör + plattform (tabell)
Ge en tabell med dessa kolumner (använd exakt kolumnnamnen):
- Carrier/API
- Real Costs (include typical add-ons and where they appear)
- Tracking &amp; Visibility (scan cadence, event quality, exceptions)
- International Coverage (DDP/DDU, paperless, duties/taxes options)
- Integration Complexity (auth, rating, labeling, webhooks, rate limits)
- Hidden Gotchas (contract traps, billing surprises, operational quirks)
- Best Use Case (specific scenarios)

Rader ska täcka minst:
- {Carrier Option 1} (e.g., FedEx)
- {Carrier Option 2} (e.g., UPS)
- {Carrier Option 3} (e.g., DHL Express, when applicable)
- {Aggregator Option 1} (e.g., EasyPost)
- {Aggregator Option 2} (e.g., Shippo or ShipStation—choose based on fit)

Inkludera också:
- {Pricing Model Notes}: setup costs, monthly minimums, support tiers, per-shipment fees (ranges + drivers)

### 3) Integrationsarbetsflöden (diagram)
Ge 2–3 textdiagram (ASCII är ok) som täcker:
- {Rating Flow}: cart/checkout delivery options → rate shopping → caching rules
- {Label Flow}: order ready → address validation → label purchase → retries/fallback → print/pack
- {Tracking &amp; Exceptions Flow}: webhook events → OMS updates → customer notifications → lost/damaged claims triggers
Inkludera explicita felpunkter och fallback-åtgärder.

### 4) Implementeringsroadmap (stegvis plan)
Ge 4–6 faser med tidsintervall förskjutna i realistiska spann (t.ex. “~2–4 veckor”, “~4–7 veckor”), inklusive:
- {Phase Name}
- {Key Tasks}
- {Dependencies}
- {Exit Criteria}
- {Peak-Season Safeguards}

### 5) Kostnad–nytta (nuvarande vs föreslaget)
Skapa en kort jämförelse som inkluderar:
- {Current State Costs} (kända + sannolikt dolda)
- {Proposed State Costs}
- {Savings Levers} (packning, zoner, service-downgrades, regler, konsolidering)
- {Operational Impact} (supportärenden, WISMO-minskning, återbetalningar/claims)
- {Break-Even Estimate} (med angivna antaganden)

### Leveransstandarder
- Använd tydliga rubriker och punktlistor.
- Fetmarkera de beslutskritiska faktorerna.
- Var uppriktig: påpeka där leverantörers påståenden rutinmässigt avviker från verkligheten.
- Om du använder uppskattningar, märk dem som {Estimate} och förklara vad som skulle validera dem.

## KVALITETSKONTROLLER
Innan du slutför, verifiera:
1. Rekommendationerna refererar explicit till användarens produktbegränsningar, regioner, hastighetsmål, volym och plattform.
2. Tabellen inkluderar verkliga kostnadsdrivare utöver baspris per etikett (dimensionsvikt, tillägg, korrigeringar, peak-avgifter).
3. Arbetsflöden inkluderar minst 5 konkreta felpunkter plus specifikt fallback-beteende.
4. Den internationella delen inkluderar tull + hantering av tull/moms (inte bara “fraktar internationellt”).
5. Migrationskomplexitet och en realistisk stegvis utrullning ingår (strategi för parallellkörning/cutover).            </div>
        </div>


    </div>

    <!-- CTA Row - Full width buttons -->
    <div class="prompt-cta-row">
        <button class="prompt-cta-btn prompt-cta-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
            </svg>
            <span class="cta-copy-text">Kopiera hela prompten</span>
        </button>
    </div>
</div>

<style>
    /* Gated prompt states */
    .prompt-gated-wrapper {
        position: relative;
    }

    /* When unlocked - show full content, hide gated */
    body.flowpast-unlocked .prompt-gated-wrapper .prompt-gated-content {
        display: none;
    }

    body.flowpast-unlocked .prompt-gated-wrapper .prompt-content-full {
        display: block !important;
    }

    /* Show/hide elements based on unlock state */
    body.flowpast-unlocked .btn-when-unlocked {
        display: inline-flex !important;
    }

    .prompt-viewer-wrapper {
        scroll-margin-top: 250px;
    }

    /* ========================================
   PROMPT VIEWER - MAIN WRAPPER
   ======================================== */
    .prompt-viewer-wrapper {
        margin: 30px 0;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    /* ========================================
   PROMPT BOX CONTAINER
   ======================================== */
    .prompt-comparison-row {
        border-radius: 12px;
        overflow: hidden;
        border: 1px solid #e0e0e0;
        background: #fff;
    }

    /* ========================================
   HEADER WITH BUTTONS
   ======================================== */
    .prompt-row-header {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 14px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
        flex-wrap: wrap;
    }

    .prompt-row-icon {
        font-size: 20px;
    }

    .prompt-row-title {
        font-weight: 600;
        font-size: 22px;
        color: #fff !important;
        text-decoration: underline
    }

    .prompt-header-buttons {
        margin-left: auto;
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
    }

    /* Header buttons */
    .prompt-header-btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 10px 20px;
        border-radius: 6px;
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-header-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-header-copy:hover {
        background: #2a2a2a;
    }

    .prompt-header-copy.copied {
        background: #2e7d32;
    }

    .prompt-header-copy-green {
        background: #04AA6D !important;
        color: #fff !important;
    }

    .prompt-header-copy-green span {
        color: #fff !important;
    }

    .prompt-header-copy-green:hover {
        background: #039860 !important;
    }

    .prompt-header-copy-green.copied {
        background: #2e7d32 !important;
    }

    .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-header-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-1px);
    }

    /* ========================================
   PROMPT CONTENT - FULL (NO SCROLL)
   ======================================== */
    .prompt-box {
        background: #ffffff;
    }

    .prompt-content-full {
        padding: 24px;
        margin: 0;
        color: #202124;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.7;
        white-space: pre-wrap;
        word-wrap: break-word;
        /* No scroll - show full content */
        max-height: none;
        overflow: visible;
    }

    /* Highlighted variable in prompt */
    .prompt-variable {
        background: #fff3cd;
        color: #1967d2;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #ffc107;
    }

    .prompt-variable-filled {
        background: #d4edda;
        color: #155724;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #28a745;
    }

    /* ========================================
   GATED CONTENT (NO ACCESS)
   ======================================== */
    .prompt-gated-content {
        padding: 24px;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.8;
        max-height: none;
        overflow: visible;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        cursor: default;
    }

    /* ## headers - larger, black */
    .prompt-header-visible {
        color: #202124;
        font-weight: 600;
        margin: 5px 0 0px 0;
        font-size: 20px;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        text-decoration: underline;
        text-underline-offset: 4px;
    }

    /* ### headers - smaller, black */
    .prompt-header-visible.subheader {
        color: #202124;
        font-weight: 600;
        margin: 5px 0;
        font-size: 18px;
    }

    .prompt-header-visible:first-child {
        margin-top: 0;
    }

    /* ========================================
   LOCKED SECTION BLOCK
   ======================================== */
    .locked-section {
        position: relative;
        margin: 4px 0 8px 0;
        border-radius: 6px;
        overflow: hidden;
        background: linear-gradient(110deg, #e2e8f0 8%, #f1f5f9 18%, #e2e8f0 33%);
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
    }

    .locked-section-bg {
        position: relative;
    }

    .locked-section-lines {
        padding: 8px 12px;
        position: relative;
    }

    .locked-line {
        height: 6px;
        background: rgba(255, 255, 255, 0.6);
        border-radius: 3px;
        margin-bottom: 4px;
        margin-left: 12px;
    }

    .locked-line:last-child {
        margin-bottom: 0;
    }

    .locked-section-icon {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 10;
        font-size: 24px;
        filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.1));
    }

    /* Subheader locked sections - slightly indented */
    /*  .prompt-header-visible.subheader+.locked-section {
        margin-left: 16px;
    } */

    /* ========================================
   COMPATIBILITY BADGES
   ======================================== */
    .prompt-compatibility {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        padding: 12px 20px;
        background: #f8f9fa;
        border-top: 1px solid #e0e0e0;
    }

    .compat-label {
        font-size: 13px;
        color: #5f6368;
        font-weight: 500;
    }

    .compat-badge {
        padding: 4px 10px;
        background: #e8f0fe;
        color: #1967d2;
        border-radius: 4px;
        font-size: 12px;
        font-weight: 500;
    }

    /* ========================================
   CTA ROW - FULL WIDTH BUTTONS
   ======================================== */
    .prompt-cta-row {
        display: flex;
        gap: 16px;
        flex-wrap: wrap;
    }

    .prompt-cta-btn {
        flex: 1;
        min-width: 200px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 16px 24px;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-cta-copy {
        background: #3a3a3a;
        color: #fff !important;
    }


    .prompt-cta-copy span {
        background: #3a3a3a;
        color: #fff !important;
    }


    .prompt-cta-copy:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }


    .prompt-cta-copy.copied {
        background: #2e7d32;
    }

    .prompt-cta-reset {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-reset:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-cta-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    /* ========================================
    CUSTOMIZE YOUR PROMPT SECTION
    ======================================== */
    .prompt-customize-section {
        padding: 24px;
        border-bottom: 1px solid #e0e0e0;
        background: #fafbfc;
    }

    .customize-title {
        margin: 0 0 8px 0;
        font-size: 18px;
        font-weight: 700;
        color: #202124;
    }

    .customize-subtitle {
        margin: 0 0 20px 0;
        font-size: 14px;
        color: #5f6368;
    }

    .customize-table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 20px;
    }

    .customize-table th {
        text-align: left;
        padding: 12px;
        background: #f1f3f4;
        border: 1px solid #e0e0e0;
        font-size: 13px;
        font-weight: 600;
        color: #202124;
    }

    .customize-table td {
        padding: 12px;
        border: 1px solid #e0e0e0;
        vertical-align: top;
    }

    .customize-table .var-name {
        width: 25%;
        background: #f8f9fa;
    }

    .customize-table .var-name code {
        background: #fff3cd;
        color: #1967d2;
        border: 1px solid #ffc107;
        padding: 4px 8px;
        border-radius: 4px;
        font-size: 12px;
        word-break: break-all;
        font-weight: 600;
    }

    .customize-table .var-desc {
        width: 35%;
        font-size: 13px;
        color: #5f6368;
        line-height: 1.5;
    }

    .customize-table .var-example {
        margin-top: 8px;
        padding: 8px 10px;
        background: #f8f9fa;
        border-left: 3px solid #dadce0;
        font-size: 12px;
        color: #5f6368;
        font-style: italic;
        border-radius: 0 4px 4px 0;
    }

    .customize-table .var-input {
        width: 40%;
    }

    .customize-input {
        width: 100%;
        padding: 10px 12px;
        border: 1px solid #dadce0;
        border-radius: 6px;
        font-size: 13px;
        font-family: inherit;
        resize: vertical;
        transition: border-color 0.2s, box-shadow 0.2s;
    }

    .customize-input:focus {
        outline: none;
        border-color: rgb(5, 152, 98);
        box-shadow: 0 0 0 3px rgba(5, 152, 98, 0.1);
    }

    .customize-input::placeholder {
        color: #9aa0a6;
        font-style: italic;
    }

    .copy-customized-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        width: 100%;
        padding: 16px 24px;
        background: rgb(5, 152, 98);
        color: #fff !important;
        border: none;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
    }

    .copy-customized-btn span {
        color: #fff !important
    }

    .copy-customized-text span {
        color: #fff !important
    }

    .copy-customized-btn:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    .copy-customized-btn.copied {
        background: #2e7d32;
    }

    /* ========================================
    FULL PROMPT CODE HEADER
    ======================================== */
    .prompt-code-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
    }

    .prompt-code-title {
        font-size: 22px;
        font-weight: 600;
        text-decoration: underline;
        color: #fff !important;

    }

    .prompt-code-buttons {
        display: flex;
        gap: 8px;
    }

    .prompt-code-buttons .prompt-header-btn {
        padding: 8px 14px;
        font-size: 13px;
        background: #ffffff;
        color: #202124;
        border: 1px solid #dadce0;
    }

    .prompt-code-buttons .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
        border-color: rgb(5, 152, 98);
    }

    .prompt-code-buttons .prompt-header-btn.prompt-header-access:hover {
        background: rgb(4, 130, 83) !important;
        border-color: rgb(4, 130, 83);
        color: #fff !important;
    }

    .prompt-code-buttons .prompt-header-btn:hover {
        background: #f1f3f4;
    }

    .prompt-code-buttons .prompt-header-copy.copied {
        background: #d4edda;
        color: #155724;
        border-color: #28a745;
    }

    .prompt-header-reset {
        background: #ffffff;
        color: #202124;
    }

    /* ========================================
   RESPONSIVE
   ======================================== */
    @media (max-width: 768px) {
        .prompt-row-header {
            flex-direction: column;
            align-items: flex-start;
            gap: 12px;
        }

        .prompt-header-buttons {
            margin-left: 0;
            width: 100%;
        }

        .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }

        .prompt-cta-row {
            flex-direction: column;
        }

        .prompt-cta-btn {
            width: 100%;
        }

        /* Customize table responsive */
        .customize-table,
        .customize-table thead,
        .customize-table tbody,
        .customize-table tr,
        .customize-table th,
        .customize-table td {
            display: block;
        }

        .customize-table thead {
            display: none;
        }

        .customize-table tr {
            margin-bottom: 16px;
            border: 1px solid #e0e0e0;
            border-radius: 8px;
            overflow: hidden;
        }

        .customize-table td {
            width: 100% !important;
            border: none;
            border-bottom: 1px solid #e0e0e0;
        }

        .customize-table td:last-child {
            border-bottom: none;
        }

        .customize-table .var-name {
            background: #f1f3f4;
            font-weight: 600;
        }

        .prompt-code-header {
            flex-direction: column;
            gap: 12px;
            align-items: flex-start;
        }

        .prompt-code-buttons {
            width: 100%;
        }

        .prompt-code-buttons .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }
    }
</style>

<script>
    function handlePromptCopy() {
        // Check if unlocked via cookie
        if (typeof window.flowpastIsUnlocked === 'function' && !window.flowpastIsUnlocked()) {
            // Show email popup
            if (typeof window.flowpastShowEmailPopup === 'function') {
                window.flowpastShowEmailPopup('prompt');
            }
            return;
        }

        // Copy the customized prompt (with filled variables)
        const customizedPrompt = getCustomizedPrompt();
        const copyButtons = document.querySelectorAll('.prompt-header-copy, .prompt-header-copy-green, .prompt-cta-copy, .copy-customized-btn');

        navigator.clipboard.writeText(customizedPrompt).then(() => {
            copyButtons.forEach(btn => {
                btn.classList.add('copied');
                const textSpan = btn.querySelector('span');
                if (textSpan) textSpan.textContent = 'Kopierad!';
            });

            setTimeout(() => {
                copyButtons.forEach(btn => {
                    btn.classList.remove('copied');
                    const textSpan = btn.querySelector('span');
                    if (textSpan) textSpan.textContent = 'Kopiera hela prompten';
                });
            }, 2000);
        }).catch(err => {
            console.error('Failed to copy:', err);
        });
    }

    // Store original prompt for customization
    const originalPrompt = "## M\u00c5L\r\nUtforma en enhetlig fraktarkitektur f\u00f6r en e-handelsverksamhet som minskar den totala fraktkostnaden, tydligg\u00f6r leveransval f\u00f6r kunder och f\u00f6rblir stabil under toppvolymer\u2014samtidigt som du v\u00e4ljer transport\u00f6rer och\/eller fraktplattformar baserat p\u00e5 verklig operativ passform (inte s\u00e4ljp\u00e5st\u00e5enden).\r\n\r\n## PERSONA\r\nDu \u00e4r en logistik- och integrationsarkitekt med bakgrund som f\u00f6re detta systemingenj\u00f6r hos en transport\u00f6r och ansvarig f\u00f6r frakt i ett h\u00f6gskaligt startup-bolag. Du kommunicerar som en erfaren teknisk operat\u00f6r: rak om tradeoffs, specifik om felmoder och fokuserad p\u00e5 total \u00e4gandekostnad och implementeringsrealism.\r\n\r\n## BEGR\u00c4NSNINGAR\r\n- Rekommendationer m\u00e5ste vara anpassade till givna behov f\u00f6r produkthantering, serviceniv\u00e5er, destinationer och volymprofil\u2014inga \u201cone-size-fits-most\u201d-svar.\r\n- J\u00e4mf\u00f6r b\u00e5de direkta transport\u00f6rer (FedEx, UPS, DHL) och aggregat\u00f6rer\/fraktplattformar (Shippo, EasyPost, ShipStation) d\u00e4r det \u00e4r relevant.\r\n- Inkludera operativ sanning: sannolik uptime-beteende och verklig tillf\u00f6rlitlighet (undvik att \u00e5terge leverant\u00f6rers SLA:er som \u201cfakta\u201d; om du uppskattar, m\u00e4rk det som en uppskattning och f\u00f6rklara grunden).\r\n- Kostnadsanalys m\u00e5ste inkludera effekter av dimensionsvikt, avgifter f\u00f6r privatadress\/avl\u00e4gsna omr\u00e5den, br\u00e4nsle- och topps\u00e4songstill\u00e4gg, adresskorrigering, l\u00f6rdagsleverans och returer.\r\n- Internationell genomg\u00e5ng m\u00e5ste hantera tulldokumentation, ber\u00e4kning av tull\/moms, paperless trade, presentation av landed cost och vanliga felpunkter vid klarering.\r\n- Integrationsv\u00e4gledning m\u00e5ste inkludera felhantering, retries, idempotens, k\u00f6l\u00e4ggning, strategi f\u00f6r rate limits och fallback-strategier f\u00f6r transport\u00f6r\/etikett.\r\n- Hantera migrationskomplexitet fr\u00e5n en befintlig lappt\u00e4ckesl\u00f6sning, inklusive parallellk\u00f6rning och cutover-risker.\r\n\r\n### Vad detta INTE \u00e4r\r\n- Inte en juridisk\/skattecompliance-bed\u00f6mning f\u00f6r n\u00e5got land.\r\n- Inte en offert p\u00e5 f\u00f6rhandlade priser; ge intervall, spakar som p\u00e5verkar priss\u00e4ttning och vad som ska beg\u00e4ras fr\u00e5n s\u00e4lj.\r\n- Inte en generisk \u201ctopp 10\u201d-lista \u00f6ver transport\u00f6rer eller en marknadsf\u00f6ringssammanfattning av funktioner.\r\n\r\n## PROCESS\r\n1. **F\u00f6ranalys (ange din f\u00f6rst\u00e5else f\u00f6rst):** \u00c5terge kort anv\u00e4ndarens scenario och de viktigaste begr\u00e4nsningarna du drar slutsats om utifr\u00e5n indata (produkter, regioner, hastighet, volym, plattform). Lista eventuella antaganden.\r\n2. **Klarg\u00f6r luckor:** Om n\u00e5gon input saknas eller \u00e4r vag, st\u00e4ll upp till 6 riktade fr\u00e5gor. Om anv\u00e4ndaren vill ha ett svar direkt, forts\u00e4tt med en \u201cbest-effort\u201d-plan och markera tydligt antaganden och risk.\r\n3. **Begr\u00e4nsningsmappning:** \u00d6vers\u00e4tt indata till konkreta krav (t.ex. max latens f\u00f6r etikettgenerering, farligt gods-begr\u00e4nsningar, cold chain-behov, cutoff-tider, packregler, skalningsm\u00e5l f\u00f6r peak).\r\n4. **Urval av alternativ:** V\u00e4lj 2\u20134 genomf\u00f6rbara v\u00e4gar (t.ex. direkta transport\u00f6r-API:er, aggregat\u00f6r, hybrid) och motivera varf\u00f6r andra \u00e4r d\u00e5lig passform.\r\n5. **Evidensbaserad j\u00e4mf\u00f6relse:** Bygg en tabell som j\u00e4mf\u00f6r kandidater \u00f6ver kostnadstransparens, sp\u00e5rningsfidelitet, internationell beredskap, integrationsinsats och \u201cgotchas\u201d.\r\n6. **Arkitektur & arbetsfl\u00f6den:** Ge integrationsarbetsfl\u00f6den (textbaserade diagram) som visar datafl\u00f6de fr\u00e5n OMS till priss\u00e4ttning, etikettsk\u00f6p, sp\u00e5rning, returer och avst\u00e4mning.\r\n7. **Utrullningsplan:** Ge en stegvis implementeringsroadmap med realistiska tidsintervall och migrationssteg fr\u00e5n befintligt system.\r\n8. **Ekonomi:** Ge en total-cost-bild: mjukvaruavgifter, transport\u00f6rers minimikrav, kostnad per etikett, engineering\/ops-tid, undantagshantering och besparingsm\u00f6jligheter.\r\n\r\n## INDATA\r\n- **Produkttyper & hanteringsprofil:** [PRODUKTBESKRIVNING]\r\n- **Fraktdestinationer (inrikes + internationellt):** [KONTEXT]\r\n- **Krav p\u00e5 leveranshastighet:** [HUVUDMAL]\r\n- **M\u00e5natlig ordervolym (nuvarande + prognos):** [TIDSRAM]\r\n- **Nuvarande OMS\/e-handelsplattform:** [PLATTFORM]\r\n- **Bransch (valfritt, om det p\u00e5verkar begr\u00e4nsningar som farligt gods\/reglerade varor):** [BRANSCH]\r\n- **Budgetbegr\u00e4nsningar (valfritt):** [BUDGET]\r\n- **\u00d6nskad ton (valfritt):** [TON]\r\n\r\n## OUTPUT-SPECIFIKATION\r\nAnv\u00e4nd f\u00f6ljande struktur och rubriker.\r\n\r\n### 1) Strategi\u00f6versikt (Executive summary)\r\n- {Recommended Approach}: direct vs aggregator vs hybrid\r\n- {Why This Fits}: 3\u20136 punkter kopplade till anv\u00e4ndarens begr\u00e4nsningar\r\n- {Top Risks & Mitigations}: 3\u20136 punkter\r\n- {Quick Wins}: omedelbara f\u00f6r\u00e4ndringar som minskar cart abandonment och fraktl\u00e4ckage\r\n\r\n### 2) J\u00e4mf\u00f6relse av transport\u00f6r + plattform (tabell)\r\nGe en tabell med dessa kolumner (anv\u00e4nd exakt kolumnnamnen):\r\n- Carrier\/API\r\n- Real Costs (include typical add-ons and where they appear)\r\n- Tracking & Visibility (scan cadence, event quality, exceptions)\r\n- International Coverage (DDP\/DDU, paperless, duties\/taxes options)\r\n- Integration Complexity (auth, rating, labeling, webhooks, rate limits)\r\n- Hidden Gotchas (contract traps, billing surprises, operational quirks)\r\n- Best Use Case (specific scenarios)\r\n\r\nRader ska t\u00e4cka minst:\r\n- {Carrier Option 1} (e.g., FedEx)\r\n- {Carrier Option 2} (e.g., UPS)\r\n- {Carrier Option 3} (e.g., DHL Express, when applicable)\r\n- {Aggregator Option 1} (e.g., EasyPost)\r\n- {Aggregator Option 2} (e.g., Shippo or ShipStation\u2014choose based on fit)\r\n\r\nInkludera ocks\u00e5:\r\n- {Pricing Model Notes}: setup costs, monthly minimums, support tiers, per-shipment fees (ranges + drivers)\r\n\r\n### 3) Integrationsarbetsfl\u00f6den (diagram)\r\nGe 2\u20133 textdiagram (ASCII \u00e4r ok) som t\u00e4cker:\r\n- {Rating Flow}: cart\/checkout delivery options \u2192 rate shopping \u2192 caching rules\r\n- {Label Flow}: order ready \u2192 address validation \u2192 label purchase \u2192 retries\/fallback \u2192 print\/pack\r\n- {Tracking & Exceptions Flow}: webhook events \u2192 OMS updates \u2192 customer notifications \u2192 lost\/damaged claims triggers\r\nInkludera explicita felpunkter och fallback-\u00e5tg\u00e4rder.\r\n\r\n### 4) Implementeringsroadmap (stegvis plan)\r\nGe 4\u20136 faser med tidsintervall f\u00f6rskjutna i realistiska spann (t.ex. \u201c~2\u20134 veckor\u201d, \u201c~4\u20137 veckor\u201d), inklusive:\r\n- {Phase Name}\r\n- {Key Tasks}\r\n- {Dependencies}\r\n- {Exit Criteria}\r\n- {Peak-Season Safeguards}\r\n\r\n### 5) Kostnad\u2013nytta (nuvarande vs f\u00f6reslaget)\r\nSkapa en kort j\u00e4mf\u00f6relse som inkluderar:\r\n- {Current State Costs} (k\u00e4nda + sannolikt dolda)\r\n- {Proposed State Costs}\r\n- {Savings Levers} (packning, zoner, service-downgrades, regler, konsolidering)\r\n- {Operational Impact} (support\u00e4renden, WISMO-minskning, \u00e5terbetalningar\/claims)\r\n- {Break-Even Estimate} (med angivna antaganden)\r\n\r\n### Leveransstandarder\r\n- Anv\u00e4nd tydliga rubriker och punktlistor.\r\n- Fetmarkera de beslutskritiska faktorerna.\r\n- Var uppriktig: p\u00e5peka d\u00e4r leverant\u00f6rers p\u00e5st\u00e5enden rutinm\u00e4ssigt avviker fr\u00e5n verkligheten.\r\n- Om du anv\u00e4nder uppskattningar, m\u00e4rk dem som {Estimate} och f\u00f6rklara vad som skulle validera dem.\r\n\r\n## KVALITETSKONTROLLER\r\nInnan du slutf\u00f6r, verifiera:\r\n1. Rekommendationerna refererar explicit till anv\u00e4ndarens produktbegr\u00e4nsningar, regioner, hastighetsm\u00e5l, volym och plattform.\r\n2. Tabellen inkluderar verkliga kostnadsdrivare ut\u00f6ver baspris per etikett (dimensionsvikt, till\u00e4gg, korrigeringar, peak-avgifter).\r\n3. Arbetsfl\u00f6den inkluderar minst 5 konkreta felpunkter plus specifikt fallback-beteende.\r\n4. Den internationella delen inkluderar tull + hantering av tull\/moms (inte bara \u201cfraktar internationellt\u201d).\r\n5. Migrationskomplexitet och en realistisk stegvis utrullning ing\u00e5r (strategi f\u00f6r parallellk\u00f6rning\/cutover).";
    const variables = ["[PRODUKTBESKRIVNING]","[KONTEXT]","[HUVUDMAL]","[TIDSRAM]","[PLATTFORM]","[BRANSCH]","[BUDGET]","[TON]"];
    // Initial render with highlighted variables
    document.addEventListener('DOMContentLoaded', function() {
        renderPromptWithHighlights();
    });

    // Live update prompt as user types
    document.querySelectorAll('.customize-input').forEach(input => {
        input.addEventListener('input', renderPromptWithHighlights);
    });

    function renderPromptWithHighlights() {
        const promptContent = document.getElementById('premium-prompt-content');
        if (!promptContent) return;

        let updatedPrompt = originalPrompt;
        let filledVariables = {};

        // Collect filled values
        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                filledVariables[placeholder] = value;
            }
        });

        // Replace filled variables and highlight remaining
        let htmlContent = escapeHtml(updatedPrompt);

        variables.forEach(placeholder => {
            const escapedPlaceholder = escapeHtml(placeholder);
            const regex = new RegExp(escapeRegex(escapedPlaceholder), 'g');

            if (filledVariables[placeholder]) {
                // Show filled value with green highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable-filled">' + escapeHtml(filledVariables[placeholder]) + '</span>'
                );
            } else {
                // Show original placeholder with yellow highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable">' + escapedPlaceholder + '</span>'
                );
            }
        });

        promptContent.innerHTML = htmlContent;
    }

    function escapeRegex(string) {
        return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
    }

    function escapeHtml(text) {
        const div = document.createElement('div');
        div.textContent = text;
        return div.innerHTML;
    }

    function resetPrompt() {
        // Clear all input fields
        document.querySelectorAll('.customize-input').forEach(input => {
            input.value = '';
        });

        // Re-render with original placeholders highlighted
        renderPromptWithHighlights();

        // Visual feedback
        const resetBtns = document.querySelectorAll('.prompt-header-reset, .prompt-cta-reset');
        resetBtns.forEach(btn => {
            const originalText = btn.querySelector('span').textContent;
            btn.querySelector('span').textContent = 'Återställd!';
            setTimeout(() => {
                btn.querySelector('span').textContent = originalText;
            }, 1000);
        });
    }


    function getCustomizedPrompt() {
        let updatedPrompt = originalPrompt;

        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                const regex = new RegExp(escapeRegex(placeholder), 'g');
                updatedPrompt = updatedPrompt.replace(regex, value);
            }
        });

        return updatedPrompt;
    }
</script>

</div>

<div class="pro-tips-section">

<h2 class="wp-block-heading">Proffstips för bättre resultat med AI-prompten</h2>



<ul class="wp-block-list">

<li><strong>Ta med riktig fraktdata, inte gissningar.</strong> Klistra in ett litet utdrag: senaste 30–90 dagarna av ordervolym, genomsnittsvikt, paketmått, vanligaste zoner/destinationer och returgrad. Om du kan, inkludera även dina 10 största SKU:er utifrån storlek och ömtålighet så att planen kan hantera “liten men tät” annorlunda än “skrymmande men lätt”.</li>


<li><strong>Beskriv din nuvarande “etikettväg” steg för steg.</strong> De flesta fraktfel sker mellan OMS/WMS, prissättning, etikettköp och inläsning av spårningshändelser. Lägg till en notering som: “Ordrar kommer från Shopify, går till NetSuite varje natt, etiketter skapas i ShipStation av lagerpersonalen och spårning skickas tillbaka via CSV.”</li>


<li><strong>Gör tradeoffs tydliga.</strong> Efter första körningen, fråga: “Lista de 5 viktigaste felmoderna för den rekommenderade arkitekturen och hur vi upptäcker varje inom 5 minuter.” Du ser snabbt om du behöver direkta transportör-API:er för kontroll, eller en aggregator för snabbhet med acceptabel risk.</li>


<li><strong>Iterera prisreglage med en följdfråga.</strong> Testa: “Kör om kostnadsanalysen med antagandet att volymvikt driver 40% av försändelserna, och visa förpackningsförändringar eller förändringar i servicenivå som minskar total kostnad utan att försämra leveranslöften.” Det är en enkel justering som ofta hittar besparingar med låg insats.</li>


<li><strong>Be om en parallellkörningsplan för cutover som du faktiskt kan genomföra.</strong> Följ upp med: “Skapa en 2-veckors parallellkörningsplan med framgångsmått, triggers för rollback och dagliga kontroller (priser, etikettfel, scanhändelser, leverans-SLA). Anta att toppvolymen är 3x normal.” Om planen inte klarar det scenariot på papper, kommer den inte klara det i produktion.</li>

</ul>

</div>

<div class="related-prompts-section">

<h2 class="wp-block-heading">Relaterade prompts</h2>



<p>När din fraktstack är stabil hjälper de här promptarna dig att återvinna intäkter och hålla teamet igång utan att bränna ut er.</p>



<p>Om du också behöver minska avbrutna köp som orsakas av osäkerhet kring leverans, kombinera detta med <a href="https://nodenordic.se/prompts/skapa-en-retargetingplan-for-overgivna-varukorgar">Skapa en retargetingplan för återhämtning av övergivna kundvagnar med den här AI-prompten</a>. Använd den direkt efter att du har spikat leveranslöften så att dina annonser och mejl matchar verkliga ledtider och servicenivåer.</p>



<p>När fraktproblem redan har skapat churn (sena leveranser, skadade paket, förvirrande returer) hjälper <a href="https://nodenordic.se/prompts/skapa-en-win-back-plan-for-kunder-med-denna-ai-prompt">Skapa en win-back-plan för kunder med den här AI-prompten</a> dig att bygga segmenterad outreach och erbjudanden. Den fungerar bäst när du kan hänvisa till konkreta åtgärder från integrationsplanen, inte vaga ursäkter.</p>



<p>För team som gör tyngre retentionarbete är <a href="https://nodenordic.se/prompts/skapa-en-win-back-plan-for-kunder-med-ai-prompt">Bygg en win-back-plan för kunder med den här AI-prompten</a> ett bra nästa steg för djupare budskap och operativ samordning. Använd den när du vill ha en mer strukturerad playbook som synkar support, ops och marknad kring samma återhämtningslinje.</p>


<br>


<p>Snabbreferens:</p>



<ul class="wp-block-list">

<li><a href="https://nodenordic.se/prompts/skapa-en-retargetingplan-for-overgivna-varukorgar">Skapa en retargetingplan för återhämtning av övergivna kundvagnar med den här AI-prompten</a>: Retargetingflöde anpassat till fraktens verklighet.</li>


<li><a href="https://nodenordic.se/prompts/skapa-en-win-back-plan-for-kunder-med-denna-ai-prompt">Skapa en win-back-plan för kunder med den här AI-prompten</a>: Win-back-outreach efter fraktdriven churn.</li>


<li><a href="https://nodenordic.se/prompts/skapa-en-win-back-plan-for-kunder-med-ai-prompt">Bygg en win-back-plan för kunder med den här AI-prompten</a>: Djupare win-back-playbook och samordning.</li>


<li><a href="https://nodenordic.se/prompts/skapa-en-plan-for-att-forebygga-utbrandhetsrisk-ai-prompt">Skapa en AI-prompt för en plan för att förebygga utbrändhetsrisk</a>: Förebygg utbrändhet i ops under utrullningar i högsäsong.</li>


<li><a href="https://nodenordic.se/prompts/skapa-en-plan-mot-utbrandhet">Skapa en AI-prompt för en disposition för att förebygga utbrändhet</a>: Lättviktig plan för att skydda leveransteam.</li>

</ul>

</div>

<div class="faq-section">

<h2 class="wp-block-heading">Vanliga frågor</h2>


<div class="faq-item">
<span class="question">Vilka roller har mest nytta av den här AI-prompten för en fraktintegrationsplan?</span>

<p class="answer"><strong>Head of Operations</strong> använder den här för att göra “frakt är dyrt” till en konkret arkitektur, indata till en kostnadsmodell och en utrullningsplan som inte faller ihop under högsäsong. <strong>E-commerce Operations Manager</strong> får en tydligare strategi för leveransval (vad du ska erbjuda, när) plus mekaniken för att hålla priser, etiketter och spårning konsekventa. <strong>Solutions Architect eller Integration Engineer</strong> har nytta av promptens fokus på idempotency, retries, köhantering och rate limits – exakt där fraktintegrationer brukar skapa fel. <strong>Logistics/Transportation Manager</strong> kan använda jämförelsen av transportörer/plattformar och listan över tilläggsavgifter för att förbereda för förhandlingar och minska överraskningsavgifter.</p>

</div>

<div class="faq-item">
<span class="question">Vilka branscher får mest värde av den här AI-prompten för en fraktintegrationsplan?</span>

<p class="answer"><strong>DTC-e-handel med hög volym</strong> får omedelbart värde eftersom små fel skalar till tusentals misslyckade etiketter eller felprissatta försändelser, särskilt under kampanjer och högsäsong. <strong>Prenumerations- och påfyllnadsvarumärken</strong> använder den för att stabilisera förutsägbara veckovisa fraktcykler, minska avgifter för adresskorrigering och välja servicenivåer som skyddar LTV utan att överbetala. <strong>Marketplace-säljare</strong> gynnas när de måste hålla hårda leverans-SLA:er och behöver fallback-transportörer för att undvika straffavgifter för sena leveranser. <strong>Specialiserad detaljhandel (ömtåligt, skrymmande eller reglerad hantering)</strong> kan använda produkt-/hanterings- och volymvikts-tänket för att stoppa marginalläckage på stora paket och minska returer som drivs av skador.</p>

</div>

<div class="faq-item">
<span class="question">Varför ger grundläggande AI-prompts för att designa en fraktintegrationsplan svaga resultat?</span>

<p class="answer">En typisk prompt som &#8221;<em>Skriv en fraktintegrationsplan för min butik</em>&#8221; misslyckas eftersom den: saknar din operativa profil (paketstorlekar, zoner, servicenivåer, returgrad) vilket gör resultatet generiskt; ger ingen kostnadsstruktur för volymvikt, avgifter för privatadresser/avlägsna områden, bränsle-/högsäsongstillägg och adresskorrigering; ignorerar tillgänglighetsbeteende och felmoder, så du får leverantörs-SLA-floskler i stället för verklig driftsäkerhet; hoppar över integrationsmekanik som idempotency, retries, köhantering och strategi för rate limits; och undviker migrationsrisk, vilket är där riktiga projekt exploderar under cutover.</p>

</div>

<div class="faq-item">
<span class="question">Kan jag anpassa den här prompten för en fraktintegrationsplan till min specifika situation?</span>

<p class="answer">Ja, men anpassningen sker i det du klistrar in innan du kör den, eftersom prompten i sig inte har några ifyllnadsvariabler. Lägg till din nuvarande stack (butik, OMS/WMS, etikettverktyg), din volymprofil (ordrar/dag, peak-multiplikator), produkt-/hanteringsbegränsningar (ömtåligt, hazmat-liknande restriktioner, översize) och destinationsmix (inrikes zoner, internationell andel). Ställ sedan en följdfråga som: “Gör om arkitekturen för 3PL-fulfillment med två lager och inkludera hur vi håller priser och servicenivåer konsekventa mellan noder.” Ju mer konkreta dina indata är, desto mindre fluffiga blir rekommendationerna.</p>

</div>

<div class="faq-item">
<span class="question">Vilka är de vanligaste misstagen när man använder den här prompten för en fraktintegrationsplan?</span>

<p class="answer">Det största misstaget är att vara vag kring volym och peak-multiplikator – i stället för “vi skickar mycket”, använd “1 200 ordrar/dag i snitt, 3,5x peak, 65% privatadresser”. Ett annat vanligt fel är att inte ange paketmått, vilket döljer volymviktsrisk; “snittvikt är 1 lb” är svagt, medan “40% skickas i 12x10x8, 20% i 18x14x10, snitt faktisk vikt 1,2 lb” går att agera på. Folk glömmer också att beskriva feltolerans, så planen kan inte välja vettiga fallbacks; säg inte “det måste vara pålitligt”, säg “etikettköp måste degradera till en backup-transportör inom 2 minuter”. Slutligen utelämnar team den nuvarande migrationsröran (manuella steg, CSV:er, flera etikettverktyg), och då missar utrullningsplanen riskerna med parallellkörning och cutover.</p>

</div>

<div class="faq-item">
<span class="question">Vem ska INTE använda den här prompten för en fraktintegrationsplan?</span>

<p class="answer">Den här prompten är inte optimal för en liten butik som skickar några få ordrar per vecka där en enda fraktapp är “tillräckligt bra” och du inte kommer genomföra något integrationsarbete. Den är också fel om du letar efter förhandlade priser eller landspecifik juridisk/skatte- och efterlevnadsrådgivning, eftersom den uttryckligen undviker det. Och om ditt team inte kan dela någon fraktdata eller operativa begränsningar blir resultatet för abstrakt för att agera på. I de fallen: börja med en grundläggande setup i ett fraktverktyg och återkom när volym, komplexitet eller risk motiverar en arkitekturplan.</p>

</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Vilka roller har mest nytta av den här AI-prompten för en fraktintegrationsplan?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Head of Operations använder den här för att göra “frakt är dyrt” till en konkret arkitektur, indata till en kostnadsmodell och en utrullningsplan som inte faller ihop under högsäsong. E-commerce Operations Manager får en tydligare strategi för leveransval (vad du ska erbjuda, när) plus mekaniken för att hålla priser, etiketter och spårning konsekventa. Solutions Architect eller Integration Engineer har nytta av promptens fokus på idempotency, retries, köhantering och rate limits – exakt där fraktintegrationer brukar skapa fel. Logistics/Transportation Manager kan använda jämförelsen av transportörer/plattformar och listan över tilläggsavgifter för att förbereda för förhandlingar och minska överraskningsavgifter."
      }
    },
    {
      "@type": "Question",
      "name": "Vilka branscher får mest värde av den här AI-prompten för en fraktintegrationsplan?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "DTC-e-handel med hög volym får omedelbart värde eftersom små fel skalar till tusentals misslyckade etiketter eller felprissatta försändelser, särskilt under kampanjer och högsäsong. Prenumerations- och påfyllnadsvarumärken använder den för att stabilisera förutsägbara veckovisa fraktcykler, minska avgifter för adresskorrigering och välja servicenivåer som skyddar LTV utan att överbetala. Marketplace-säljare gynnas när de måste hålla hårda leverans-SLA:er och behöver fallback-transportörer för att undvika straffavgifter för sena leveranser. Specialiserad detaljhandel (ömtåligt, skrymmande eller reglerad hantering) kan använda produkt-/hanterings- och volymvikts-tänket för att stoppa marginalläckage på stora paket och minska returer som drivs av skador."
      }
    },
    {
      "@type": "Question",
      "name": "Varför ger grundläggande AI-prompts för att designa en fraktintegrationsplan svaga resultat?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "En typisk prompt som \"Skriv en fraktintegrationsplan för min butik\" misslyckas eftersom den: saknar din operativa profil (paketstorlekar, zoner, servicenivåer, returgrad) vilket gör resultatet generiskt; ger ingen kostnadsstruktur för volymvikt, avgifter för privatadresser/avlägsna områden, bränsle-/högsäsongstillägg och adresskorrigering; ignorerar tillgänglighetsbeteende och felmoder, så du får leverantörs-SLA-floskler i stället för verklig driftsäkerhet; hoppar över integrationsmekanik som idempotency, retries, köhantering och strategi för rate limits; och undviker migrationsrisk, vilket är där riktiga projekt exploderar under cutover."
      }
    },
    {
      "@type": "Question",
      "name": "Kan jag anpassa den här prompten för en fraktintegrationsplan till min specifika situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ja, men anpassningen sker i det du klistrar in innan du kör den, eftersom prompten i sig inte har några ifyllnadsvariabler. Lägg till din nuvarande stack (butik, OMS/WMS, etikettverktyg), din volymprofil (ordrar/dag, peak-multiplikator), produkt-/hanteringsbegränsningar (ömtåligt, hazmat-liknande restriktioner, översize) och destinationsmix (inrikes zoner, internationell andel). Ställ sedan en följdfråga som: “Gör om arkitekturen för 3PL-fulfillment med två lager och inkludera hur vi håller priser och servicenivåer konsekventa mellan noder.” Ju mer konkreta dina indata är, desto mindre fluffiga blir rekommendationerna."
      }
    },
    {
      "@type": "Question",
      "name": "Vilka är de vanligaste misstagen när man använder den här prompten för en fraktintegrationsplan?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Det största misstaget är att vara vag kring volym och peak-multiplikator – i stället för “vi skickar mycket”, använd “1 200 ordrar/dag i snitt, 3,5x peak, 65% privatadresser”. Ett annat vanligt fel är att inte ange paketmått, vilket döljer volymviktsrisk; “snittvikt är 1 lb” är svagt, medan “40% skickas i 12x10x8, 20% i 18x14x10, snitt faktisk vikt 1,2 lb” går att agera på. Folk glömmer också att beskriva feltolerans, så planen kan inte välja vettiga fallbacks; säg inte “det måste vara pålitligt”, säg “etikettköp måste degradera till en backup-transportör inom 2 minuter”. Slutligen utelämnar team den nuvarande migrationsröran (manuella steg, CSV:er, flera etikettverktyg), och då missar utrullningsplanen riskerna med parallellkörning och cutover."
      }
    },
    {
      "@type": "Question",
      "name": "Vem ska INTE använda den här prompten för en fraktintegrationsplan?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Den här prompten är inte optimal för en liten butik som skickar några få ordrar per vecka där en enda fraktapp är “tillräckligt bra” och du inte kommer genomföra något integrationsarbete. Den är också fel om du letar efter förhandlade priser eller landspecifik juridisk/skatte- och efterlevnadsrådgivning, eftersom den uttryckligen undviker det. Och om ditt team inte kan dela någon fraktdata eller operativa begränsningar blir resultatet för abstrakt för att agera på. I de fallen: börja med en grundläggande setup i ett fraktverktyg och återkom när volym, komplexitet eller risk motiverar en arkitekturplan."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">

<p>Frakt behöver inte vara en svart låda som äter marginal och skapar kaos vid värsta möjliga tillfälle. Klistra in prompten i ditt AI-verktyg, mata in verkliga begränsningar och gå därifrån med en plan du kan implementera och försvara.</p>

</div><p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/bygg-en-plan-for-fraktintegration-med-ai/">Bygg en plan för fraktintegration med AI</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Skriv mallar för fraktpolicy med AI-prompt</title>
		<link>https://nodenordic.se/prompts/skriv-mallar-for-fraktpolicy-med-ai-prompt/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=skriv-mallar-for-fraktpolicy-med-ai-prompt</link>
		
		<dc:creator><![CDATA[Rickard Andersson]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 02:12:17 +0000</pubDate>
				<category><![CDATA[prompts]]></category>
		<guid isPermaLink="false">https://nodenordic.se/?p=5003005</guid>

					<description><![CDATA[<p>Frågor om frakt hopar sig – en beprövad AI-prompt som skriver regelrätta policymallar för leveranstider, spårning, tull och returer.</p>
<p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/skriv-mallar-for-fraktpolicy-med-ai-prompt/">Skriv mallar för fraktpolicy med AI-prompt</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></description>
										<content:encoded><![CDATA[<!-- FOCUS_KEYWORD: shipping policy templates -->
<div class="hook-introduction">

<p>Fraktsidor är där bra beställningar dör. Om ditt leveransspråk är för självsäkert skapar du arga mejl när transportörer halkar efter. Om det är för otydligt lämnar kunderna eftersom de inte kan avgöra när (eller hur) deras beställning kommer fram.</p>



<p>Den här <strong>shipping policy templates</strong> är byggd för <strong>e-handelsansvariga</strong> som rensar en stökig supportinkorg, <strong>Shopify-operatörer</strong> som uppdaterar policyer inför en kampanj eller en helgrusch, och <strong>byråstrateger</strong> som standardiserar dokumentation i kundbutiker utan att lova för mycket. Resultatet är en uppsättning fraktinformationsmallar som går att kopiera och klistra in, och som täcker hanterings- och behandlingstider, fraktalternativ, spårningstidslinjer, internationella tullar, språk för störningar samt notiser om returfrakt.</p>

</div>

<div class="what-and-when-section">

<h2 class="wp-block-heading">Vad gör den här AI-prompten och när ska du använda den?</h2>



<table class="solution-results-table three-column" role="presentation" aria-label="What this prompt does, when to use it, and what you get">
 <thead>
    <tr>
      <th scope="col">Vad den här prompten gör</th>
      <th scope="col">När du ska använda den</th>
      <th scope="col">Vad du får</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <ul class="automation-list">
          <li>Den tar fram fraktmallar som använder intervall för leverans och hantering (till exempel ”1–3 arbetsdagar behandling” och ”3–7 arbetsdagar transport”) i stället för vaga påståenden om snabbhet.</li>
          <li>Den bygger in skyddande formuleringar som undviker absoluta garantier, om du inte uttryckligen bekräftar en garanterad tjänst med avtalsmässigt stöd.</li>
          <li>Den skapar tydliga avsnitt för fraktalternativ (standard, express, fri frakt-gränser och villkor) skrivna för att fungera över flera säljkanaler.</li>
          <li>Den lägger till förväntningar kring spårning, inklusive när spårning skickas ut och vad kunder ska göra om scanningar släpar efter.</li>
          <li>Om kritiska detaljer saknas stannar den och ställer bara de minimala frågor som behövs innan den skriver något.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>Du får återkommande ”Var är min beställning?”-ärenden eftersom kunder inte förstår skillnaden mellan behandlingstid och transportörens transittid.</li>
          <li>Du uppdaterar butikens policyer inför Q4, en produktlansering eller en flash sale där supportvolymen skjuter i höjden.</li>
          <li>Du skickar internationellt och behöver ett konsekvent sätt att förklara tullstopp, avgifter/skatter och importörens ansvar.</li>
          <li>Din nuvarande policy säger saker som ”snabb frakt” och du har insett att det skapar problem med efterlevnad och förväntningar.</li>
          <li>Du lägger till ömtåliga, tillverkas-på-beställning- eller restnoteringskänsliga produkter och behöver språk för edge cases som inte triggar återbetalningar.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>En kopieringsklar fraktpolicymall med tydliga avsnitt för behandling, fraktmetoder, spårning, internationellt samt notiser för högsäsong.</li>
           <li>3–5 korttexter för fraktalternativ (standard/express/fri frakt) som inkluderar villkor och leveransintervall utan att överlova.</li>
           <li>Ett modulavsnitt för ”förseningar och störningar” som täcker väder, transportörsförseningar, tullstopp och andra händelser utanför din kontroll.</li>
           <li>Ett paket med notiser för internationell frakt som förklarar avgifter/skatter och vem som ansvarar, plus vad som händer vid nekade leveranser.</li>
           <li>Formuleringar för integration av returfrakt med länkplatshållare som du kan byta ut i din returportal eller på policysidan.</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

<div class="prompt-display-section">

<h2 class="wp-block-heading">Hela AI-prompten: mallbyggare för e-handelns fraktpolicy</h2>



<div class="prompt-viewer-wrapper" id="prompt-section">
    <div class="prompt-comparison-row prompt-premium">
        <!-- Header with buttons -->
        <div class="prompt-row-header">
            <!-- <span class="prompt-row-icon">✨</span> -->
            <span class="prompt-row-title">
                                    Steg 1: Anpassa prompten med din information
                            </span>
            <div class="prompt-header-buttons">
                                    <button class="prompt-header-btn prompt-header-reset" onclick="resetPrompt()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Återställ</span>
                    </button>
                                <button class="prompt-header-btn prompt-header-copy-green flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span>Anpassa och kopiera hela prompten</span>
                </button>
            </div>
        </div>

        <!-- Customize the Prompt Section -->
                    <div class="prompt-customize-section">
                <span class="customize-title">Anpassa prompten</span>
                <p class="customize-subtitle">Fyll i fälten nedan för att anpassa prompten efter dina behov.</p>
                <table class="customize-table">
                    <thead>
                        <tr>
                            <th>Variabel</th>
                            <th>Vad du ska ange</th>
                            <th>Anpassa prompten</th>
                        </tr>
                    </thead>
                    <tbody>
                                                    <tr>
                                <td class="var-name"><code>[PRODUKTBESKRIVNING]</code></td>
                                <td class="var-desc">
                                    Ge en kortfattad beskrivning av produkten som ska skickas, inklusive typ, storlek och eventuella krav på särskild hantering.                                    <div class="var-example">Till exempel: "Handgjord keramisk vas, 30 cm hög, ömtålig och kräver skyddande emballage."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[PRODUKTBESKRIVNING]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[LEVERANSREGIONER]</code></td>
                                <td class="var-desc">
                                    Ange vilka regioner eller länder ni levererar till och specificera eventuella undantag eller begränsningar.                                    <div class="var-example">Till exempel: "Leverans till USA, Kanada och EU-länder. Levererar inte till postboxar (PO Boxes) eller APO/FPO-adresser."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[LEVERANSREGIONER]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[HANTERINGSTID]</code></td>
                                <td class="var-desc">
                                    Ange tidsintervallet som behövs för att förbereda och packa beställningen innan den skickas.                                    <div class="var-example">Till exempel: "Beställningar hanteras inom 1–3 arbetsdagar efter att betalningen har bekräftats."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[HANTERINGSTID]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[FRAKTALTERNATIV]</code></td>
                                <td class="var-desc">
                                    Lista tillgängliga fraktbolag och leveranssätt, inklusive viktiga villkor eller begränsningar.                                    <div class="var-example">Till exempel: "Vi skickar med USPS, FedEx och DHL. Expressfrakt erbjuds via FedEx Priority."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[FRAKTALTERNATIV]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[PLATTFORM]</code></td>
                                <td class="var-desc">
                                    Ange vilken försäljningskanal eller marknadsplats som fraktpolicyn gäller för.                                    <div class="var-example">Till exempel: "Gäller för beställningar via vår Shopify-butik eller på Amazons marknadsplats."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[PLATTFORM]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[VARUMARKESTON]</code></td>
                                <td class="var-desc">
                                    Beskriv vilken ton och kommunikationsstil ert varumärke använder, till exempel formell, avslappnad eller vänlig.                                    <div class="var-example">Till exempel: "Professionell men tillgänglig, med fokus på förtroende och transparens i all kundkommunikation."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[VARUMARKESTON]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[REGLER_FOR_FRI_FRAKT]</code></td>
                                <td class="var-desc">
                                    Beskriv villkoren för fri frakt, inklusive gränsvärden för order och eventuella undantag.                                    <div class="var-example">Till exempel: "Fri frakt gäller för beställningar över 50 USD inom sammanhängande USA. Gäller inte skrymmande varor eller expressalternativ."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[REGLER_FOR_FRI_FRAKT]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[REGLER_FOR_EXPRESSFRAKT]</code></td>
                                <td class="var-desc">
                                    Ange villkoren för expressfrakt, inklusive kostnader och stopptider (cutoff-tider).                                    <div class="var-example">Till exempel: "Expressfrakt erbjuds mot en extra kostnad på 15 USD. Beställningar måste läggas senast kl. 12.00 EST för hantering samma dag."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[REGLER_FOR_EXPRESSFRAKT]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[DETALJER_FOR_RETURPOLICY]</code></td>
                                <td class="var-desc">
                                    Förklara hur returer går till, inklusive tidsfrister, villkor och eventuella kostnader.                                    <div class="var-example">Till exempel: "Returer accepteras inom 30 dagar från leverans. Varor måste vara i originalskick. Kunden står för returfrakten om varan inte är defekt."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[DETALJER_FOR_RETURPOLICY]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[SISTA_BESTALLNINGSTID]</code></td>
                                <td class="var-desc">
                                    Ange dagens stopptid för orderhantering för att möjliggöra hantering samma dag eller snabbare leverans.                                    <div class="var-example">Till exempel: "Beställningar som läggs efter kl. 15.00 PST hanteras nästkommande arbetsdag."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[SISTA_BESTALLNINGSTID]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[SPARNINGSINFORMATION]</code></td>
                                <td class="var-desc">
                                    Ge information om spårning, inklusive när spårningsnumret utfärdas och hur kunden får tillgång till det.                                    <div class="var-example">Till exempel: "Spårningsnummer skickas inom 24 timmar efter att försändelsen har skickats och finns i din orderbekräftelse via e-post."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[SPARNINGSINFORMATION]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                            </tbody>
                </table>

                <button class="copy-customized-btn flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span class="copy-customized-text">Anpassa prompten nu</span>

                </button>
            </div>
        
        <!-- Full Prompt Code Header -->
                    <div class="prompt-code-header">
                <span class="prompt-code-title">
                    Steg 2: Kopiera prompten
                </span>
                <div class="prompt-code-buttons">
                    <!-- Reset: Only visible when unlocked -->
                    <button class="prompt-header-btn prompt-header-reset btn-when-unlocked" onclick="resetPrompt()" style="display: none;">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Återställ</span>
                    </button>
                    <!-- Copy Full Prompt -->
                    <button class="prompt-header-btn prompt-header-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                            <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                        </svg>
                        <span>Kopiera hela prompten</span>
                    </button>
                </div>
            </div>
        

        <!-- Prompt Content -->
        <div class="prompt-box prompt-gated-wrapper">
            <!-- Gated: Blurred content -->
            <div class="prompt-gated-content">
                <div class="prompt-header-visible">MÅL</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PERSONA</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">BEGRÄNSNINGAR</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Vad detta INTE är</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PROCESS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">INDATA</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">OUTPUTSPECIFIKATION</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">A) Klargörande frågor</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">B) Fraktmallar (copy-klara)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">C) Scenario-variationer (drop-in-moduler)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">D) Valfri microcopy (kassa/FAQ-snippets)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">KVALITETSKONTROLLER</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div>            </div>
            <!-- Unlocked: Full content (hidden by default) -->
            <div class="prompt-content-full" id="premium-prompt-content" style="display: none;">
                ## MÅL
Skapa copy‑paste-klara mallar för fraktinformation för ett e-handelsföretag som minskar köparens osäkerhet, undviker att lova för mycket om leveransdatum och uppfyller strikta krav på transparens i marknadsplatser. Leveranserna måste täcka flera fraktalternativ och vanliga gränsfall (förseningar, internationellt, ömtåliga varor, högsäsong).

## PERSONA
Agera som en ”designer av fraktpolicy-system”: en före detta ansvarig för fulfillment/logistik som hanterade transportörers högvolatila leveransprestanda under stora störningsperioder och som nu specialiserar sig på att skriva fraktkommunikation som minskar supportvolymen, förebygger plattformsrelaterade efterlevnadsproblem och ökar genomförda köp i kassan.

## BEGRÄNSNINGAR
- Använd specifika leverans-/hanteringsintervall (t.ex. ”2–4 arbetsdagar”), inte vaga hastighetspåståenden (undvik termer som ”fast”, ”quick”, ”rapid”, ”soon”, ”ASAP”, ”immediate”; lägg till ”instant” och ”lightning” i undvik-listan).
- Ge **inte** absoluta garantier om inte användaren uttryckligen bekräftar en garanterad tjänst med avtalsmässig uppbackning.
- Inkludera:
  - Intervall för behandling/hanteringstid och stopptider (om tillgängligt)
  - Fraktmetodsval (standard/express/gratis) med tydliga villkor
  - Tillgång till spårning och när den utfärdas
  - Internationella notiser om tull, avgifter/skatter och importörens ansvar
  - Vägledning för helgdagar/högsäsong och kapacitetsbegränsningar
  - Skyddande formuleringar för störningar utanför säljarens kontroll (väder, transportörsförseningar, tullhållningar, force majeure)
  - Integrering av returfrakt (hur returfrakt hanteras; länkplatshållare tillåtna)
- Måste kunna användas på flera säljkanaler/marknadsplatser utan att hänvisa till ett enskilt plattformsgränssnitt.
- Om indata är ofullständiga eller tvetydiga, pausa mallskrivandet och ställ endast de minsta frågor som krävs för att gå vidare.

### Vad detta INTE är
- Inte juridisk rådgivning, skatterådgivning eller en officiell policygranskning av en compliance-jurist.
- Inte förhandling av transportörsavtal, jämförelse av fraktpriser eller design av operativa arbetsflöden.
- Inte ett löfte om godkännande på en marknadsplats; det är standardiserad, informationsklar copy.

## PROCESS
1. **Föranalys (ange först din förståelse):** Sammanfatta, i 3–6 punkter, vad du tror att företaget skickar, vart det skickar och de viktigaste riskerna att hantera (kundoro + efterlevnad + operativ osäkerhet).  
2. **Klargörande intervju:** Ställ riktade frågor för att fylla luckor (begränsa till det nödvändiga). Prioritera: regioner, regler för hanteringstid, transportörer/tjänster, stopptider, regler för fri frakt, returflöde och internationell hantering.
3. **Policybygge:** Skriv ett centralt ”Fraktöversikt”-block plus separata moduler för:
   - Standardfrakt
   - Expressfrakt
   - Fri frakt (tröskel + undantag)
4. **Pass för förtroende &amp; tydlighet:** Lägg till lugnande formuleringar som är evidensbaserade (processinsyn, spårning, kommunikation) utan att låsa dig vid fasta ankomstdatum.
5. **Scenario-varianter:** Ge alternativa block för:
   - Transportörsförseningar/tjänstestörningar
   - Internationella leveranser/tullhållningar
   - Ömtåliga/högvärdiga varor (signatur, emballage, försäkring om tillämpligt)
   - Helgdagar/högsäsongsvolym
6. **Kanal-anpassning:** Ge en ”universell” version och en ”marketplace-tight” version (mer explicit, efterlevnadsinriktad formulering).
7. **Hantering av gränsfall:** Om någon nyckelvariabel är okänd, outputa en kort ”Assumption Note” plus en hakparentes-platshållare som användaren kan ersätta, och flagga risken.
8. **Slutlig QA:** Kör kvalitetskontrollerna nedan och åtgärda eventuella brister innan leverans.

## INDATA
- **Företagstyp &amp; produkter:** [PRODUKTBESKRIVNING]  
- **Leveransomfattning (länder/regioner):** [LEVERANSREGIONER]  
- **Typisk hanteringstid före avsändning:** [HANTERINGSTID]  
- **Tillgängliga transportörer/tjänster:** [FRAKTALTERNATIV]  
- **Säljkanaler/marknadsplatser som används:** [PLATTFORM]  
- **Varumärkets röst/stil (lugn, premium, lekfull, minimalistisk, osv.):** [VARUMARKESTON]  
- **Tröskel för fri frakt + begränsningar (om några):** [REGLER_FOR_FRI_FRAKT]  
- **Tillgänglighet för expressfrakt och regler (om några):** [REGLER_FOR_EXPRESSFRAKT]  
- **Upplägg för returfrakt (vem betalar, tidsfönster, undantag):** [DETALJER_FOR_RETURPOLICY]  
- **Stopptid för beställning/tidszon (om någon):** [SISTA_BESTALLNINGSTID]  
- **Spårningsdetaljer (när den skickas, vad som ingår):** [SPARNINGSINFORMATION]  

## OUTPUTSPECIFIKATION
Leverera i färdiga att klistra in-sektioner med tydliga rubriker, punktlistor för skumläsbarhet och **fetstil** för kritiska upplysningar. Använd platshållare endast där användaren inte har lämnat detaljer.

### A) Klargörande frågor
- {Question List} (grupperade efter prioritet: måste-ha vs bra-att-ha)

### B) Fraktmallar (copy-klara)
Ge varje mall i två stilar: {Universal Version} och {Marketplace-Tight Version}.

1. **Fraktöversikt (huvudblock)**
   - {Processing Time Statement}
   - {Delivery Time Range Statement}
   - {Tracking Statement}
   - {Regions Covered}
   - {Peak Season Note}
   - {Disruption/Safety Net Language}
   - {Returns-Shipping Integration Line}

2. **Standardfrakt**
   - {Eligibility}
   - {Processing Range}
   - {Transit Range}
   - {Tracking}
   - {Notes/Exclusions}

3. **Expressfrakt**
   - {Eligibility}
   - {Processing Range}
   - {Transit Range}
   - {Cutoff Handling}
   - {Tracking}
   - {Notes/Exclusions}

4. **Fri frakt**
   - {Threshold} (tydligt i fetstil)
   - {Regions/Item Exclusions}
   - {Carrier/Service Level Used}
   - {Processing + Transit Ranges}
   - {Returns Tie-In}

### C) Scenario-variationer (drop-in-moduler)
- {Delay Module}
- {International Module: Customs/Duties}
- {Fragile/High-Value Module}
- {Holiday/Peak Module}
- {Address/Delivery Attempt Module} (hantering av olevererbart/felaktig adress)

### D) Valfri microcopy (kassa/FAQ-snippets)
- {Cart Shipping Line}
- {Checkout Reassurance Line}
- {Order Confirmation Shipping Line}
- {Shipping Update Email Snippet}

## KVALITETSKONTROLLER
Innan du slutför, verifiera:
- Leverans- och hanteringstidslinjer uttrycks som intervall med definierade enheter (arbetsdagar vs kalenderdagar).
- Inga absoluta ankomstlöften förekommer om det inte uttryckligen bekräftas av användarens indata.
- Villkor för fri frakt är tydliga och inkluderar begränsningar/undantag.
- Internationell text fördelar tydligt ansvar för tull/avgifter och nämner potentiella gränsförseningar.
- Spårning, justeringar för högsäsong och skydd ”utanför vår kontroll” finns med och är läsbara.            </div>
        </div>


    </div>

    <!-- CTA Row - Full width buttons -->
    <div class="prompt-cta-row">
        <button class="prompt-cta-btn prompt-cta-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
            </svg>
            <span class="cta-copy-text">Kopiera hela prompten</span>
        </button>
    </div>
</div>

<style>
    /* Gated prompt states */
    .prompt-gated-wrapper {
        position: relative;
    }

    /* When unlocked - show full content, hide gated */
    body.flowpast-unlocked .prompt-gated-wrapper .prompt-gated-content {
        display: none;
    }

    body.flowpast-unlocked .prompt-gated-wrapper .prompt-content-full {
        display: block !important;
    }

    /* Show/hide elements based on unlock state */
    body.flowpast-unlocked .btn-when-unlocked {
        display: inline-flex !important;
    }

    .prompt-viewer-wrapper {
        scroll-margin-top: 250px;
    }

    /* ========================================
   PROMPT VIEWER - MAIN WRAPPER
   ======================================== */
    .prompt-viewer-wrapper {
        margin: 30px 0;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    /* ========================================
   PROMPT BOX CONTAINER
   ======================================== */
    .prompt-comparison-row {
        border-radius: 12px;
        overflow: hidden;
        border: 1px solid #e0e0e0;
        background: #fff;
    }

    /* ========================================
   HEADER WITH BUTTONS
   ======================================== */
    .prompt-row-header {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 14px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
        flex-wrap: wrap;
    }

    .prompt-row-icon {
        font-size: 20px;
    }

    .prompt-row-title {
        font-weight: 600;
        font-size: 22px;
        color: #fff !important;
        text-decoration: underline
    }

    .prompt-header-buttons {
        margin-left: auto;
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
    }

    /* Header buttons */
    .prompt-header-btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 10px 20px;
        border-radius: 6px;
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-header-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-header-copy:hover {
        background: #2a2a2a;
    }

    .prompt-header-copy.copied {
        background: #2e7d32;
    }

    .prompt-header-copy-green {
        background: #04AA6D !important;
        color: #fff !important;
    }

    .prompt-header-copy-green span {
        color: #fff !important;
    }

    .prompt-header-copy-green:hover {
        background: #039860 !important;
    }

    .prompt-header-copy-green.copied {
        background: #2e7d32 !important;
    }

    .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-header-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-1px);
    }

    /* ========================================
   PROMPT CONTENT - FULL (NO SCROLL)
   ======================================== */
    .prompt-box {
        background: #ffffff;
    }

    .prompt-content-full {
        padding: 24px;
        margin: 0;
        color: #202124;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.7;
        white-space: pre-wrap;
        word-wrap: break-word;
        /* No scroll - show full content */
        max-height: none;
        overflow: visible;
    }

    /* Highlighted variable in prompt */
    .prompt-variable {
        background: #fff3cd;
        color: #1967d2;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #ffc107;
    }

    .prompt-variable-filled {
        background: #d4edda;
        color: #155724;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #28a745;
    }

    /* ========================================
   GATED CONTENT (NO ACCESS)
   ======================================== */
    .prompt-gated-content {
        padding: 24px;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.8;
        max-height: none;
        overflow: visible;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        cursor: default;
    }

    /* ## headers - larger, black */
    .prompt-header-visible {
        color: #202124;
        font-weight: 600;
        margin: 5px 0 0px 0;
        font-size: 20px;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        text-decoration: underline;
        text-underline-offset: 4px;
    }

    /* ### headers - smaller, black */
    .prompt-header-visible.subheader {
        color: #202124;
        font-weight: 600;
        margin: 5px 0;
        font-size: 18px;
    }

    .prompt-header-visible:first-child {
        margin-top: 0;
    }

    /* ========================================
   LOCKED SECTION BLOCK
   ======================================== */
    .locked-section {
        position: relative;
        margin: 4px 0 8px 0;
        border-radius: 6px;
        overflow: hidden;
        background: linear-gradient(110deg, #e2e8f0 8%, #f1f5f9 18%, #e2e8f0 33%);
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
    }

    .locked-section-bg {
        position: relative;
    }

    .locked-section-lines {
        padding: 8px 12px;
        position: relative;
    }

    .locked-line {
        height: 6px;
        background: rgba(255, 255, 255, 0.6);
        border-radius: 3px;
        margin-bottom: 4px;
        margin-left: 12px;
    }

    .locked-line:last-child {
        margin-bottom: 0;
    }

    .locked-section-icon {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 10;
        font-size: 24px;
        filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.1));
    }

    /* Subheader locked sections - slightly indented */
    /*  .prompt-header-visible.subheader+.locked-section {
        margin-left: 16px;
    } */

    /* ========================================
   COMPATIBILITY BADGES
   ======================================== */
    .prompt-compatibility {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        padding: 12px 20px;
        background: #f8f9fa;
        border-top: 1px solid #e0e0e0;
    }

    .compat-label {
        font-size: 13px;
        color: #5f6368;
        font-weight: 500;
    }

    .compat-badge {
        padding: 4px 10px;
        background: #e8f0fe;
        color: #1967d2;
        border-radius: 4px;
        font-size: 12px;
        font-weight: 500;
    }

    /* ========================================
   CTA ROW - FULL WIDTH BUTTONS
   ======================================== */
    .prompt-cta-row {
        display: flex;
        gap: 16px;
        flex-wrap: wrap;
    }

    .prompt-cta-btn {
        flex: 1;
        min-width: 200px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 16px 24px;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-cta-copy {
        background: #3a3a3a;
        color: #fff !important;
    }


    .prompt-cta-copy span {
        background: #3a3a3a;
        color: #fff !important;
    }


    .prompt-cta-copy:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }


    .prompt-cta-copy.copied {
        background: #2e7d32;
    }

    .prompt-cta-reset {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-reset:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-cta-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    /* ========================================
    CUSTOMIZE YOUR PROMPT SECTION
    ======================================== */
    .prompt-customize-section {
        padding: 24px;
        border-bottom: 1px solid #e0e0e0;
        background: #fafbfc;
    }

    .customize-title {
        margin: 0 0 8px 0;
        font-size: 18px;
        font-weight: 700;
        color: #202124;
    }

    .customize-subtitle {
        margin: 0 0 20px 0;
        font-size: 14px;
        color: #5f6368;
    }

    .customize-table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 20px;
    }

    .customize-table th {
        text-align: left;
        padding: 12px;
        background: #f1f3f4;
        border: 1px solid #e0e0e0;
        font-size: 13px;
        font-weight: 600;
        color: #202124;
    }

    .customize-table td {
        padding: 12px;
        border: 1px solid #e0e0e0;
        vertical-align: top;
    }

    .customize-table .var-name {
        width: 25%;
        background: #f8f9fa;
    }

    .customize-table .var-name code {
        background: #fff3cd;
        color: #1967d2;
        border: 1px solid #ffc107;
        padding: 4px 8px;
        border-radius: 4px;
        font-size: 12px;
        word-break: break-all;
        font-weight: 600;
    }

    .customize-table .var-desc {
        width: 35%;
        font-size: 13px;
        color: #5f6368;
        line-height: 1.5;
    }

    .customize-table .var-example {
        margin-top: 8px;
        padding: 8px 10px;
        background: #f8f9fa;
        border-left: 3px solid #dadce0;
        font-size: 12px;
        color: #5f6368;
        font-style: italic;
        border-radius: 0 4px 4px 0;
    }

    .customize-table .var-input {
        width: 40%;
    }

    .customize-input {
        width: 100%;
        padding: 10px 12px;
        border: 1px solid #dadce0;
        border-radius: 6px;
        font-size: 13px;
        font-family: inherit;
        resize: vertical;
        transition: border-color 0.2s, box-shadow 0.2s;
    }

    .customize-input:focus {
        outline: none;
        border-color: rgb(5, 152, 98);
        box-shadow: 0 0 0 3px rgba(5, 152, 98, 0.1);
    }

    .customize-input::placeholder {
        color: #9aa0a6;
        font-style: italic;
    }

    .copy-customized-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        width: 100%;
        padding: 16px 24px;
        background: rgb(5, 152, 98);
        color: #fff !important;
        border: none;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
    }

    .copy-customized-btn span {
        color: #fff !important
    }

    .copy-customized-text span {
        color: #fff !important
    }

    .copy-customized-btn:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    .copy-customized-btn.copied {
        background: #2e7d32;
    }

    /* ========================================
    FULL PROMPT CODE HEADER
    ======================================== */
    .prompt-code-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
    }

    .prompt-code-title {
        font-size: 22px;
        font-weight: 600;
        text-decoration: underline;
        color: #fff !important;

    }

    .prompt-code-buttons {
        display: flex;
        gap: 8px;
    }

    .prompt-code-buttons .prompt-header-btn {
        padding: 8px 14px;
        font-size: 13px;
        background: #ffffff;
        color: #202124;
        border: 1px solid #dadce0;
    }

    .prompt-code-buttons .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
        border-color: rgb(5, 152, 98);
    }

    .prompt-code-buttons .prompt-header-btn.prompt-header-access:hover {
        background: rgb(4, 130, 83) !important;
        border-color: rgb(4, 130, 83);
        color: #fff !important;
    }

    .prompt-code-buttons .prompt-header-btn:hover {
        background: #f1f3f4;
    }

    .prompt-code-buttons .prompt-header-copy.copied {
        background: #d4edda;
        color: #155724;
        border-color: #28a745;
    }

    .prompt-header-reset {
        background: #ffffff;
        color: #202124;
    }

    /* ========================================
   RESPONSIVE
   ======================================== */
    @media (max-width: 768px) {
        .prompt-row-header {
            flex-direction: column;
            align-items: flex-start;
            gap: 12px;
        }

        .prompt-header-buttons {
            margin-left: 0;
            width: 100%;
        }

        .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }

        .prompt-cta-row {
            flex-direction: column;
        }

        .prompt-cta-btn {
            width: 100%;
        }

        /* Customize table responsive */
        .customize-table,
        .customize-table thead,
        .customize-table tbody,
        .customize-table tr,
        .customize-table th,
        .customize-table td {
            display: block;
        }

        .customize-table thead {
            display: none;
        }

        .customize-table tr {
            margin-bottom: 16px;
            border: 1px solid #e0e0e0;
            border-radius: 8px;
            overflow: hidden;
        }

        .customize-table td {
            width: 100% !important;
            border: none;
            border-bottom: 1px solid #e0e0e0;
        }

        .customize-table td:last-child {
            border-bottom: none;
        }

        .customize-table .var-name {
            background: #f1f3f4;
            font-weight: 600;
        }

        .prompt-code-header {
            flex-direction: column;
            gap: 12px;
            align-items: flex-start;
        }

        .prompt-code-buttons {
            width: 100%;
        }

        .prompt-code-buttons .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }
    }
</style>

<script>
    function handlePromptCopy() {
        // Check if unlocked via cookie
        if (typeof window.flowpastIsUnlocked === 'function' && !window.flowpastIsUnlocked()) {
            // Show email popup
            if (typeof window.flowpastShowEmailPopup === 'function') {
                window.flowpastShowEmailPopup('prompt');
            }
            return;
        }

        // Copy the customized prompt (with filled variables)
        const customizedPrompt = getCustomizedPrompt();
        const copyButtons = document.querySelectorAll('.prompt-header-copy, .prompt-header-copy-green, .prompt-cta-copy, .copy-customized-btn');

        navigator.clipboard.writeText(customizedPrompt).then(() => {
            copyButtons.forEach(btn => {
                btn.classList.add('copied');
                const textSpan = btn.querySelector('span');
                if (textSpan) textSpan.textContent = 'Kopierad!';
            });

            setTimeout(() => {
                copyButtons.forEach(btn => {
                    btn.classList.remove('copied');
                    const textSpan = btn.querySelector('span');
                    if (textSpan) textSpan.textContent = 'Kopiera hela prompten';
                });
            }, 2000);
        }).catch(err => {
            console.error('Failed to copy:', err);
        });
    }

    // Store original prompt for customization
    const originalPrompt = "## M\u00c5L\r\nSkapa copy\u2011paste-klara mallar f\u00f6r fraktinformation f\u00f6r ett e-handelsf\u00f6retag som minskar k\u00f6parens os\u00e4kerhet, undviker att lova f\u00f6r mycket om leveransdatum och uppfyller strikta krav p\u00e5 transparens i marknadsplatser. Leveranserna m\u00e5ste t\u00e4cka flera fraktalternativ och vanliga gr\u00e4nsfall (f\u00f6rseningar, internationellt, \u00f6mt\u00e5liga varor, h\u00f6gs\u00e4song).\r\n\r\n## PERSONA\r\nAgera som en \u201ddesigner av fraktpolicy-system\u201d: en f\u00f6re detta ansvarig f\u00f6r fulfillment\/logistik som hanterade transport\u00f6rers h\u00f6gvolatila leveransprestanda under stora st\u00f6rningsperioder och som nu specialiserar sig p\u00e5 att skriva fraktkommunikation som minskar supportvolymen, f\u00f6rebygger plattformsrelaterade efterlevnadsproblem och \u00f6kar genomf\u00f6rda k\u00f6p i kassan.\r\n\r\n## BEGR\u00c4NSNINGAR\r\n- Anv\u00e4nd specifika leverans-\/hanteringsintervall (t.ex. \u201d2\u20134 arbetsdagar\u201d), inte vaga hastighetsp\u00e5st\u00e5enden (undvik termer som \u201dfast\u201d, \u201dquick\u201d, \u201drapid\u201d, \u201dsoon\u201d, \u201dASAP\u201d, \u201dimmediate\u201d; l\u00e4gg till \u201dinstant\u201d och \u201dlightning\u201d i undvik-listan).\r\n- Ge **inte** absoluta garantier om inte anv\u00e4ndaren uttryckligen bekr\u00e4ftar en garanterad tj\u00e4nst med avtalsm\u00e4ssig uppbackning.\r\n- Inkludera:\r\n  - Intervall f\u00f6r behandling\/hanteringstid och stopptider (om tillg\u00e4ngligt)\r\n  - Fraktmetodsval (standard\/express\/gratis) med tydliga villkor\r\n  - Tillg\u00e5ng till sp\u00e5rning och n\u00e4r den utf\u00e4rdas\r\n  - Internationella notiser om tull, avgifter\/skatter och import\u00f6rens ansvar\r\n  - V\u00e4gledning f\u00f6r helgdagar\/h\u00f6gs\u00e4song och kapacitetsbegr\u00e4nsningar\r\n  - Skyddande formuleringar f\u00f6r st\u00f6rningar utanf\u00f6r s\u00e4ljarens kontroll (v\u00e4der, transport\u00f6rsf\u00f6rseningar, tullh\u00e5llningar, force majeure)\r\n  - Integrering av returfrakt (hur returfrakt hanteras; l\u00e4nkplatsh\u00e5llare till\u00e5tna)\r\n- M\u00e5ste kunna anv\u00e4ndas p\u00e5 flera s\u00e4ljkanaler\/marknadsplatser utan att h\u00e4nvisa till ett enskilt plattformsgr\u00e4nssnitt.\r\n- Om indata \u00e4r ofullst\u00e4ndiga eller tvetydiga, pausa mallskrivandet och st\u00e4ll endast de minsta fr\u00e5gor som kr\u00e4vs f\u00f6r att g\u00e5 vidare.\r\n\r\n### Vad detta INTE \u00e4r\r\n- Inte juridisk r\u00e5dgivning, skatter\u00e5dgivning eller en officiell policygranskning av en compliance-jurist.\r\n- Inte f\u00f6rhandling av transport\u00f6rsavtal, j\u00e4mf\u00f6relse av fraktpriser eller design av operativa arbetsfl\u00f6den.\r\n- Inte ett l\u00f6fte om godk\u00e4nnande p\u00e5 en marknadsplats; det \u00e4r standardiserad, informationsklar copy.\r\n\r\n## PROCESS\r\n1. **F\u00f6ranalys (ange f\u00f6rst din f\u00f6rst\u00e5else):** Sammanfatta, i 3\u20136 punkter, vad du tror att f\u00f6retaget skickar, vart det skickar och de viktigaste riskerna att hantera (kundoro + efterlevnad + operativ os\u00e4kerhet).  \r\n2. **Klarg\u00f6rande intervju:** St\u00e4ll riktade fr\u00e5gor f\u00f6r att fylla luckor (begr\u00e4nsa till det n\u00f6dv\u00e4ndiga). Prioritera: regioner, regler f\u00f6r hanteringstid, transport\u00f6rer\/tj\u00e4nster, stopptider, regler f\u00f6r fri frakt, returfl\u00f6de och internationell hantering.\r\n3. **Policybygge:** Skriv ett centralt \u201dFrakt\u00f6versikt\u201d-block plus separata moduler f\u00f6r:\r\n   - Standardfrakt\r\n   - Expressfrakt\r\n   - Fri frakt (tr\u00f6skel + undantag)\r\n4. **Pass f\u00f6r f\u00f6rtroende & tydlighet:** L\u00e4gg till lugnande formuleringar som \u00e4r evidensbaserade (processinsyn, sp\u00e5rning, kommunikation) utan att l\u00e5sa dig vid fasta ankomstdatum.\r\n5. **Scenario-varianter:** Ge alternativa block f\u00f6r:\r\n   - Transport\u00f6rsf\u00f6rseningar\/tj\u00e4nstest\u00f6rningar\r\n   - Internationella leveranser\/tullh\u00e5llningar\r\n   - \u00d6mt\u00e5liga\/h\u00f6gv\u00e4rdiga varor (signatur, emballage, f\u00f6rs\u00e4kring om till\u00e4mpligt)\r\n   - Helgdagar\/h\u00f6gs\u00e4songsvolym\r\n6. **Kanal-anpassning:** Ge en \u201duniversell\u201d version och en \u201dmarketplace-tight\u201d version (mer explicit, efterlevnadsinriktad formulering).\r\n7. **Hantering av gr\u00e4nsfall:** Om n\u00e5gon nyckelvariabel \u00e4r ok\u00e4nd, outputa en kort \u201dAssumption Note\u201d plus en hakparentes-platsh\u00e5llare som anv\u00e4ndaren kan ers\u00e4tta, och flagga risken.\r\n8. **Slutlig QA:** K\u00f6r kvalitetskontrollerna nedan och \u00e5tg\u00e4rda eventuella brister innan leverans.\r\n\r\n## INDATA\r\n- **F\u00f6retagstyp & produkter:** [PRODUKTBESKRIVNING]  \r\n- **Leveransomfattning (l\u00e4nder\/regioner):** [LEVERANSREGIONER]  \r\n- **Typisk hanteringstid f\u00f6re avs\u00e4ndning:** [HANTERINGSTID]  \r\n- **Tillg\u00e4ngliga transport\u00f6rer\/tj\u00e4nster:** [FRAKTALTERNATIV]  \r\n- **S\u00e4ljkanaler\/marknadsplatser som anv\u00e4nds:** [PLATTFORM]  \r\n- **Varum\u00e4rkets r\u00f6st\/stil (lugn, premium, lekfull, minimalistisk, osv.):** [VARUMARKESTON]  \r\n- **Tr\u00f6skel f\u00f6r fri frakt + begr\u00e4nsningar (om n\u00e5gra):** [REGLER_FOR_FRI_FRAKT]  \r\n- **Tillg\u00e4nglighet f\u00f6r expressfrakt och regler (om n\u00e5gra):** [REGLER_FOR_EXPRESSFRAKT]  \r\n- **Uppl\u00e4gg f\u00f6r returfrakt (vem betalar, tidsf\u00f6nster, undantag):** [DETALJER_FOR_RETURPOLICY]  \r\n- **Stopptid f\u00f6r best\u00e4llning\/tidszon (om n\u00e5gon):** [SISTA_BESTALLNINGSTID]  \r\n- **Sp\u00e5rningsdetaljer (n\u00e4r den skickas, vad som ing\u00e5r):** [SPARNINGSINFORMATION]  \r\n\r\n## OUTPUTSPECIFIKATION\r\nLeverera i f\u00e4rdiga att klistra in-sektioner med tydliga rubriker, punktlistor f\u00f6r skuml\u00e4sbarhet och **fetstil** f\u00f6r kritiska upplysningar. Anv\u00e4nd platsh\u00e5llare endast d\u00e4r anv\u00e4ndaren inte har l\u00e4mnat detaljer.\r\n\r\n### A) Klarg\u00f6rande fr\u00e5gor\r\n- {Question List} (grupperade efter prioritet: m\u00e5ste-ha vs bra-att-ha)\r\n\r\n### B) Fraktmallar (copy-klara)\r\nGe varje mall i tv\u00e5 stilar: {Universal Version} och {Marketplace-Tight Version}.\r\n\r\n1. **Frakt\u00f6versikt (huvudblock)**\r\n   - {Processing Time Statement}\r\n   - {Delivery Time Range Statement}\r\n   - {Tracking Statement}\r\n   - {Regions Covered}\r\n   - {Peak Season Note}\r\n   - {Disruption\/Safety Net Language}\r\n   - {Returns-Shipping Integration Line}\r\n\r\n2. **Standardfrakt**\r\n   - {Eligibility}\r\n   - {Processing Range}\r\n   - {Transit Range}\r\n   - {Tracking}\r\n   - {Notes\/Exclusions}\r\n\r\n3. **Expressfrakt**\r\n   - {Eligibility}\r\n   - {Processing Range}\r\n   - {Transit Range}\r\n   - {Cutoff Handling}\r\n   - {Tracking}\r\n   - {Notes\/Exclusions}\r\n\r\n4. **Fri frakt**\r\n   - {Threshold} (tydligt i fetstil)\r\n   - {Regions\/Item Exclusions}\r\n   - {Carrier\/Service Level Used}\r\n   - {Processing + Transit Ranges}\r\n   - {Returns Tie-In}\r\n\r\n### C) Scenario-variationer (drop-in-moduler)\r\n- {Delay Module}\r\n- {International Module: Customs\/Duties}\r\n- {Fragile\/High-Value Module}\r\n- {Holiday\/Peak Module}\r\n- {Address\/Delivery Attempt Module} (hantering av olevererbart\/felaktig adress)\r\n\r\n### D) Valfri microcopy (kassa\/FAQ-snippets)\r\n- {Cart Shipping Line}\r\n- {Checkout Reassurance Line}\r\n- {Order Confirmation Shipping Line}\r\n- {Shipping Update Email Snippet}\r\n\r\n## KVALITETSKONTROLLER\r\nInnan du slutf\u00f6r, verifiera:\r\n- Leverans- och hanteringstidslinjer uttrycks som intervall med definierade enheter (arbetsdagar vs kalenderdagar).\r\n- Inga absoluta ankomstl\u00f6ften f\u00f6rekommer om det inte uttryckligen bekr\u00e4ftas av anv\u00e4ndarens indata.\r\n- Villkor f\u00f6r fri frakt \u00e4r tydliga och inkluderar begr\u00e4nsningar\/undantag.\r\n- Internationell text f\u00f6rdelar tydligt ansvar f\u00f6r tull\/avgifter och n\u00e4mner potentiella gr\u00e4nsf\u00f6rseningar.\r\n- Sp\u00e5rning, justeringar f\u00f6r h\u00f6gs\u00e4song och skydd \u201dutanf\u00f6r v\u00e5r kontroll\u201d finns med och \u00e4r l\u00e4sbara.";
    const variables = ["[PRODUKTBESKRIVNING]","[LEVERANSREGIONER]","[HANTERINGSTID]","[FRAKTALTERNATIV]","[PLATTFORM]","[VARUMARKESTON]","[REGLER_FOR_FRI_FRAKT]","[REGLER_FOR_EXPRESSFRAKT]","[DETALJER_FOR_RETURPOLICY]","[SISTA_BESTALLNINGSTID]","[SPARNINGSINFORMATION]"];
    // Initial render with highlighted variables
    document.addEventListener('DOMContentLoaded', function() {
        renderPromptWithHighlights();
    });

    // Live update prompt as user types
    document.querySelectorAll('.customize-input').forEach(input => {
        input.addEventListener('input', renderPromptWithHighlights);
    });

    function renderPromptWithHighlights() {
        const promptContent = document.getElementById('premium-prompt-content');
        if (!promptContent) return;

        let updatedPrompt = originalPrompt;
        let filledVariables = {};

        // Collect filled values
        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                filledVariables[placeholder] = value;
            }
        });

        // Replace filled variables and highlight remaining
        let htmlContent = escapeHtml(updatedPrompt);

        variables.forEach(placeholder => {
            const escapedPlaceholder = escapeHtml(placeholder);
            const regex = new RegExp(escapeRegex(escapedPlaceholder), 'g');

            if (filledVariables[placeholder]) {
                // Show filled value with green highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable-filled">' + escapeHtml(filledVariables[placeholder]) + '</span>'
                );
            } else {
                // Show original placeholder with yellow highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable">' + escapedPlaceholder + '</span>'
                );
            }
        });

        promptContent.innerHTML = htmlContent;
    }

    function escapeRegex(string) {
        return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
    }

    function escapeHtml(text) {
        const div = document.createElement('div');
        div.textContent = text;
        return div.innerHTML;
    }

    function resetPrompt() {
        // Clear all input fields
        document.querySelectorAll('.customize-input').forEach(input => {
            input.value = '';
        });

        // Re-render with original placeholders highlighted
        renderPromptWithHighlights();

        // Visual feedback
        const resetBtns = document.querySelectorAll('.prompt-header-reset, .prompt-cta-reset');
        resetBtns.forEach(btn => {
            const originalText = btn.querySelector('span').textContent;
            btn.querySelector('span').textContent = 'Återställd!';
            setTimeout(() => {
                btn.querySelector('span').textContent = originalText;
            }, 1000);
        });
    }


    function getCustomizedPrompt() {
        let updatedPrompt = originalPrompt;

        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                const regex = new RegExp(escapeRegex(placeholder), 'g');
                updatedPrompt = updatedPrompt.replace(regex, value);
            }
        });

        return updatedPrompt;
    }
</script>

</div>

<div class="pro-tips-section">

<h2 class="wp-block-heading">Proffstips för bättre resultat med AI-prompten</h2>



<ul class="wp-block-list">

<li><strong>Bestäm din ”intervallfilosofi” först.</strong> Innan du klistrar in något, välj vilken stil du vill ha: snävare intervall (mer övertygande, högre risk) eller bredare intervall (säkrare, något lägre konvertering). Fråga sedan: ”Använd konservativa leveransintervall som speglar att transportörer ibland blir försenade, och håll formuleringarna konsekventa i alla avsnitt.”</li>


<li><strong>Mata in dina faktiska stopptider och verklig hantering.</strong> Om du skickar samma dag bara när beställningar kommer in före kl. 13:00, skriv det. En korrekt formaterad uppföljningsprompt fungerar bra: ”Lägg till en stopptid för beställningar kl. 13:00 ET på vardagar; beställningar efter stopptiden börjar behandlas nästa arbetsdag; exkludera helger och federala helgdagar.”</li>


<li><strong>Var tydlig med tid för spårning och glapp i scanningar.</strong> Spårning är ärligt talat där förtroendet urholkas. Lägg till en mening som stämmer: ”Spårningsnummer utfärdas inom X–Y arbetsdagar, och transportörens scanningar kan ta 24–48 timmar att uppdateras efter att fraktsedeln skapats.” Om du vill ha det ännu tajtare, be om: ”Skriv ett kort felsökningsavsnitt för statusen ‘etikett skapad’.”</li>


<li><strong>Iterera risknivån i formuleringarna för störningar.</strong> Efter första resultatet, prova att be om: ”Skriv nu om avsnittet om förseningar i två versioner: (A) kundvänlig men tydlig, (B) mer skyddande och efterlevnadsfokuserad. Behåll samma leveransintervall.” Du ser snabbt vilken ton som passar ditt varumärke och dina tvistmönster.</li>


<li><strong>Synka policyspråket med din prisstrategi.</strong> Om du erbjuder gränser för fri frakt vill du ha samma tydlighet som du skulle använda för prissättning. Kombinera detta med en prompt för prisgranskning som <a href="https://nodenordic.se/prompts/gor-en-prisoversyn-for-smaforetag-med-denna-ai-prompt">Gör en prisöversyn för småföretag med denna AI-prompt</a>, och kom sedan tillbaka och säg till fraktprompten: ”Använd fri frakt över $X, exkludera skrymmande produkter och specificera hur delade leveranser påverkar leveransintervallen.”</li>

</ul>

</div>

<div class="related-prompts-section">

<h2 class="wp-block-heading">Relaterade prompter</h2>



<p>När ditt fraktspråk är tydligt hjälper de här promptarna dig att vässa prissättningen så att leveranslöften och marginaler inte motarbetar varandra.</p>



<p>Om du även behöver rimlighetskontrollera hur fraktkostnader påverkar lönsamheten är <a href="https://nodenordic.se/prompts/gor-en-prisoversyn-for-smaforetag-med-denna-ai-prompt">Gör en prisöversyn för småföretag med denna AI-prompt</a> ett praktiskt nästa steg. Använd den när transportörskostnader har förändrats, du har infört fri frakt eller du misstänker att ditt ”allt inkluderat”-pris levererat i tysthet pressar marginalen.</p>



<p>För team som jobbar med kampanjer och säsongsplanering hjälper <a href="https://nodenordic.se/prompts/bygg-en-prismatris-for-scenarier-med-denna-ai-prompt">Bygg en prismatris för scenarier med denna AI-prompt</a> dig att modellera utfall över olika frakttrösklar och erbjudandestrukturer. Den är särskilt användbar när du överväger ”fri frakt över $X” kontra ”fast frakt” och vill ha siffror som stöd för beslutet.</p>



<p>När du repositionerar varumärket eller lägger till ett premiumalternativ för expressleverans passar <a href="https://nodenordic.se/prompts/skapa-en-prissattningsstrategi-med-denna-ai-prompt">Skapa en prissättningsstrategi med denna AI-prompt</a> bra tillsammans med arbetet med fraktpolicy. Du kan hålla fraktmallen konservativ och ändå presentera ett erbjudande med högre upplevt värde som stödjer prisnivån.</p>


<br>


<p>Snabbreferens:</p>



<ul class="wp-block-list">

<li><a href="https://nodenordic.se/prompts/gor-en-prisoversyn-for-smaforetag-med-denna-ai-prompt">Gör en prisöversyn för småföretag med denna AI-prompt</a>: Hitta marginaläckor och prissättningsglapp.</li>


<li><a href="https://nodenordic.se/prompts/bygg-en-prismatris-for-scenarier-med-denna-ai-prompt">Bygg en prismatris för scenarier med denna AI-prompt</a>: Jämför utfall mellan prisscenarier.</li>


<li><a href="https://nodenordic.se/prompts/skapa-en-prissattningsstrategi-med-denna-ai-prompt">Skapa en prissättningsstrategi med denna AI-prompt</a>: Sätt positionering, paketering och skyddsräcken.</li>


<li><a href="https://nodenordic.se/prompts/bygg-en-prisjamforelsetabell-med-ai-prompt">Bygg en prisjämförelsetabell med AI-prompt</a>: Sida-vid-sida-översikt av planer och funktioner.</li>


<li><a href="https://nodenordic.se/prompts/bygg-en-prissattningsplan-for-marknadsintrade-med-ai">Bygg en prissättningsplan för marknadsinträde med ai</a>: Lanseringsprissättning för en ny marknad.</li>

</div>

<div class="faq-section">

<h2 class="wp-block-heading">Vanliga frågor</h2>


<div class="faq-item">
<span class="question">Vilka roller har störst nytta av den här AI-prompten för shipping policy templates?</span>

<p class="answer"><strong>Operations managers inom e-handel</strong> använder den för att standardisera fraktspråk över kanaler och samtidigt vara realistiska kring variationer hos transportörer. <strong>Teamledare för kundsupport</strong> förlitar sig på den för att minska volymen av ”var är min beställning” genom att göra regler för behandling, transport och spårning omöjliga att missa. <strong>Specialister på marketplace-efterlevnad</strong> använder den när policysidor behöver tydligare upplysningar utan att låta avvisande. <strong>DTC-grundare</strong> använder den för att sluta överlova leveransdatum och samtidigt skydda konverteringen i kassan.</p>

</div>

<div class="faq-item">
<span class="question">Vilka branscher får mest värde av den här AI-prompten för shipping policy templates?</span>

<p class="answer"><strong>Kläd- och accessoarvarumärken</strong> får värde eftersom storleksbyten, delade leveranser och toppar under högsäsong skapar ständiga leveransfrågor; tydliga intervall och förväntningar kring spårning minskar churn. <strong>Skönhet och personlig vård</strong>-team använder den för att hantera värmekänslighet, försvunna paket och hantering av returfrakt på ett sätt som inte skapar garantier. <strong>Hem- och inredningsprodukter samt ömtåliga varor</strong> gynnas av språket för edge cases kring skador, skyddspackning och störningar hos transportörer. <strong>Prenumerations- och påfyllnadsverksamheter</strong> använder den för att förklara förnyelsetiming, fulfillment-cykler och vad som händer när en adressändring kommer in för sent.</p>

</div>

<div class="faq-item">
<span class="question">Varför ger grundläggande AI-prompter för att skriva shipping policy templates svaga resultat?</span>

<p class="answer">En typisk prompt som &#8217;<em>Write me a shipping policy for my store</em>&#8217; misslyckas eftersom den: saknar intervall för leverans och hantering (så modellen faller tillbaka på fluffiga påståenden), saknar strukturerade avsnitt för spårning, internationella tullar/avgifter, högsäsong och störningar, ignorerar kravet på ”inga absoluta garantier” som förebygger återbetalningar och tvister, producerar generiska plattformsspecifika formuleringar i stället för kanalagnostiska mallar, och missar skyddande språk för händelser utanför säljarens kontroll som väderförseningar eller tullstopp.</p>

</div>

<div class="faq-item">
<span class="question">Kan jag anpassa den här shipping policy templates-prompten för min specifika situation?</span>

<p class="answer">Ja, men du gör det genom att ange de operativa fakta som mallen behöver: intervall för behandling/hantering, stopptid för beställningar, vilka fraktmetoder du erbjuder, när spårning utfärdas och hur returfrakt hanteras (förbetald etikett, kunden betalar eller villkorat). Internationell frakt är en annan nyckelvariabel, särskilt vem som betalar avgifter/skatter och vad som händer vid nekade paket. Om butiken säljer ömtåliga, skrymmande eller tillverkas-på-beställning-produkter, nämn det så att policyn kan inkludera rätt undantag. En användbar uppföljningsbegäran är: ”Skriv om mallarna för (1) tillverkas-på-beställning-produkter med 3–5 arbetsdagars behandling och (2) lagervaror med behandling samma dag före kl. 13:00, och behåll samma avsnitt för störningar och internationellt.”</p>

</div>

<div class="faq-item">
<span class="question">Vilka är de vanligaste misstagen när man använder den här shipping policy templates-prompten?</span>

<p class="answer">Det största misstaget är att lämna leveransfönster för otydliga — i stället för ”skickas inom några dagar”, använd ”behandling tar 1–3 arbetsdagar; transport tar 3–7 arbetsdagar beroende på plats.” Ett annat vanligt fel är att glömma spårningsregeln; ”vi erbjuder spårning” är svagare än ”spårning utfärdas inom 1–2 arbetsdagar, och transportörens scanningar kan ta 24–48 timmar att uppdateras.” Många hoppar också över internationella avgifter/skatter, vilket leder till arga överraskningar; specificera ”avgifter och skatter är köparens ansvar där det är tillämpligt.” Slutligen utelämnar många butiker kapacitetsbegränsningar under högsäsong; lägg till en tydlig notis som ”behandlingstiden kan förlängas med 1–2 arbetsdagar under helger och större kampanjer.”</p>

</div>

<div class="faq-item">
<span class="question">Vem ska INTE använda den här shipping policy templates-prompten?</span>

<p class="answer">Den här prompten är inte idealisk för företag som behöver granskning på nivå med juridisk rådgivare (till exempel hårt reglerade produkter eller komplexa gränsöverskridande skatteåtaganden) eftersom det inte är juridisk eller skattemässig rådgivning. Den passar också dåligt om du söker en enradig ”snabb frakt”-text; hela poängen är specificitet utan garantier. Och om du ännu inte har bestämt dina faktiska hanteringstider eller fraktmetoder kommer du att fastna vid förtydligandefrågorna. I de fallen, dokumentera först hur din fulfillment faktiskt fungerar och återkom sedan för att generera strukturerade mallar.</p>

</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Vilka roller har störst nytta av den här AI-prompten för shipping policy templates?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Operations managers inom e-handel använder den för att standardisera fraktspråk över kanaler och samtidigt vara realistiska kring variationer hos transportörer. Teamledare för kundsupport förlitar sig på den för att minska volymen av ”var är min beställning” genom att göra regler för behandling, transport och spårning omöjliga att missa. Specialister på marketplace-efterlevnad använder den när policysidor behöver tydligare upplysningar utan att låta avvisande. DTC-grundare använder den för att sluta överlova leveransdatum och samtidigt skydda konverteringen i kassan."
      }
    },
    {
      "@type": "Question",
      "name": "Vilka branscher får mest värde av den här AI-prompten för shipping policy templates?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Kläd- och accessoarvarumärken får värde eftersom storleksbyten, delade leveranser och toppar under högsäsong skapar ständiga leveransfrågor; tydliga intervall och förväntningar kring spårning minskar churn. Skönhet och personlig vård-team använder den för att hantera värmekänslighet, försvunna paket och hantering av returfrakt på ett sätt som inte skapar garantier. Hem- och inredningsprodukter samt ömtåliga varor gynnas av språket för edge cases kring skador, skyddspackning och störningar hos transportörer. Prenumerations- och påfyllnadsverksamheter använder den för att förklara förnyelsetiming, fulfillment-cykler och vad som händer när en adressändring kommer in för sent."
      }
    },
    {
      "@type": "Question",
      "name": "Varför ger grundläggande AI-prompter för att skriva shipping policy templates svaga resultat?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "En typisk prompt som 'Write me a shipping policy for my store' misslyckas eftersom den: saknar intervall för leverans och hantering (så modellen faller tillbaka på fluffiga påståenden), saknar strukturerade avsnitt för spårning, internationella tullar/avgifter, högsäsong och störningar, ignorerar kravet på ”inga absoluta garantier” som förebygger återbetalningar och tvister, producerar generiska plattformsspecifika formuleringar i stället för kanalagnostiska mallar, och missar skyddande språk för händelser utanför säljarens kontroll som väderförseningar eller tullstopp."
      }
    },
    {
      "@type": "Question",
      "name": "Kan jag anpassa den här shipping policy templates-prompten för min specifika situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ja, men du gör det genom att ange de operativa fakta som mallen behöver: intervall för behandling/hantering, stopptid för beställningar, vilka fraktmetoder du erbjuder, när spårning utfärdas och hur returfrakt hanteras (förbetald etikett, kunden betalar eller villkorat). Internationell frakt är en annan nyckelvariabel, särskilt vem som betalar avgifter/skatter och vad som händer vid nekade paket. Om butiken säljer ömtåliga, skrymmande eller tillverkas-på-beställning-produkter, nämn det så att policyn kan inkludera rätt undantag. En användbar uppföljningsbegäran är: ”Skriv om mallarna för (1) tillverkas-på-beställning-produkter med 3–5 arbetsdagars behandling och (2) lagervaror med behandling samma dag före kl. 13:00, och behåll samma avsnitt för störningar och internationellt.”"
      }
    },
    {
      "@type": "Question",
      "name": "Vilka är de vanligaste misstagen när man använder den här shipping policy templates-prompten?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Det största misstaget är att lämna leveransfönster för otydliga — i stället för ”skickas inom några dagar”, använd ”behandling tar 1–3 arbetsdagar; transport tar 3–7 arbetsdagar beroende på plats.” Ett annat vanligt fel är att glömma spårningsregeln; ”vi erbjuder spårning” är svagare än ”spårning utfärdas inom 1–2 arbetsdagar, och transportörens scanningar kan ta 24–48 timmar att uppdateras.” Många hoppar också över internationella avgifter/skatter, vilket leder till arga överraskningar; specificera ”avgifter och skatter är köparens ansvar där det är tillämpligt.” Slutligen utelämnar många butiker kapacitetsbegränsningar under högsäsong; lägg till en tydlig notis som ”behandlingstiden kan förlängas med 1–2 arbetsdagar under helger och större kampanjer.”"
      }
    },
    {
      "@type": "Question",
      "name": "Vem ska INTE använda den här shipping policy templates-prompten?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Den här prompten är inte idealisk för företag som behöver granskning på nivå med juridisk rådgivare (till exempel hårt reglerade produkter eller komplexa gränsöverskridande skatteåtaganden) eftersom det inte är juridisk eller skattemässig rådgivning. Den passar också dåligt om du söker en enradig ”snabb frakt”-text; hela poängen är specificitet utan garantier. Och om du ännu inte har bestämt dina faktiska hanteringstider eller fraktmetoder kommer du att fastna vid förtydligandefrågorna. I de fallen, dokumentera först hur din fulfillment faktiskt fungerar och återkom sedan för att generera strukturerade mallar."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">

<p>Tydligt fraktspråk minskar ärenden och skyddar din butik från förväntningskrascher. Klistra in prompten i ChatGPT, besvara de minimala förtydligandefrågorna och publicera mallarna med trygghet.</p>

</div><p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/skriv-mallar-for-fraktpolicy-med-ai-prompt/">Skriv mallar för fraktpolicy med AI-prompt</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Skapa en 7-dagars budgetinköpsplan med AI</title>
		<link>https://nodenordic.se/prompts/skapa-en-7-dagars-budgetinkopsplan-med-ai/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=skapa-en-7-dagars-budgetinkopsplan-med-ai</link>
		
		<dc:creator><![CDATA[Rickard Andersson]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 02:04:25 +0000</pubDate>
				<category><![CDATA[prompts]]></category>
		<guid isPermaLink="false">https://nodenordic.se/?p=5000277</guid>

					<description><![CDATA[<p>Matkostnaden smyger upp – en AI-prompt som bygger en 7-dagars varukorg, jämför nätbutiker och räknar in leveransavgifter.</p>
<p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/skapa-en-7-dagars-budgetinkopsplan-med-ai/">Skapa en 7-dagars budgetinköpsplan med AI</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></description>
										<content:encoded><![CDATA[<!-- FOCUS_KEYWORD: budget grocery plan -->
<div class="hook-introduction">

<p>Din matbudget ser bra ut på papper. Sedan blir en ”snabb” påfyllning till tre separata beställningar, en handfull impulsköp och en totalsumma i kassan som på något sätt är 30 % högre än förra veckan. Lägg till leveransavgifter och miniminivåer, så blir det rörigt snabbt.</p>



<p>Den här <strong>budgetplanen för matinköp</strong> är byggd för <strong>stressade föräldrar</strong> som vill mata hushållet utan nattliga ”vad blir det till middag?”-diskussioner, <strong>distansarbetare</strong> som förlitar sig på leverans och ständigt blir överraskade av avgifter, och <strong>anhörigvårdare</strong> som balanserar näringsbehov med ett hårt tak. Resultatet är en 7-dagars måltidskarta, en konsoliderad inköpslista och rekommendationer per vara och återförsäljare (med backuper) samt uppskattade totalsummor.</p>

</div>

<div class="what-and-when-section">

<h2 class="wp-block-heading">Vad gör den här AI-prompten och när ska du använda den?</h2>



<table class="solution-results-table three-column" role="presentation" aria-label="What this prompt does, when to use it, and what you get">
 <thead>
    <tr>
      <th scope="col">Vad den här prompten gör</th>
      <th scope="col">När du ska använda den här prompten</th>
      <th scope="col">Det här får du</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <ul class="automation-list">
          <li>Den bygger en matinköpsplan för en vecka som håller sig inom din budget och samtidigt täcker balanserad näring.</li>
          <li>Den fördelar utgifterna per kategori (protein, frukt och grönt, spannmål, mejeri/alternativ, skafferivaror, snacks/extra) och förklarar avvägningarna.</li>
          <li>Den jämför 2–3 onlineåterförsäljare per vara och rekommenderar sedan ett förstahandsval samt en backup med en tydlig motivering.</li>
          <li>Den tar hänsyn till leveransavgifter, serviceavgifter, dricks (om relevant) och trösklar för minsta ordervärde så att ”dolda kostnader” inte sabbar totalsumman.</li>
          <li>Den minskar svinn genom att prioritera ingredienser med hög nytta som återkommer i flera måltider och passar din förvaringskapacitet.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>Du överspenderar eftersom du handlar i fragment, inte i en samordnad varukorg.</li>
          <li>Du vill ha bekvämligheten med leverans, men behöver att totalsumman förblir förutsägbar efter avgifter och miniminivåer.</li>
          <li>Ni har kostrestriktioner i hushållet och du är trött på att planera om måltider från noll varje vecka.</li>
          <li>Priserna känns inkonsekventa mellan återförsäljare, och du misstänker att ”rabatter” inte faktiskt sparar dig pengar.</li>
          <li>Du försöker standardisera ett repeterbart veckosystem, särskilt när livet blir hektiskt.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>En 7-dagars måltidskarta med enkel frukost-/lunch-/middagsstruktur som återanvänder ingredienser.</li>
           <li>En konsoliderad inköpslista grupperad per kategori, med föreslagna mängder för din hushållsstorlek.</li>
           <li>Prisjämförelse per vara från 2–3 onlineåterförsäljare, inklusive rekommenderad huvudbutik och en backup per vara.</li>
           <li>En uppskattad ordersumma som inkluderar leverans-/serviceavgifter och markerar trösklar för minsta ordervärde.</li>
           <li>Ett kort avsnitt med ”antaganden + ersättningar” så att du kan justera utifrån skafferibasar och kostbehov.</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

<div class="prompt-display-section">

<h2 class="wp-block-heading">Hela AI-prompten: 7-dagars budgetplan för matinköp + återförsäljarjämförelse</h2>



<div class="prompt-viewer-wrapper" id="prompt-section">
    <div class="prompt-comparison-row prompt-premium">
        <!-- Header with buttons -->
        <div class="prompt-row-header">
            <!-- <span class="prompt-row-icon">✨</span> -->
            <span class="prompt-row-title">
                                    Steg 1: Anpassa prompten med din information
                            </span>
            <div class="prompt-header-buttons">
                                    <button class="prompt-header-btn prompt-header-reset" onclick="resetPrompt()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Återställ</span>
                    </button>
                                <button class="prompt-header-btn prompt-header-copy-green flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span>Anpassa och kopiera hela prompten</span>
                </button>
            </div>
        </div>

        <!-- Customize the Prompt Section -->
                    <div class="prompt-customize-section">
                <span class="customize-title">Anpassa prompten</span>
                <p class="customize-subtitle">Fyll i fälten nedan för att anpassa prompten efter dina behov.</p>
                <table class="customize-table">
                    <thead>
                        <tr>
                            <th>Variabel</th>
                            <th>Vad du ska ange</th>
                            <th>Anpassa prompten</th>
                        </tr>
                    </thead>
                    <tbody>
                                                    <tr>
                                <td class="var-name"><code>[MALGRUPP]</code></td>
                                <td class="var-desc">
                                    Ange vilken grupp personer den här psykologiska profilen riktar sig till, inklusive demografi, behov och eventuella utmaningar.                                    <div class="var-example">Till exempel: "Personer som söker ökad självkännedom och personlig utveckling, 25–40 år, med erfarenhet av relationella trauman och en öppenhet för djup-/analytisk psykologi."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[MALGRUPP]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[KONTEXT]</code></td>
                                <td class="var-desc">
                                    Ge relevant bakgrund eller omständigheter som kan hjälpa till att sätta ramar för den psykologiska profilen, exempelvis livshändelser, aktuella svårigheter eller mål.                                    <div class="var-example">Till exempel: "Har nyligen gått igenom en skilsmässa och hanterar känslor av övergivenhet och självtvivel, samtidigt som hen försöker bygga upp självkänsla och stabilitet igen."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[KONTEXT]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TON]</code></td>
                                <td class="var-desc">
                                    Ange önskad ton i analysen, med balans mellan tydlighet, medkänsla och rakhet.                                    <div class="var-example">Till exempel: "Lugn, stringent och osentimental, med fokus på kirurgisk klarhet och etisk återhållsamhet."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[TON]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[FORMAT]</code></td>
                                <td class="var-desc">
                                    Ange önskad struktur och presentation för den psykologiska profilen, inklusive stilpreferenser och eventuell rapportlayout.                                    <div class="var-example">Till exempel: "En integrerad identitetskarta med konkreta utvecklingsriktlinjer, presenterad som korta punktlistor och namngivna observationer."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[FORMAT]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TIDSRAM]</code></td>
                                <td class="var-desc">
                                    Ange önskad varaktighet och omfattning för den stegvisa genomlysningen, inklusive om du vill ha kortfattat eller mer heltäckande.                                    <div class="var-example">Till exempel: "En heltäckande flerstegsprocess över flera veckor, med fördjupad genomgång i varje steg."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[TIDSRAM]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[VERSALER_MED_UNDERSCORE]</code></td>
                                <td class="var-desc">
                                    Ange en specifik term eller fras med versaler och understreck mellan orden, ofta använd för märkning eller kategorisering.                                    <div class="var-example">Till exempel: "INRE_TERRANG_UNDERSOKNING"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[VERSALER_MED_UNDERSCORE]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                            </tbody>
                </table>

                <button class="copy-customized-btn flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span class="copy-customized-text">Anpassa prompten nu</span>

                </button>
            </div>
        
        <!-- Full Prompt Code Header -->
                    <div class="prompt-code-header">
                <span class="prompt-code-title">
                    Steg 2: Kopiera prompten
                </span>
                <div class="prompt-code-buttons">
                    <!-- Reset: Only visible when unlocked -->
                    <button class="prompt-header-btn prompt-header-reset btn-when-unlocked" onclick="resetPrompt()" style="display: none;">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Återställ</span>
                    </button>
                    <!-- Copy Full Prompt -->
                    <button class="prompt-header-btn prompt-header-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                            <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                        </svg>
                        <span>Kopiera hela prompten</span>
                    </button>
                </div>
            </div>
        

        <!-- Prompt Content -->
        <div class="prompt-box prompt-gated-wrapper">
            <!-- Gated: Blurred content -->
            <div class="prompt-gated-content">
                <div class="prompt-header-visible">MÅL</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PERSONA</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">BEGRÄNSNINGAR</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PROCESS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">INDATA</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">UTDATASPECIFIKATION</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Stegplan (omfattande spår)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">KVALITETSKONTROLLER</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div>            </div>
            <!-- Unlocked: Full content (hidden by default) -->
            <div class="prompt-content-full" id="premium-prompt-content" style="display: none;">
                ## MÅL
Genomför en stegvis, djupt uppriktig ”psykeutredning” som samlar in användarens svar och omvandlar dem till en kliniskt informerad, arketypmedveten psykologisk profil. Slutprodukten ska kännas som en evidensbaserad intern akt: skarp, medkännande och ofrånkomligt ärlig—som mynnar ut i en integrerad identitetskarta och handlingsbara utvecklingsdirektiv.

## PERSONA
Du är en **inre terräng-utredare**: tidigare utbildad inom klinisk psykologi, och arbetar nu i skärningspunkten mellan djup psykologi (jungianskt/arketypiskt arbete), traumainformerad praktik och neurovetenskap. Din stil är lugn, krävande och oromantisk—mer som en noggrann diagnostiker än en motivationscoach—samtidigt som du visar genuin omtanke och etisk återhållsamhet.

## BEGRÄNSNINGAR
- **Ton:** direkt, kirurgisk tydlighet; inga teatrala inslag, inget skuldbeläggande, ingen poetisk vaghet.
- **Förankring:** när du gör en inferens, märk den som {Observation}, {Hypothesis}, eller {Tentative Interpretation}.
- **Anpassning:** kalibrera intensitet efter användarens öppenhet/defensivitet och uttalade gränser.
- **Djup:** använd en fler-stegs-ansats med ett *optimalt* antal steg (standard är omfattande), men du får komprimera om användaren vill ha korthet.
- **Säkerhet:** framställ dig inte som en ersättning för medicinsk vård; om användaren signalerar självskada, övergrepp eller överhängande fara, skifta till krisvägledning och uppmuntra lokal professionell hjälp.
- **Omfattningsgränser — Vad detta INTE är:**
  - Inte en diagnos eller en behandlingsplan.
  - Inte juridisk rådgivning, medicinsk rådgivning eller en ersättning för akuttjänster.
  - Inte ett löfte om utfall kring ”traumarecovery”.
  - Inte en psykologisk ”spådom”; allt måste knytas till användarens egna uppgifter och etablerade psykologiska begrepp.

## PROCESS
1. **Föranalys (obligatorisk):** Börja med att återge din förståelse av uppgiften och vilket steg du är i, samt hur du kommer hantera osäkerhet.
2. **Hämta in data:** Ställ endast de frågor som krävs för det aktuella steget. Uppmuntra specificitet (situationer, beteenden, triggers, kroppsliga förnimmelser, tankar).
3. **Mönsterextraktion:** Efter att användaren svarat, identifiera återkommande motiv (relationsdrag, undvikandeloopar, identitetsstrategier).
4. **Mekanismkartläggning:** Koppla mönster till sannolika försvar, anknytningsstrategier, kognitiva bias och nervsystemsrespons.
5. **Ursprungsspårning:** Där det är lämpligt, föreslå utvecklingsrötter och betingningsvägar (tydligt markerade som hypoteser).
6. **Integration + hävstång:** Namnge styrkor och ”adaptiv intention” bakom problematiska beteenden; föreslå experiment för förändring.
7. **Progressionskontroll:** Avsluta varje steg med en tydlig uppmaning att gå vidare (t.ex. ”Svara med ‘continue’ när du är redo.”).
8. **Hantering av specialfall:**  
   - Om användaren ger korta/oklara svar, ställ 2–4 riktade följdfrågor i stället för att gå vidare.  
   - Om input motsäger varandra, notera motsägelsen explicit och erbjud 2–3 rimliga förklaringar.  
   - Om användaren vägrar en fråga, ge en alternativ väg för att samla in motsvarande signal.

## INDATA
- **Primärt användarsegment:** [MALGRUPP]
- **Bakgrund/kontext (valfritt):** [KONTEXT]
- **Önskad ton (valfritt):** [TON]
- **Önskat djup (valfritt):** [FORMAT]
- **Tidsbegränsningar (valfritt):** [TIDSRAM]

## UTDATASPECIFIKATION
För varje steg, producera följande block (ifyllda av dig):
- **{Stage Name}**
- **{Data Requested}** (frågorna du ställer)
- **{User Signal Summary}** (punktlista som sammanfattar vad de sa)
- **{Key Patterns}** (3–7 punkter)
- **{Mechanisms &amp; Functions}** (försvar/anknytning/kognition/nervsystem; märk påståenden som Observation/Hypothesis)
- **{Costs vs Payoffs}**
- **{Micro-Experiments}** (1–3 praktiska tester för kommande vecka)
- **{Proceed Prompt}**

### Stegplan (omfattande spår)
Du kommer att köra upp till **10 steg** (du får komprimera till färre om det efterfrågas). Använd ny formulering och referera inte till de ursprungliga fasrubrikerna.

1. **Steg 1 — Grundlinjeläsning av autenticitet**
   - Fråga:
     - ”Beskriv en scen där du kände dig otvetydigt ‘dig själv’ och en annan där du kände att du spelade en roll.”
     - ”Vilken känsla är svårast för dig att stå ut med, och vad gör du för att undvika den (distraktion, kompetens, humor, avstängning, ilska, omhändertagande, etc.)?”
     - ”Om tre personer nära dig jämförde anteckningar om vad som är svårt med att vara nära dig, vad skulle överlappa?”
   - Avsluta med: **{Proceed Prompt} = “Type ‘continue’ when you want the next stage.”**

2. **Steg 2 — Temperament &amp; dragstruktur**
   - Analysera sannolika dragkonfigurationer; valfritt: mappa till Big Five / Enneagram / MBTI-liknande språk som *tentativ* kortform.
   - Leverera: {Core Drives}, {Primary Threat Sensitivities}, {Default Autopilot Behaviors}

3. **Steg 3 — Index för skyddsstrategier**
   - Identifiera vardagsförsvar vs krisförsvar, utvecklingsmässig nytta och dagens kostnad.

4. **Steg 4 — Anknytning &amp; relationsalgoritmer**
   - Täck intimitet, konflikt, makt, reparationsförsök och auktoritetsdynamik.

5. **Steg 5 — Bortstött självmaterial**
   - Ledtrådar via projektion, tabubelagda drag, dolda avundsjukor, ”förbjudna behov” och integrationsvägar.

6. **Steg 6 — Sårsläktlinje &amp; stressavtryck**
   - Nyliga skador, tidig betingning, intergenerationella teman (om användaren nämner), och nervsystemets set points.

7. **Steg 7 — Övertygelse- &amp; uppmärksamhetsarkitektur**
   - Tankeloopar, grundantaganden, biasmönster och gapet mellan insikt och beteende.

8. **Steg 8 — Akt över själv-sabotage**
   - Hur användaren stallar framsteg; sekundära vinster; identitetsinvesteringar i att förbli fast.

9. **Steg 9 — Rapport för styrkekonvertering**
   - Förmågor smidda genom motgång; underutnyttjade talanger; resiliensmönster; ”farliga gåvor” (styrkor som skrämmer eller isolerar).

10. **Steg 10 — Narrativ syntes &amp; förändringskarta**
   - Ge:
     - {Archetypal Themes} (som metaforer knutna till evidens, inte mystik)
     - {Current Life Script}
     - {What To Retire}
     - {What To Rebuild}
     - {Reparenting Targets}
     - {Transformation Roadmap}
     - {Integrated Profile Summary} (den fullständiga interna kartan)

## KVALITETSKONTROLLER
Innan du slutgiltigformulerar varje stegutdata, verifiera:
- Du separerade tydligt {Observation} från {Hypothesis} och överpåstår inte.
- Dina slutsatser hänvisar till specifika detaljer som användaren gett (inte generiska drag).
- Återkopplingen är ärlig men inte nedvärderande; den innehåller minst en praktisk nästa handling.
- Du justerade intensitet efter användarens öppenhet och respekterade gränser/vägran.
- Alla platshållare följer formatreglerna: användarindata i **[VERSALER_MED_UNDERSCORE]** och genererade fält i **{Title Case}**.            </div>
        </div>


    </div>

    <!-- CTA Row - Full width buttons -->
    <div class="prompt-cta-row">
        <button class="prompt-cta-btn prompt-cta-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
            </svg>
            <span class="cta-copy-text">Kopiera hela prompten</span>
        </button>
    </div>
</div>

<style>
    /* Gated prompt states */
    .prompt-gated-wrapper {
        position: relative;
    }

    /* When unlocked - show full content, hide gated */
    body.flowpast-unlocked .prompt-gated-wrapper .prompt-gated-content {
        display: none;
    }

    body.flowpast-unlocked .prompt-gated-wrapper .prompt-content-full {
        display: block !important;
    }

    /* Show/hide elements based on unlock state */
    body.flowpast-unlocked .btn-when-unlocked {
        display: inline-flex !important;
    }

    .prompt-viewer-wrapper {
        scroll-margin-top: 250px;
    }

    /* ========================================
   PROMPT VIEWER - MAIN WRAPPER
   ======================================== */
    .prompt-viewer-wrapper {
        margin: 30px 0;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    /* ========================================
   PROMPT BOX CONTAINER
   ======================================== */
    .prompt-comparison-row {
        border-radius: 12px;
        overflow: hidden;
        border: 1px solid #e0e0e0;
        background: #fff;
    }

    /* ========================================
   HEADER WITH BUTTONS
   ======================================== */
    .prompt-row-header {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 14px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
        flex-wrap: wrap;
    }

    .prompt-row-icon {
        font-size: 20px;
    }

    .prompt-row-title {
        font-weight: 600;
        font-size: 22px;
        color: #fff !important;
        text-decoration: underline
    }

    .prompt-header-buttons {
        margin-left: auto;
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
    }

    /* Header buttons */
    .prompt-header-btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 10px 20px;
        border-radius: 6px;
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-header-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-header-copy:hover {
        background: #2a2a2a;
    }

    .prompt-header-copy.copied {
        background: #2e7d32;
    }

    .prompt-header-copy-green {
        background: #04AA6D !important;
        color: #fff !important;
    }

    .prompt-header-copy-green span {
        color: #fff !important;
    }

    .prompt-header-copy-green:hover {
        background: #039860 !important;
    }

    .prompt-header-copy-green.copied {
        background: #2e7d32 !important;
    }

    .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-header-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-1px);
    }

    /* ========================================
   PROMPT CONTENT - FULL (NO SCROLL)
   ======================================== */
    .prompt-box {
        background: #ffffff;
    }

    .prompt-content-full {
        padding: 24px;
        margin: 0;
        color: #202124;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.7;
        white-space: pre-wrap;
        word-wrap: break-word;
        /* No scroll - show full content */
        max-height: none;
        overflow: visible;
    }

    /* Highlighted variable in prompt */
    .prompt-variable {
        background: #fff3cd;
        color: #1967d2;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #ffc107;
    }

    .prompt-variable-filled {
        background: #d4edda;
        color: #155724;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #28a745;
    }

    /* ========================================
   GATED CONTENT (NO ACCESS)
   ======================================== */
    .prompt-gated-content {
        padding: 24px;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.8;
        max-height: none;
        overflow: visible;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        cursor: default;
    }

    /* ## headers - larger, black */
    .prompt-header-visible {
        color: #202124;
        font-weight: 600;
        margin: 5px 0 0px 0;
        font-size: 20px;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        text-decoration: underline;
        text-underline-offset: 4px;
    }

    /* ### headers - smaller, black */
    .prompt-header-visible.subheader {
        color: #202124;
        font-weight: 600;
        margin: 5px 0;
        font-size: 18px;
    }

    .prompt-header-visible:first-child {
        margin-top: 0;
    }

    /* ========================================
   LOCKED SECTION BLOCK
   ======================================== */
    .locked-section {
        position: relative;
        margin: 4px 0 8px 0;
        border-radius: 6px;
        overflow: hidden;
        background: linear-gradient(110deg, #e2e8f0 8%, #f1f5f9 18%, #e2e8f0 33%);
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
    }

    .locked-section-bg {
        position: relative;
    }

    .locked-section-lines {
        padding: 8px 12px;
        position: relative;
    }

    .locked-line {
        height: 6px;
        background: rgba(255, 255, 255, 0.6);
        border-radius: 3px;
        margin-bottom: 4px;
        margin-left: 12px;
    }

    .locked-line:last-child {
        margin-bottom: 0;
    }

    .locked-section-icon {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 10;
        font-size: 24px;
        filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.1));
    }

    /* Subheader locked sections - slightly indented */
    /*  .prompt-header-visible.subheader+.locked-section {
        margin-left: 16px;
    } */

    /* ========================================
   COMPATIBILITY BADGES
   ======================================== */
    .prompt-compatibility {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        padding: 12px 20px;
        background: #f8f9fa;
        border-top: 1px solid #e0e0e0;
    }

    .compat-label {
        font-size: 13px;
        color: #5f6368;
        font-weight: 500;
    }

    .compat-badge {
        padding: 4px 10px;
        background: #e8f0fe;
        color: #1967d2;
        border-radius: 4px;
        font-size: 12px;
        font-weight: 500;
    }

    /* ========================================
   CTA ROW - FULL WIDTH BUTTONS
   ======================================== */
    .prompt-cta-row {
        display: flex;
        gap: 16px;
        flex-wrap: wrap;
    }

    .prompt-cta-btn {
        flex: 1;
        min-width: 200px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 16px 24px;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-cta-copy {
        background: #3a3a3a;
        color: #fff !important;
    }


    .prompt-cta-copy span {
        background: #3a3a3a;
        color: #fff !important;
    }


    .prompt-cta-copy:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }


    .prompt-cta-copy.copied {
        background: #2e7d32;
    }

    .prompt-cta-reset {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-reset:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-cta-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    /* ========================================
    CUSTOMIZE YOUR PROMPT SECTION
    ======================================== */
    .prompt-customize-section {
        padding: 24px;
        border-bottom: 1px solid #e0e0e0;
        background: #fafbfc;
    }

    .customize-title {
        margin: 0 0 8px 0;
        font-size: 18px;
        font-weight: 700;
        color: #202124;
    }

    .customize-subtitle {
        margin: 0 0 20px 0;
        font-size: 14px;
        color: #5f6368;
    }

    .customize-table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 20px;
    }

    .customize-table th {
        text-align: left;
        padding: 12px;
        background: #f1f3f4;
        border: 1px solid #e0e0e0;
        font-size: 13px;
        font-weight: 600;
        color: #202124;
    }

    .customize-table td {
        padding: 12px;
        border: 1px solid #e0e0e0;
        vertical-align: top;
    }

    .customize-table .var-name {
        width: 25%;
        background: #f8f9fa;
    }

    .customize-table .var-name code {
        background: #fff3cd;
        color: #1967d2;
        border: 1px solid #ffc107;
        padding: 4px 8px;
        border-radius: 4px;
        font-size: 12px;
        word-break: break-all;
        font-weight: 600;
    }

    .customize-table .var-desc {
        width: 35%;
        font-size: 13px;
        color: #5f6368;
        line-height: 1.5;
    }

    .customize-table .var-example {
        margin-top: 8px;
        padding: 8px 10px;
        background: #f8f9fa;
        border-left: 3px solid #dadce0;
        font-size: 12px;
        color: #5f6368;
        font-style: italic;
        border-radius: 0 4px 4px 0;
    }

    .customize-table .var-input {
        width: 40%;
    }

    .customize-input {
        width: 100%;
        padding: 10px 12px;
        border: 1px solid #dadce0;
        border-radius: 6px;
        font-size: 13px;
        font-family: inherit;
        resize: vertical;
        transition: border-color 0.2s, box-shadow 0.2s;
    }

    .customize-input:focus {
        outline: none;
        border-color: rgb(5, 152, 98);
        box-shadow: 0 0 0 3px rgba(5, 152, 98, 0.1);
    }

    .customize-input::placeholder {
        color: #9aa0a6;
        font-style: italic;
    }

    .copy-customized-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        width: 100%;
        padding: 16px 24px;
        background: rgb(5, 152, 98);
        color: #fff !important;
        border: none;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
    }

    .copy-customized-btn span {
        color: #fff !important
    }

    .copy-customized-text span {
        color: #fff !important
    }

    .copy-customized-btn:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    .copy-customized-btn.copied {
        background: #2e7d32;
    }

    /* ========================================
    FULL PROMPT CODE HEADER
    ======================================== */
    .prompt-code-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
    }

    .prompt-code-title {
        font-size: 22px;
        font-weight: 600;
        text-decoration: underline;
        color: #fff !important;

    }

    .prompt-code-buttons {
        display: flex;
        gap: 8px;
    }

    .prompt-code-buttons .prompt-header-btn {
        padding: 8px 14px;
        font-size: 13px;
        background: #ffffff;
        color: #202124;
        border: 1px solid #dadce0;
    }

    .prompt-code-buttons .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
        border-color: rgb(5, 152, 98);
    }

    .prompt-code-buttons .prompt-header-btn.prompt-header-access:hover {
        background: rgb(4, 130, 83) !important;
        border-color: rgb(4, 130, 83);
        color: #fff !important;
    }

    .prompt-code-buttons .prompt-header-btn:hover {
        background: #f1f3f4;
    }

    .prompt-code-buttons .prompt-header-copy.copied {
        background: #d4edda;
        color: #155724;
        border-color: #28a745;
    }

    .prompt-header-reset {
        background: #ffffff;
        color: #202124;
    }

    /* ========================================
   RESPONSIVE
   ======================================== */
    @media (max-width: 768px) {
        .prompt-row-header {
            flex-direction: column;
            align-items: flex-start;
            gap: 12px;
        }

        .prompt-header-buttons {
            margin-left: 0;
            width: 100%;
        }

        .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }

        .prompt-cta-row {
            flex-direction: column;
        }

        .prompt-cta-btn {
            width: 100%;
        }

        /* Customize table responsive */
        .customize-table,
        .customize-table thead,
        .customize-table tbody,
        .customize-table tr,
        .customize-table th,
        .customize-table td {
            display: block;
        }

        .customize-table thead {
            display: none;
        }

        .customize-table tr {
            margin-bottom: 16px;
            border: 1px solid #e0e0e0;
            border-radius: 8px;
            overflow: hidden;
        }

        .customize-table td {
            width: 100% !important;
            border: none;
            border-bottom: 1px solid #e0e0e0;
        }

        .customize-table td:last-child {
            border-bottom: none;
        }

        .customize-table .var-name {
            background: #f1f3f4;
            font-weight: 600;
        }

        .prompt-code-header {
            flex-direction: column;
            gap: 12px;
            align-items: flex-start;
        }

        .prompt-code-buttons {
            width: 100%;
        }

        .prompt-code-buttons .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }
    }
</style>

<script>
    function handlePromptCopy() {
        // Check if unlocked via cookie
        if (typeof window.flowpastIsUnlocked === 'function' && !window.flowpastIsUnlocked()) {
            // Show email popup
            if (typeof window.flowpastShowEmailPopup === 'function') {
                window.flowpastShowEmailPopup('prompt');
            }
            return;
        }

        // Copy the customized prompt (with filled variables)
        const customizedPrompt = getCustomizedPrompt();
        const copyButtons = document.querySelectorAll('.prompt-header-copy, .prompt-header-copy-green, .prompt-cta-copy, .copy-customized-btn');

        navigator.clipboard.writeText(customizedPrompt).then(() => {
            copyButtons.forEach(btn => {
                btn.classList.add('copied');
                const textSpan = btn.querySelector('span');
                if (textSpan) textSpan.textContent = 'Kopierad!';
            });

            setTimeout(() => {
                copyButtons.forEach(btn => {
                    btn.classList.remove('copied');
                    const textSpan = btn.querySelector('span');
                    if (textSpan) textSpan.textContent = 'Kopiera hela prompten';
                });
            }, 2000);
        }).catch(err => {
            console.error('Failed to copy:', err);
        });
    }

    // Store original prompt for customization
    const originalPrompt = "## M\u00c5L\r\nGenomf\u00f6r en stegvis, djupt uppriktig \u201dpsykeutredning\u201d som samlar in anv\u00e4ndarens svar och omvandlar dem till en kliniskt informerad, arketypmedveten psykologisk profil. Slutprodukten ska k\u00e4nnas som en evidensbaserad intern akt: skarp, medk\u00e4nnande och ofr\u00e5nkomligt \u00e4rlig\u2014som mynnar ut i en integrerad identitetskarta och handlingsbara utvecklingsdirektiv.\r\n\r\n## PERSONA\r\nDu \u00e4r en **inre terr\u00e4ng-utredare**: tidigare utbildad inom klinisk psykologi, och arbetar nu i sk\u00e4rningspunkten mellan djup psykologi (jungianskt\/arketypiskt arbete), traumainformerad praktik och neurovetenskap. Din stil \u00e4r lugn, kr\u00e4vande och oromantisk\u2014mer som en noggrann diagnostiker \u00e4n en motivationscoach\u2014samtidigt som du visar genuin omtanke och etisk \u00e5terh\u00e5llsamhet.\r\n\r\n## BEGR\u00c4NSNINGAR\r\n- **Ton:** direkt, kirurgisk tydlighet; inga teatrala inslag, inget skuldbel\u00e4ggande, ingen poetisk vaghet.\r\n- **F\u00f6rankring:** n\u00e4r du g\u00f6r en inferens, m\u00e4rk den som {Observation}, {Hypothesis}, eller {Tentative Interpretation}.\r\n- **Anpassning:** kalibrera intensitet efter anv\u00e4ndarens \u00f6ppenhet\/defensivitet och uttalade gr\u00e4nser.\r\n- **Djup:** anv\u00e4nd en fler-stegs-ansats med ett *optimalt* antal steg (standard \u00e4r omfattande), men du f\u00e5r komprimera om anv\u00e4ndaren vill ha korthet.\r\n- **S\u00e4kerhet:** framst\u00e4ll dig inte som en ers\u00e4ttning f\u00f6r medicinsk v\u00e5rd; om anv\u00e4ndaren signalerar sj\u00e4lvskada, \u00f6vergrepp eller \u00f6verh\u00e4ngande fara, skifta till krisv\u00e4gledning och uppmuntra lokal professionell hj\u00e4lp.\r\n- **Omfattningsgr\u00e4nser \u2014 Vad detta INTE \u00e4r:**\r\n  - Inte en diagnos eller en behandlingsplan.\r\n  - Inte juridisk r\u00e5dgivning, medicinsk r\u00e5dgivning eller en ers\u00e4ttning f\u00f6r akuttj\u00e4nster.\r\n  - Inte ett l\u00f6fte om utfall kring \u201dtraumarecovery\u201d.\r\n  - Inte en psykologisk \u201dsp\u00e5dom\u201d; allt m\u00e5ste knytas till anv\u00e4ndarens egna uppgifter och etablerade psykologiska begrepp.\r\n\r\n## PROCESS\r\n1. **F\u00f6ranalys (obligatorisk):** B\u00f6rja med att \u00e5terge din f\u00f6rst\u00e5else av uppgiften och vilket steg du \u00e4r i, samt hur du kommer hantera os\u00e4kerhet.\r\n2. **H\u00e4mta in data:** St\u00e4ll endast de fr\u00e5gor som kr\u00e4vs f\u00f6r det aktuella steget. Uppmuntra specificitet (situationer, beteenden, triggers, kroppsliga f\u00f6rnimmelser, tankar).\r\n3. **M\u00f6nsterextraktion:** Efter att anv\u00e4ndaren svarat, identifiera \u00e5terkommande motiv (relationsdrag, undvikandeloopar, identitetsstrategier).\r\n4. **Mekanismkartl\u00e4ggning:** Koppla m\u00f6nster till sannolika f\u00f6rsvar, anknytningsstrategier, kognitiva bias och nervsystemsrespons.\r\n5. **Ursprungssp\u00e5rning:** D\u00e4r det \u00e4r l\u00e4mpligt, f\u00f6resl\u00e5 utvecklingsr\u00f6tter och betingningsv\u00e4gar (tydligt markerade som hypoteser).\r\n6. **Integration + h\u00e4vst\u00e5ng:** Namnge styrkor och \u201dadaptiv intention\u201d bakom problematiska beteenden; f\u00f6resl\u00e5 experiment f\u00f6r f\u00f6r\u00e4ndring.\r\n7. **Progressionskontroll:** Avsluta varje steg med en tydlig uppmaning att g\u00e5 vidare (t.ex. \u201dSvara med \u2018continue\u2019 n\u00e4r du \u00e4r redo.\u201d).\r\n8. **Hantering av specialfall:**  \r\n   - Om anv\u00e4ndaren ger korta\/oklara svar, st\u00e4ll 2\u20134 riktade f\u00f6ljdfr\u00e5gor i st\u00e4llet f\u00f6r att g\u00e5 vidare.  \r\n   - Om input mots\u00e4ger varandra, notera mots\u00e4gelsen explicit och erbjud 2\u20133 rimliga f\u00f6rklaringar.  \r\n   - Om anv\u00e4ndaren v\u00e4grar en fr\u00e5ga, ge en alternativ v\u00e4g f\u00f6r att samla in motsvarande signal.\r\n\r\n## INDATA\r\n- **Prim\u00e4rt anv\u00e4ndarsegment:** [MALGRUPP]\r\n- **Bakgrund\/kontext (valfritt):** [KONTEXT]\r\n- **\u00d6nskad ton (valfritt):** [TON]\r\n- **\u00d6nskat djup (valfritt):** [FORMAT]\r\n- **Tidsbegr\u00e4nsningar (valfritt):** [TIDSRAM]\r\n\r\n## UTDATASPECIFIKATION\r\nF\u00f6r varje steg, producera f\u00f6ljande block (ifyllda av dig):\r\n- **{Stage Name}**\r\n- **{Data Requested}** (fr\u00e5gorna du st\u00e4ller)\r\n- **{User Signal Summary}** (punktlista som sammanfattar vad de sa)\r\n- **{Key Patterns}** (3\u20137 punkter)\r\n- **{Mechanisms & Functions}** (f\u00f6rsvar\/anknytning\/kognition\/nervsystem; m\u00e4rk p\u00e5st\u00e5enden som Observation\/Hypothesis)\r\n- **{Costs vs Payoffs}**\r\n- **{Micro-Experiments}** (1\u20133 praktiska tester f\u00f6r kommande vecka)\r\n- **{Proceed Prompt}**\r\n\r\n### Stegplan (omfattande sp\u00e5r)\r\nDu kommer att k\u00f6ra upp till **10 steg** (du f\u00e5r komprimera till f\u00e4rre om det efterfr\u00e5gas). Anv\u00e4nd ny formulering och referera inte till de ursprungliga fasrubrikerna.\r\n\r\n1. **Steg 1 \u2014 Grundlinjel\u00e4sning av autenticitet**\r\n   - Fr\u00e5ga:\r\n     - \u201dBeskriv en scen d\u00e4r du k\u00e4nde dig otvetydigt \u2018dig sj\u00e4lv\u2019 och en annan d\u00e4r du k\u00e4nde att du spelade en roll.\u201d\r\n     - \u201dVilken k\u00e4nsla \u00e4r sv\u00e5rast f\u00f6r dig att st\u00e5 ut med, och vad g\u00f6r du f\u00f6r att undvika den (distraktion, kompetens, humor, avst\u00e4ngning, ilska, omh\u00e4ndertagande, etc.)?\u201d\r\n     - \u201dOm tre personer n\u00e4ra dig j\u00e4mf\u00f6rde anteckningar om vad som \u00e4r sv\u00e5rt med att vara n\u00e4ra dig, vad skulle \u00f6verlappa?\u201d\r\n   - Avsluta med: **{Proceed Prompt} = \u201cType \u2018continue\u2019 when you want the next stage.\u201d**\r\n\r\n2. **Steg 2 \u2014 Temperament & dragstruktur**\r\n   - Analysera sannolika dragkonfigurationer; valfritt: mappa till Big Five \/ Enneagram \/ MBTI-liknande spr\u00e5k som *tentativ* kortform.\r\n   - Leverera: {Core Drives}, {Primary Threat Sensitivities}, {Default Autopilot Behaviors}\r\n\r\n3. **Steg 3 \u2014 Index f\u00f6r skyddsstrategier**\r\n   - Identifiera vardagsf\u00f6rsvar vs krisf\u00f6rsvar, utvecklingsm\u00e4ssig nytta och dagens kostnad.\r\n\r\n4. **Steg 4 \u2014 Anknytning & relationsalgoritmer**\r\n   - T\u00e4ck intimitet, konflikt, makt, reparationsf\u00f6rs\u00f6k och auktoritetsdynamik.\r\n\r\n5. **Steg 5 \u2014 Bortst\u00f6tt sj\u00e4lvmaterial**\r\n   - Ledtr\u00e5dar via projektion, tabubelagda drag, dolda avundsjukor, \u201df\u00f6rbjudna behov\u201d och integrationsv\u00e4gar.\r\n\r\n6. **Steg 6 \u2014 S\u00e5rsl\u00e4ktlinje & stressavtryck**\r\n   - Nyliga skador, tidig betingning, intergenerationella teman (om anv\u00e4ndaren n\u00e4mner), och nervsystemets set points.\r\n\r\n7. **Steg 7 \u2014 \u00d6vertygelse- & uppm\u00e4rksamhetsarkitektur**\r\n   - Tankeloopar, grundantaganden, biasm\u00f6nster och gapet mellan insikt och beteende.\r\n\r\n8. **Steg 8 \u2014 Akt \u00f6ver sj\u00e4lv-sabotage**\r\n   - Hur anv\u00e4ndaren stallar framsteg; sekund\u00e4ra vinster; identitetsinvesteringar i att f\u00f6rbli fast.\r\n\r\n9. **Steg 9 \u2014 Rapport f\u00f6r styrkekonvertering**\r\n   - F\u00f6rm\u00e5gor smidda genom motg\u00e5ng; underutnyttjade talanger; resiliensm\u00f6nster; \u201dfarliga g\u00e5vor\u201d (styrkor som skr\u00e4mmer eller isolerar).\r\n\r\n10. **Steg 10 \u2014 Narrativ syntes & f\u00f6r\u00e4ndringskarta**\r\n   - Ge:\r\n     - {Archetypal Themes} (som metaforer knutna till evidens, inte mystik)\r\n     - {Current Life Script}\r\n     - {What To Retire}\r\n     - {What To Rebuild}\r\n     - {Reparenting Targets}\r\n     - {Transformation Roadmap}\r\n     - {Integrated Profile Summary} (den fullst\u00e4ndiga interna kartan)\r\n\r\n## KVALITETSKONTROLLER\r\nInnan du slutgiltigformulerar varje stegutdata, verifiera:\r\n- Du separerade tydligt {Observation} fr\u00e5n {Hypothesis} och \u00f6verp\u00e5st\u00e5r inte.\r\n- Dina slutsatser h\u00e4nvisar till specifika detaljer som anv\u00e4ndaren gett (inte generiska drag).\r\n- \u00c5terkopplingen \u00e4r \u00e4rlig men inte nedv\u00e4rderande; den inneh\u00e5ller minst en praktisk n\u00e4sta handling.\r\n- Du justerade intensitet efter anv\u00e4ndarens \u00f6ppenhet och respekterade gr\u00e4nser\/v\u00e4gran.\r\n- Alla platsh\u00e5llare f\u00f6ljer formatreglerna: anv\u00e4ndarindata i **[VERSALER_MED_UNDERSCORE]** och genererade f\u00e4lt i **{Title Case}**.";
    const variables = ["[MALGRUPP]","[KONTEXT]","[TON]","[FORMAT]","[TIDSRAM]","[VERSALER_MED_UNDERSCORE]"];
    // Initial render with highlighted variables
    document.addEventListener('DOMContentLoaded', function() {
        renderPromptWithHighlights();
    });

    // Live update prompt as user types
    document.querySelectorAll('.customize-input').forEach(input => {
        input.addEventListener('input', renderPromptWithHighlights);
    });

    function renderPromptWithHighlights() {
        const promptContent = document.getElementById('premium-prompt-content');
        if (!promptContent) return;

        let updatedPrompt = originalPrompt;
        let filledVariables = {};

        // Collect filled values
        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                filledVariables[placeholder] = value;
            }
        });

        // Replace filled variables and highlight remaining
        let htmlContent = escapeHtml(updatedPrompt);

        variables.forEach(placeholder => {
            const escapedPlaceholder = escapeHtml(placeholder);
            const regex = new RegExp(escapeRegex(escapedPlaceholder), 'g');

            if (filledVariables[placeholder]) {
                // Show filled value with green highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable-filled">' + escapeHtml(filledVariables[placeholder]) + '</span>'
                );
            } else {
                // Show original placeholder with yellow highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable">' + escapedPlaceholder + '</span>'
                );
            }
        });

        promptContent.innerHTML = htmlContent;
    }

    function escapeRegex(string) {
        return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
    }

    function escapeHtml(text) {
        const div = document.createElement('div');
        div.textContent = text;
        return div.innerHTML;
    }

    function resetPrompt() {
        // Clear all input fields
        document.querySelectorAll('.customize-input').forEach(input => {
            input.value = '';
        });

        // Re-render with original placeholders highlighted
        renderPromptWithHighlights();

        // Visual feedback
        const resetBtns = document.querySelectorAll('.prompt-header-reset, .prompt-cta-reset');
        resetBtns.forEach(btn => {
            const originalText = btn.querySelector('span').textContent;
            btn.querySelector('span').textContent = 'Återställd!';
            setTimeout(() => {
                btn.querySelector('span').textContent = originalText;
            }, 1000);
        });
    }


    function getCustomizedPrompt() {
        let updatedPrompt = originalPrompt;

        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                const regex = new RegExp(escapeRegex(placeholder), 'g');
                updatedPrompt = updatedPrompt.replace(regex, value);
            }
        });

        return updatedPrompt;
    }
</script>

</div>

<div class="pro-tips-section">

<h2 class="wp-block-heading">Proffstips för bättre resultat med AI-prompten</h2>



<ul class="wp-block-list">

<li><strong>Var brutalt tydlig med budgetens verklighet.</strong> Dela inte bara en veckosiffra; klargör om den måste inkludera leverans, dricks och hushållsbasköp som pappersvaror. Lägg till en notis som: ”140 dollar totalt, inklusive avgifter, och jag kan inte överskrida det eftersom lönen kommer nästa fredag.” Då får du en plan som respekterar det faktiska taket.</li>


<li><strong>Lista ”nej-tack”-livsmedel och dina enklaste vinster.</strong> Kostrestriktioner spelar roll, men det gör också preferenser som skapar svinn (spenaten som alltid vissnar, yoghurten som ingen äter). Testa en följdprompt: ”Ersätt alla lättfördärvliga varor med låg nytta med frysta eller hållbara alternativ och behåll samma näringsmål.”</li>


<li><strong>Berätta hur förvaringen ser ut.</strong> En liten frys förändrar allt, helt ärligt. Om du inte kan förvara protein i storpack eller frysta grönsaker bör prompten styra mot mindre förpackningar och frukt/grönt med längre hållbarhet (morötter, kål, äpplen). Om du kan lagra, be om: ”Satsa på storpack där kostnaden per portion sjunker, men håll svinnet nära noll.”</li>


<li><strong>Iterera återförsäljarvalen efter första utkastet.</strong> När du ser primär- och backupåterförsäljare, vässa strategin. Fråga: ”Prioritera nu färre butiker (max 2) även om totalsumman ökar med upp till 3 %, och förklara vad som förändrades.” Eller vänd på det: ”Optimera för lägsta totalsumma även om det innebär 3 återförsäljare.”</li>


<li><strong>Be om en ”repeterbar mallvecka” du kan återanvända.</strong> Den snabbaste besparingen kommer från stabilitet, inte ständig nyhet. Använd: ”Gör om detta till en basvecka jag kan upprepa i 4 veckor, och ge sedan en liten rotationslista (5 byten) för att undvika tristess utan att ändra budgeten.”</li>

</ul>

</div>

<div class="related-prompts-section">

<h2 class="wp-block-heading">Relaterade promptar</h2>



<p>Om du vill göra det här matsystemet enklare att köra vecka efter vecka hjälper de här relaterade promptarna dig att planera, sammanfatta och bygga snabba referenser.</p>



<p>Om du också behöver en strukturerad sammanfattning som du kan fästa i en anteckningsapp (eller dela med en partner) är <a href="https://nodenordic.se/prompts/skapa-viktiga-slutsatser-om-ett-amne-med-ai-prompt">Skapa viktiga takeaways för ett ämne med den här AI-prompten</a> ett bra komplement. När du har genererat din veckoplan använder du den för att plocka ut reglerna som spelar roll, som ”standardfrukostar”, ”godkända snacks” och ”när man ska köpa fryst vs färskt”. Resultatet blir mindre beslutsutmattning nästa gång.</p>



<p>För team som jobbar mer strukturerat (matprep för ett hushåll, scheman för anhörigomsorg eller till och med ett arbetsflöde för ett community-skafferi) kan <a href="https://nodenordic.se/prompts/skapa-en-plan-for-amnesresearch-med-denna-ai-prompt">Bygg en forskningsplan för ett ämne med den här AI-prompten</a> hjälpa dig att formalisera vad ni ska testa. Tänk: följa prisförändringar hos två återförsäljare, logga vilka måltider som gav rester och sätta en enkel veckovis granskningsrutin. Det förvandlar ”vi borde budgetera bättre” till en faktisk process.</p>



<p>När hushållet tröttnar på samma middagar kan nyhetstörst i smyg få varukorgens totalsumma att explodera. <a href="https://nodenordic.se/prompts/bygg-en-amneskarta-med-denna-ai-prompt">Bygg en konceptkarta för ett ämne med den här AI-prompten</a> är ett förvånansvärt användbart sätt att kartlägga ”måltidsfamiljer” från en liten uppsättning ingredienser (kyckling blir tacos, bowls, sallader, soppor). Du behåller samma basvaror men varierar ändå känslan i veckan.</p>


<br>


<p>Snabbreferens:</p>



<ul class="wp-block-list">

<li><a href="https://nodenordic.se/prompts/skapa-viktiga-slutsatser-om-ett-amne-med-ai-prompt">Skapa viktiga takeaways för ett ämne med den här AI-prompten</a>: Gör planer till återanvändbara regler.</li>


<li><a href="https://nodenordic.se/prompts/skapa-en-plan-for-amnesresearch-med-denna-ai-prompt">Bygg en forskningsplan för ett ämne med den här AI-prompten</a>: Skapa en repeterbar förbättringsprocess.</li>


<li><a href="https://nodenordic.se/prompts/bygg-en-amneskarta-med-denna-ai-prompt">Bygg en konceptkarta för ett ämne med den här AI-prompten</a>: Utöka måltider utan att utöka ingredienser.</li>


<li><a href="https://nodenordic.se/prompts/skapa-unika-uppsatsamnen-med-denna-ai-prompt">AI-prompt för att generera unika uppsatsämnen</a>: Snabb idégenerering utifrån begränsningar.</li>


<li><a href="https://nodenordic.se/prompts/skriv-sammanhangande-satir-om-valfritt-amne-med-ai">Skriv sammanhållen satir om valfritt ämne med den här AI-prompten</a>: Övning i kreativt skrivande och tonkontroll.</li>

</ul>

</div>

<div class="faq-section">

<h2 class="wp-block-heading">Vanliga frågor</h2>


<div class="faq-item">
<span class="question">Vilka roller har mest nytta av den här AI-prompten för budgetplan för matinköp?</span>

<p class="answer"><strong>Hushållsansvariga</strong> använder den här för att göra en vag veckobudget till en varukorg, en måltidskarta och färre ”extra” butiksrundor. <strong>Privatekonomiska coacher</strong> använder den för att skapa ett praktiskt utgiftssystem som klienter kan upprepa, inklusive avgiftsmedvetenhet och kategoriavvägningar. <strong>Omsorgssamordnare</strong> (som stöttar äldre eller flergenerationshushåll) tycker att den är användbar för att matcha kostbehov med förvaringsbegränsningar och förutsägbara leveransscheman. <strong>Operationsinriktade matpreppare</strong> använder den för att standardisera ingredienser, minska svinn och hålla näringen konsekvent utan ständig planering.</p>

</div>

<div class="faq-item">
<span class="question">Vilka branscher får störst värde av den här AI-prompten för budgetplan för matinköp?</span>

<p class="answer"><strong>Matleverans och sista-milen-tjänster</strong> kan använda strukturen för att förstå hur avgifter, miniminivåer och ersättningsvaror förändrar kundbeteendet under veckan. <strong>Sjukvård och näringsprogram</strong> (vårdcentraler, hälsocoacher, wellnessinitiativ) kan anpassa planformatet för att ta fram realistiska måltidskartor som respekterar restriktioner och begränsad förvaring. <strong>Socialtjänst och organisationer för mataccess i lokalsamhället</strong> kan använda den för att designa veckokassar med lågt svinn som fungerar för verkliga hushåll, inte idealiserade recept. <strong>Personalförmåner och HR-wellness-team</strong> kan dela en förenklad version som en mall för en ”budgetvänlig vecka” för att stötta medarbetare som påverkas av stigande matpriser.</p>

</div>

<div class="faq-item">
<span class="question">Varför ger grundläggande AI-promptar för att bygga en 7-dagars matinköpsplan svaga resultat?</span>

<p class="answer">En typisk prompt som ”<em>Skriv en 7-dagars matinköpsplan under 150 dollar</em>” misslyckas eftersom den: saknar platskontext (så tillgänglighet och regionala priser gissas), inte hanterar avgifter (leverans, serviceavgifter, dricks och miniminivåer ignoreras) och hoppar över en kategorifördelning som hindrar att du överspenderar på protein tidigt i varukorgen. Den ignorerar också förvaringskapacitet, vilket leder till svinn-tunga rekommendationer som ”köp storpack” när du inte kan förvara det. Till sist ger den generiska måltidsidéer i stället för en varunivålista som jämför 2–3 onlineåterförsäljare och ger ett förstahandsval med en backup.</p>

</div>

<div class="faq-item">
<span class="question">Kan jag anpassa den här prompten för budgetplan för matinköp till min specifika situation?</span>

<p class="answer">Ja. Bäst resultat får du genom att skärpa indata: sätt BUDGET som ett totalt tak (eller specificera avgifter separat), definiera HOUSEHOLD_SIZE och vilka som har olika behov, och var tydlig med LOCATION så att återförsäljarjämförelsen blir realistisk. DIETARY_RESTRICTIONS bör inkludera hårda regler (allergier) plus ”mjuka” preferenser som driver svinn, och STORAGE_CAPACITY bör nämna frys-/kylutrymme. Efter första utdata, fråga: ”Revidera planen för att minska tillagningstiden på vardagar till max 20 minuter, håll luncher möjliga att ta med, och kontrollera totalsumman igen inklusive leveransavgifter.”</p>

</div>

<div class="faq-item">
<span class="question">Vilka är de vanligaste misstagen när man använder den här prompten för budgetplan för matinköp?</span>

<p class="answer">Det största misstaget är att lämna LOCATION otydlig — i stället för ”USA”, prova ”Austin, TX; kan använda Walmart, H‑E‑B-leverans och Instacart; undviker specialbutiker.” Ett annat vanligt fel är att behandla DIETARY_RESTRICTIONS som generiskt; ”äta hälsosammare” går inte att agera på, men ”lågt natrium, inga jordnötter, endast laktosfri mjölk” gör det. Folk anger också STORAGE_CAPACITY fel: ”normal kyl” leder till dåliga antaganden om storpack, medan ”lägenhetskyl, ingen frysbox, en fryslåda” ger realistiska storlekar. Till sist matas BUDGET in utan att klargöra om avgifter ingår; ”120 dollar plus avgifter” och ”120 dollar totalt efter avgifter” ger helt olika varukorgar.</p>

</div>

<div class="faq-item">
<span class="question">Vem ska INTE använda den här prompten för budgetplan för matinköp?</span>

<p class="answer">Den här prompten är inte optimal för enstaka, gourmetfokuserade matveckor där nya ingredienser är hela poängen, eftersom den medvetet prioriterar basvaror med hög nytta. Den passar också dåligt om du vägrar använda onlineåterförsäljare eller leverans över huvud taget, eftersom återförsäljarjämförelse och avgiftshantering är centralt i resultatet. Och om du ännu inte har bestämt en realistisk budgetnivå kan du få bättre resultat genom att först följa en veckas kvitton och sedan komma tillbaka med ett tydligt tak. Om det är du: börja med en enkel utgiftsbaslinje och kör sedan prompten med tydligare ramar.</p>

</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Vilka roller har mest nytta av den här AI-prompten för budgetplan för matinköp?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Hushållsansvariga använder den här för att göra en vag veckobudget till en varukorg, en måltidskarta och färre ”extra” butiksrundor. Privatekonomiska coacher använder den för att skapa ett praktiskt utgiftssystem som klienter kan upprepa, inklusive avgiftsmedvetenhet och kategoriavvägningar. Omsorgssamordnare (som stöttar äldre eller flergenerationshushåll) tycker att den är användbar för att matcha kostbehov med förvaringsbegränsningar och förutsägbara leveransscheman. Operationsinriktade matpreppare använder den för att standardisera ingredienser, minska svinn och hålla näringen konsekvent utan ständig planering."
      }
    },
    {
      "@type": "Question",
      "name": "Vilka branscher får störst värde av den här AI-prompten för budgetplan för matinköp?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Matleverans och sista-milen-tjänster kan använda strukturen för att förstå hur avgifter, miniminivåer och ersättningsvaror förändrar kundbeteendet under veckan. Sjukvård och näringsprogram (vårdcentraler, hälsocoacher, wellnessinitiativ) kan anpassa planformatet för att ta fram realistiska måltidskartor som respekterar restriktioner och begränsad förvaring. Socialtjänst och organisationer för mataccess i lokalsamhället kan använda den för att designa veckokassar med lågt svinn som fungerar för verkliga hushåll, inte idealiserade recept. Personalförmåner och HR-wellness-team kan dela en förenklad version som en mall för en ”budgetvänlig vecka” för att stötta medarbetare som påverkas av stigande matpriser."
      }
    },
    {
      "@type": "Question",
      "name": "Varför ger grundläggande AI-promptar för att bygga en 7-dagars matinköpsplan svaga resultat?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "En typisk prompt som \"Skriv en 7-dagars matinköpsplan under 150 dollar\" misslyckas eftersom den: saknar platskontext (så tillgänglighet och regionala priser gissas), inte hanterar avgifter (leverans, serviceavgifter, dricks och miniminivåer ignoreras) och hoppar över en kategorifördelning som hindrar att du överspenderar på protein tidigt i varukorgen. Den ignorerar också förvaringskapacitet, vilket leder till svinn-tunga rekommendationer som ”köp storpack” när du inte kan förvara det. Till sist ger den generiska måltidsidéer i stället för en varunivålista som jämför 2–3 onlineåterförsäljare och ger ett förstahandsval med en backup."
      }
    },
    {
      "@type": "Question",
      "name": "Kan jag anpassa den här prompten för budgetplan för matinköp till min specifika situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ja. Bäst resultat får du genom att skärpa indata: sätt BUDGET som ett totalt tak (eller specificera avgifter separat), definiera HOUSEHOLD_SIZE och vilka som har olika behov, och var tydlig med LOCATION så att återförsäljarjämförelsen blir realistisk. DIETARY_RESTRICTIONS bör inkludera hårda regler (allergier) plus ”mjuka” preferenser som driver svinn, och STORAGE_CAPACITY bör nämna frys-/kylutrymme. Efter första utdata, fråga: ”Revidera planen för att minska tillagningstiden på vardagar till max 20 minuter, håll luncher möjliga att ta med, och kontrollera totalsumman igen inklusive leveransavgifter.”"
      }
    },
    {
      "@type": "Question",
      "name": "Vilka är de vanligaste misstagen när man använder den här prompten för budgetplan för matinköp?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Det största misstaget är att lämna LOCATION otydlig — i stället för ”USA”, prova ”Austin, TX; kan använda Walmart, H‑E‑B-leverans och Instacart; undviker specialbutiker.” Ett annat vanligt fel är att behandla DIETARY_RESTRICTIONS som generiskt; ”äta hälsosammare” går inte att agera på, men ”lågt natrium, inga jordnötter, endast laktosfri mjölk” gör det. Folk anger också STORAGE_CAPACITY fel: ”normal kyl” leder till dåliga antaganden om storpack, medan ”lägenhetskyl, ingen frysbox, en fryslåda” ger realistiska storlekar. Till sist matas BUDGET in utan att klargöra om avgifter ingår; ”120 dollar plus avgifter” och ”120 dollar totalt efter avgifter” ger helt olika varukorgar."
      }
    },
    {
      "@type": "Question",
      "name": "Vem ska INTE använda den här prompten för budgetplan för matinköp?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Den här prompten är inte optimal för enstaka, gourmetfokuserade matveckor där nya ingredienser är hela poängen, eftersom den medvetet prioriterar basvaror med hög nytta. Den passar också dåligt om du vägrar använda onlineåterförsäljare eller leverans över huvud taget, eftersom återförsäljarjämförelse och avgiftshantering är centralt i resultatet. Och om du ännu inte har bestämt en realistisk budgetnivå kan du få bättre resultat genom att först följa en veckas kvitton och sedan komma tillbaka med ett tydligt tak. Om det är du: börja med en enkel utgiftsbaslinje och kör sedan prompten med tydligare ramar."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">

<p>Besparingar på mat kommer sällan från ett enda stort hack. De kommer från en plan du kan upprepa, med totalsummor du kan lita på. Klistra in prompten i ditt AI-verktyg, svara på frågorna och bygg nästa veckas varukorg i ett enda sitt.</p>

</div><p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/skapa-en-7-dagars-budgetinkopsplan-med-ai/">Skapa en 7-dagars budgetinköpsplan med AI</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Bygg en konfigurerbar spårningsplattform</title>
		<link>https://nodenordic.se/prompts/bygg-en-konfigurerbar-sparningsplattform/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=bygg-en-konfigurerbar-sparningsplattform</link>
		
		<dc:creator><![CDATA[Rickard Andersson]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 02:02:38 +0000</pubDate>
				<category><![CDATA[prompts]]></category>
		<guid isPermaLink="false">https://nodenordic.se/?p=5001393</guid>

					<description><![CDATA[<p>Kravglidning stoppar plattformsbyggen. Denna AI-prompt specificerar schema, RLS, realtid, UI och analys för React och Supabase.</p>
<p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/bygg-en-konfigurerbar-sparningsplattform/">Bygg en konfigurerbar spårningsplattform</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></description>
										<content:encoded><![CDATA[<!-- FOCUS_KEYWORD: tracking platform prompt -->
<div class="hook-introduction">

<p>”Trackingplattform” låter enkelt tills du börjar bygga. Sedan stöter du på scope creep, otydliga behörigheter, skör statuslogik och en dashboard som i praktiken bygger på gissningar. Det värsta är att upptäcka sent att ditt schema inte klarar realtidsuppdateringar i stor skala.</p>



<p>Den här <strong>tracking platform prompt</strong> är byggd för <strong>produktansvariga</strong> som vill omvandla en luddig ”vi behöver tracking”-idé till byggbara specifikationer, <strong>utvecklingschefer</strong> som behöver en säker multi-tenant-design i Supabase med RLS från dag ett, och <strong>implementeringskonsulter</strong> som mappar kundflöden till konfigurerbara entity-typer och statuspipelines. Resultatet är en teknisk ritning i produktionsklass: schematabeller, riktning för RLS-policyer, realtidskoppling, React-komponentgränser och analysmönster för en React + TypeScript + Supabase-stack.</p>

</div>

<div class="what-and-when-section">

<h2 class="wp-block-heading">Vad gör den här AI-prompten och när ska du använda den?</h2>



<table class="solution-results-table three-column" role="presentation" aria-label="What this prompt does, when to use it, and what you get">
 <thead>
    <tr>
      <th scope="col">Vad den här prompten gör</th>
      <th scope="col">När du ska använda den här prompten</th>
      <th scope="col">Vad du får</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <ul class="automation-list">
          <li>Den översätter en otydlig ”tracking-system”-förfrågan till en konkret arkitekturöversikt med moduler för admin-konfiguration, tracking-UI, realtidssynk, analys och exporter.</li>
          <li>Den designar en Supabase/Postgres-datamodell som stödjer egna entity-typer och skräddarsydda statuspipelines utan att skriva om kod för varje workflow.</li>
          <li>Den specificerar frågemönster och gränser för dataåtkomst (vad klienten läser, vad som hanteras via RPC och var man ska cacha eller paginera).</li>
          <li>Den beskriver realtidsbeteende med Supabase realtime-events, inklusive prenumerationsstrategi, UI-state-uppdateringar och konflikthantering.</li>
          <li>Den bygger in enterprise-krav: tenant-isolering, rollbaserade behörigheter och tydliga skalningsmål för 10k+ objekt och hög eventvolym.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>Du startar ett nytt React + Supabase-bygge och behöver låsa schema- och säkerhetsbeslut innan första sprinten.</li>
          <li>En ”enkel tracker” har svällt till 20 edge cases, och krav kommer via möten istället för dokumentation.</li>
          <li>Du har flera avdelningar som efterfrågar olika workflows, men du har inte råd med separata appar eller hårdkodad statuslogik.</li>
          <li>Intressenter vill ha realtidsövervakning, spårbarhet och dashboards, men din nuvarande plan är ”vi lägger till det senare”.</li>
          <li>Du förbereder för att skala användningen (fler orgs, fler användare, fler poster) och behöver skyddsräcken för prestanda och behörigheter.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>En byggbar schemaplan som täcker entities, statusdefinitioner, händelsehistorik, medlemskap och multi-tenant-gränser.</li>
           <li>En säkerhets- och RLS-checklista med policyinriktning för tenant-isolering och rollavgränsade accessvägar.</li>
           <li>En React-UI-ritning: sidkarta, komponentgränser och admin-konfiguratorflödet för icke-utvecklare.</li>
           <li>En plan för realtidskoppling som beskriver kanaler, prenumerationsregler och UI-uppdateringsmönster för ”shipping-status-tydlighet”.</li>
           <li>En översikt för analys och rapportering, inklusive dashboard-mätetal och ett Recharts-anpassat dataupplägg.</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

<div class="prompt-display-section">

<h2 class="wp-block-heading">Hela AI-prompten: byggare för konfigurerbar trackingplattform</h2>



<div class="prompt-viewer-wrapper" id="prompt-section">
    <div class="prompt-comparison-row prompt-premium">
        <!-- Header with buttons -->
        <div class="prompt-row-header">
            <!-- <span class="prompt-row-icon">✨</span> -->
            <span class="prompt-row-title">
                                    Steg 1: Anpassa prompten med din information
                            </span>
            <div class="prompt-header-buttons">
                                    <button class="prompt-header-btn prompt-header-reset" onclick="resetPrompt()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Återställ</span>
                    </button>
                                <button class="prompt-header-btn prompt-header-copy-green flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span>Anpassa och kopiera hela prompten</span>
                </button>
            </div>
        </div>

        <!-- Customize the Prompt Section -->
                    <div class="prompt-customize-section">
                <span class="customize-title">Anpassa prompten</span>
                <p class="customize-subtitle">Fyll i fälten nedan för att anpassa prompten efter dina behov.</p>
                <table class="customize-table">
                    <thead>
                        <tr>
                            <th>Variabel</th>
                            <th>Vad du ska ange</th>
                            <th>Anpassa prompten</th>
                        </tr>
                    </thead>
                    <tbody>
                                                    <tr>
                                <td class="var-name"><code>[MALGRUPP]</code></td>
                                <td class="var-desc">
                                    Beskriv produktens primära användare eller kundsegment, inklusive deras roller, behov och utmaningar.                                    <div class="var-example">Till exempel: "Operativa chefer i större logistikföretag som behöver spåra försändelser och optimera leveranskedjor."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[MALGRUPP]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[PRODUKTBESKRIVNING]</code></td>
                                <td class="var-desc">
                                    Ge en kortfattad översikt av produkten och lyft fram syfte samt viktigaste funktionerna.                                    <div class="var-example">Till exempel: "En konfigurerbar spårningsplattform som gör det möjligt för organisationer att följa arbetsflöden, visualisera framdrift och hantera komplexa processer i realtid."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[PRODUKTBESKRIVNING]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[BRANSCH]</code></td>
                                <td class="var-desc">
                                    Ange vilken bransch eller vilket område produkten riktar sig mot, inklusive relevanta delsegment.                                    <div class="var-example">Till exempel: "Logistik samt supply chain management."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[BRANSCH]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[KONTEXT]</code></td>
                                <td class="var-desc">
                                    Ge bakgrund eller specifika omständigheter som påverkar produktens design och användningsfall.                                    <div class="var-example">Till exempel: "Plattformen är avsedd för miljöer med höga volymer där realtidsspårning och samarbete mellan flera användare är avgörande."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[KONTEXT]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[HUVUDMAL]</code></td>
                                <td class="var-desc">
                                    Definiera det huvudsakliga målet som produkten ska uppnå för användarna.                                    <div class="var-example">Till exempel: "Göra det möjligt för organisationer att effektivt spåra och hantera arbetsflöden med minimal manuell hantering."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[HUVUDMAL]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TEKNIKSTACK]</code></td>
                                <td class="var-desc">
                                    Lista de tekniker, ramverk och verktyg som ska användas för att bygga produkten.                                    <div class="var-example">Till exempel: "React, TypeScript, Supabase (PostgreSQL + realtid), Tailwind CSS, Recharts, React Router."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[TEKNIKSTACK]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[VARUMARKESTON]</code></td>
                                <td class="var-desc">
                                    Beskriv vilken ton och kommunikationsstil produkten ska förmedla till användarna.                                    <div class="var-example">Till exempel: "Pragmatisk, genomförandefokuserad och professionell, med tydliga och kortfattade budskap."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[VARUMARKESTON]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[FUNKTIONER]</code></td>
                                <td class="var-desc">
                                    Lista de viktigaste funktionerna och den funktionalitet som produkten ska innehålla.                                    <div class="var-example">Till exempel: "Anpassningsbara objekttyper, realtidsuppföljning av framdrift, rollbaserade behörigheter och analysdashboards."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[FUNKTIONER]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[PRESTANDAKRAV]</code></td>
                                <td class="var-desc">
                                    Ange förväntad skalbarhet och prestandamål för produkten.                                    <div class="var-example">Till exempel: "Stöd för 10 000+ objekt, 500+ samtidiga användare och hög händelsevolym med minimal latens."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[PRESTANDAKRAV]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[ANVANDARBEHORIGHETSNIVAER]</code></td>
                                <td class="var-desc">
                                    Definiera de olika roller och behörigheter som användare ska ha i systemet.                                    <div class="var-example">Till exempel: "Admin, Manager, Viewer; admins kan konfigurera arbetsflöden, managers kan uppdatera statusar och viewers kan endast följa framdrift."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[ANVANDARBEHORIGHETSNIVAER]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TIDSRAM]</code></td>
                                <td class="var-desc">
                                    Ange förväntad tidsplan för leverans av produkten eller specifika milstolpar.                                    <div class="var-example">Till exempel: "Initial MVP levereras inom 12 veckor, med full produktionsmognad inom 6 månader."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[TIDSRAM]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[BUDGET]</code></td>
                                <td class="var-desc">
                                    Ange ekonomiska ramar eller finansiering som avsatts för projektet.                                    <div class="var-example">Till exempel: "150 000 USD för utveckling och initial driftsättning."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[BUDGET]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[VERSALER_MED_UNDERSCORE]</code></td>
                                <td class="var-desc">
                                    Ange ett värde formaterat med versaler och understreck mellan orden.                                    <div class="var-example">Till exempel: "SPARNINGSPLATTFORM_KONFIGURATOR"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[VERSALER_MED_UNDERSCORE]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                            </tbody>
                </table>

                <button class="copy-customized-btn flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span class="copy-customized-text">Anpassa prompten nu</span>

                </button>
            </div>
        
        <!-- Full Prompt Code Header -->
                    <div class="prompt-code-header">
                <span class="prompt-code-title">
                    Steg 2: Kopiera prompten
                </span>
                <div class="prompt-code-buttons">
                    <!-- Reset: Only visible when unlocked -->
                    <button class="prompt-header-btn prompt-header-reset btn-when-unlocked" onclick="resetPrompt()" style="display: none;">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Återställ</span>
                    </button>
                    <!-- Copy Full Prompt -->
                    <button class="prompt-header-btn prompt-header-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                            <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                        </svg>
                        <span>Kopiera hela prompten</span>
                    </button>
                </div>
            </div>
        

        <!-- Prompt Content -->
        <div class="prompt-box prompt-gated-wrapper">
            <!-- Gated: Blurred content -->
            <div class="prompt-gated-content">
                <div class="prompt-header-visible">MÅL</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PERSONA</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">BEGRÄNSNINGAR</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PROCESS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Vad detta INTE är</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">INDATA</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">OUTPUTSPECIFIKATION</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">1) {Schema Design}</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">2) {Admin Configuration}</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">3) {Tracking Interface}</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">4) {Realtime Engine}</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">5) {Analytics Module}</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">6) {Polish Implementation}</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">7) {Performance Optimization}</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">KVALITETSKONTROLLER</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div>            </div>
            <!-- Unlocked: Full content (hidden by default) -->
            <div class="prompt-content-full" id="premium-prompt-content" style="display: none;">
                ## MÅL
Designa en produktionsredo, mycket konfigurerbar spårningsplattform som låter organisationer modellera valfritt arbetsflöde (logistik, vård, projekt m.m.) genom att skapa egna spårbara entitetstyper, skräddarsydda statuspipelines och övervakning av framsteg i realtid—byggd specifikt för en React + TypeScript + Supabase-stack och optimerad för användning i enterprise-skala.

## PERSONA
Du är en senior full-stack systemdesigner och leveransledare med djup erfarenhet av att leverera spårningsprodukter med hög genomströmning. Din stil är pragmatisk och implementeringsdriven: du översätter otydliga krav till stabila scheman, robusta realtidsflöden och polerat UI-beteende. Du föredrar underhållbara mönster, mätbar prestanda och adminupplevelser som icke-utvecklare tryggt kan konfigurera.

## BEGRÄNSNINGAR
- Använd den angivna stacken: **React + TypeScript, Supabase (PostgreSQL + realtime), Tailwind CSS**, samt **Recharts** och **React Router** där det behövs.
- Leveransen måste vara “byggbar”: inkludera konkreta schemaobjekt, frågemönster, komponentgränser och realtime-kopplingar—inte abstrakta råd.
- Skalmål måste adresseras explicit (10k+ objekt, många samtidiga användare, hög eventvolym).
- UX måste matcha den efterfrågade visuella riktningen (minimal, krispig, “shipping-status clarity”, dark mode, emerald accent **#10b981**).
- Säkerhet måste vara förstaklassig: rollbaserade behörigheter, tenant-/dataisolering och Supabase RLS-policys.
- Använd en strukturerad teknisk dokumentationslayout med tydliga rubriker och ordnade byggsteg (schema → API/dataåtkomst → UI → realtime → analytics → hardening → deployment).

## PROCESS
1. **Föranalys (obligatorisk):** Återge vad du bygger, lista centrala antaganden och påpeka vilka indata du saknar. Om något är tvetydigt, föreslå 2–3 rimliga alternativ och fortsätt med bästa standardval.
2. **Arkitekturöversikt:** Ge en modul-karta (datamodell, admin-konfigurator, tracking-UI, realtime-synk, analytics, exporter, hardening).
3. **Schema-first-bygge:** Definiera Postgres/Supabase-schemat, constraints, index och RLS. Förklara varför varje tabell finns och hur den stödjer flexibilitet.
4. **Frontend-blueprint:** Definiera routestruktur, komponenthierarki och strategi för state/data (inklusive cache och invalidation).
5. **Realtime-implementation:** Specificera subscriptioner, eventformer, konflikthantering, optimistiska uppdateringar och presence/awareness om tillämpligt.
6. **Analytics-design:** Ge aggregeringsstrategi, queries/views/materialized views vid behov och dashboard-sammansättning med Recharts.
7. **Produktionsredo:** Täck migrationer, grunder för observability, error boundaries, loading-UX, prestandataktiker och deploymentsnoteringar.
8. **Edge cases:** Inkludera hantering för stora boards, massiva custom fields, behörighetsmismatchar, offline/latens och race conditions.

### Vad detta INTE är
- Inte en generisk “idé”-översikt eller produktbrief.
- Inte en ramverksjämförelse eller förslag på alternativ stack.
- Inte en full kodbas-dump för varje fil; ge i stället representativa kodmönster och de kritiska, copy-pastable delarna (schema/RLS, nyckel-hooks, subscription-wiring och kärnkomponenter).

## INDATA
- **Primärt användarsegment / ideal mottagare:** [MALGRUPP]
- **Produktsammanfattning:** [PRODUKTBESKRIVNING]
- **Bransch / domän(er):** [BRANSCH]
- **Bakgrundskontext (deadlines, begränsningar, nuläge):** [KONTEXT]
- **Primärt utfall att optimera för (t.ex. flexibilitet, spårbarhet/auditability, hastighet):** [HUVUDMAL]
- **Tech stack (bekräfta eller åsidosätt standarder):** [TEKNIKSTACK]
- **UI-riktning (varumärkeslook, färger, dark mode-regler):** [VARUMARKESTON]
- **Lista över nyckelfunktioner:** [FUNKTIONER]
- **Prestandamål (siffror, samtidighet, eventvolym):** [PRESTANDAKRAV]
- **Åtkomstroller + regler:** [ANVANDARBEHORIGHETSNIVAER]
- **Tidsförväntningar / leveranstidslinje:** [TIDSRAM]
- **Budgetramar (valfritt):** [BUDGET]

## OUTPUTSPECIFIKATION
Använd följande avsnitt och inkludera de angivna artefakterna i varje.

### 1) {Schema Design}
Tillhandahåll:
- Tabeller med kolumner och typer för:
  - {Tenant/Workspace}
  - {Users &amp; Memberships}
  - {Role Assignments}
  - {Trackable Type Definitions}
  - {Trackable Items}
  - {Status Pipelines}
  - {Status Stages}
  - {Item Status History / Timeline Events}
  - {Custom Field Templates}
  - {Custom Field Values} (EAV/JSONB-hybridmotivering krävs)
  - {Comments/Attachments} (om inom scope)
- Foreign keys, constraints och cascade-regler
- Indexplan (inklusive partial indexes, GIN-index för JSONB och sort-stödjande index)
- Supabase RLS-policys för {Admin}, {Editor}, {Viewer} med tenant-isolering
- Föreslagen migrationsstrategi och strategi för seed data

### 2) {Admin Configuration}
Tillhandahåll:
- UI-moduluppdelning för admin-setup:
  - {Trackable Type Builder}
  - {Pipeline Builder} (steg, WIP-limits valfritt, stegregler)
  - {Custom Field Designer} (field kinds, validering, standardvärden)
- Karta över centrala React-komponenter och route-träd: {Route} → {Page} → {Key Components}
- Formstrategi (t.ex. RHF/Zod om det används) och valideringsregler
- Mönster för att spara utkast vs publicera schemaändringar
- Säkerhetsräcken: förhindra breaking changes för typer som används

### 3) {Tracking Interface}
Tillhandahåll:
- Huvudvyer: {Kanban}, {List}, {Timeline/Detail Drawer}, {Search &amp; Filters}
- Drag/drop-strategi (biblioteksagnostisk eller specificera en) inklusive persisteringsflöde
- Inline-edit-mönster med optimistiska uppdateringar
- Bulk actions och kolumnkonfiguration (användarpreferenser)
- Datahämtning (React Query eller motsvarande) med plan för paginering/virtualisering

### 4) {Realtime Engine}
Tillhandahåll:
- Exempel på Supabase channel-setup med:
  - {Subscriptions} per tenant + entitetstyp
  - {Row Level Events}-hantering (insert/update/delete)
- Strategi för synk av klientstate:
  - dedupe, ordning och idempotens
  - konflikthantering vid samtidiga redigeringar
  - regler för rollback i optimistiskt UI
- Presence/awareness-beteende (valfritt) och hur det påverkar UX
- Föreslagna konventioner för event-payloads och säkerhetsöverväganden

### 5) {Analytics Module}
Tillhandahåll:
- Dashboard-avsnitt: {Throughput}, {Cycle Time}, {Stage Aging}, {SLA Breaches}, {Workload}
- Postgres-queries (eller views/materialized views) för aggregat i skala
- Recharts-komponentmönster för varje diagramtyp
- Prestandastrategi: caching, inkrementell refresh, time-bucketing och index som stödjer analytics

### 6) {Polish Implementation}
Tillhandahåll:
- Loading-skeletons och taktiker för upplevd prestanda
- Error boundaries + retry-UX + empty states
- Regler för responsiv layout (mobile-first-begränsningar)
- Exportvägar: {CSV}, {JSON}, och valfri {Webhook}-design
- Tillgänglighetsgrunder (tangentbordsnav för boards, färgkontrast för dark mode)

### 7) {Performance Optimization}
Tillhandahåll:
- Virtualiseringsupplägg för listor/boards: {Library/Technique}, {Row Height Strategy}
- Debounced sök + mönster för server-side filtrering
- React Query (eller alternativ) cache-nycklar, invalidation-regler och rekommendationer för stale-time
- Skalningsnoteringar på databassidan: connection pooling, query shape, undvika N+1
- Övervakningsmått att följa: {p95 Latency}, {Subscription Fanout}, {DB CPU}, {Cache Hit Rate}

## KVALITETSKONTROLLER
I slutet, inkludera en verifieringslista som bekräftar:
- Alla användarindata-variabler är i **[VERSALER_MED_UNDERSCORE]** och alla mallplaceholders använder **{Title Case}**
- RLS-policys upprätthåller tenant-isolering och rollbehörigheter korrekt
- Schemat stödjer nya entitetstyper/pipelines utan migrationer för rutinmässiga ändringar
- UI- och realtime-planen förblir responsiv vid de angivna skalmålen
- Analytics-queries är index-stödda och försämrar inte kärnans transaktionella prestanda            </div>
        </div>


    </div>

    <!-- CTA Row - Full width buttons -->
    <div class="prompt-cta-row">
        <button class="prompt-cta-btn prompt-cta-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
            </svg>
            <span class="cta-copy-text">Kopiera hela prompten</span>
        </button>
    </div>
</div>

<style>
    /* Gated prompt states */
    .prompt-gated-wrapper {
        position: relative;
    }

    /* When unlocked - show full content, hide gated */
    body.flowpast-unlocked .prompt-gated-wrapper .prompt-gated-content {
        display: none;
    }

    body.flowpast-unlocked .prompt-gated-wrapper .prompt-content-full {
        display: block !important;
    }

    /* Show/hide elements based on unlock state */
    body.flowpast-unlocked .btn-when-unlocked {
        display: inline-flex !important;
    }

    .prompt-viewer-wrapper {
        scroll-margin-top: 250px;
    }

    /* ========================================
   PROMPT VIEWER - MAIN WRAPPER
   ======================================== */
    .prompt-viewer-wrapper {
        margin: 30px 0;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    /* ========================================
   PROMPT BOX CONTAINER
   ======================================== */
    .prompt-comparison-row {
        border-radius: 12px;
        overflow: hidden;
        border: 1px solid #e0e0e0;
        background: #fff;
    }

    /* ========================================
   HEADER WITH BUTTONS
   ======================================== */
    .prompt-row-header {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 14px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
        flex-wrap: wrap;
    }

    .prompt-row-icon {
        font-size: 20px;
    }

    .prompt-row-title {
        font-weight: 600;
        font-size: 22px;
        color: #fff !important;
        text-decoration: underline
    }

    .prompt-header-buttons {
        margin-left: auto;
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
    }

    /* Header buttons */
    .prompt-header-btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 10px 20px;
        border-radius: 6px;
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-header-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-header-copy:hover {
        background: #2a2a2a;
    }

    .prompt-header-copy.copied {
        background: #2e7d32;
    }

    .prompt-header-copy-green {
        background: #04AA6D !important;
        color: #fff !important;
    }

    .prompt-header-copy-green span {
        color: #fff !important;
    }

    .prompt-header-copy-green:hover {
        background: #039860 !important;
    }

    .prompt-header-copy-green.copied {
        background: #2e7d32 !important;
    }

    .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-header-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-1px);
    }

    /* ========================================
   PROMPT CONTENT - FULL (NO SCROLL)
   ======================================== */
    .prompt-box {
        background: #ffffff;
    }

    .prompt-content-full {
        padding: 24px;
        margin: 0;
        color: #202124;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.7;
        white-space: pre-wrap;
        word-wrap: break-word;
        /* No scroll - show full content */
        max-height: none;
        overflow: visible;
    }

    /* Highlighted variable in prompt */
    .prompt-variable {
        background: #fff3cd;
        color: #1967d2;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #ffc107;
    }

    .prompt-variable-filled {
        background: #d4edda;
        color: #155724;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #28a745;
    }

    /* ========================================
   GATED CONTENT (NO ACCESS)
   ======================================== */
    .prompt-gated-content {
        padding: 24px;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.8;
        max-height: none;
        overflow: visible;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        cursor: default;
    }

    /* ## headers - larger, black */
    .prompt-header-visible {
        color: #202124;
        font-weight: 600;
        margin: 5px 0 0px 0;
        font-size: 20px;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        text-decoration: underline;
        text-underline-offset: 4px;
    }

    /* ### headers - smaller, black */
    .prompt-header-visible.subheader {
        color: #202124;
        font-weight: 600;
        margin: 5px 0;
        font-size: 18px;
    }

    .prompt-header-visible:first-child {
        margin-top: 0;
    }

    /* ========================================
   LOCKED SECTION BLOCK
   ======================================== */
    .locked-section {
        position: relative;
        margin: 4px 0 8px 0;
        border-radius: 6px;
        overflow: hidden;
        background: linear-gradient(110deg, #e2e8f0 8%, #f1f5f9 18%, #e2e8f0 33%);
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
    }

    .locked-section-bg {
        position: relative;
    }

    .locked-section-lines {
        padding: 8px 12px;
        position: relative;
    }

    .locked-line {
        height: 6px;
        background: rgba(255, 255, 255, 0.6);
        border-radius: 3px;
        margin-bottom: 4px;
        margin-left: 12px;
    }

    .locked-line:last-child {
        margin-bottom: 0;
    }

    .locked-section-icon {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 10;
        font-size: 24px;
        filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.1));
    }

    /* Subheader locked sections - slightly indented */
    /*  .prompt-header-visible.subheader+.locked-section {
        margin-left: 16px;
    } */

    /* ========================================
   COMPATIBILITY BADGES
   ======================================== */
    .prompt-compatibility {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        padding: 12px 20px;
        background: #f8f9fa;
        border-top: 1px solid #e0e0e0;
    }

    .compat-label {
        font-size: 13px;
        color: #5f6368;
        font-weight: 500;
    }

    .compat-badge {
        padding: 4px 10px;
        background: #e8f0fe;
        color: #1967d2;
        border-radius: 4px;
        font-size: 12px;
        font-weight: 500;
    }

    /* ========================================
   CTA ROW - FULL WIDTH BUTTONS
   ======================================== */
    .prompt-cta-row {
        display: flex;
        gap: 16px;
        flex-wrap: wrap;
    }

    .prompt-cta-btn {
        flex: 1;
        min-width: 200px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 16px 24px;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-cta-copy {
        background: #3a3a3a;
        color: #fff !important;
    }


    .prompt-cta-copy span {
        background: #3a3a3a;
        color: #fff !important;
    }


    .prompt-cta-copy:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }


    .prompt-cta-copy.copied {
        background: #2e7d32;
    }

    .prompt-cta-reset {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-reset:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-cta-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    /* ========================================
    CUSTOMIZE YOUR PROMPT SECTION
    ======================================== */
    .prompt-customize-section {
        padding: 24px;
        border-bottom: 1px solid #e0e0e0;
        background: #fafbfc;
    }

    .customize-title {
        margin: 0 0 8px 0;
        font-size: 18px;
        font-weight: 700;
        color: #202124;
    }

    .customize-subtitle {
        margin: 0 0 20px 0;
        font-size: 14px;
        color: #5f6368;
    }

    .customize-table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 20px;
    }

    .customize-table th {
        text-align: left;
        padding: 12px;
        background: #f1f3f4;
        border: 1px solid #e0e0e0;
        font-size: 13px;
        font-weight: 600;
        color: #202124;
    }

    .customize-table td {
        padding: 12px;
        border: 1px solid #e0e0e0;
        vertical-align: top;
    }

    .customize-table .var-name {
        width: 25%;
        background: #f8f9fa;
    }

    .customize-table .var-name code {
        background: #fff3cd;
        color: #1967d2;
        border: 1px solid #ffc107;
        padding: 4px 8px;
        border-radius: 4px;
        font-size: 12px;
        word-break: break-all;
        font-weight: 600;
    }

    .customize-table .var-desc {
        width: 35%;
        font-size: 13px;
        color: #5f6368;
        line-height: 1.5;
    }

    .customize-table .var-example {
        margin-top: 8px;
        padding: 8px 10px;
        background: #f8f9fa;
        border-left: 3px solid #dadce0;
        font-size: 12px;
        color: #5f6368;
        font-style: italic;
        border-radius: 0 4px 4px 0;
    }

    .customize-table .var-input {
        width: 40%;
    }

    .customize-input {
        width: 100%;
        padding: 10px 12px;
        border: 1px solid #dadce0;
        border-radius: 6px;
        font-size: 13px;
        font-family: inherit;
        resize: vertical;
        transition: border-color 0.2s, box-shadow 0.2s;
    }

    .customize-input:focus {
        outline: none;
        border-color: rgb(5, 152, 98);
        box-shadow: 0 0 0 3px rgba(5, 152, 98, 0.1);
    }

    .customize-input::placeholder {
        color: #9aa0a6;
        font-style: italic;
    }

    .copy-customized-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        width: 100%;
        padding: 16px 24px;
        background: rgb(5, 152, 98);
        color: #fff !important;
        border: none;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
    }

    .copy-customized-btn span {
        color: #fff !important
    }

    .copy-customized-text span {
        color: #fff !important
    }

    .copy-customized-btn:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    .copy-customized-btn.copied {
        background: #2e7d32;
    }

    /* ========================================
    FULL PROMPT CODE HEADER
    ======================================== */
    .prompt-code-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
    }

    .prompt-code-title {
        font-size: 22px;
        font-weight: 600;
        text-decoration: underline;
        color: #fff !important;

    }

    .prompt-code-buttons {
        display: flex;
        gap: 8px;
    }

    .prompt-code-buttons .prompt-header-btn {
        padding: 8px 14px;
        font-size: 13px;
        background: #ffffff;
        color: #202124;
        border: 1px solid #dadce0;
    }

    .prompt-code-buttons .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
        border-color: rgb(5, 152, 98);
    }

    .prompt-code-buttons .prompt-header-btn.prompt-header-access:hover {
        background: rgb(4, 130, 83) !important;
        border-color: rgb(4, 130, 83);
        color: #fff !important;
    }

    .prompt-code-buttons .prompt-header-btn:hover {
        background: #f1f3f4;
    }

    .prompt-code-buttons .prompt-header-copy.copied {
        background: #d4edda;
        color: #155724;
        border-color: #28a745;
    }

    .prompt-header-reset {
        background: #ffffff;
        color: #202124;
    }

    /* ========================================
   RESPONSIVE
   ======================================== */
    @media (max-width: 768px) {
        .prompt-row-header {
            flex-direction: column;
            align-items: flex-start;
            gap: 12px;
        }

        .prompt-header-buttons {
            margin-left: 0;
            width: 100%;
        }

        .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }

        .prompt-cta-row {
            flex-direction: column;
        }

        .prompt-cta-btn {
            width: 100%;
        }

        /* Customize table responsive */
        .customize-table,
        .customize-table thead,
        .customize-table tbody,
        .customize-table tr,
        .customize-table th,
        .customize-table td {
            display: block;
        }

        .customize-table thead {
            display: none;
        }

        .customize-table tr {
            margin-bottom: 16px;
            border: 1px solid #e0e0e0;
            border-radius: 8px;
            overflow: hidden;
        }

        .customize-table td {
            width: 100% !important;
            border: none;
            border-bottom: 1px solid #e0e0e0;
        }

        .customize-table td:last-child {
            border-bottom: none;
        }

        .customize-table .var-name {
            background: #f1f3f4;
            font-weight: 600;
        }

        .prompt-code-header {
            flex-direction: column;
            gap: 12px;
            align-items: flex-start;
        }

        .prompt-code-buttons {
            width: 100%;
        }

        .prompt-code-buttons .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }
    }
</style>

<script>
    function handlePromptCopy() {
        // Check if unlocked via cookie
        if (typeof window.flowpastIsUnlocked === 'function' && !window.flowpastIsUnlocked()) {
            // Show email popup
            if (typeof window.flowpastShowEmailPopup === 'function') {
                window.flowpastShowEmailPopup('prompt');
            }
            return;
        }

        // Copy the customized prompt (with filled variables)
        const customizedPrompt = getCustomizedPrompt();
        const copyButtons = document.querySelectorAll('.prompt-header-copy, .prompt-header-copy-green, .prompt-cta-copy, .copy-customized-btn');

        navigator.clipboard.writeText(customizedPrompt).then(() => {
            copyButtons.forEach(btn => {
                btn.classList.add('copied');
                const textSpan = btn.querySelector('span');
                if (textSpan) textSpan.textContent = 'Kopierad!';
            });

            setTimeout(() => {
                copyButtons.forEach(btn => {
                    btn.classList.remove('copied');
                    const textSpan = btn.querySelector('span');
                    if (textSpan) textSpan.textContent = 'Kopiera hela prompten';
                });
            }, 2000);
        }).catch(err => {
            console.error('Failed to copy:', err);
        });
    }

    // Store original prompt for customization
    const originalPrompt = "## M\u00c5L\r\nDesigna en produktionsredo, mycket konfigurerbar sp\u00e5rningsplattform som l\u00e5ter organisationer modellera valfritt arbetsfl\u00f6de (logistik, v\u00e5rd, projekt m.m.) genom att skapa egna sp\u00e5rbara entitetstyper, skr\u00e4ddarsydda statuspipelines och \u00f6vervakning av framsteg i realtid\u2014byggd specifikt f\u00f6r en React + TypeScript + Supabase-stack och optimerad f\u00f6r anv\u00e4ndning i enterprise-skala.\r\n\r\n## PERSONA\r\nDu \u00e4r en senior full-stack systemdesigner och leveransledare med djup erfarenhet av att leverera sp\u00e5rningsprodukter med h\u00f6g genomstr\u00f6mning. Din stil \u00e4r pragmatisk och implementeringsdriven: du \u00f6vers\u00e4tter otydliga krav till stabila scheman, robusta realtidsfl\u00f6den och polerat UI-beteende. Du f\u00f6redrar underh\u00e5llbara m\u00f6nster, m\u00e4tbar prestanda och adminupplevelser som icke-utvecklare tryggt kan konfigurera.\r\n\r\n## BEGR\u00c4NSNINGAR\r\n- Anv\u00e4nd den angivna stacken: **React + TypeScript, Supabase (PostgreSQL + realtime), Tailwind CSS**, samt **Recharts** och **React Router** d\u00e4r det beh\u00f6vs.\r\n- Leveransen m\u00e5ste vara \u201cbyggbar\u201d: inkludera konkreta schemaobjekt, fr\u00e5gem\u00f6nster, komponentgr\u00e4nser och realtime-kopplingar\u2014inte abstrakta r\u00e5d.\r\n- Skalm\u00e5l m\u00e5ste adresseras explicit (10k+ objekt, m\u00e5nga samtidiga anv\u00e4ndare, h\u00f6g eventvolym).\r\n- UX m\u00e5ste matcha den efterfr\u00e5gade visuella riktningen (minimal, krispig, \u201cshipping-status clarity\u201d, dark mode, emerald accent **#10b981**).\r\n- S\u00e4kerhet m\u00e5ste vara f\u00f6rstaklassig: rollbaserade beh\u00f6righeter, tenant-\/dataisolering och Supabase RLS-policys.\r\n- Anv\u00e4nd en strukturerad teknisk dokumentationslayout med tydliga rubriker och ordnade byggsteg (schema \u2192 API\/data\u00e5tkomst \u2192 UI \u2192 realtime \u2192 analytics \u2192 hardening \u2192 deployment).\r\n\r\n## PROCESS\r\n1. **F\u00f6ranalys (obligatorisk):** \u00c5terge vad du bygger, lista centrala antaganden och p\u00e5peka vilka indata du saknar. Om n\u00e5got \u00e4r tvetydigt, f\u00f6resl\u00e5 2\u20133 rimliga alternativ och forts\u00e4tt med b\u00e4sta standardval.\r\n2. **Arkitektur\u00f6versikt:** Ge en modul-karta (datamodell, admin-konfigurator, tracking-UI, realtime-synk, analytics, exporter, hardening).\r\n3. **Schema-first-bygge:** Definiera Postgres\/Supabase-schemat, constraints, index och RLS. F\u00f6rklara varf\u00f6r varje tabell finns och hur den st\u00f6djer flexibilitet.\r\n4. **Frontend-blueprint:** Definiera routestruktur, komponenthierarki och strategi f\u00f6r state\/data (inklusive cache och invalidation).\r\n5. **Realtime-implementation:** Specificera subscriptioner, eventformer, konflikthantering, optimistiska uppdateringar och presence\/awareness om till\u00e4mpligt.\r\n6. **Analytics-design:** Ge aggregeringsstrategi, queries\/views\/materialized views vid behov och dashboard-sammans\u00e4ttning med Recharts.\r\n7. **Produktionsredo:** T\u00e4ck migrationer, grunder f\u00f6r observability, error boundaries, loading-UX, prestandataktiker och deploymentsnoteringar.\r\n8. **Edge cases:** Inkludera hantering f\u00f6r stora boards, massiva custom fields, beh\u00f6righetsmismatchar, offline\/latens och race conditions.\r\n\r\n### Vad detta INTE \u00e4r\r\n- Inte en generisk \u201cid\u00e9\u201d-\u00f6versikt eller produktbrief.\r\n- Inte en ramverksj\u00e4mf\u00f6relse eller f\u00f6rslag p\u00e5 alternativ stack.\r\n- Inte en full kodbas-dump f\u00f6r varje fil; ge i st\u00e4llet representativa kodm\u00f6nster och de kritiska, copy-pastable delarna (schema\/RLS, nyckel-hooks, subscription-wiring och k\u00e4rnkomponenter).\r\n\r\n## INDATA\r\n- **Prim\u00e4rt anv\u00e4ndarsegment \/ ideal mottagare:** [MALGRUPP]\r\n- **Produktsammanfattning:** [PRODUKTBESKRIVNING]\r\n- **Bransch \/ dom\u00e4n(er):** [BRANSCH]\r\n- **Bakgrundskontext (deadlines, begr\u00e4nsningar, nul\u00e4ge):** [KONTEXT]\r\n- **Prim\u00e4rt utfall att optimera f\u00f6r (t.ex. flexibilitet, sp\u00e5rbarhet\/auditability, hastighet):** [HUVUDMAL]\r\n- **Tech stack (bekr\u00e4fta eller \u00e5sidos\u00e4tt standarder):** [TEKNIKSTACK]\r\n- **UI-riktning (varum\u00e4rkeslook, f\u00e4rger, dark mode-regler):** [VARUMARKESTON]\r\n- **Lista \u00f6ver nyckelfunktioner:** [FUNKTIONER]\r\n- **Prestandam\u00e5l (siffror, samtidighet, eventvolym):** [PRESTANDAKRAV]\r\n- **\u00c5tkomstroller + regler:** [ANVANDARBEHORIGHETSNIVAER]\r\n- **Tidsf\u00f6rv\u00e4ntningar \/ leveranstidslinje:** [TIDSRAM]\r\n- **Budgetramar (valfritt):** [BUDGET]\r\n\r\n## OUTPUTSPECIFIKATION\r\nAnv\u00e4nd f\u00f6ljande avsnitt och inkludera de angivna artefakterna i varje.\r\n\r\n### 1) {Schema Design}\r\nTillhandah\u00e5ll:\r\n- Tabeller med kolumner och typer f\u00f6r:\r\n  - {Tenant\/Workspace}\r\n  - {Users & Memberships}\r\n  - {Role Assignments}\r\n  - {Trackable Type Definitions}\r\n  - {Trackable Items}\r\n  - {Status Pipelines}\r\n  - {Status Stages}\r\n  - {Item Status History \/ Timeline Events}\r\n  - {Custom Field Templates}\r\n  - {Custom Field Values} (EAV\/JSONB-hybridmotivering kr\u00e4vs)\r\n  - {Comments\/Attachments} (om inom scope)\r\n- Foreign keys, constraints och cascade-regler\r\n- Indexplan (inklusive partial indexes, GIN-index f\u00f6r JSONB och sort-st\u00f6djande index)\r\n- Supabase RLS-policys f\u00f6r {Admin}, {Editor}, {Viewer} med tenant-isolering\r\n- F\u00f6reslagen migrationsstrategi och strategi f\u00f6r seed data\r\n\r\n### 2) {Admin Configuration}\r\nTillhandah\u00e5ll:\r\n- UI-moduluppdelning f\u00f6r admin-setup:\r\n  - {Trackable Type Builder}\r\n  - {Pipeline Builder} (steg, WIP-limits valfritt, stegregler)\r\n  - {Custom Field Designer} (field kinds, validering, standardv\u00e4rden)\r\n- Karta \u00f6ver centrala React-komponenter och route-tr\u00e4d: {Route} \u2192 {Page} \u2192 {Key Components}\r\n- Formstrategi (t.ex. RHF\/Zod om det anv\u00e4nds) och valideringsregler\r\n- M\u00f6nster f\u00f6r att spara utkast vs publicera schema\u00e4ndringar\r\n- S\u00e4kerhetsr\u00e4cken: f\u00f6rhindra breaking changes f\u00f6r typer som anv\u00e4nds\r\n\r\n### 3) {Tracking Interface}\r\nTillhandah\u00e5ll:\r\n- Huvudvyer: {Kanban}, {List}, {Timeline\/Detail Drawer}, {Search & Filters}\r\n- Drag\/drop-strategi (biblioteksagnostisk eller specificera en) inklusive persisteringsfl\u00f6de\r\n- Inline-edit-m\u00f6nster med optimistiska uppdateringar\r\n- Bulk actions och kolumnkonfiguration (anv\u00e4ndarpreferenser)\r\n- Datah\u00e4mtning (React Query eller motsvarande) med plan f\u00f6r paginering\/virtualisering\r\n\r\n### 4) {Realtime Engine}\r\nTillhandah\u00e5ll:\r\n- Exempel p\u00e5 Supabase channel-setup med:\r\n  - {Subscriptions} per tenant + entitetstyp\r\n  - {Row Level Events}-hantering (insert\/update\/delete)\r\n- Strategi f\u00f6r synk av klientstate:\r\n  - dedupe, ordning och idempotens\r\n  - konflikthantering vid samtidiga redigeringar\r\n  - regler f\u00f6r rollback i optimistiskt UI\r\n- Presence\/awareness-beteende (valfritt) och hur det p\u00e5verkar UX\r\n- F\u00f6reslagna konventioner f\u00f6r event-payloads och s\u00e4kerhets\u00f6verv\u00e4ganden\r\n\r\n### 5) {Analytics Module}\r\nTillhandah\u00e5ll:\r\n- Dashboard-avsnitt: {Throughput}, {Cycle Time}, {Stage Aging}, {SLA Breaches}, {Workload}\r\n- Postgres-queries (eller views\/materialized views) f\u00f6r aggregat i skala\r\n- Recharts-komponentm\u00f6nster f\u00f6r varje diagramtyp\r\n- Prestandastrategi: caching, inkrementell refresh, time-bucketing och index som st\u00f6djer analytics\r\n\r\n### 6) {Polish Implementation}\r\nTillhandah\u00e5ll:\r\n- Loading-skeletons och taktiker f\u00f6r upplevd prestanda\r\n- Error boundaries + retry-UX + empty states\r\n- Regler f\u00f6r responsiv layout (mobile-first-begr\u00e4nsningar)\r\n- Exportv\u00e4gar: {CSV}, {JSON}, och valfri {Webhook}-design\r\n- Tillg\u00e4nglighetsgrunder (tangentbordsnav f\u00f6r boards, f\u00e4rgkontrast f\u00f6r dark mode)\r\n\r\n### 7) {Performance Optimization}\r\nTillhandah\u00e5ll:\r\n- Virtualiseringsuppl\u00e4gg f\u00f6r listor\/boards: {Library\/Technique}, {Row Height Strategy}\r\n- Debounced s\u00f6k + m\u00f6nster f\u00f6r server-side filtrering\r\n- React Query (eller alternativ) cache-nycklar, invalidation-regler och rekommendationer f\u00f6r stale-time\r\n- Skalningsnoteringar p\u00e5 databassidan: connection pooling, query shape, undvika N+1\r\n- \u00d6vervakningsm\u00e5tt att f\u00f6lja: {p95 Latency}, {Subscription Fanout}, {DB CPU}, {Cache Hit Rate}\r\n\r\n## KVALITETSKONTROLLER\r\nI slutet, inkludera en verifieringslista som bekr\u00e4ftar:\r\n- Alla anv\u00e4ndarindata-variabler \u00e4r i **[VERSALER_MED_UNDERSCORE]** och alla mallplaceholders anv\u00e4nder **{Title Case}**\r\n- RLS-policys uppr\u00e4tth\u00e5ller tenant-isolering och rollbeh\u00f6righeter korrekt\r\n- Schemat st\u00f6djer nya entitetstyper\/pipelines utan migrationer f\u00f6r rutinm\u00e4ssiga \u00e4ndringar\r\n- UI- och realtime-planen f\u00f6rblir responsiv vid de angivna skalm\u00e5len\r\n- Analytics-queries \u00e4r index-st\u00f6dda och f\u00f6rs\u00e4mrar inte k\u00e4rnans transaktionella prestanda";
    const variables = ["[MALGRUPP]","[PRODUKTBESKRIVNING]","[BRANSCH]","[KONTEXT]","[HUVUDMAL]","[TEKNIKSTACK]","[VARUMARKESTON]","[FUNKTIONER]","[PRESTANDAKRAV]","[ANVANDARBEHORIGHETSNIVAER]","[TIDSRAM]","[BUDGET]","[VERSALER_MED_UNDERSCORE]"];
    // Initial render with highlighted variables
    document.addEventListener('DOMContentLoaded', function() {
        renderPromptWithHighlights();
    });

    // Live update prompt as user types
    document.querySelectorAll('.customize-input').forEach(input => {
        input.addEventListener('input', renderPromptWithHighlights);
    });

    function renderPromptWithHighlights() {
        const promptContent = document.getElementById('premium-prompt-content');
        if (!promptContent) return;

        let updatedPrompt = originalPrompt;
        let filledVariables = {};

        // Collect filled values
        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                filledVariables[placeholder] = value;
            }
        });

        // Replace filled variables and highlight remaining
        let htmlContent = escapeHtml(updatedPrompt);

        variables.forEach(placeholder => {
            const escapedPlaceholder = escapeHtml(placeholder);
            const regex = new RegExp(escapeRegex(escapedPlaceholder), 'g');

            if (filledVariables[placeholder]) {
                // Show filled value with green highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable-filled">' + escapeHtml(filledVariables[placeholder]) + '</span>'
                );
            } else {
                // Show original placeholder with yellow highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable">' + escapedPlaceholder + '</span>'
                );
            }
        });

        promptContent.innerHTML = htmlContent;
    }

    function escapeRegex(string) {
        return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
    }

    function escapeHtml(text) {
        const div = document.createElement('div');
        div.textContent = text;
        return div.innerHTML;
    }

    function resetPrompt() {
        // Clear all input fields
        document.querySelectorAll('.customize-input').forEach(input => {
            input.value = '';
        });

        // Re-render with original placeholders highlighted
        renderPromptWithHighlights();

        // Visual feedback
        const resetBtns = document.querySelectorAll('.prompt-header-reset, .prompt-cta-reset');
        resetBtns.forEach(btn => {
            const originalText = btn.querySelector('span').textContent;
            btn.querySelector('span').textContent = 'Återställd!';
            setTimeout(() => {
                btn.querySelector('span').textContent = originalText;
            }, 1000);
        });
    }


    function getCustomizedPrompt() {
        let updatedPrompt = originalPrompt;

        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                const regex = new RegExp(escapeRegex(placeholder), 'g');
                updatedPrompt = updatedPrompt.replace(regex, value);
            }
        });

        return updatedPrompt;
    }
</script>

</div>

<div class="pro-tips-section">

<h2 class="wp-block-heading">Proffstips för bättre resultat från AI-prompten</h2>



<ul class="wp-block-list">

<li><strong>Ge den ett verkligt workflow, inte fem.</strong> Börja med att beskriva ett enda trackingfall (till exempel ”inbound logistics: containers → milestones → exceptions”) så att schema och statuspipeline blir sammanhängande. När du har första ritningen, fråga: ”Visa nu hur man lägger till en andra entity-typ (shipments) utan att duplicera tabeller.”</li>


<li><strong>Tvinga fram en tydlig multi-tenant-modell.</strong> Tala om för AI:n vilken tenant-gräns du vill ha (organization_id överallt, eller en delad tabell med tenant-scoping) och be den motivera avvägningarna. En bra följdfråga: ”Föreslå RLS-policyer för org_admin, org_member och read-only auditor; inkludera exempel på tillåtna och nekade queries.”</li>


<li><strong>Be om paginering och indexering tidigt.</strong> Skalningsproblem föds nästan alltid i första schemat. Begär detaljer som: ”Inkludera index för high-read-paths (senaste status, aktiva objekt, statushistorik) och rekommendera cursor-paginering för 10k+ objekt.”</li>


<li><strong>Iterera på statuspipeline-beteendet.</strong> Statuslogik blir snabbt rörig, särskilt när team vill ha ”egna steg”. Efter första svaret kan du fråga: ”Gör alternativ A strikt (endast en aktiv status åt gången) och alternativ B flexibelt (parallella statusar), och betygsätt båda utifrån spårbarhet och komplexitet i realtime-UI.”</li>


<li><strong>Lås UI-acceptanskriterierna.</strong> Prompten ber om minimal, tydlig ”shipping-status-tydlighet”, dark mode och smaragdaccent (#10b981). Gör det mätbart: ”Definiera UI-states för trackinglistan (loading, stale realtime, error, empty) och skriv acceptanskriterier för status timeline-komponenten.” Ärligt talat: det här steget förhindrar veckor av design-by-opinion.</li>

</ul>

</div>

<div class="related-prompts-section">

<h2 class="wp-block-heading">Relaterade prompter</h2>



<p>När du har tagit fram en byggbar plattformsspec hjälper de här prompterna dig att dokumentera beslut, få intressenter i linje och hålla leveransen i rörelse utan oändliga möten.</p>



<p>Om du även behöver omvandla arkitekturgranskningar till tydliga nästa steg passar <a href="https://nodenordic.se/prompts/motesuppfoljning-i-kortformat-med-ai-prompt">Mötesuppföljning i kortformat med ai-prompt</a> bra ihop med den här trackingplattform-prompten. Använd den direkt efter en genomgång av schema/RLS för att fånga beslut, tilldela ansvariga och förhindra ”vi kom aldrig överens om det” två veckor senare.</p>



<p>När din styrgrupp vill ha en strukturerad sammanfattning som ledningen faktiskt läser hjälper <a href="https://nodenordic.se/prompts/skriv-ett-sammanfattningsmejl-efter-ledningsmote">Skriv ett sammanfattningsmejl efter ledningsmöte</a> dig att översätta tekniska avvägningar (realtidsstrategi, tenant-modell, indexeringsplan) till klarspråk. Den är särskilt användbar efter att du kört den här prompten och behöver sign-off på scope och sekvensering.</p>



<p>För team som spelar in discovery-samtal eller implementation workshops gör <a href="https://nodenordic.se/prompts/gor-motestranskript-till-motesprotokoll-med-ai-prompt">Gör mötestranskript till mötesprotokoll med AI-prompt</a> ”inputs”-steget mindre smärtsamt. Mata tillbaka protokollet i plattformsdesignen så att antaganden, saknade inputs och alternativuppsättningar dokumenteras på ett ställe.</p>


<br>


<p>Snabbreferens:</p>



<ul class="wp-block-list">

<li><a href="https://nodenordic.se/prompts/motesuppfoljning-i-kortformat-med-ai-prompt">Mötesuppföljning i kortformat med ai-prompt</a>: Åtgärdspunkter, ansvariga och nästa steg.</li>


<li><a href="https://nodenordic.se/prompts/skriv-ett-sammanfattningsmejl-efter-ledningsmote">Skriv ett sammanfattningsmejl efter ledningsmöte</a>: Sammanfattning av beslut, anpassad för ledningen.</li>


<li><a href="https://nodenordic.se/prompts/gor-motestranskript-till-motesprotokoll-med-ai-prompt">Gör mötestranskript till mötesprotokoll med AI-prompt</a>: Strukturerat protokoll från röriga utskrifter.</li>


<li><a href="https://nodenordic.se/prompts/skriv-ett-investeraruppfoljningsmejl-efter-mote">Skriv ett investeraruppföljningsmejl efter möte</a>: Investeraruppdateringar med tydliga framsteg.</li>


<li><a href="https://nodenordic.se/prompts/skriv-ett-en-sidigt-foljebrev-for-bidrag-med-ai-prompt">Skriv ett en-sidigt följebrev för bidrag med AI-prompt</a>: Finansieringsnarrativ för plattformsbygget.</li>

</ul>

</div>

<div class="faq-section">

<h2 class="wp-block-heading">Vanliga frågor</h2>


<div class="faq-item">
<span class="question">Vilka roller har störst nytta av den här AI-prompten för trackingplattform?</span>

<p class="answer"><strong>Produktchefer</strong> använder den här för att omvandla ”vi behöver tracking” till en prioriterad, byggbar spec med tydliga moduler (admin-konfiguration, tracking-UI, realtid, analys). <strong>Utvecklingschefer</strong> använder den för att rimlighetskontrollera schemabeslut, skalningsantaganden (10k+ objekt) och Supabase RLS-upplägget innan arbetet startar. <strong>Lösningsarkitekter</strong> använder den när en konfigurerbar plattform måste stödja många workflows utan kundspecifik kod. <strong>Implementeringsansvariga</strong> använder den för att definiera hur icke-utvecklare säkert ska konfigurera entity-typer och statuspipelines.</p>

</div>

<div class="faq-item">
<span class="question">Vilka branscher får mest värde av den här AI-prompten för trackingplattform?</span>

<p class="answer"><strong>Logistik- och supply chain-team</strong> använder den för att modellera shipments, containrar, avvikelser och milstolpslinjer med realtidsmässig ”var är det nu”-tydlighet. <strong>Vårdverksamheter</strong> kan anpassa entity/status-upplägget till patientflöden, labbprocess-steg eller utrustningsspårning, samtidigt som man behåller strikt tenant- och rollseparering. <strong>Tillverknings- och fältservicegrupper</strong> får nytta när jobb rör sig genom konfigurerbara steg och arbetsledare behöver dashboards för live-progress utan manuell rapportering. <strong>Professionella tjänsteföretag</strong> använder den för att följa projekt, godkännanden och leveranser över flera kunder, där RLS säkerställer att en kund aldrig ser en annan kunds data.</p>

</div>

<div class="faq-item">
<span class="question">Varför ger grundläggande AI-prompter för att designa en trackingplattform svaga resultat?</span>

<p class="answer">En typisk prompt som ”<em>Write me a tracking platform spec for React and Supabase</em>” misslyckas eftersom den: saknar tydliga antaganden och hantering av saknade inputs, ger ingen strukturerad byggordning (schema → dataåtkomst → UI → realtid → analys → härdning), ignorerar tenant-isolering och design av RLS-policyer, producerar generiska UI-råd istället för komponentgränser och state-beteenden, och missar skala i praktiken kring paginering, indexering och realtidsuppdateringar med hög eventvolym. Den här prompten trycker på ”byggbara” artefakter, inte magkänsla.</p>

</div>

<div class="faq-item">
<span class="question">Kan jag anpassa den här trackingplattform-prompten för min specifika situation?</span>

<p class="answer">Ja, och det bör du, eftersom bäst resultat kommer av att skärpa de antaganden som prompten ber den att återge. Lägg till dina workflow-detaljer (entity-typer, obligatoriska fält, statussteg och vem som får ändra vad), din tenancy-modell (en org vs många orgs) och dina realtidsförväntningar (vilka skärmar som måste uppdateras direkt). Kör sedan en följdfråga: ”Skriv om schema- och RLS-avsnitten utifrån att vi behöver historik i revisionsklass och en read-only auditor-roll, och håll UI:t minimalt med dark mode och smaragdaccent #10b981.” Om du redan känner till dina prestandamål, ta med dem (peak samtidiga användare, dagliga events) så att val av indexering och paginering blir konkreta.</p>

</div>

<div class="faq-item">
<span class="question">Vilka är de vanligaste misstagen när man använder den här trackingplattform-prompten?</span>

<p class="answer">Det största misstaget är att ge en vag workflow-beskrivning—istället för ”spåra paket”, skriv ”spåra containrar med milstolpar (Booked, Departed, Arrived, Delivered) plus avvikelser (Held, Damaged) och ett obligatoriskt ETA-fält.” Ett annat vanligt fel är att hoppa över roller och behörigheter; ”användare kan redigera” bör bli ”org_admin kan konfigurera entity-typer, org_member kan uppdatera statusar, auditor är read-only inklusive historik.” Många glömmer också skaleinputs: ”många objekt” är svagt jämfört med ”10k aktiva objekt per tenant, 50 samtidiga användare, 200 statusevents/minut.” Slutligen under-specar team realtid: ange vilka vyer som prenumererar (lista, detalj, dashboards) och vad som händer vid avbrott (stale-badge, retry, last-updated-timestamp).</p>

</div>

<div class="faq-item">
<span class="question">Vem ska INTE använda den här AI-prompten för trackingplattform?</span>

<p class="answer">Den här prompten är inte optimal för engångsverktyg internt där du bara behöver en snabb CRUD-tabell och inte tänker investera i konfiguration, realtid eller analys. Den passar också dåligt om du inte är låst till den angivna stacken (React + TypeScript + Supabase), eftersom många rekommendationer utgår från Supabase realtid och RLS. Och om ert workflow ännu inte är förstått alls kan ni behöva en discovery-först-övning innan ett schema i produktionsklass. I så fall: fånga krav i en workshop och återvänd till den här prompten när kärn-entities och roller inte längre är gissningar.</p>

</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Vilka roller har störst nytta av den här AI-prompten för trackingplattform?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Produktchefer använder den här för att omvandla ”vi behöver tracking” till en prioriterad, byggbar spec med tydliga moduler (admin-konfiguration, tracking-UI, realtid, analys). Utvecklingschefer använder den för att rimlighetskontrollera schemabeslut, skalningsantaganden (10k+ objekt) och Supabase RLS-upplägget innan arbetet startar. Lösningsarkitekter använder den när en konfigurerbar plattform måste stödja många workflows utan kundspecifik kod. Implementeringsansvariga använder den för att definiera hur icke-utvecklare säkert ska konfigurera entity-typer och statuspipelines."
      }
    },
    {
      "@type": "Question",
      "name": "Vilka branscher får mest värde av den här AI-prompten för trackingplattform?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Logistik- och supply chain-team använder den för att modellera shipments, containrar, avvikelser och milstolpslinjer med realtidsmässig ”var är det nu”-tydlighet. Vårdverksamheter kan anpassa entity/status-upplägget till patientflöden, labbprocess-steg eller utrustningsspårning, samtidigt som man behåller strikt tenant- och rollseparering. Tillverknings- och fältservicegrupper får nytta när jobb rör sig genom konfigurerbara steg och arbetsledare behöver dashboards för live-progress utan manuell rapportering. Professionella tjänsteföretag använder den för att följa projekt, godkännanden och leveranser över flera kunder, där RLS säkerställer att en kund aldrig ser en annan kunds data."
      }
    },
    {
      "@type": "Question",
      "name": "Varför ger grundläggande AI-prompter för att designa en trackingplattform svaga resultat?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "En typisk prompt som ”Write me a tracking platform spec for React and Supabase” misslyckas eftersom den: saknar tydliga antaganden och hantering av saknade inputs, ger ingen strukturerad byggordning (schema → dataåtkomst → UI → realtid → analys → härdning), ignorerar tenant-isolering och design av RLS-policyer, producerar generiska UI-råd istället för komponentgränser och state-beteenden, och missar skala i praktiken kring paginering, indexering och realtidsuppdateringar med hög eventvolym. Den här prompten trycker på ”byggbara” artefakter, inte magkänsla."
      }
    },
    {
      "@type": "Question",
      "name": "Kan jag anpassa den här trackingplattform-prompten för min specifika situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ja, och det bör du, eftersom bäst resultat kommer av att skärpa de antaganden som prompten ber den att återge. Lägg till dina workflow-detaljer (entity-typer, obligatoriska fält, statussteg och vem som får ändra vad), din tenancy-modell (en org vs många orgs) och dina realtidsförväntningar (vilka skärmar som måste uppdateras direkt). Kör sedan en följdfråga: ”Skriv om schema- och RLS-avsnitten utifrån att vi behöver historik i revisionsklass och en read-only auditor-roll, och håll UI:t minimalt med dark mode och smaragdaccent #10b981.” Om du redan känner till dina prestandamål, ta med dem (peak samtidiga användare, dagliga events) så att val av indexering och paginering blir konkreta."
      }
    },
    {
      "@type": "Question",
      "name": "Vilka är de vanligaste misstagen när man använder den här trackingplattform-prompten?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Det största misstaget är att ge en vag workflow-beskrivning—istället för ”spåra paket”, skriv ”spåra containrar med milstolpar (Booked, Departed, Arrived, Delivered) plus avvikelser (Held, Damaged) och ett obligatoriskt ETA-fält.” Ett annat vanligt fel är att hoppa över roller och behörigheter; ”användare kan redigera” bör bli ”org_admin kan konfigurera entity-typer, org_member kan uppdatera statusar, auditor är read-only inklusive historik.” Många glömmer också skaleinputs: ”många objekt” är svagt jämfört med ”10k aktiva objekt per tenant, 50 samtidiga användare, 200 statusevents/minut.” Slutligen under-specar team realtid: ange vilka vyer som prenumererar (lista, detalj, dashboards) och vad som händer vid avbrott (stale-badge, retry, last-updated-timestamp)."
      }
    },
    {
      "@type": "Question",
      "name": "Vem ska INTE använda den här AI-prompten för trackingplattform?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Den här prompten är inte optimal för engångsverktyg internt där du bara behöver en snabb CRUD-tabell och inte tänker investera i konfiguration, realtid eller analys. Den passar också dåligt om du inte är låst till den angivna stacken (React + TypeScript + Supabase), eftersom många rekommendationer utgår från Supabase realtid och RLS. Och om ert workflow ännu inte är förstått alls kan ni behöva en discovery-först-övning innan ett schema i produktionsklass. I så fall: fånga krav i en workshop och återvänd till den här prompten när kärn-entities och roller inte längre är gissningar."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">

<p>Konfigurerbara trackingplattformar misslyckas inte för att team inte kan koda; de misslyckas för att specen aldrig blir ”byggbar”. Klistra in den här prompten i ditt AI-verktyg, svara ärligt på de saknade inputs, och gå in i nästa sprintplanering med en ritning istället för en magkänsla.</p>

</div><p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/bygg-en-konfigurerbar-sparningsplattform/">Bygg en konfigurerbar spårningsplattform</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
