> ## Documentation Index
> Fetch the complete documentation index at: https://learn.actionist.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Troubleshooting common reseller issues

> A symptom index for the reseller surface. What each message means, what to check first, and whether it is yours, the client's, or one for Actionist Support.

<div className="mxp-hero xc-border">
  <div className="exp-eyebrow mxp-rise">SYMPTOM INDEX</div>

  <h2 className="mxp-hero-title mxp-rise" style={{animationDelay:'0.06s'}}>
    You have the exact message on screen. <span style={{background:'linear-gradient(90deg,#24A4FF,#9000FF,#E3008E)',WebkitBackgroundClip:'text',backgroundClip:'text',color:'transparent'}}>Here is what it means.</span>
  </h2>

  <p className="mxp-hero-dek mxp-rise" style={{animationDelay:'0.13s'}}>
    This page is a lookup table, not a tutorial. Find the string, read what it means, and check who owns the fix, you, the client, or Actionist Support.
  </p>
</div>

<div className="w-full py-10">
  <div className="actionist-tight flex flex-col gap-2 mb-6">
    <span className="actionist-section-eyebrow">Read this first</span>
    <h2 className="text-2xl md:text-3xl font-semibold tracking-tight text-gray-900 dark:text-gray-50">How to use this page.</h2>

    <p className="text-base text-gray-600 dark:text-gray-400 max-w-3xl">
      Find the exact string you are looking at, read what it means, and check the chip on the right. Every row below carries one of three chips telling you who actually resolves it.
    </p>
  </div>

  <div className="exp-surface-grid" style={{marginTop:'4px'}}>
    <div className="exp-surface-tile">
      <span className="xrs-who you" style={{marginRight:8}}>You</span>
      Something on your side of the reseller surface: a form field, a filter, a retry button, a setting you can change yourself.
    </div>

    <div className="exp-surface-tile">
      <span className="xrs-who client" style={{marginRight:8}}>Client</span>
      Only the client can grant it, connect it, or enable it, from inside their own workspace.
    </div>

    <div className="exp-surface-tile">
      <span className="xrs-who support" style={{marginRight:8}}>Support</span>
      Nothing in the interface moves this further, for either of you. Email <strong>[partners@actionist.ai](mailto:partners@actionist.ai)</strong>.
    </div>
  </div>

  <Tip>
    Standing advice before you escalate anything: retry once, or reload the page once. A surprising number of these clear on the second attempt. If the same message is still there after that, do what the chip says.
  </Tip>
</div>

<hr className="xc-divider" />

