# Admin Source: https://docs.parallellabs.app/account/admin Platform-wide administration: usage, costs, users, companies, and feature flags. The **Admin** area is for operating the platform itself rather than working inside one company. It sits at the bottom of the sidebar and covers every company and user on the instance. > **Super users only.** Admin is visible only to super users, and the page itself refuses to render for anyone else. Super user status is set directly in the database — there is deliberately no way to grant or revoke it through the interface. Unlike everything else in the sidebar, Admin is not scoped to a company. ## Sections | Section | What it covers | | ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Analytics** | Platform usage — companies, users, logins, and breakdowns by feature, model, and method, with credits, errors, average duration, and last-month comparisons | | **Costs** | Cost breakdowns by company, organization, user, feature, and model, including input and output token detail | | **Users** | Every user, with subscription, credits, limits, created date, and last login; display name, data credits, credit limit, and company limit are editable | | **Companies** | Every company, with owner, members, and credits; edit the name, credit limit, and whether MFA is required, and manage members | | **Terminations** | Companies scheduled for termination, with reason, scheduled date, days until cutoff, and status — and the option to cancel one | | **Audiences** | Saved audiences across companies, with refresh interval, last refresh, and notification settings, plus a manual refresh | | **Pixels** | Tracking pixels, with their website, company, list, tags, and status | | **Mailbox Orders** | Mailbox provisioning orders, with domains, mailbox counts, totals, and status; orders can be cancelled | | **Notifications** | Platform notifications — announcements, maintenance notices, new feature notes, info, and errors — filterable by type and scope | | **Feature Flags** | Feature availability, enabled for everyone or targeted at specific companies or users | **Analytics** is the default view. ## Common Tasks **Adjusting a user's limits.** Open **Users**, find the user, and edit their data credits, credit limit, or company limit directly in the row. **Investigating cost.** **Costs** breaks spend down by company, user, feature, and model — the fastest way to find what's driving an unexpected bill. **Rolling out a feature gradually.** In **Feature Flags**, target specific companies or users first, then enable for everyone once it holds up. **Stopping a scheduled deletion.** **Terminations** lists companies heading for cutoff, with the days remaining and a cancel action. ## Cautions 1. **Changes here affect real customers immediately.** There's no staging copy of this data. 2. **Credit and limit edits take effect at once**, including mid-billing-period. 3. **Feature flags are the safer lever.** Prefer targeting a few accounts over enabling something for everyone. 4. **Terminations are time-sensitive.** Once past cutoff, cancelling is no longer the remedy. ## Next Steps * [Manage a single company](/account/companies) * [Manage team access](/settings/collaborators) # Companies Source: https://docs.parallellabs.app/account/companies Create, switch between, and manage the companies that hold your work. Companies (also called organizations) are your workspaces in the platform. Each company has its own AI employees, knowledge base, campaigns, and settings. You might create separate companies for different businesses, clients, or departments. ## Creating Your First Company 1. Click **Companies** in the sidebar (or you'll be prompted when you first log in) 2. Click the **Create Company** button 3. Enter your company name 4. (Optional) Upload a company logo 5. Click **Create** That's it! You now have a workspace ready to use. ## Switching Between Companies If you have multiple companies: 1. Click the company name dropdown at the top of the sidebar 2. Select the company you want to work in 3. The page will refresh with that company's data **Tip:** You can also access all your companies by clicking **Companies** in the sidebar menu. ## Editing a Company To change a company's name or logo: 1. Go to **Companies** in the sidebar 2. Find the company you want to edit 3. Click the **three-dot menu** (⋮) on the right side of that row 4. Select **Edit** 5. Make your changes 6. Click **Save** ## Reordering Your Companies Want to change the order companies appear in your dropdown? You can drag and drop them: 1. Go to **Companies** in the sidebar 2. Hover over a company row - you'll see a drag handle on the left 3. Click and drag the company to your preferred position 4. Release to drop it in place The new order is saved automatically. ## Deleting a Company **Warning:** Deleting a company permanently removes all its data, including AI employees, documents, sequences, and conversations. This cannot be undone. To delete a company: 1. Go to **Companies** in the sidebar 2. Click the **three-dot menu** (⋮) next to the company 3. Select **Delete** 4. Confirm by clicking **Delete** in the popup ## Company Limits Your account has a limit on how many companies you can create: * **Free and Entrepreneur plans:** 1 company * **Business plan:** 3 companies included * **Enterprise:** Custom limits Paid plans can typically add more companies for an additional monthly fee, and your limit scales with the number of seats on your subscription. To see your current limits: 1. Go to **Profile** in the sidebar 2. Look for "Companies" in your usage section Need more companies? Upgrade your subscription or contact support. ## Transferring Company Ownership If you need to transfer a company to another user (for example, handing off a client's workspace): 1. Go to **Companies** in the sidebar 2. Click the **three-dot menu** (⋮) next to the company 3. Select **Transfer Ownership** 4. Enter the email address of the new owner 5. Click **Transfer** The new owner will receive the company in their account. You will lose owner access but may retain access as a collaborator depending on settings. ## Frequently Asked Questions **Q: Can I be part of companies I don't own?** A: Yes! Other users can invite you as a collaborator to their companies. You'll see these in your company list but won't be able to delete them. **Q: What's the difference between a company and a team?** A: A company is your workspace. Team members (collaborators) are people you invite to work with you inside that company. **Q: Can I copy data from one company to another?** A: Currently, data must be manually recreated in each company. We recommend exporting any lists or documents you need before deleting a company. ## Next Steps Now that you have a company set up: * [Create your first AI Employee](/overview/employees) * [Add documents to your Knowledge Base](/overview/knowledge-base) * [Invite team members](/settings/collaborators) # Account vs. Company Source: https://docs.parallellabs.app/account/overview Settings that follow you across every company you have access to. Your login, subscription, credit balance, and security settings belong to you, not to any one company. Switching companies doesn't change them. ## In This Section * **[Companies](/account/companies)** — Create, switch between, reorder, and manage your companies. * **[Profile](/account/profile)** — Your personal details, subscription, credits, notifications, and security settings. * **[Support](/account/support)** — Submit and track support tickets. ## Companies vs. Your Account A **company** is a workspace: its own AI employees, lists, content, integrations, and collaborators. Your **account** is you — one login that can hold several companies. That's why credits and subscription live on your [Profile](/account/profile) rather than inside a company, while integrations and collaborators are set per company. How many companies you can create depends on your plan — see [Companies](/account/companies). # Profile Source: https://docs.parallellabs.app/account/profile Manage your personal details, subscription, credits, notifications, and security. Your profile page is where you manage your personal account settings, view your subscription, and track your usage across the platform. ## Accessing Your Profile Click **Profile** in the sidebar menu (near the bottom). ## Updating Your Display Name Your display name appears in conversations and when collaborating with team members. To change it: 1. Go to **Profile** 2. Click on your current name (or the edit icon next to it) 3. Type your new name 4. Click **Save** ## Changing Your Profile Photo 1. Go to **Profile** 2. Click on your current photo (or the camera icon) 3. Select an image from your computer 4. The photo uploads automatically **Tip:** Use a square image for best results. The photo will be cropped to fit a circle. ## Understanding Your Subscription Your profile shows your current subscription plan and what's included: ### What You'll See | Item | What It Means | | ---------------- | -------------------------------------------------------------------- | | **Current Plan** | Your subscription tier (Free, Entrepreneur, Business, or Enterprise) | | **Credit Usage** | How much of your monthly AI credits you've used | | **Credit Limit** | Your total monthly allowance | | **Seats** | How many team members can use your account | | **Companies** | How many workspaces you can create | ### The Usage Bar The progress bar shows your credit consumption: * **Green** = You have plenty of credits remaining * **Yellow** = You're approaching your limit * **Red** = You're at or over your limit Credits reset at the beginning of each billing cycle. ## Upgrading Your Subscription Need more credits, seats, or features? Here's how to upgrade: 1. Go to **Profile** 2. Click **Upgrade** or **Manage Subscription** 3. Choose a new plan 4. Enter your payment information (if not already on file) 5. Confirm your upgrade Your new features are available immediately. You'll be charged the prorated difference for the current billing period. ## Managing Payment Methods To update your credit card or payment method: 1. Go to **Profile** 2. Click **Manage Subscription** or **Billing** 3. You'll be taken to our secure payment portal 4. Update your payment method 5. Save changes ## What Are Credits? Credits are the currency that powers AI features in the platform. Different actions use different amounts of credits: | Action | Credit Cost | | ------------------- | ----------- | | Chat messages | Low | | Document processing | Medium | | Image generation | Medium-High | | Video generation | High | | Audio generation | Medium | Your plan includes a monthly credit allowance. If you run out, you can: * Wait for credits to reset next month * Upgrade to a higher plan * Purchase additional credits (if available on your plan) ## Account Settings ### Email Notifications Control what emails you receive: 1. Go to **Profile** 2. Scroll to **Notifications** or **Settings** 3. Toggle notifications on/off for different types ### Dark Mode Prefer a darker interface? The light/dark toggle lives in the sidebar (look for the moon/sun icon), not on the Profile page. Click it to switch between light and dark modes at any time. ## Security ### Your Password You sign in with a magic link, a verification code, or Google — so there's no password to manage day to day. If you use an email-and-password login and need to reset it, use the **Forgot password?** link on the sign-in screen; a reset link will be emailed to you. ### Two-Factor Authentication For extra security, enable two-factor authentication (2FA): 1. Go to **Profile** 2. Find the **Security** or **Two-Factor Authentication** section 3. Follow the setup steps to link your authenticator app 4. Enter the 6-digit code from your app to confirm Once enabled, you'll enter a 6-digit code from your authenticator app each time you sign in. You can disable 2FA from the same section (you'll be asked to confirm with a code). ## Frequently Asked Questions **Q: What happens if I run out of credits?** A: Most AI-powered features will be temporarily unavailable until your credits reset or you upgrade. You can still access your data and non-AI features. **Q: Can I downgrade my subscription?** A: Yes. Go to Profile → Manage Subscription and select a lower tier. Changes take effect at your next billing cycle. **Q: How do I cancel my subscription?** A: Go to Profile → Manage Subscription → Cancel. You'll retain access until the end of your current billing period. **Q: I was charged incorrectly. What do I do?** A: Contact support through the Support page. Include your billing date and the charge amount. ## Next Steps * [Create a Company](/account/companies) * [Get Support](/account/support) * [Invite Team Members](/settings/collaborators) # Support Source: https://docs.parallellabs.app/account/support Submit and track support tickets, and find help when you need it. Need help? We're here for you! The Support page lets you submit questions, report issues, and track your support requests. > Depending on your account, clicking **Support** may open the in-app ticket form described here or take you to your provider's dedicated support channel (help desk, email, or community). Either way, it's the fastest path to reach the right team. ## Submitting a Support Ticket 1. Click **Support** in the sidebar 2. Click **Create Ticket** (or the **+** button) 3. Fill out the form: * **Subject:** A brief description of your issue * **Category:** Select what type of help you need * **Description:** Explain your issue in detail * **Attachments:** Add screenshots or files if helpful 4. Click **Submit** You'll receive a confirmation, and our team will respond as soon as possible. ## Writing a Good Support Request The more details you provide, the faster we can help. Include: **For bug reports:** * What you were trying to do * What happened instead * Steps to reproduce the issue * Screenshots or screen recordings * Which browser you're using **For questions:** * What you're trying to accomplish * What you've already tried * Any error messages you've seen **Example of a good ticket:** > **Subject:** Can't upload PDF to Knowledge Base > > **Description:** I'm trying to upload a PDF document to my Knowledge Base but it fails every time. Here's what happens: > > 1. I click "Upload Document" > 2. I select my PDF file (attached) > 3. The progress bar reaches 100% > 4. Then I see "Upload failed" error > > The file is 2.5MB. I'm using Chrome on Mac. > > \[screenshot attached] ## Choosing the Right Category | Category | When to Use | | ------------------- | ----------------------------------------------- | | **Bug Report** | Something isn't working correctly | | **Feature Request** | You'd like us to add something new | | **Account** | Login issues, password problems, account access | | **Billing** | Questions about charges, subscriptions, refunds | | **Integration** | Problems connecting to other tools | | **General** | Anything else | ## Checking Your Ticket Status To see updates on your tickets: 1. Go to **Support** in the sidebar 2. Your open tickets appear in the list 3. Click on a ticket to see the full conversation ### Ticket Statuses | Status | What It Means | | ------------------ | --------------------------------------- | | **Open** | We've received it and will respond soon | | **In Progress** | We're actively working on it | | **Waiting on You** | We need more information from you | | **Resolved** | The issue has been addressed | | **Closed** | The ticket is complete | ## Responding to Support When we reply to your ticket: 1. You'll receive an email notification 2. Click the link in the email, or go to Support in the app 3. Click on your ticket 4. Type your response in the reply box 5. Click **Send** ## Searching Your Tickets Looking for an old conversation? 1. Go to **Support** 2. Use the search bar at the top 3. Type keywords from your issue 4. Matching tickets will appear ## Response Times We aim to respond to all tickets within: | Priority | Response Time | | -------------------------------- | --------------- | | Critical (can't use platform) | Within hours | | High (feature broken) | Within 24 hours | | Normal (questions, minor issues) | Within 48 hours | | Feature requests | Reviewed weekly | **Tip:** If your issue is urgent, mention it in the subject line (e.g., "URGENT: Can't access my account"). ## Self-Service Help Before submitting a ticket, you might find your answer in: * **This documentation** - Browse the guides for your feature * **In-app tooltips** - Hover over (?) icons for quick help * **FAQ sections** - Check the bottom of each documentation page ## Common Issues & Quick Fixes ### "I can't log in" * Make sure you're using the correct email * Try resetting your password * Clear your browser cache and cookies * Try a different browser ### "My changes aren't saving" * Check your internet connection * Refresh the page and try again * Make sure you clicked the Save button (some forms require this) ### "A feature is missing" * Check if the feature is locked (requires upgrade) * Make sure you have the right permissions * Verify you're in the correct company ### "I'm seeing an error message" * Take a screenshot of the error * Note what you were doing when it appeared * Submit a ticket with these details ## Feedback & Feature Requests We love hearing your ideas! To suggest a new feature: 1. Go to **Support** 2. Create a ticket with category **Feature Request** 3. Describe what you'd like to see and why it would help you 4. We review all suggestions and prioritize based on demand ## Frequently Asked Questions **Q: Can I call support?** A: We currently offer support through tickets only. This helps us track issues and provide thorough responses. **Q: How do I escalate an urgent issue?** A: Include "URGENT" in your subject line and clearly explain the business impact. **Q: Can I reopen a closed ticket?** A: Yes, simply reply to the ticket and it will reopen automatically. **Q: Who can submit support tickets?** A: Any user with an account can submit tickets for issues they're experiencing. ## Next Steps * [Manage Your Profile](/account/profile) * [Manage Companies](/account/companies) * [Back to the User Guide](/getting-started) # Cheap polling probe for whether a conversation has changed. Source: https://docs.parallellabs.app/api-reference/agents/cheap-polling-probe-for-whether-a-conversation-has-changed /openapi.json get /api/v0/conversations/{agentId}/{sessionId}/check Returns when the conversation last changed, without loading any message content. Clients compare the values to what they already have and only refetch the full conversation when they differ. # Create a new AI agent. Source: https://docs.parallellabs.app/api-reference/agents/create-a-new-ai-agent /openapi.json post /api/v0/agents Creates a new AI agent with the specified configuration. The agent can be configured with multiple channels (website widget, email, SMS, WhatsApp, voice) and custom branding. # Delete an agent. Source: https://docs.parallellabs.app/api-reference/agents/delete-an-agent /openapi.json delete /api/v0/agents/{agentId} Permanently deletes the specified agent and all associated data. # Get a specific agent by ID. Source: https://docs.parallellabs.app/api-reference/agents/get-a-specific-agent-by-id /openapi.json get /api/v0/agents/{agentId} Returns the full agent configuration including channel settings, lead fields, and branding options. # Get all conversations across company agents with pagination and filtering. Source: https://docs.parallellabs.app/api-reference/agents/get-all-conversations-across-company-agents-with-pagination-and-filtering /openapi.json get /api/v0/conversations Returns a paginated list of conversations for all agents in the company. Filter by agentId, channel, and date range using Unix timestamps. # Get full conversation details for a specific agent session. Source: https://docs.parallellabs.app/api-reference/agents/get-full-conversation-details-for-a-specific-agent-session /openapi.json get /api/v0/conversations/{agentId}/{sessionId} Returns the full conversation including all messages exchanged between the user and the agent. Messages are ordered chronologically. # List all agents for the current company. Source: https://docs.parallellabs.app/api-reference/agents/list-all-agents-for-the-current-company /openapi.json get /api/v0/agents Returns a paginated list of agents belonging to the company associated with the API key. Use the search parameter to filter agents by name. # Update an existing agent. Source: https://docs.parallellabs.app/api-reference/agents/update-an-existing-agent /openapi.json put /api/v0/agents/{agentId} Updates the agent configuration. Only include fields that need to be changed - unspecified fields will retain their current values. # Create audio from text using text-to-speech. Source: https://docs.parallellabs.app/api-reference/audio/create-audio-from-text-using-text-to-speech /openapi.json post /api/v0/audio Converts the provided text to speech using ElevenLabs. Returns the audio ID for retrieval via the /audio/p/ endpoint. # Delete an audio file by ID. Source: https://docs.parallellabs.app/api-reference/audio/delete-an-audio-file-by-id /openapi.json delete /api/v0/audio/{audioId} # Get available audio models. Source: https://docs.parallellabs.app/api-reference/audio/get-available-audio-models /openapi.json get /api/v0/audio/models Returns a list of available text-to-speech models and their capabilities. This endpoint is public and does not require authentication. # Get available voices for audio generation. Source: https://docs.parallellabs.app/api-reference/audio/get-available-voices-for-audio-generation /openapi.json get /api/v0/audio/voices Returns both public voices and company-specific cloned voices. # List all audio files. Source: https://docs.parallellabs.app/api-reference/audio/list-all-audio-files /openapi.json get /api/v0/audio Returns a paginated list of audio files for the company. # Build a full brand kit (name, description, style, logos) from a website or an uploaded image. Source: https://docs.parallellabs.app/api-reference/brand-kit/build-a-full-brand-kit-name-description-style-logos-from-a-website-or-an-uploaded-image /openapi.json post /api/v0/brand-kits/build An agent screenshots and reads the source itself to assemble the whole brand kit. The work runs in the background: this creates a draft brand kit row with buildStatus 'building' and returns its id. Poll GET /brand-kits/ — buildStatus flips to 'ready' (fields filled) or 'failed' (buildError set). Provide exactly one of websiteUrl / imageDataUri. # Create a new (empty) brand kit for landing pages / websites. Source: https://docs.parallellabs.app/api-reference/brand-kit/create-a-new-empty-brand-kit-for-landing-pages-websites /openapi.json post /api/v0/brand-kits/create # Create or update a brand kit. Source: https://docs.parallellabs.app/api-reference/brand-kit/create-or-update-a-brand-kit /openapi.json post /api/v0/brand-kits # Delete a brand kit. Source: https://docs.parallellabs.app/api-reference/brand-kit/delete-a-brand-kit /openapi.json delete /api/v0/brand-kits/{brandKitId} # Generate test images from a brand kit configuration Source: https://docs.parallellabs.app/api-reference/brand-kit/generate-test-images-from-a-brand-kit-configuration /openapi.json post /api/v0/brand-kits/test Runs the content-engine image pipeline (AI image or canvas agent, per the supplied configuration) against sample text or an existing content piece and returns the generated image URLs without attaching them to any content. Charges the same credits as normal generation. # Get a specific brand kit by ID. Source: https://docs.parallellabs.app/api-reference/brand-kit/get-a-specific-brand-kit-by-id /openapi.json get /api/v0/brand-kits/{brandKitId} # List a company's brand kits. Source: https://docs.parallellabs.app/api-reference/brand-kit/list-a-companys-brand-kits /openapi.json get /api/v0/brand-kits Default: a paginated list. With `?listAll=true`, returns the full list (default first). With `?landingPageId=` or `?brandKitId=`, resolves the single kit a landing page / website should use (page-specific → company default), for the landing-page / website renderers. # Save a brand kit's landing-page / website assets (favicon, logo, images, Source: https://docs.parallellabs.app/api-reference/brand-kit/save-a-brand-kits-landing-page-website-assets-favicon-logo-images /openapi.json put /api/v0/brand-kits CSS, head scripts, guidelines), with automatic S3 upload for images. # Upload a single brand kit image (favicon/logo/custom) via multipart form data. Source: https://docs.parallellabs.app/api-reference/brand-kit/upload-a-single-brand-kit-image-faviconlogocustom-via-multipart-form-data /openapi.json post /api/v0/brand-kits/upload # Cancel a pending or running browser task. Source: https://docs.parallellabs.app/api-reference/browser/cancel-a-pending-or-running-browser-task /openapi.json delete /api/v0/browser-task/{task_id} Cancels the specified browser task if it's still pending or running. Completed or failed tasks cannot be cancelled. # Get browser task status and result. Source: https://docs.parallellabs.app/api-reference/browser/get-browser-task-status-and-result /openapi.json get /api/v0/browser-task/{task_id} Poll this endpoint to check the status of a submitted browser task. When status is 'completed', the result will contain the task output. When status is 'failed', the errorMessage will contain the failure reason. # List available browser integrations. Source: https://docs.parallellabs.app/api-reference/browser/list-available-browser-integrations /openapi.json get /api/v0/browser-integrations Returns a list of browser session integrations (LinkedIn, Twitter, etc.) that can be used for authenticated browser tasks. # Submit a browser automation task. Source: https://docs.parallellabs.app/api-reference/browser/submit-a-browser-automation-task /openapi.json post /api/v0/browser-task Submits a browser task for asynchronous execution. Returns a task ID that can be used to poll for status and results. Supports three session types: - regular: Standard browser session - authenticated: Uses an integration for logged-in sessions - residential: Uses a residential proxy with specified zipcode # Generate custom music. Source: https://docs.parallellabs.app/api-reference/canvas/generate-custom-music /openapi.json post /api/v0/audio/music Default to free stock music for music, soundtracks, reels and stories: use search_stock_music then import_stock_music. Use paid create_music ONLY when the user explicitly requests custom AI-generated music. Never automatically fall back to paid generation when stock search/import fails; try different keywords or tracks and report if none are suitable. Create music with ElevenLabs and return a permanent public audio URL and duration in seconds. Describe genre, mood, instruments, tempo and any desired lyrics. Instrumental defaults to true for background music underneath narration. Embed the URL in animated canvas HTML as to include it in the exported MP4. Generation consumes audio credits. # Import licensed stock music into the audio library. Source: https://docs.parallellabs.app/api-reference/canvas/import-licensed-stock-music-into-the-audio-library /openapi.json post /api/v0/stock-music/import Import a selected search_stock_music result by stockAudioId. Rechecks its indexed license and matching license link on the original source page, saves an MP3 with source/license metadata, and returns a permanent public audioUrl plus measured duration in seconds. Use audioUrl in in an animated canvas. No audio generation credits are charged. Sources that cannot be verified are rejected; choose another track. Imports are bounded by the configured file-size and duration limits (default 40 MiB and the first ten minutes). # Render a canvas art image or animation from HTML Source: https://docs.parallellabs.app/api-reference/canvas/render-a-canvas-art-image-or-animation-from-html /openapi.json post /api/v0/canvas Renders a self-contained HTML canvas at exact pixel dimensions and returns a permanent public URL — for social posts, story graphics, quote cards, and link preview art. Costs 0.1 credits per call. Pass animated=true to record the canvas as a looping MP4 instead of a still PNG (animate with infinite CSS keyframes); that returns videoId and an MP4 url, and costs 3 credits. Author the HTML to these design guidelines: ## What You Are Making A canvas is a piece of visual art, not a document. Museum-quality, magazine-quality — never cartoony, never clip-art, never a slide. Before writing any HTML, decide a design direction in one sentence (e.g. "Swiss formalism: one monumental word, hard grid, red/black/paper" or "quiet editorial: thin serif, vast negative space, one photograph"). Every choice then serves that direction. ## Brand Style (check first) - Before choosing a direction, check whether the company has a brand kit saved in the content engine (GET /brand-kits — brand_kit_listBrandKits on the platform API/MCP). Do this BEFORE the first render, not after. - If a brand kit exists, its `imageStylePrompt` is the company's established visual style (palette, mood, typography feel, photographic treatment); its `images` list holds brand assets (logos, product shots, approved photography) with public URLs; and its `webArtifacts` holds the primary `favicon` and `logo` (each with a public `url`). Treat these as the source of truth: derive the palette and type choices from the style prompt, and embed brand assets by their exact URL instead of stock or AI-generated stand-ins when a suitable one exists. Never alter, recolor, or distort a logo. - If no brand kit exists, or the session already supplies brand context in its instructions, skip the lookup and design from the brief. ## Canvas Setup (exact rules) - Output one complete standalone HTML document. No external CSS/JS files; inline a `