<div className="w-full py-10 xc-rise">
  <div className="actionist-tight flex flex-col gap-2 mb-6">
    <span className="actionist-section-eyebrow">Getting certified</span>
    <h2 className="text-2xl md:text-3xl font-semibold tracking-tight text-gray-900 dark:text-gray-50">Registration and certification.</h2>

    <p className="text-base text-gray-600 dark:text-gray-400 max-w-3xl">
      Messages from the application form, the Certification Hub, and the phase gate that decides whether your Master Dashboard is unlocked yet. See [Getting started](/resellers/getting-started).
    </p>
  </div>

  <div className="xrs-sym">
    <div className="xrs-sym-row">
      <div className="xrs-sym-q">"First name is required." (and the same message for last name, company name, business email, website, and country)</div>
      <div className="xrs-sym-a">One of the six registration fields was empty when you clicked **Submit application**. Field errors only appear after that first click, so submitting once is the way to reveal what is missing. Fill in the flagged field and submit again.</div>
      <span className="xrs-who you">You</span>
    </div>

    <div className="xrs-sym-row">
      <div className="xrs-sym-q">"Enter a valid email" / "Enter a valid URL"</div>
      <div className="xrs-sym-a">Format checks that run as you type in the business email and website fields. Correct the format and the message clears on its own.</div>
      <span className="xrs-who you">You</span>
    </div>

    <div className="xrs-sym-row">
      <div className="xrs-sym-q">"Your account has no email on file. Enter a business email here, or add one to your account first."</div>
      <div className="xrs-sym-a">Business email is normally read-only and pre-filled from your account. This copy appears instead when your account has no email on record, and the field becomes editable so you can type one in directly.</div>
      <span className="xrs-who you">You</span>
    </div>

    <div className="xrs-sym-row">
      <div className="xrs-sym-q">A raw, technical-looking validation message under your own error</div>
      <div className="xrs-sym-a">The backend is rejecting something the form itself did not flag. Retry with the field you think it means corrected. If the message is unreadable or does not point at anything on the form, send it to Support exactly as shown.</div>
      <span className="xrs-who support">Support</span>
    </div>

    <div className="xrs-sym-row">
      <div className="xrs-sym-q">"Launch quiz" or "Retake quiz" greyed out, with no explanation shown</div>
      <div className="xrs-sym-a">The backend has decided you cannot start or retake right now, and nothing in the interface says why. Wait a few minutes and check the Certification Hub again. If the button stays disabled, this is a Support case.</div>
      <span className="xrs-who support">Support</span>
    </div>

    <div className="xrs-sym-row">
      <div className="xrs-sym-q">"Reseller access paused" / "Your reseller profile is currently disabled or revoked. Contact support if you believe this is in error."</div>
      <div className="xrs-sym-a">Your profile status is `disabled` or `revoked`. There is no self-service path back from this state.</div>
      <span className="xrs-who support">Support</span>
    </div>

    <div className="xrs-sym-row">
      <div className="xrs-sym-q">"Could not load reseller profile" / "Check your connection and try again."</div>
      <div className="xrs-sym-a">The profile fetch failed. Click the retry action first. If it keeps failing, send Support roughly when it happened.</div>
      <span className="xrs-who support">Support</span>
    </div>

    <div className="xrs-sym-row">
      <div className="xrs-sym-q">Locked padlocks on Overview, Clients, and Revenue, tooltip "Unlocks after you pass the certification quiz"</div>
      <div className="xrs-sym-a">Expected behavior before certification, not a fault. The Master Dashboard group stays locked until you pass the quiz.</div>
      <span className="xrs-who you">You</span>
    </div>
  </div>
</div>

<div className="w-full py-10 xc-rise">
  <div className="actionist-tight flex flex-col gap-2 mb-6">
    <span className="actionist-section-eyebrow">Bringing clients in</span>
    <h2 className="text-2xl md:text-3xl font-semibold tracking-tight text-gray-900 dark:text-gray-50">Invitations.</h2>

    <p className="text-base text-gray-600 dark:text-gray-400 max-w-3xl">
      Everything the "Invite a client to Actionist" modal can show you, from a bad email address to a status stuck mid-flight.
    </p>
  </div>

  <div className="xrs-sym">
    <div className="xrs-sym-row">
      <div className="xrs-sym-q">"This email already has an Actionist account and cannot be invited through reseller signup."</div>
      <div className="xrs-sym-a">There is no self-service way to attach an existing account to your reseller ID. Send Support the client's email and ask them to link it.</div>
      <span className="xrs-who support">Support</span>
    </div>

    <div className="xrs-sym-row">
      <div className="xrs-sym-q">"A pending invitation already exists for this email."</div>
      <div className="xrs-sym-a">You already sent this client a link. Ask them to check spam, or wait for the existing invitation to expire before sending another.</div>
      <span className="xrs-who you">You</span>
    </div>

    <div className="xrs-sym-row">
      <div className="xrs-sym-q">"Enter a valid email address."</div>
      <div className="xrs-sym-a">A format check on the **Client email** field. Fix the address and send again.</div>
      <span className="xrs-who you">You</span>
    </div>

    <div className="xrs-sym-row">
      <div className="xrs-sym-q">"Invitation limit reached. Try again in a few minutes."</div>
      <div className="xrs-sym-a">A rate limit, not a block. Wait a few minutes, then send the invite again.</div>
      <span className="xrs-who you">You</span>
    </div>

    <div className="xrs-sym-row">
      <div className="xrs-sym-q">"Your reseller account isn't certified yet, or this feature is disabled."</div>
      <div className="xrs-sym-a">Check your status pill in the sub-navigation. If it already reads **Certified reseller** and you still see this, it is a Support case.</div>
      <span className="xrs-who support">Support</span>
    </div>

    <div className="xrs-sym-row">
      <div className="xrs-sym-q">An invitation stuck at "Accepted — awaiting org" for a long time, or showing "Failed"</div>
      <div className="xrs-sym-a">No further detail is surfaced in the interface for either state. Send Support the client's email and the status you see.</div>
      <span className="xrs-who support">Support</span>
    </div>
  </div>
</div>

<hr className="xc-divider" />

<div className="w-full py-10 xc-rise">
  <div className="actionist-tight flex flex-col gap-2 mb-6">
    <span className="actionist-section-eyebrow">Master Dashboard</span>
    <h2 className="text-2xl md:text-3xl font-semibold tracking-tight text-gray-900 dark:text-gray-50">Clients list.</h2>

    <p className="text-base text-gray-600 dark:text-gray-400 max-w-3xl">
      Read the second row below carefully. It looks identical to a genuine empty state but is not, and that distinction is the single most useful thing on this page. See [Managing clients](/resellers/clients).
    </p>
  </div>

  <div className="xrs-sym">
    <div className="xrs-sym-row">
      <div className="xrs-sym-q">"No clients yet."</div>
      <div className="xrs-sym-a">This exact text shows both for a genuinely empty client list and for a failed fetch. There is no separate error state. Reload the page first. If you know clients exist and this persists, it is a Support case.</div>
      <span className="xrs-who support">Support</span>
    </div>

    <div className="xrs-sym-row">
      <div className="xrs-sym-q">"View as client" greyed out</div>
      <div className="xrs-sym-a">Hover the button for the reason. Most often the client's workspace is still finishing setup, an **Active** client can still be unmanageable while that runs. Wait and check again, and escalate if it persists.</div>
      <span className="xrs-who support">Support</span>
    </div>

    <div className="xrs-sym-row">
      <div className="xrs-sym-q">"Managing this client isn't available right now"</div>
      <div className="xrs-sym-a">The fallback tooltip the interface shows when the backend has no specific reason to give. Wait and retry. If it never clears for one client, send Support that client's name.</div>
      <span className="xrs-who support">Support</span>
    </div>

    <div className="xrs-sym-row">
      <div className="xrs-sym-q">"Client manager is currently unavailable. Please try again."</div>
      <div className="xrs-sym-a">A toast that fires when session creation fails. Retry once, this is usually momentary.</div>
      <span className="xrs-who you">You</span>
    </div>

    <div className="xrs-sym-row">
      <div className="xrs-sym-q">Revenue contribution showing "Pending"</div>
      <div className="xrs-sym-a">The backend has not finished computing that client's contribution yet. Hover the cell for the reason if one is given. Nothing to fix, this clears on its own.</div>
      <span className="xrs-who you">You</span>
    </div>

    <div className="xrs-sym-row">
      <div className="xrs-sym-q">The keyboard-shortcut chip next to search does nothing when clicked</div>
      <div className="xrs-sym-a">It is decorative. No handler is wired to it anywhere in the interface. Not a bug, just search normally.</div>
      <span className="xrs-who you">You</span>
    </div>

    <div className="xrs-sym-row">
      <div className="xrs-sym-q">"Type at least 3 characters to search"</div>
      <div className="xrs-sym-a">Search will not fire below three characters, and matching happens server-side above that. Type one more character.</div>
      <span className="xrs-who you">You</span>
    </div>

    <div className="xrs-sym-row">
      <div className="xrs-sym-q">A client appearing under the **Historical** filter</div>
      <div className="xrs-sym-a">The relationship is canceled, or was force-disconnected by an Actionist admin. Force-disconnection is not something either of you can trigger or reverse yourselves, so this is a Support case if you did not expect it.</div>
      <span className="xrs-who support">Support</span>
    </div>
  </div>
</div>

<div className="w-full py-10 xc-rise">
  <div className="actionist-tight flex flex-col gap-2 mb-6">
    <span className="actionist-section-eyebrow">Inside a client's workspace</span>
    <h2 className="text-2xl md:text-3xl font-semibold tracking-tight text-gray-900 dark:text-gray-50">Delegated sessions.</h2>

    <p className="text-base text-gray-600 dark:text-gray-400 max-w-3xl">
      What happens when a "View as client" session ends, locks a panel, or refuses an agent a tool. See [View as client](/resellers/view-as-client) for the full mechanism.
    </p>
  </div>

  <div className="xrs-sym">
    <div className="xrs-sym-row">
      <div className="xrs-sym-q">Suddenly back on your own reseller dashboard, with no message</div>
      <div className="xrs-sym-a">Your session expired or was revoked. The teardown is deliberately silent, there is no toast or banner warning you first. Start a new session and carry on.</div>
      <span className="xrs-who you">You</span>
    </div>

    <div className="xrs-sym-row">
      <div className="xrs-sym-q">"Access restricted" / "The client hasn't granted access to {'{'}permission{'}'} in this delegated session."</div>
      <div className="xrs-sym-a">One area is locked, the session itself is fine. Click **Refresh permissions** in the banner in case the client just granted it. If it is still locked, ask the client to enable that toggle.</div>
      <span className="xrs-who client">Client</span>
    </div>

    <div className="xrs-sym-row">
      <div className="xrs-sym-q">"This page is not available while viewing a client workspace."</div>
      <div className="xrs-sym-a">You have landed on **Reseller** or **Projects**. No permission unlocks either area from inside a delegated session, that is by design, not a missing grant. Exit the session to reach them from your own dashboard.</div>
      <span className="xrs-who you">You</span>
    </div>

    <div className="xrs-sym-row">
      <div className="xrs-sym-q">The **Refresh permissions** button spins but never confirms</div>
      <div className="xrs-sym-a">It fails silently by design and the banner just stays as it was. Click it again. If it never confirms, send Support the client's name and roughly when it happened.</div>
      <span className="xrs-who support">Support</span>
    </div>

    <div className="xrs-sym-row">
      <div className="xrs-sym-q">Home loads but the message composer is disabled, hint "View-only access", tooltip "Agent execution wasn't granted in this view-only session."</div>
      <div className="xrs-sym-a">You have **Chat History** but not **Prompts and Instructions**. Opening an agent chat to actually work in it needs both. Ask the client to grant the second one.</div>
      <span className="xrs-who client">Client</span>
    </div>

    <div className="xrs-sym-row">
      <div className="xrs-sym-q">"Ask the client to grant access to chat history so you can view this."</div>
      <div className="xrs-sym-a">The reverse gap: you have prompts and instructions but not chat history. Ask the client for that toggle.</div>
      <span className="xrs-who client">Client</span>
    </div>

    <div className="xrs-sym-row">
      <div className="xrs-sym-q">An agent replying "Permission denied: reseller delegated session does not include {'{'}permission{'}'} access."</div>
      <div className="xrs-sym-a">The agent's own tools are filtered by the same scopes as the interface. If you see this mid-conversation, the fix is a permission the client needs to grant, not a different prompt.</div>
      <span className="xrs-who client">Client</span>
    </div>
  </div>
</div>

<hr className="xc-divider" />

<div className="w-full py-10 xc-rise">
  <div className="actionist-tight flex flex-col gap-2 mb-6">
    <span className="actionist-section-eyebrow">The hardest boundary</span>
    <h2 className="text-2xl md:text-3xl font-semibold tracking-tight text-gray-900 dark:text-gray-50">Apps and connections.</h2>

    <p className="text-base text-gray-600 dark:text-gray-400 max-w-3xl">
      Every control here that touches a credential or an authorization is locked for the entire duration of any delegated session. No permission changes that. See [Apps, tools and integrations](/resellers/apps).
    </p>
  </div>

  <div className="xrs-sym">
    <div className="xrs-sym-row">
      <div className="xrs-sym-q">"Client action required" / "This app requires the client's credentials or authorization to complete installation. Ask the client to install or connect this app directly."</div>
      <div className="xrs-sym-a">Every connect, reconnect, install, and disconnect control shows this in a delegated session, regardless of which permissions the client granted. Always ask the client to do it themselves, from their own account.</div>
      <span className="xrs-who client">Client</span>
    </div>

    <div className="xrs-sym-row">
      <div className="xrs-sym-q">The Credentials Vault panel is missing entirely from Settings</div>
      <div className="xrs-sym-a">Expected. The panel does not render at all during a delegated session, it is absent rather than disabled. See [Credentials and API keys](/resellers/credentials).</div>
      <span className="xrs-who you">You</span>
    </div>

    <div className="xrs-sym-row">
      <div className="xrs-sym-q">Connection health badges: "Missing permissions", "Reconnect needed", "API key needs attention", "Not connected"</div>
      <div className="xrs-sym-a">All four describe a state only the client can fix, since fixing any of them means touching a credential or an authorization grant. Pass the badge text along to the client.</div>
      <span className="xrs-who client">Client</span>
    </div>

    <div className="xrs-sym-row">
      <div className="xrs-sym-q">An app showing "Coming soon"</div>
      <div className="xrs-sym-a">No connection method works for that app on this deployment yet. There is nothing to configure around it in the app today. If a client needs it, send Support the app name.</div>
      <span className="xrs-who support">Support</span>
    </div>
  </div>
</div>

<div className="w-full py-10 xc-rise">
  <div className="actionist-tight flex flex-col gap-2 mb-6">
    <span className="actionist-section-eyebrow">Automation</span>
    <h2 className="text-2xl md:text-3xl font-semibold tracking-tight text-gray-900 dark:text-gray-50">Schedules and runs.</h2>

    <p className="text-base text-gray-600 dark:text-gray-400 max-w-3xl">
      A schedule that looks fine but never actually fires is almost always one of a few things, checked in order.
    </p>
  </div>

  <div className="xrs-sym">
    <div className="xrs-sym-row">
      <div className="xrs-sym-q">A schedule that never fires</div>
      <div className="xrs-sym-a">First, confirm it is enabled. Second, check **Agent Studio → Runs** for a row, no row means it never fired at all. Third, check where the agent runs, one on someone's own machine stops the moment that machine sleeps. Fourth, check the time zone, a schedule fires in the zone it was stored in, not the one you are reading it from.</div>
      <span className="xrs-who you">You</span>
    </div>

    <div className="xrs-sym-row">
      <div className="xrs-sym-q">"Run now" disabled, hint "Enable this schedule to run it manually"</div>
      <div className="xrs-sym-a">You cannot trigger a disabled schedule by hand either. Enable it first.</div>
      <span className="xrs-who you">You</span>
    </div>

    <div className="xrs-sym-row">
      <div className="xrs-sym-q">"Could not start this scheduled run"</div>
      <div className="xrs-sym-a">Retry once. If it keeps failing for the same schedule, send Support the schedule name and the time you tried.</div>
      <span className="xrs-who support">Support</span>
    </div>
  </div>
</div>

<hr className="xc-divider" />

<div className="w-full py-10 xc-rise">
  <div className="actionist-tight flex flex-col gap-2 mb-6">
    <span className="actionist-section-eyebrow">Getting paid</span>
    <h2 className="text-2xl md:text-3xl font-semibold tracking-tight text-gray-900 dark:text-gray-50">Revenue and payouts.</h2>

    <p className="text-base text-gray-600 dark:text-gray-400 max-w-3xl">
      Load failures, wallet validation, and the one ledger status with no self-service fix at all. See [Revenue and payouts](/resellers/revenue).
    </p>
  </div>

  <div className="xrs-sym">
    <div className="xrs-sym-row">
      <div className="xrs-sym-q">"Could not load revenue totals." / "Could not load your payout method." / "Could not load the transaction ledger."</div>
      <div className="xrs-sym-a">Each has its own **Retry** button on the tile. Click it. If the same tile keeps failing to load, send Support which tile and roughly when.</div>
      <span className="xrs-who support">Support</span>
    </div>

    <div className="xrs-sym-row">
      <div className="xrs-sym-q">"No transactions yet."</div>
      <div className="xrs-sym-a">Genuinely empty, unlike the Clients list above. Nothing to fix, you have no ledger rows yet.</div>
      <span className="xrs-who you">You</span>
    </div>

    <div className="xrs-sym-row">
      <div className="xrs-sym-q">"Payout details are temporarily unavailable. {'{'}reason{'}'}"</div>
      <div className="xrs-sym-a">Read whatever reason is given, it is usually specific. If the reason is empty and the message does not clear on its own, send Support the exact text.</div>
      <span className="xrs-who support">Support</span>
    </div>

    <div className="xrs-sym-row">
      <div className="xrs-sym-q">"Payouts disabled by support."</div>
      <div className="xrs-sym-a">Your payout profile has been disabled on the backend. There is no toggle for this anywhere in the interface.</div>
      <span className="xrs-who support">Support</span>
    </div>

    <div className="xrs-sym-row">
      <div className="xrs-sym-q">"Pending (not payable)" on a ledger row</div>
      <div className="xrs-sym-a">A blocked commission. No reason is surfaced in the interface and there is no self-service fix, even though the backend records one internally. Send Support the row's client and month.</div>
      <span className="xrs-who support">Support</span>
    </div>

    <div className="xrs-sym-row">
      <div className="xrs-sym-q">The Pending or Paid filter count looking wrong against the full ledger</div>
      <div className="xrs-sym-a">The ledger filter is client-side and only counts the rows currently loaded on the page, not your true total. Not a bug, just a scoping detail worth knowing.</div>
      <span className="xrs-who you">You</span>
    </div>

    <div className="xrs-sym-row">
      <div className="xrs-sym-q">"That doesn't look like a valid Base address. Expected 0x followed by 40 hex characters."</div>
      <div className="xrs-sym-a">The pasted address does not match the expected format for USDC on Base. Check you copied the full 42-character address.</div>
      <span className="xrs-who you">You</span>
    </div>

    <div className="xrs-sym-row">
      <div className="xrs-sym-q">"Addresses do not match."</div>
      <div className="xrs-sym-a">The confirmation step compares your retyped address character-by-character against the first entry. Re-paste carefully.</div>
      <span className="xrs-who you">You</span>
    </div>

    <div className="xrs-sym-row">
      <div className="xrs-sym-q">The **Save wallet address** button staying disabled</div>
      <div className="xrs-sym-a">All three acknowledgement checkboxes need to be ticked, the address format needs to be valid, and both address fields need to match, all at once. Check each condition in turn.</div>
      <span className="xrs-who you">You</span>
    </div>

    <div className="xrs-sym-row">
      <div className="xrs-sym-q">The confirm step giving no feedback beyond a disabled button</div>
      <div className="xrs-sym-a">Retype the pending address exactly as shown. The button enables once the two match character-for-character.</div>
      <span className="xrs-who you">You</span>
    </div>
  </div>
</div>

<hr className="xc-divider" />

<div className="w-full py-10 xc-rise">
  <div className="actionist-tight flex flex-col gap-2 mb-6">
    <span className="actionist-section-eyebrow">Skip straight here if you recognize one of these</span>
    <h2 className="text-2xl md:text-3xl font-semibold tracking-tight text-gray-900 dark:text-gray-50">When it is definitely Actionist Support.</h2>

    <p className="text-base text-gray-600 dark:text-gray-400 max-w-3xl">
      Seven situations where nothing in the reseller interface, and nothing the client can do either, moves things further. Email <strong>[partners@actionist.ai](mailto:partners@actionist.ai)</strong> directly rather than retrying again.
    </p>
  </div>

  <div className="exp-surface-grid" style={{marginTop:'4px'}}>
    <div className="exp-surface-tile"><strong>A paused or revoked reseller profile.</strong> "Reseller access paused", no self-service reinstatement exists.</div>
    <div className="exp-surface-tile"><strong>A blocked commission.</strong> "Pending (not payable)" with no reason shown in the interface.</div>
    <div className="exp-surface-tile"><strong>Payouts disabled by support.</strong> No toggle anywhere turns this back on.</div>
    <div className="exp-surface-tile"><strong>A stuck certification retake.</strong> "Launch quiz" or "Retake quiz" that stays greyed out after waiting.</div>
    <div className="exp-surface-tile"><strong>A force-disconnected relationship.</strong> A client sitting in the Historical filter that you did not expect there.</div>
    <div className="exp-surface-tile"><strong>An existing account that needs attaching.</strong> "This email already has an Actionist account", there is no in-app path to link it to your reseller ID.</div>
    <div className="exp-surface-tile"><strong>Any generic error that survives one retry.</strong> If reloading or retrying once does not clear it, stop retrying and escalate instead.</div>
  </div>

  <div className="w-full" style={{marginTop:'24px'}}>
    <p className="text-base text-gray-600 dark:text-gray-400 max-w-3xl">Include with every request:</p>

    * The exact message text, copied rather than paraphrased.
    * The client's name or email, if the issue is about one specific client.
    * Roughly when it happened.
    * What you already tried, so Support does not repeat it (retry, reload, wait).
  </div>
</div>

<div className="w-full py-10 xc-rise">
  <div className="actionist-tight flex flex-col gap-2 mb-6">
    <span className="actionist-section-eyebrow">The honest part</span>
    <h2 className="text-2xl md:text-3xl font-semibold tracking-tight text-gray-900 dark:text-gray-50">Generic messages, and why they are hard.</h2>

    <p className="text-base text-gray-600 dark:text-gray-400 max-w-3xl">
      A handful of messages recur across the reseller surface precisely because the interface has no more specific thing to tell you. They are not bugs in the sense that something is broken, they are the honest shape of "the backend could not classify this."
    </p>
  </div>

  <div className="xrs-sym">
    <div className="xrs-sym-row">
      <div className="xrs-sym-q">"Something went wrong."</div>
      <div className="xrs-sym-a">Appears on registration, invitations, and wallet operations whenever an error cannot be classified into anything more specific. Retry once, then send Support the exact screen you were on.</div>
      <span className="xrs-who support">Support</span>
    </div>

    <div className="xrs-sym-row">
      <div className="xrs-sym-q">"Managing this client isn't available right now"</div>
      <div className="xrs-sym-a">The no-reason fallback for a disabled **View as client** button. The backend has a specific reason internally, it just is not always sent to the interface.</div>
      <span className="xrs-who support">Support</span>
    </div>

    <div className="xrs-sym-row">
      <div className="xrs-sym-q">"No clients yet."</div>
      <div className="xrs-sym-a">Conflates a genuinely empty list with a failed fetch. Covered above, worth repeating here because it is the clearest example of the pattern.</div>
      <span className="xrs-who you">You</span>
    </div>

    <div className="xrs-sym-row">
      <div className="xrs-sym-q">"This page is not available while viewing a client workspace."</div>
      <div className="xrs-sym-a">Never tells you which permission would help, because none would. Reseller and Projects are locked structurally, not by a missing grant.</div>
      <span className="xrs-who you">You</span>
    </div>
  </div>

  <Note>
    None of these four are worth escalating on their own. They only become a Support case when the underlying action, loading a dashboard, starting a session, sending an invite, keeps failing after you retry.
  </Note>
</div>

<hr className="xc-divider" />

<div className="w-full py-10">
  <div className="actionist-cta-panel xc-border">
    <div className="relative z-10 flex flex-col items-center gap-5 max-w-2xl mx-auto">
      <span className="actionist-eyebrow">Still stuck</span>

      <h2 className="text-2xl md:text-3xl font-semibold tracking-tight text-white leading-tight">
        Send the exact message, not a description of it.
      </h2>

      <p className="text-base md:text-lg text-white/85">
        The string on screen is usually enough for Support to know exactly where you are. Copy it, don't paraphrase it.
      </p>

      <div className="flex flex-wrap items-center justify-center gap-3 pt-2">
        <a className="actionist-cta-btn-primary" href="https://app.actionist.ai" target="_blank" rel="noreferrer">
          Open the Dashboard

          <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.2" strokeLinecap="round" strokeLinejoin="round">
            <path d="M5 12h14" />

            <path d="m12 5 7 7-7 7" />
          </svg>
        </a>

        <a className="actionist-cta-btn-secondary" href="https://actionist.ai/partners/" target="_blank" rel="noreferrer">
          Signup as a Partner
        </a>
      </div>
    </div>
  </div>
</div>

<div className="w-full pt-2 pb-6">
  <p className="actionist-trust-line">
    Every entry here is verified against the live product, not the marketing copy.<br />
    Copy the exact string · check the chip · escalate once, not repeatedly.
  </p>
</div>

<div className="w-full pb-16 xc-rise">
  <div className="actionist-tight flex flex-col gap-2 mb-6">
    <span className="actionist-section-eyebrow">Keep going</span>
    <h2 className="text-2xl md:text-3xl font-semibold tracking-tight text-gray-900 dark:text-gray-50">Next steps.</h2>
  </div>

  <Columns cols={4}>
    <Card title="Frequently asked questions" icon="circle-question-mark" href="/resellers/faq">
      Shorter answers to the questions that come up before anything has gone wrong.
    </Card>

    <Card title="View as client" icon="log-in" href="/resellers/view-as-client">
      The full mechanism behind delegated sessions, banners, scopes, and exits.
    </Card>

    <Card title="Revenue and payouts" icon="wallet" href="/resellers/revenue">
      Commission, the ledger, and how to set up a payout wallet correctly the first time.
    </Card>

    <Card title="Actionist Support" icon="life-buoy" href="/Folders/support">
      Where to go when a reader here points you past the reseller surface entirely.
    </Card>
  </Columns>
</div>
