/* Shared visual refresh inspired by the supplied ChatGPT reference.
   Presentation only: keep existing markup, state, and interaction contracts. */
:root {
    color-scheme: light;
    --bs-font-sans-serif: Vazirmatn, Tahoma, Arial, sans-serif;
    --bs-body-font-family: var(--bs-font-sans-serif);
    font-family: var(--bs-body-font-family);
    --design-canvas: #fcfcfc;
    --design-surface: #fff;
    --design-subtle: #f3f3f3;
    --design-border-soft: rgb(0 0 0 / 10%);
    --design-border: rgb(0 0 0 / 20%);
    --design-ink: #0d0d0d;
    --design-secondary: #5d5d5d;
    --design-muted: #8f8f8f;
    --design-blue: #3566f0;
    --design-blue-soft: #e8f3fe;
    --design-blue-ink: #0c274a;
    --design-danger: #b42318;
    --design-radius-control: 999px;
    --design-radius-card: 16px;
    --design-radius-menu: 12px;
    --design-radius-dialog: 22px;
    --design-radius-bubble: 24px;
    --design-shadow-soft: 0 4px 16px rgb(0 0 0 / 5%);
    --design-shadow-float: 0 8px 28px rgb(0 0 0 / 10%);
    --design-shadow-dialog: 0 18px 60px rgb(0 0 0 / 18%);
    --bs-body-color: var(--design-ink);
    --bs-body-bg: var(--design-canvas);
    --bs-primary: var(--design-blue);
    --bs-primary-rgb: 53, 102, 240;
    --bs-border-color: var(--design-border-soft);
    --bs-link-color: var(--design-blue);
    --bs-link-hover-color: #2452d4;
    --bs-focus-ring-color: rgb(53 102 240 / 25%);
    --sidebar-width: 272px;
    --content-max-width: 980px;
    --border-color: var(--design-border-soft);
    --text-color: var(--design-ink);
    --text-muted: var(--design-secondary);
    --page-background: var(--design-canvas);
    --surface-background: var(--design-surface);
    --surface-soft: var(--design-subtle);
    --surface-muted: var(--design-subtle);
    --primary-color: var(--design-blue);
    --primary-hover: #2452d4;
    --primary-soft: var(--design-blue-soft);
    --accent-color: var(--design-blue);
    --app-accent: var(--design-blue);
    --app-accent-strong: #2452d4;
    --app-accent-soft: var(--design-blue-soft);
    --primary-strong: #2452d4;
    --app-canvas: var(--design-canvas);
    --app-surface: var(--design-surface);
    --app-border: var(--design-border-soft);
    --app-ink: var(--design-ink);
    --app-muted: var(--design-secondary);
    --app-radius: var(--design-radius-card);
    --shadow-sm: var(--design-shadow-soft);
    --shadow-md: var(--design-shadow-float);
    --biz-bg: var(--design-canvas);
    --biz-card: var(--design-surface);
    --biz-text: var(--design-ink);
    --biz-muted: var(--design-secondary);
    --biz-line: var(--design-border-soft);
    --biz-primary: var(--design-blue);
    --biz-shadow: none;
    --assistant-ink: var(--design-ink);
    --assistant-muted: var(--design-secondary);
    --assistant-line: var(--design-border-soft);
    --assistant-paper: var(--design-surface);
    --assistant-wash: var(--design-canvas);
    --assistant-shadow: var(--design-shadow-soft);
    --assistant-accent: var(--design-blue);
}

html { background: var(--design-canvas); font-family: var(--bs-body-font-family); }
body { background: var(--design-canvas); color: var(--design-ink); font-size: 16px; line-height: 1.5; }
.btn { --bs-btn-font-family: var(--bs-body-font-family); min-height: 44px; border-radius: var(--design-radius-control); font-size: 14px; line-height: 20px; }
.message-list,
.sidebar-menu { scrollbar-color: var(--design-muted) transparent; }
.message-list::-webkit-scrollbar-thumb,
.sidebar-menu::-webkit-scrollbar-thumb { border-color: transparent; border-radius: 999px; background: var(--design-muted); background-clip: content-box; }
.message-list:hover::-webkit-scrollbar-thumb,
.sidebar-menu:hover::-webkit-scrollbar-thumb { background: var(--design-secondary); background-clip: content-box; }

/* Shared application frame */
.chat-layout { background: var(--design-canvas); }
.chat-main { background: var(--design-canvas); }
.topbar {
    height: 61px;
    flex-basis: 61px;
    border-bottom-color: var(--design-border-soft);
    background: var(--design-canvas);
    backdrop-filter: none;
}
.topbar-title { color: var(--design-ink); font-size: 15px; font-weight: 500; }
.icon-button,
.sidebar-toggle,
.sidebar-close,
.topbar-account-trigger {
    color: var(--design-ink);
}
.icon-button {
    width: 44px;
    height: 44px;
    border: 1px solid transparent;
    border-radius: 50%;
    background: transparent;
}
.icon-button.sidebar-toggle { width: 44px; height: 44px; flex-basis: 44px; border-radius: 12px; }
.sidebar-header > .sidebar-close { width: 44px; min-width: 44px; height: 44px; min-height: 44px; flex-basis: 44px; }
.icon-button:hover,
.topbar-account-trigger:hover { background: var(--design-subtle); }
.icon-button:focus-visible,
.menu-item:focus-visible,
.account-trigger:focus-visible,
.conversation-item:focus-visible,
button:focus-visible,
a:focus-visible,
summary:focus-visible {
    outline: 2px solid rgb(53 102 240 / 65%);
    outline-offset: 2px;
}
.account-summary-icon,
.account-section-icon,
.bot-quick-icon,
.bot-ai-section-icon,
.channel-settings-card-heading .sprite-icon {
    color: var(--design-blue);
}
.topbar-account-trigger { min-width: 44px; min-height: 44px; border-radius: 50%; }
.topbar-account-trigger .default-avatar { width: 36px; height: 36px; }

/* Sidebar, conversations and account area */
.chat-sidebar {
    background: var(--design-canvas);
    border-color: var(--design-border-soft);
}
.sidebar-header { height: 61px; border-color: var(--design-border-soft); }
.brand { gap: 10px; color: var(--design-ink); font-size: 16px; font-weight: 600; }
.sidebar-header .brand span { font-family: inherit; font-size: 16px; font-weight: 600; letter-spacing: 0; }
.brand img { width: 28px; height: 28px; }
.sidebar-menu { padding: 12px 10px; }
.menu-item {
    min-height: 44px;
    gap: 12px;
    margin-bottom: 3px;
    padding: 9px 12px;
    border-color: transparent;
    border-radius: 12px;
    color: var(--design-ink);
    font-size: 17px;
    line-height: 24px;
    font-weight: 500;
    transition: background-color .16s ease, color .16s ease;
}
.menu-item:hover { border-color: transparent; background: var(--design-subtle); color: var(--design-ink); }
.menu-item.active { border-color: transparent; background: var(--design-subtle); color: var(--design-ink); }
.root-impersonation-return { border-color: rgb(53 102 240 / 20%); background: var(--design-blue-soft); color: var(--design-blue-ink); }
.root-impersonation-return:hover { border-color: var(--design-border-soft); background: var(--design-subtle); color: var(--design-ink); }
#newConversation.menu-item { min-height: 48px; border-color: transparent; background: var(--design-subtle); color: var(--design-ink); }
#newConversation.menu-item:hover { border-color: transparent; background: #e9e9e9; color: var(--design-ink); }
#newConversation.menu-item .sprite-icon { color: currentColor; }
.menu-item .sprite-icon,
.menu-item > svg { width: 20px; height: 20px; flex: 0 0 20px; color: currentColor; }
.conversation-search input {
    height: 44px;
    padding-inline: 36px 12px;
    border: 1px solid var(--design-border-soft);
    border-radius: 12px;
    background: #fff;
    color: var(--design-ink);
    font-size: 16px;
}
.conversation-search input:focus { border-color: rgb(53 102 240 / 55%); box-shadow: 0 0 0 3px rgb(53 102 240 / 12%); }
.conversation-search .sprite-icon { top: 50%; inset-inline-start: 10px; inset-inline-end: auto; left: auto; right: auto; width: 17px; height: 17px; transform: translateY(-50%); color: var(--design-secondary); }
.conversation-list { max-height: none; gap: 2px; }
.conversation-section-label { display: none; flex: 0 0 auto; margin: 12px 10px 4px; color: var(--design-muted); font-size: 12px; font-weight: 400; line-height: 18px; }
.sidebar-menu:has(.conversation-list:not(:empty)) .conversation-section-label { display: block; }
.conversation-item {
    min-height: 44px;
    padding: 10px 12px;
    border-radius: 12px;
    color: var(--design-secondary);
    font-size: 15px;
    line-height: 22px;
}
.conversation-item:hover,
.conversation-item.active { background: var(--design-subtle); color: var(--design-ink); }
.sidebar-workspaces-menu:not(:has(.menu-item)) { display: none; }
.sidebar-menu > .conversation-list .conversation-item { min-height: 44px; padding: 10px 12px; border-color: transparent; border-radius: 12px; color: var(--design-secondary); font-size: 15px; line-height: 22px; }
.sidebar-menu > .conversation-list .conversation-item:is(.active, :hover) { border-color: transparent; background: var(--design-subtle); color: var(--design-ink); -webkit-backdrop-filter: none; backdrop-filter: none; }
.sidebar-footer { padding: 10px; border-color: var(--design-border-soft); background: var(--design-canvas); }
.account-trigger {
    min-height: 48px;
    gap: 9px;
    padding: 6px 8px;
    border-color: transparent;
    border-radius: 12px;
    background: transparent;
    color: var(--design-ink);
}
.account-trigger:hover { border-color: var(--design-border-soft); background: #fff; }
.account-trigger:focus-visible { box-shadow: none; }
.account-trigger-avatar { width: 36px; height: 36px; flex-basis: 36px; border-radius: 50%; background: var(--design-subtle); color: var(--design-secondary); }
.account-summary { line-height: 1.4; }
.account-summary strong { color: var(--design-ink); font-size: 14px; font-weight: 500; line-height: 20px; }
.account-summary small { color: var(--design-secondary); font-size: 12px; line-height: 16px; }
.login-card { color: var(--design-secondary); font-size: 12px; }
.login-card strong { color: var(--design-ink); font-size: 13px; }
.sidebar-plan-promo { border: 1px solid var(--design-border-soft); border-radius: 14px; background: #fff; box-shadow: none; }
.sidebar-plan-promo:hover { border-color: rgb(53 102 240 / 28%); background: var(--design-blue-soft); color: var(--design-ink); }
.sidebar-plan-promo-icon { border-color: var(--design-border-soft); border-radius: 10px; background: var(--design-blue-soft); color: var(--design-blue); }
.sidebar-plan-promo-copy strong { color: var(--design-ink); font-weight: 500; }
.sidebar-plan-promo-copy small { color: var(--design-secondary); }
.sidebar-plan-promo-action,
.sidebar-plan-promo:hover .sidebar-plan-promo-action { color: var(--design-blue); }
.chat-layout.sidebar-collapsed .sidebar-footer .login-card .login-button { width: 44px; height: 44px; min-width: 44px; min-height: 44px; border-radius: 12px; }
.chat-layout.sidebar-collapsed .sidebar-plan-promo { width: 44px; height: 44px; min-width: 44px; min-height: 44px; place-items: center; border-radius: 12px; }
.chat-layout.sidebar-collapsed .sidebar-plan-promo-icon { width: 38px; height: 38px; border: 0; background: transparent; }

/* Chat home and conversation */
.chat-content { padding: 28px 20px 52px; }
.welcome-panel,
.welcome-panel:has(.chat-composer) {
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.welcome-panel h1,
.chat-welcome-heading h1 {
    margin-bottom: 32px;
    color: var(--design-ink);
    font-size: clamp(24px, 2vw, 28px);
    line-height: 1.25;
    font-weight: 400;
    letter-spacing: 0;
}
.chat-composer {
    min-height: 58px;
    gap: 4px;
    padding: 6px 8px;
    border: 1px solid var(--design-border-soft);
    border-radius: var(--design-radius-control);
    background: #fff;
    box-shadow: 0 2px 10px rgb(0 0 0 / 4%);
    transition: border-color .16s ease, box-shadow .16s ease;
}
.chat-composer:focus-within { border-color: rgb(13 13 13 / 20%); box-shadow: 0 3px 14px rgb(0 0 0 / 7%); }
.chat-composer textarea,
.chat-composer input {
    color: var(--design-ink);
    font-size: 16px;
    line-height: 24px;
}
.chat-composer textarea::placeholder,
.chat-composer input::placeholder { color: var(--design-muted); }
.composer-icon,
.composer-toolbar .composer-icon {
    display: inline-grid;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--design-secondary);
    font-size: 18px;
}
.composer-icon:hover { background: var(--design-subtle); color: var(--design-ink); }
.composer-icon .sprite-icon { width: 20px; height: 20px; }
.send-button,
.assistant-send {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--design-blue);
    color: #fff;
}
.send-button:hover,
.assistant-send:hover { background: #2452d4; }
.chat-media-help,
.upload-status { color: var(--design-secondary); }
.assistant-mode-switch,
.assistant-workflow-tabs { gap: 4px; border-color: var(--design-border-soft); border-radius: var(--design-radius-control); background: var(--design-subtle); box-shadow: none; }
.assistant-mode-switch button,
.assistant-workflow-tabs button { min-height: 36px; border-radius: var(--design-radius-control); color: var(--design-secondary); }
.assistant-mode-switch button[aria-pressed="true"],
.assistant-workflow-tabs button.active { background: #fff; color: var(--design-ink); box-shadow: var(--design-shadow-soft); }
.assistant-mode-switch button { padding: 8px 14px; font-size: 14px; font-weight: 500; line-height: 20px; }
.assistant-workflow-tabs a { min-height: 36px; display: inline-flex; align-items: center; justify-content: center; padding: 8px 14px; border-radius: 999px; color: var(--design-secondary); font-size: 14px; font-weight: 500; line-height: 20px; }
.assistant-workflow-tabs a:hover { background: var(--design-subtle); color: var(--design-ink); }
.assistant-workflow-tabs a.is-active { background: #fff; color: var(--design-ink); box-shadow: var(--design-shadow-soft); }
.chat-layout.chat-active .chat-content { padding: 0; }
.chat-layout.chat-active .message-list { gap: 20px; }
.chat-layout.chat-active .message-list > .chat-message { width: min(100%, 768px); margin-inline: auto; }
.chat-layout.chat-active .chat-message .message-avatar { display: none; }
.chat-layout.chat-active .message-body { display: flex; width: 100%; max-width: 100%; flex-direction: column; font-size: 16px; line-height: 1.65; }
.chat-layout.chat-active .message-content { line-height: 1.625; }
.chat-layout.chat-active .message-user .message-content { align-self: flex-start; max-width: min(100%, 88%); padding: 10px 16px; border: 0; border-radius: 22px; background: var(--design-blue-soft); color: var(--design-blue-ink); }
.chat-layout.chat-active .message-content { order: 1; }
.chat-layout.chat-active .message-toolbar { order: 2; min-height: 32px; margin: 8px 0 0; }
.chat-composer .send-button.is-active,
.chat-composer .send-button.is-loading { background: var(--design-blue); color: #fff; }
.chat-composer .send-button.is-active:hover { background: #2452d4; }
.chat-layout.chat-active .message-user .message-content,
.message.user.w3m-message,
.assistant-bubble-user.w3m-message,
.w3m-message.message-user .message-content {
    border: 0;
    border-radius: 22px;
    padding: 10px 16px;
    background: var(--design-blue-soft);
    color: var(--design-blue-ink);
}
.message-assistant .message-content,
.message.bot.w3m-message,
.assistant-bubble-answer.w3m-message { border: 0; background: transparent; box-shadow: none; color: var(--design-ink); }
.w3m-message .w3m-message-footer { color: var(--design-muted); }
.message-copy,
.w3m-copy,
.w3m-message-footer .message-copy { min-width: 32px; min-height: 32px; border-radius: 8px; color: var(--design-muted); }
.message-toolbar .message-copy,
.message-toolbar .message-copy.copied { min-height: 32px; padding: 4px 8px; border-color: transparent; border-radius: 8px; background: transparent; color: var(--design-muted); }
.message-toolbar .message-copy .sprite-icon { width: 16px; height: 16px; flex-basis: 16px; }
.message-toolbar .message-copy:hover,
.message-toolbar .message-copy.copied { border-color: transparent; background: var(--design-subtle); color: var(--design-blue); }
.message-toolbar .message-copy:focus-visible { outline: 2px solid rgb(53 102 240 / 65%); outline-offset: 2px; }
.message-copy,
.w3m-copy,
.w3m-message-footer .message-copy,
.message-toolbar .message-copy,
.message-toolbar .message-copy.copied { min-width: 44px; min-height: 44px; }
.chat-layout.chat-active .message-toolbar { min-height: 44px; }
.chat-stop-button { border-radius: var(--design-radius-control); }
.chat-starter-prompts { gap: 8px; margin: 0 auto 16px; }
.chat-starter-prompts button {
    min-height: 44px;
    padding: 8px 14px;
    border-color: var(--design-border-soft);
    border-radius: var(--design-radius-control);
    background: #fff;
    color: var(--design-secondary);
    font-size: 13px;
}
.chat-starter-prompts button:hover { border-color: var(--design-border); background: var(--design-subtle); color: var(--design-ink); }
.composer-guidance { color: var(--design-muted); font-size: 11px; }
.chat-stop-button { min-height: 44px; border-color: var(--design-border); color: var(--design-secondary); }
.message-content a,
.message-copy:hover,
.message-copy.copied { color: var(--design-blue); }
.subscription-page-footer a,
.account-settings-page .subscription-credit-link { color: var(--design-blue); }
.message-content blockquote { border-right-color: var(--design-blue); background: var(--design-blue-soft); color: var(--design-secondary); }
.attachment-file-icon { background: var(--design-blue-soft); color: var(--design-blue); }
.attachment-upload-progress > span { background: var(--design-blue); }
.progress-bar { background-color: var(--design-blue); }
.default-avatar { background: var(--design-subtle); color: var(--design-secondary); }
.message-user .message-avatar,
.message-avatar.user-avatar { background: var(--design-blue); color: #fff; }
.message-avatar.assistant-avatar { border-color: var(--design-border-soft); background: #fff; color: var(--design-secondary); }
.assistant-loading .spinner-border { color: var(--design-blue); }
.composer-tool-menu-wrap > .composer-icon.active,
.composer-icon.active,
.composer-icon:has(+ .composer-tool-menu:not([hidden])) { color: var(--design-blue); }
.composer-tool-menu,
.tool-menu-option { border-color: var(--design-border-soft); border-radius: 12px; }
.tool-menu-option input:checked + .tool-menu-check { border-color: var(--design-blue); background: var(--design-blue); }
.tool-menu-option input:checked + .tool-menu-check::after { content: ""; inset: 5px auto auto 4px; width: 7px; height: 4px; border: solid #fff; border-width: 0 0 1.7px 1.7px; transform: rotate(-45deg); }
input[type="checkbox"], input[type="radio"] { accent-color: var(--design-blue); }
.composer-output-options > label:has(input:checked) { border-color: rgb(53 102 240 / 42%); background: var(--design-blue-soft); color: var(--design-blue-ink); box-shadow: 0 4px 16px rgb(53 102 240 / 8%); }
.composer-output-suboptions > label:has(input:checked) { border-color: rgb(53 102 240 / 38%); background: var(--design-blue-soft); color: var(--design-blue-ink); }
.composer-output-options > label:has(input:focus-visible) { outline-color: rgb(53 102 240 / 24%); }
.composer-output-options input,
.composer-output-suboptions input { accent-color: var(--design-blue); }
.composer-output-options > label:has(input:checked) .composer-output-icon { background: var(--design-blue-soft); color: var(--design-blue); }
.composer-output-options > label:has(input:checked) .composer-output-check { background: var(--design-blue); }
body[data-page="index"] .chat-composer .composer-toolbar :is(.composer-icon, .voice-button, .send-button, .chat-stop-button):focus-visible { outline-color: rgb(53 102 240 / 65%); }

/* Shared controls and content surfaces */
.form-control,
.form-select,
input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]),
select,
textarea {
    border-color: var(--design-border-soft);
    border-radius: 12px;
    color: var(--design-ink);
    font-size: 14px;
    line-height: 20px;
}
.form-control:focus,
.form-select:focus,
input:focus,
select:focus,
textarea:focus {
    border-color: rgb(53 102 240 / 55%);
    box-shadow: 0 0 0 3px rgb(53 102 240 / 12%);
}
.chat-composer input,
.chat-composer textarea,
.assistant-composer input,
.assistant-composer textarea { border: 0; border-radius: 0; box-shadow: none; }
.chat-composer input:focus,
.chat-composer textarea:focus,
.assistant-composer input:focus,
.assistant-composer textarea:focus { border: 0; box-shadow: none; outline: 0; }
.form-label { color: var(--design-ink); font-weight: 500; }
.btn,
.business-primary,
.business-light,
.login-button,
.auth-submit,
.guest-signup-button,
.bot-create-trigger {
    min-height: 44px;
    border-radius: var(--design-radius-control);
    font-weight: 500;
}
.btn-primary,
.business-primary,
.auth-submit,
.send-button,
.assistant-send { border-color: var(--design-blue); background-color: var(--design-blue); }
.btn-primary:hover,
.business-primary:hover,
.auth-submit:hover { border-color: #2452d4; background-color: #2452d4; }
.btn-dark,
.guest-signup-button,
.login-button { border-color: var(--design-ink); background: var(--design-ink); color: #fff; }
.btn-outline-secondary,
.btn-light,
.business-light { border-color: var(--design-border); background: #fff; color: var(--design-ink); }
.bot-card,
.bot-settings-card,
.channel-card,
.channel-settings-card,
.people-list-shell,
.people-detail-modal,
.business-card,
.business-directory-card,
.business-directory-category-card,
.business-detail-card,
.business-identity-card,
.business-results-panel,
.business-profile-editor,
.root-panel,
.root-stat-card,
.root-recent-card,
.assistant-settings,
.assistant-chat-panel,
.assistant-result-thread,
.business-review-entry {
    border: 1px solid var(--design-border-soft);
    border-radius: var(--design-radius-card);
    background: #fff;
    box-shadow: none;
}
.payment-card,
.billing-result-card {
    border: 1px solid var(--design-border-soft);
    border-radius: var(--design-radius-dialog);
    background: #fff;
    box-shadow: var(--design-shadow-soft);
}
.payment-brand,
.billing-result-brand { color: var(--design-ink); }
.payment-card h1,
.payment-identity strong { color: var(--design-ink); }
.payment-card p { color: var(--design-secondary); }
.payment-status-mark { border-color: var(--design-border-soft); background: var(--design-blue-soft); color: var(--design-blue); }
.payment-card-status.is-success .payment-status-mark { border-color: rgb(53 102 240 / 20%); background: var(--design-blue-soft); color: var(--design-blue); }
.payment-card-status.is-error .payment-status-mark { border-color: rgb(180 35 24 / 20%); background: #fff5f4; color: var(--design-danger); }
.payment-identity img { border-color: var(--design-border-soft); background: var(--design-subtle); }
.payment-action:focus-visible { outline: 2px solid rgb(53 102 240 / 65%); outline-offset: 3px; }
.payment-amount,
.billing-result-label { color: var(--design-blue); }
body.billing-result-page { background: var(--design-canvas); color: var(--design-ink); font-family: Vazirmatn, Tahoma, Arial, sans-serif; }
.billing-result-meta > div { border-color: var(--design-border-soft); border-radius: 12px; background: var(--design-subtle); }
.billing-result-meta span,
.billing-result-description { color: var(--design-secondary); }
.billing-result-meta strong,
.billing-result-card h1 { color: var(--design-ink); }
.billing-result-icon { border-color: var(--design-border-soft); border-radius: 50%; background: var(--design-blue-soft); color: var(--design-blue); }
.billing-result-icon.success { border-color: rgb(53 102 240 / 20%); background: var(--design-blue-soft); color: var(--design-blue); }
.billing-result-icon.failed { border-color: rgb(180 35 24 / 20%); background: #fff5f4; color: var(--design-danger); }
.billing-result-icon .sprite-icon { width: 24px; height: 24px; }
.billing-result-icon.failed .sprite-icon { color: var(--design-danger); }
.billing-result-icon.failed + .billing-result-label { color: var(--design-danger); }
.payment-action,
.billing-result-button {
    min-height: 44px;
    border-color: var(--design-blue);
    border-radius: var(--design-radius-control);
    background: var(--design-blue);
    color: #fff;
}
.payment-action:hover,
.billing-result-button:hover { border-color: #2452d4; background: #2452d4; color: #fff; }
.modal-content,
.confirm-modal-box,
.bot-delete-modal,
.bot-unsaved-modal,
.bot-button-sheet-panel,
.people-detail-modal {
    border: 1px solid var(--design-border-soft);
    border-radius: var(--design-radius-dialog);
    background: #fff;
    box-shadow: var(--design-shadow-dialog);
}
.modal-backdrop.show { opacity: .45; }
.auth-box,
.account-modal .modal-content,
.confirm-modal-box { border-color: var(--design-border-soft); border-radius: var(--design-radius-dialog); box-shadow: var(--design-shadow-dialog); }
.auth-box { background: #fff; }
.auth-modal-backdrop,
.confirm-modal-backdrop { background: rgb(0 0 0 / 45%); backdrop-filter: blur(2px); }
.auth-step h2,
.account-modal .account-panel-heading h3,
.confirm-modal-box h2 { color: var(--design-ink); font-weight: 500; }
.auth-subtitle,
.auth-hint,
.confirm-modal-box p { color: var(--design-secondary); }
.auth-step label { color: var(--design-ink); font-weight: 500; }
.auth-input-wrap { border-color: var(--design-border-soft); border-radius: 12px; }
.auth-input-wrap:focus-within { border-color: rgb(53 102 240 / 55%); box-shadow: 0 0 0 3px rgb(53 102 240 / 12%); }
.auth-submit { min-height: 44px; border-radius: var(--design-radius-control); background: var(--design-ink); }
.auth-submit:hover { background: #262626; }
.auth-close { width: 44px; height: 44px; color: var(--design-secondary); }
.auth-close:hover { background: var(--design-subtle); }
.dropdown-menu,
.agent-tools-menu,
.bot-more-menu {
    border: 1px solid var(--design-border-soft);
    border-radius: var(--design-radius-menu);
    background: #fff;
    box-shadow: var(--design-shadow-float);
}
.alert { border-radius: 12px; }
.badge,
.status-pill,
.bot-status,
.channel-settings-badge,
.people-platform-chip { border-radius: var(--design-radius-control); }
.page-link { color: var(--design-blue); border-color: var(--design-border-soft); }
.page-item.active .page-link { border-color: var(--design-blue); background: var(--design-blue); }
button:disabled,
.btn:disabled,
input:disabled,
select:disabled { cursor: not-allowed; }
table { --bs-table-border-color: var(--design-border-soft); }
th { color: var(--design-secondary); font-weight: 500; }

/* Account, subscription and shared management pages */
.account-page-content,
.account-settings-page,
.root-dashboard,
.bots-page-content,
.bot-workspace,
.channel-workspace,
.people-page { color: var(--design-ink); }
body[data-page="account-bots"],
body[data-page="account-bot-members"],
body[data-page="account-channels"] {
    --management-accent: var(--design-blue);
    --management-accent-hover: #2452d4;
    --management-ink: var(--design-ink);
    --management-muted: var(--design-secondary);
    --management-line: var(--design-border-soft);
    --management-canvas: var(--design-canvas);
    --management-soft: var(--design-subtle);
    --management-radius: 16px;
    --management-shadow: var(--design-shadow-soft);
}
.account-settings-page-inner,
.account-page-content,
.root-dashboard { max-width: 1120px; }
.account-settings-page-heading h1,
.account-page-heading h1,
.bot-heading-copy h1,
.root-card-heading h2,
.channel-workspace-heading h1,
.members-overview h1 { color: var(--design-ink); font-size: 24px; line-height: 1.3; font-weight: 500; }
.account-settings-page-heading p,
.account-page-heading p,
.bot-heading-copy p,
.members-overview-copy p { color: var(--design-secondary); }
.account-nav-inline-icon,
.management-network-icon { color: var(--design-blue); }
.management-tabs,
.management-tabs .management-tab,
.people-tabs,
.channel-detail-tabs,
.business-directory-tabs { border-radius: var(--design-radius-control); }
.management-tabs { border: 1px solid var(--design-border-soft); background: rgb(255 255 255 / 96%); box-shadow: var(--design-shadow-soft); }
.management-tab.is-active,
.people-tabs .active { background: #fff; color: var(--design-ink); box-shadow: var(--design-shadow-soft); }
.management-tab.is-active,
.people-tabs .active { background: #fff; color: var(--design-ink); box-shadow: var(--design-shadow-soft); }
.channel-detail-tab.active { background: #fff; color: var(--design-ink); box-shadow: var(--design-shadow-soft); }
.management-tab,
.plans-tab { min-height: 44px; border-radius: var(--design-radius-control); }
.bots-grid,
.channel-list-grid,
.business-directory-grid { gap: 16px; }
.bot-card,
.channel-card { padding: 18px; }
.bot-card:hover,
.channel-card:hover,
.business-directory-card:hover,
.business-card:hover { border-color: rgb(13 13 13 / 18%); box-shadow: var(--design-shadow-soft); }
.bot-identity-avatar,
.bot-profile-avatar,
.channel-profile-avatar,
.people-avatar,
.people-bot-avatar { border-radius: 50%; }
.bot-panel-section,
.bot-standard-panel,
.bot-ai-section,
.bot-quick-card,
.bot-button-type-card,
.bot-button-parent-option,
.bot-button-child-option,
.channel-settings-panel,
.channel-workspace-body,
.people-members-shell,
.admin-assistant-panel,
.admin-command-empty,
.member-message-composer,
.people-detail-fields,
.people-history-list,
.members-overview,
.members-overview-export,
.business-profile-form { border-radius: var(--design-radius-card); }
.bot-panel-heading,
.bot-panel-section h2,
.bot-ai-section-heading,
.channel-settings-card-heading { color: var(--design-ink); }
.bot-setting-toggle-track,
.bot-button-active-track { background-color: var(--design-subtle); }
.bot-setting-toggle.is-active .bot-setting-toggle-track,
.bot-button-active.is-active .bot-button-active-track,
.channel-setting-toggle.is-active .bot-setting-toggle-track { background-color: var(--design-blue); }
.w3m-editor-ai-toggle,
.w3m-editor-ai-actions button:first-child { border-color: var(--design-blue); background: var(--design-blue); color: #fff; box-shadow: none; }
.w3m-editor-ai-toggle:hover,
.w3m-editor-ai-actions button:first-child:hover { border-color: #2452d4; background: #2452d4; }
.account-settings-page .account-quick-actions .btn-outline-primary:hover { border-color: var(--design-border); background: var(--design-subtle); color: var(--design-ink); }
.message-content .chat-subscription-cta,
.chat-subscription-cta { border-color: var(--design-blue); background: var(--design-blue); color: #fff; }
.chat-subscription-cta:hover { border-color: #2452d4; background: #2452d4; color: #fff; }
.account-empty-state { border: 1px solid var(--design-border-soft); border-radius: var(--design-radius-card); background: #fff; }
.account-settings-page .account-unified-panel,
.account-settings-page .account-unified-panel.account-content-panel { border-color: var(--design-border-soft); border-radius: 16px; background: #fff; box-shadow: none; }
.account-settings-page .account-profile { border-color: var(--design-border-soft); background: #fff; box-shadow: none; }
.account-settings-page .account-unified-profile { border-bottom-color: var(--design-border-soft); background: #fff; }
.account-settings-page .account-avatar { border-color: var(--design-border-soft); background: var(--design-subtle); box-shadow: none; }
.account-settings-page #profileAvatarFallback { color: var(--design-secondary); }
.account-settings-page .account-avatar:has(#profileAvatarFallback:not(.d-none)) { background: var(--design-subtle); color: var(--design-secondary); }
.account-settings-page .account-avatar:has(#profileAvatarFallback:not(.d-none)) #profileAvatarFallback { color: var(--design-secondary); }
.account-settings-page .account-unified-identity h2 { color: var(--design-ink); font-weight: 500; }
.account-settings-page .account-unified-identity .account-phone { color: var(--design-secondary); }
.account-settings-page .account-avatar-upload .btn { min-height: 44px; border-color: var(--design-border-soft); border-radius: var(--design-radius-control); background: #fff; color: var(--design-ink); }
.account-settings-page .account-avatar-upload .btn:hover { border-color: var(--design-border); background: var(--design-subtle); color: var(--design-ink); }
.account-settings-page .account-summary-card {
    min-height: 112px;
    padding: 16px;
    border-color: var(--design-border-soft);
    border-radius: 14px;
    background: #fff;
    box-shadow: none;
}
.account-settings-page .billing-summary.account-summary-grid > .account-summary-card { min-height: 112px; border-color: var(--design-border-soft); background: #fff; box-shadow: none; }
.account-settings-page .account-summary-card .account-summary-icon { border-radius: 10px; background: var(--design-subtle); color: var(--design-blue); }
.account-settings-page .account-summary-label { color: var(--design-secondary); font-size: 12px; }
.account-settings-page .account-summary-card strong { color: var(--design-ink); font-size: 17px; font-weight: 600; }
.account-settings-page .account-summary-card small { color: var(--design-secondary); font-size: 11px; }
.account-settings-page .account-section-heading .account-section-icon { background: var(--design-subtle); color: var(--design-blue); }
.account-settings-page .account-panel-heading h3 { color: var(--design-ink); font-weight: 500; }
.account-settings-page .profile-image-box,
.account-settings-page .credit-topup-box { border-color: var(--design-border-soft); border-radius: 14px; background: var(--design-subtle); box-shadow: none; }
.account-settings-page .profile-image-mark { border-color: var(--design-border-soft); border-radius: 11px; background: var(--design-blue-soft); color: var(--design-blue); }
.account-settings-page .profile-image-box #profileImageStatus { color: var(--design-secondary); }
.account-settings-page input:focus,
.account-settings-page select:focus,
.account-settings-page textarea:focus { border-color: rgb(53 102 240 / 55%); box-shadow: 0 0 0 3px rgb(53 102 240 / 12%); }
.account-settings-page .account-page-nav { border-color: var(--design-border-soft); }
.account-settings-page .account-nav-item { min-height: 44px; border-radius: 12px; color: var(--design-secondary); }
.account-settings-page .account-nav-item:hover,
.account-settings-page .account-nav-item.active { border-color: transparent; background: var(--design-subtle); color: var(--design-ink); }
.account-settings-page .account-nav-item.active { font-weight: 600; }
.account-settings-page .account-nav-icon-badge,
.account-settings-page .account-nav-icon-badge.is-account,
.account-settings-page .account-nav-icon-badge.is-credit,
.account-settings-page .account-nav-icon-badge.is-subscription,
.account-settings-page .account-nav-icon-badge.is-bots,
.account-settings-page .account-nav-icon-badge.is-members,
.account-settings-page .account-nav-icon-badge.is-channels,
.account-settings-page .account-nav-icon-badge.is-logout { border-color: var(--design-border-soft); border-radius: 9px; background: var(--design-subtle); color: var(--design-blue); box-shadow: none; }
.account-settings-page :is(.account-nav-icon-badge .sprite-icon, .account-summary-icon svg, .account-section-icon svg, .account-panel-heading .sprite-icon) { width: 20px; height: 20px; }
.account-settings-page .account-panel-heading .sprite-icon,
.account-modal .account-panel-heading .sprite-icon { color: var(--design-blue); }
@media (max-width: 767.98px) {
    .account-settings-page .account-page-nav { border: 1px solid var(--design-border-soft); border-radius: var(--design-radius-control); background: #fff; box-shadow: var(--design-shadow-soft); }
    .account-settings-page .account-nav-item { min-height: 44px; border-radius: var(--design-radius-control); }
    .account-settings-page .account-nav-item.active { background: var(--design-subtle); color: var(--design-ink); box-shadow: none; }
}
.account-settings-page-heading,
.account-settings-page-heading > div { text-align: start; }
.account-settings-page-heading h1 { color: var(--design-ink); font-size: 24px; font-weight: 400; }
.account-settings-page-heading p { color: var(--design-secondary); }
.account-settings-page .account-unified-profile { min-height: 0; flex-direction: row; justify-content: flex-start; gap: 16px; padding: 18px 20px !important; border-bottom: 1px solid var(--design-border-soft); background: #fff; text-align: start; }
.account-settings-page .account-avatar-wrap,
.account-settings-page .account-unified-profile .account-avatar { width: 60px; height: 60px; flex-basis: 60px; }
.account-settings-page .account-unified-profile .account-avatar { border: 1px solid var(--design-border-soft); box-shadow: none; }
.account-settings-page .account-unified-identity { align-items: flex-start; }
.account-settings-page .account-unified-identity h2 { font-size: 18px; }
.account-settings-page .billing-summary.account-summary-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; margin: 18px 20px; padding: 0; overflow: hidden; border: 1px solid var(--design-border-soft); border-radius: var(--design-radius-card); background: #fff; }
.account-settings-page .billing-summary.account-summary-grid > .account-summary-card { display: grid; grid-template-columns: 36px minmax(0, 1fr); grid-template-rows: auto auto auto; align-content: center; align-items: center; justify-items: stretch; gap: 2px 12px; min-height: 76px; padding: 12px 16px; border: 0; border-bottom: 1px solid var(--design-border-soft); border-radius: 0; background: #fff; box-shadow: none; text-align: start; transition: background-color .15s ease; }
.account-settings-page .billing-summary.account-summary-grid > .account-summary-card:last-child { border-bottom: 0; }
.account-settings-page .billing-summary.account-summary-grid > .account-summary-card:hover { transform: none; background: var(--design-subtle); box-shadow: none; }
.account-settings-page .billing-summary.account-summary-grid .account-summary-icon { grid-column: 1; grid-row: 1 / span 3; width: 36px; height: 36px; border: 0; border-radius: 10px; background: var(--design-subtle); color: var(--design-blue); }
.account-settings-page .billing-summary.account-summary-grid .account-summary-icon svg { width: 19px; height: 19px; }
.account-settings-page .billing-summary.account-summary-grid .account-summary-label { grid-column: 2; grid-row: 1; font-size: 12px; font-weight: 400; }
.account-settings-page .billing-summary.account-summary-grid strong { grid-column: 2; grid-row: 2; font-size: 16px; font-weight: 500; line-height: 1.5; }
.account-settings-page .billing-summary.account-summary-grid small { grid-column: 2; grid-row: 3; font-size: 11px; }
.account-settings-page .account-billing-section { margin: 0 20px 20px; padding-top: 18px; }
.account-settings-page .account-section-heading { gap: 10px; }
.account-settings-page .account-section-heading .account-section-icon { width: 36px; height: 36px; flex-basis: 36px; border-radius: 10px; background: var(--design-subtle); color: var(--design-blue); }
body[data-page="account-bots"] .bot-platform-choice:has(input:checked) { border-color: rgb(53 102 240 / 55%); background: var(--design-blue-soft); box-shadow: inset 0 0 0 1px rgb(53 102 240 / 45%); }
body[data-page="account-bots"] .bot-platform-choice:has(input:focus-visible) { outline-color: rgb(53 102 240 / 60%); }
body[data-page="account-bots"] .bot-empty-create,
body[data-page="account-bots"] #botCreateModal .modal-footer .business-primary { border-color: var(--design-blue); background: var(--design-blue); color: #fff; }
body[data-page="account-bots"] .bot-empty-create:hover,
body[data-page="account-bots"] #botCreateModal .modal-footer .business-primary:hover { border-color: #2452d4; background: #2452d4; }
body[data-page="account-bots"] .bot-card h2,
body[data-page="account-bot-members"] .people-detail-modal .modal-title { color: var(--design-ink); }
body[data-page="account-bot"] .bot-workspace .bot-setting-toggle input:checked + .bot-setting-toggle-track { background: var(--design-blue); }
body[data-page="account-bot"] .bot-workspace input[type="checkbox"] { accent-color: var(--design-blue); }
body[data-page="account-bot"] .bot-workspace .bot-file-input:focus-visible + .bot-file-picker { outline-color: rgb(53 102 240 / 65%); }
body[data-page="account-channels"] .channel-settings-group h3 { color: var(--design-ink); border-bottom-color: var(--design-border-soft); }
body[data-page="account-channels"] .channel-settings-group input[type="checkbox"]:checked { background-color: var(--design-blue); border-color: var(--design-blue); }
body[data-page="account-channels"] .channel-settings-group input:focus-visible,
body[data-page="account-channels"] button:focus-visible { outline-color: rgb(53 102 240 / 65%); }
body[data-page="account-channels"] .business-primary { background: var(--design-blue); border-color: var(--design-blue); }
body[data-page="account-channels"] .business-primary:hover { background: #2452d4; border-color: #2452d4; }
.bot-workspace {
    --bw-bg: var(--design-canvas);
    --bw-card: var(--design-surface);
    --bw-line: var(--design-border-soft);
    --bw-ink: var(--design-ink);
    --bw-muted: var(--design-secondary);
    --bw-blue: var(--design-blue);
    color: var(--design-ink);
}
.bot-workspace .bot-identity-avatar { background: var(--design-blue-soft); color: var(--design-blue); }
.bot-workspace .bot-identity-username { color: var(--design-secondary); }
.bot-workspace .bot-status-select-wrap { min-height: 44px; height: 44px; border-color: var(--design-border-soft); border-radius: 12px; box-shadow: none; color: var(--design-secondary); }
.bot-workspace .bot-status-select-wrap:focus-within { border-color: rgb(53 102 240 / 55%); box-shadow: 0 0 0 3px rgb(53 102 240 / 12%); }
.bot-workspace .bot-status-select-wrap select { font-size: 14px; font-weight: 400; }
.bot-workspace .bot-status-select-wrap > svg { width: 16px; height: 16px; color: var(--design-secondary); }
.bot-workspace .bot-quick-card { border-color: var(--design-border-soft); border-radius: var(--design-radius-card); background: var(--design-blue-soft); }
.bot-workspace .bot-status-control[data-state="active"] .bot-status-select-wrap { border-color: rgb(53 102 240 / 35%); background: var(--design-blue-soft); color: var(--design-blue-ink); }
.bot-workspace .bot-status-control[data-state="active"] .bot-status-dot { background: var(--design-blue); box-shadow: 0 0 0 3px rgb(53 102 240 / 12%); }
.bot-workspace .bot-status-switch input:checked + .bot-status-switch-track,
.bot-workspace .bot-button-setting-switch input[type="checkbox"]:checked { background: var(--design-blue); }
.bot-workspace .bot-status-switch input:checked ~ .bot-status-switch-label { color: var(--design-blue); }
.bot-workspace .bot-status-switch input:focus-visible + .bot-status-switch-track,
.bot-workspace .bot-button-setting-switch input[type="checkbox"]:focus-visible { outline-color: rgb(53 102 240 / 65%); }
.bot-workspace .bot-ai-section-icon,
.bot-workspace .bot-button-type-icon,
.bot-workspace .bot-media-document { border-color: var(--design-border-soft); border-radius: 10px; background: var(--design-subtle); color: var(--design-blue); box-shadow: none; }
.bot-workspace .bot-ai-section-heading,
.bot-workspace .bot-panel-heading,
.bot-workspace .bot-button-chosen-type { color: var(--design-ink); }
.bot-workspace .bot-button-type-card:hover,
.bot-workspace .bot-button-type-card[aria-pressed="true"] { border-color: rgb(53 102 240 / 45%); background: var(--design-blue-soft); box-shadow: none; }
.bot-workspace .bot-button-type-card:focus-visible,
.bot-workspace .bot-button-type-back:focus-visible,
.bot-workspace .bot-media-picker:focus-within { outline-color: rgb(53 102 240 / 65%); }
.bot-workspace .bot-media-picker,
.bot-workspace .bot-button-sheet-panel > header button { min-height: 44px; border-color: var(--design-border-soft); border-radius: var(--design-radius-control); background: #fff; color: var(--design-ink); }
.bot-workspace .bot-button-sheet-panel > header button.btn-close { display: grid; width: 44px; min-width: 44px; height: 44px; min-height: 44px; flex: 0 0 44px; place-items: center; padding: 0; border-radius: 50%; }
.bot-workspace .bot-button-sheet-panel > header button.btn-close:hover { background-color: var(--design-subtle); }
.bot-workspace .bot-media-remove { min-height: 44px; border-radius: var(--design-radius-control); }
.bot-workspace .bot-button-sheet-panel { border-color: var(--design-border-soft); border-radius: var(--design-radius-dialog) var(--design-radius-dialog) 0 0; box-shadow: 0 18px 60px rgb(0 0 0 / 14%); }
.bot-workspace .bot-button-preview { border-color: var(--design-border); border-radius: 14px; background: var(--design-canvas); }
.bot-workspace .bot-button-preview .bot-preview-button,
.bot-workspace .bot-button-preview .bot-preview-back { min-height: 44px; border-color: var(--design-border-soft); border-radius: var(--design-radius-control); background: #fff; color: var(--design-ink); }
.account-unified-panel { padding: 24px; }
.account-unified-profile { gap: 16px; }
.account-avatar { width: 76px; height: 76px; border: 1px solid var(--design-border-soft); background: var(--design-subtle); }
.account-summary-grid { gap: 12px; }
.account-summary-card {
    min-height: 104px;
    padding: 16px;
    border: 1px solid var(--design-border-soft);
    border-radius: 14px;
    background: #fff;
}
.account-summary-card .account-summary-label { color: var(--design-secondary); font-size: 12px; }
.account-summary-card strong { color: var(--design-ink); font-size: 18px; }
.account-summary-card small { color: var(--design-secondary); font-size: 11px; }
.account-billing-section { padding-top: 22px; border-top-color: var(--design-border-soft); }
.account-section-heading h3,
.account-section-heading h4,
.account-topup-copy h4,
.account-invoices-heading h4 { color: var(--design-ink); font-weight: 500; }
.account-plan-callout,
.account-subscription-active-note,
.account-topup-section { border-color: var(--design-border-soft); border-radius: 14px; background: var(--design-subtle); color: var(--design-ink); box-shadow: none; }
.account-profile-logout { border-radius: var(--design-radius-control); }
.account-settings-page .account-profile-logout { min-height: 48px; font-size: 14px; font-weight: 400; }
.account-settings-page .account-profile-logout .sprite-icon { width: 18px; height: 18px; }
.account-settings-page .account-profile-logout { border-color: var(--design-border-soft); background: #fff; color: var(--design-secondary); }
.account-settings-page .account-profile-logout:hover { border-color: var(--design-border); background: var(--design-subtle); color: var(--design-ink); }
.account-settings-page .account-profile-logout:focus-visible { outline: 2px solid rgb(53 102 240 / 65%); outline-offset: 2px; }
.confirm-modal-actions #confirmLogoutButton { border-color: var(--design-blue); background: var(--design-blue); color: #fff; }
.confirm-modal-actions #confirmLogoutButton:hover { border-color: #2452d4; background: #2452d4; }
.account-modal .account-settings-nav { border-color: var(--design-border-soft); border-radius: var(--design-radius-control); box-shadow: var(--design-shadow-soft); }
.account-modal .account-nav-item { min-height: 44px; border-radius: 12px; color: var(--design-secondary); }
.account-modal .account-nav-item:hover,
.account-modal .account-nav-item.active { background: var(--design-subtle); color: var(--design-ink); }
.account-modal .billing-plan-card.is-recommended { border-color: var(--design-blue); background: var(--design-blue-soft); box-shadow: var(--design-shadow-soft); }
.account-modal .billing-plan-card.is-current { border-color: var(--design-border); }
.account-settings-page .billing-plan-card.is-recommended { border-color: var(--design-blue); background: var(--design-blue-soft); }
.account-modal .billing-plan-action { min-height: 44px; border-radius: var(--design-radius-control); }
.account-settings-page .billing-plan-action { min-height: 44px; border-radius: var(--design-radius-control); }
.billing-plan-card,
.plan-card,
.plans-card,
.plans-panel { border: 1px solid var(--design-border-soft); border-radius: 16px; background: #fff; box-shadow: none; }
.billing-plan-card:hover,
.plan-card:hover,
.plans-card:hover { transform: translateY(-1px); box-shadow: var(--design-shadow-soft); }
.billing-plan-card.is-recommended,
.plan-card.is-recommended,
.plans-card.is-recommended { border-color: var(--design-blue); background: var(--design-blue-soft); }
.plans-tab { border-color: transparent; background: transparent; color: var(--design-secondary); }
.plans-tab.is-active { border-color: var(--design-border-soft); background: #fff; box-shadow: var(--design-shadow-soft); color: var(--design-ink); }
.plans-page-header h1 { color: var(--design-ink); font-size: 24px; font-weight: 500; }
.plans-page-eyebrow { color: var(--design-secondary); }
.plans-card.is-featured { border-color: var(--design-blue); background: var(--design-blue-soft); box-shadow: none; }
.plans-card.is-current { border-color: var(--design-blue); box-shadow: inset 0 0 0 1px rgb(53 102 240 / 30%); }
.plans-current-badge { border-color: rgb(53 102 240 / 20%); background: var(--design-blue-soft); color: var(--design-blue-ink); }
.plans-cycle-toggle button { min-height: 36px; }
.plans-buy-button { min-height: 44px; border-color: var(--design-blue); background: var(--design-blue); }
.plans-buy-button:hover:not(:disabled) { border-color: #2452d4; background: #2452d4; }
.plans-feature-list svg { stroke: var(--design-blue); }
.plans-page-footer a { color: var(--design-blue); }
.plans-card.is-featured { border-color: rgb(53 102 240 / 40%); background: var(--design-blue-soft); box-shadow: none; }
.plans-page,
body[data-page="subscription-plans"] .chat-main { background: var(--design-canvas); color: var(--design-ink); }
.plans-card.is-featured,
.plans-card.is-recommended { border-color: rgb(53 102 240 / 40%); background: var(--design-blue-soft); box-shadow: none; }
.billing-plan-card.is-recommended,
.plan-card.is-recommended { background: var(--design-blue-soft); }
.account-modal .billing-plan-card.is-recommended { background: var(--design-blue-soft); }
.plans-card-heading h2 { color: var(--design-ink); font-weight: 500; }
.plans-card-description,
.plans-feature-list,
.plans-cycle-toggle button { color: var(--design-secondary); }
.plans-current-badge { border-color: rgb(53 102 240 / 20%); background: var(--design-blue-soft); color: var(--design-blue-ink); }
.plans-cycle-toggle { border-color: var(--design-border-soft); background: var(--design-subtle); }
.plans-cycle-toggle button.is-active { color: var(--design-ink); }
.plans-cycle-toggle button { min-height: 40px; }
.plans-buy-button { min-height: 44px; border-color: var(--design-blue); background: var(--design-blue); }
.plans-buy-button:hover:not(:disabled) { border-color: #2452d4; background: #2452d4; }
.all-members-table,
.bot-members-table,
.root-table { border-color: var(--design-border-soft); }
.all-members-table th,
.bot-members-table th { color: var(--design-secondary); font-weight: 500; }
.member-message-composer,
.assistant-composer-bar,
.admin-command-composer { border-color: var(--design-border-soft); border-radius: 20px; background: #fff; box-shadow: var(--design-shadow-soft); }
.w3m-editor-canvas,
.w3m-message-editor,
.note-editor { border-color: var(--design-border-soft); border-radius: 14px; background: #fff; }

/* Business directory and profiles */
.business-layout .chat-main,
body[data-page="admin"] .chat-main { background: var(--design-canvas); }
.assistant-workspace { background: var(--design-canvas); color: var(--design-ink); }
.assistant-chat-intro,
.assistant-chat-intro strong { color: var(--design-ink); }
.assistant-chat-intro p,
.assistant-composer-hint { color: var(--design-secondary); }
.assistant-mark,
.assistant-avatar { border-color: var(--design-border-soft); background: #fff; color: var(--design-blue); box-shadow: none; }
.assistant-bubble-user { border-color: transparent; border-radius: var(--design-radius-bubble); background: var(--design-blue-soft); color: var(--design-blue-ink); box-shadow: none; }
.assistant-bubble-answer { border: 0; background: transparent; color: var(--design-ink); box-shadow: none; }
.assistant-composer,
.assistant-composer-bar { border-color: var(--design-border-soft); border-radius: 999px; background: #fff; box-shadow: var(--design-shadow-soft); }
.assistant-chat-panel,
.business-results-panel,
.business-detail-chat { border-color: var(--design-border-soft); border-radius: 16px; background: #fff; box-shadow: none; }
.business-content-head h1,
.business-profile-card h1,
.business-detail-card h2,
.business-content-head h2 { color: var(--design-ink); }
.business-content-head p,
.business-profile-card p,
.business-detail-card small { color: var(--design-secondary); }
.business-export,
.detail-breadcrumb a,
.profile-meta a,
.knowledge-link,
.knowledge-number > b,
.service-card > span,
.contact-list div > span,
.source-row > span,
.business-search .sprite-icon { color: var(--design-blue); }
.profile-avatar,
.detail-avatar { border-radius: 50%; background: var(--design-blue-soft); color: var(--design-blue); }
.business-topbar { height: 61px; padding-inline: 24px; border-bottom: 1px solid var(--design-border-soft); background: #fff; }
.business-topbar h1 { color: var(--design-ink); font-size: 16px; font-weight: 500; }
.business-sidebar { width: 260px; background: var(--design-canvas); border-color: var(--design-border-soft); }
.business-nav { min-height: 44px; border-radius: 12px; color: var(--design-secondary); font-size: 14px; }
.business-nav:hover,
.business-nav.active { background: var(--design-subtle); color: var(--design-ink); font-weight: 500; }
.business-table-card,
.simple-business-card,
.business-profile-card,
.detail-card,
.metric-card { border-color: var(--design-border-soft); border-radius: 16px; background: #fff; box-shadow: none; }
.business-toolbar button,
.business-toolbar select,
.business-search input,
.simple-table-footer button { border-color: var(--design-border-soft); border-radius: 12px; }
.simple-table-footer button.current { border-color: var(--design-blue); background: var(--design-blue); }
.business-directory-hero,
.business-category-heading,
.business-profile-hero { color: var(--design-ink); }
.business-directory-hero h1,
.business-category-title,
.business-identity-title { color: var(--design-ink); font-weight: 500; }
.business-directory-kicker,
.business-category-eyebrow,
.business-feedback-eyebrow { color: var(--design-secondary); }
.business-directory-search,
.business-search-results,
.business-prompt-panel,
.business-review-form,
.business-review-login,
.business-review-ai,
.business-detail-chat { border: 1px solid var(--design-border-soft); border-radius: 20px; background: #fff; box-shadow: none; }
.business-directory-search input,
.business-prompt-panel textarea { border: 0; border-radius: 14px; box-shadow: none; }
.business-directory-search:focus-within,
.business-prompt-panel:focus-within { border-color: rgb(13 13 13 / 20%); box-shadow: 0 3px 14px rgb(0 0 0 / 5%); }
.business-directory-category-item,
.business-category-row,
.business-main-category-chips > *,
.business-category-children a { border-radius: var(--design-radius-control); }
.business-directory-promo { border-radius: 20px; box-shadow: none; }
.business-chat-page.business-content .business-directory-promo:focus-visible { outline: 2px solid rgb(53 102 240 / 65%); outline-offset: 3px; }
.business-chat-page #businessCategoryList.business-directory-category-card { border-color: var(--design-border-soft); border-radius: var(--design-radius-card); background: #fff; box-shadow: none; }
.business-chat-page .business-directory-category-card { border-color: var(--design-border-soft); border-radius: var(--design-radius-card); background: #fff; box-shadow: none; }
.business-chat-page .business-directory-search { min-height: 52px; border-color: var(--design-border-soft); border-radius: var(--design-radius-control); background: #fff; box-shadow: var(--design-shadow-soft); }
.business-chat-page .business-directory-search:focus-within { border-color: rgb(13 13 13 / 20%); box-shadow: 0 3px 14px rgb(0 0 0 / 5%); }
.business-chat-page .business-directory-filters > summary { width: 44px; height: 44px; border-radius: 50%; color: var(--design-secondary); }
.business-chat-page .business-directory-filters > summary:hover,
.business-chat-page .business-directory-filters[open] > summary { background: var(--design-subtle); color: var(--design-ink); }
.business-chat-page .business-directory-submit { min-height: 44px; border-radius: var(--design-radius-control); background: var(--design-blue); color: #fff; }
.business-chat-page .business-directory-submit:hover { background: #2452d4; }
.business-chat-page .business-directory-submit b { width: 24px; height: 24px; border-radius: 50%; background: #fff; color: var(--design-blue); }
.business-chat-page .business-directory-category-heading h3,
.business-chat-page .business-directory-category-heading h3 a { color: var(--design-ink); font-weight: 500; }
.business-chat-page .business-directory-category-heading h3 a:hover,
.business-chat-page .business-search-result-title:hover { color: var(--design-blue); }
.business-chat-page .business-directory-category-heading p { color: var(--design-secondary); }
.business-chat-page .business-directory-category-businesses .business-search-result { border-color: var(--design-border-soft); background: #fff; }
.business-chat-page .business-directory-category-businesses .business-search-result:hover { background: var(--design-subtle); }
.business-chat-page .business-search-result-title { color: var(--design-ink); font-weight: 500; }
.business-chat-page .business-search-result-copy > p,
.business-chat-page .business-search-result-domain,
.business-chat-page .business-search-result-facts > span,
.business-chat-page .business-search-result-facts > a { color: var(--design-secondary); }
.business-chat-page .business-search-result-facts svg { stroke: var(--design-blue); }
.business-chat-page .business-search-result-arrow { border-color: var(--design-border-soft); color: var(--design-secondary); }
.business-chat-page .business-search-result-arrow:hover { background: var(--design-subtle); color: var(--design-blue); }
.business-chat-page .business-search-result-arrow { width: 44px; height: 44px; }
.business-chat-page .business-recent-shortcut { border-radius: 14px; color: var(--design-secondary); }
.business-chat-page .business-recent-shortcut:hover,
.business-chat-page .business-recent-shortcut:focus-visible { transform: none; border-color: var(--design-border-soft); background: var(--design-subtle); color: var(--design-ink); }
.business-chat-page .business-recent-shortcut-logo { border-color: var(--design-border-soft); border-radius: 14px; box-shadow: none; }
.business-chat-page.business-content .business-directory-promo-action { min-height: 44px; border-color: var(--design-blue); border-radius: var(--design-radius-control); background: var(--design-blue); font-weight: 500; }
.business-chat-page.business-content .business-directory-promo-action:hover { background: #2452d4; }
.business-chat-page #businessCategoryList .business-directory-section-head h2 { color: var(--design-ink); font-weight: 500; }
.business-chat-page #businessCategoryList .business-directory-section-head p,
.business-chat-page #businessCategoryList .business-directory-section-head > span { color: var(--design-secondary); }
.business-chat-page #businessCategoryList .business-directory-section-head > span { border-color: var(--design-border-soft); background: var(--design-subtle); }
.business-chat-page .business-directory-category-item-copy > a { color: var(--design-ink); font-weight: 500; }
.business-chat-page .business-directory-category-item-copy > a:hover { color: var(--design-blue); }
.business-chat-page .business-directory-category-item-copy > a:focus-visible { outline-color: rgb(53 102 240 / 65%); }
.business-chat-page .business-directory-category-logo-link { width: 44px; height: 44px; flex-basis: 44px; border-color: var(--design-border-soft); box-shadow: none; }
.business-chat-page .business-directory-category-logo-link:hover { border-color: var(--design-border); box-shadow: var(--design-shadow-soft); }
.business-chat-page .business-directory-category-logo-link:focus-visible { outline-color: rgb(53 102 240 / 65%); }
.business-identity-cover { border-radius: 22px; }
.business-identity-logo,
.business-directory-card-logo,
.business-result-photo { border-radius: 16px; }
.business-profile-page .business-identity-card,
.business-profile-page .business-feedback { border-color: var(--design-border-soft); border-radius: var(--design-radius-card); background: #fff; box-shadow: none; backdrop-filter: none; }
.business-profile-page .business-identity-cover { background: var(--design-subtle); }
.business-profile-page .business-identity-cover img,
.business-profile-page .business-identity-cover::after { display: none; }
.business-profile-page .business-identity-logo { border: 1px solid var(--design-border-soft); border-radius: 16px; box-shadow: none; transform: none; }
.business-profile-page .business-identity-logo b { color: var(--design-secondary); }
.business-profile-page .business-identity-title h1,
.business-profile-page .business-identity-about h2,
.business-profile-page .business-identity-details h2,
.business-profile-page .business-feedback h2 { color: var(--design-ink); font-weight: 500; }
.business-profile-page .business-identity-categories a,
.business-profile-page .business-identity-rating,
.business-profile-page .business-identity-rating small,
.business-profile-page .business-identity-about p,
.business-profile-page .business-identity-details li,
.business-profile-page .business-identity-details dl,
.business-profile-page .business-feedback > header p,
.business-profile-page .business-review-entry > p { color: var(--design-secondary); }
.business-profile-page .rating-star-icon { display: inline-block; width: 18px; height: 18px; flex: 0 0 auto; fill: currentColor; vertical-align: -3px; }
.business-profile-page .business-identity-rating .rating-star-icon.is-empty { fill: none; stroke: currentColor; stroke-width: 1.8; }
.business-profile-page .business-review-stars label .rating-star-icon { width: 23px; height: 23px; fill: none; stroke: var(--design-muted); stroke-width: 1.7; transition: fill .15s ease, stroke .15s ease; }
.business-profile-page .business-review-stars label { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 50%; transition: background-color .15s ease, color .15s ease; }
.business-profile-page .business-review-stars label:hover,
.business-profile-page .business-review-stars label:hover ~ label { background: var(--design-blue-soft); }
.business-profile-page .business-review-stars input:checked ~ label .rating-star-icon,
.business-profile-page .business-review-stars label:hover .rating-star-icon,
.business-profile-page .business-review-stars label:hover ~ label .rating-star-icon { fill: var(--design-blue); stroke: var(--design-blue); }
.business-profile-page .business-review-score .rating-star-icon { width: 14px; height: 14px; vertical-align: -2px; }
.business-profile-page .business-identity-rating .rating-star-icon,
.business-profile-page .business-review-score .rating-star-icon { color: var(--design-blue); }
.business-profile-page .business-review-stars input:checked ~ label,
.business-profile-page .business-review-stars label:hover,
.business-profile-page .business-review-stars label:hover ~ label { color: var(--design-blue); }
.business-profile-page .business-review-stars input:checked ~ label { background: var(--design-blue-soft); }
.business-profile-page .business-identity-about,
.business-profile-page .business-identity-details,
.business-profile-page .business-review-form,
.business-profile-page .business-review-login,
.business-profile-page .business-review-ai { border: 1px solid var(--design-border-soft); border-radius: 14px; background: var(--design-canvas); box-shadow: none; backdrop-filter: none; }
.business-profile-page .business-identity-contacts > a,
.business-profile-page .business-identity-contacts > div { min-height: 58px; border-color: var(--design-border-soft); border-radius: 12px; background: #fff; box-shadow: none; color: var(--design-ink); backdrop-filter: none; }
.business-profile-page .business-identity-contacts > a:hover { transform: none; border-color: var(--design-border); background: var(--design-subtle); box-shadow: none; }
.business-profile-page .business-contact-icon { width: 36px; height: 36px; flex-basis: 36px; border-radius: 10px; background: var(--design-subtle); color: var(--design-blue); box-shadow: none; }
.business-profile-page .business-contact-icon svg,
.business-profile-page .business-identity-socials svg { width: 20px; height: 20px; }
.business-profile-page .business-identity-socials a { min-height: 44px; align-items: center; border-color: var(--design-border-soft); border-radius: var(--design-radius-control); background: #fff; color: var(--design-secondary); box-shadow: none; }
.business-profile-page .business-identity-socials a:hover { background: var(--design-subtle); color: var(--design-ink); }
.business-profile-page .business-identity-actions { border-color: var(--design-border-soft); }
.business-profile-page .business-identity-actions a,
.business-profile-page .business-review-submit button,
.business-profile-page .business-review-login button { min-height: 44px; border: 1px solid var(--design-blue); border-radius: var(--design-radius-control); background: var(--design-blue); color: #fff; box-shadow: none; font-weight: 500; }
.business-profile-page .business-identity-actions a:hover,
.business-profile-page .business-review-submit button:hover,
.business-profile-page .business-review-login button:hover { background: #2452d4; }
.business-profile-page .business-identity-actions .is-secondary { border-color: var(--design-border-soft); background: #fff; color: var(--design-ink); }
.business-profile-page .business-review-login { color: var(--design-secondary); }
.business-profile-page .business-review-entry { border-color: var(--design-border-soft); }
.business-profile-page #businessReviewStatus.is-pending { color: var(--design-secondary); }
.business-profile-page #businessReviewStatus.is-success { color: var(--design-blue-ink); }
.business-profile-page #businessReviewStatus.is-error { color: var(--design-danger); }
.business-profile-page .business-review-entry > header,
.business-profile-page .business-review-entry > header strong { color: var(--design-secondary); }
.business-profile-page .business-review-score { color: var(--design-blue); }
.business-profile-page .business-review-ai { border-inline-start-color: var(--design-blue); }
.business-profile-page .business-review-ai strong { color: var(--design-blue); }
.business-profile-page input:focus,
.business-profile-page select:focus,
.business-profile-page textarea:focus { border-color: rgb(53 102 240 / 55%); box-shadow: 0 0 0 3px rgb(53 102 240 / 12%); }
.business-profile-page a:focus-visible,
.business-profile-page button:focus-visible,
.business-profile-page textarea:focus-visible { outline-color: rgb(53 102 240 / 65%); }
.business-profile-page .business-review-stars input:focus-visible + label { outline: 2px solid rgb(53 102 240 / 65%); outline-offset: 2px; }
.agent-platform-card { border-color: var(--design-border-soft); border-radius: 14px; background: #fff; }
.agent-platform-card.is-enabled { border-color: rgb(53 102 240 / 45%); background: var(--design-blue-soft); }
.agent-platform-copy strong { color: var(--design-ink); font-weight: 500; }
.agent-platform-copy small,
.agent-platform-status { color: var(--design-secondary); }
.agent-tools-menu > header { font-size: 14px; }
.agent-tools-menu .agent-platform-copy strong { font-size: 14px; line-height: 20px; }
.agent-tools-menu .agent-platform-copy small { font-size: 11px; line-height: 15px; }
.agent-platform-switch[aria-checked="true"],
#agentToolsButton::after { background: var(--design-blue); }
.agent-platform-switch { display: grid; width: 44px; height: 44px; place-items: center; padding: 0; border-radius: 50%; background: transparent; }
.agent-platform-switch::before { position: absolute; width: 40px; height: 24px; border-radius: var(--design-radius-control); background: var(--design-subtle); content: ""; }
.agent-platform-switch span { position: absolute; inset-block-start: 13px; inset-inline-start: 5px; z-index: 1; }
.agent-platform-switch[aria-checked="true"] { background: transparent; }
.agent-platform-switch[aria-checked="true"]::before { background: var(--design-blue); }
.agent-tools-menu > header button { width: 44px; height: 44px; border-radius: 50%; color: var(--design-secondary); }
.agent-tools-menu > header button .sprite-icon { width: 18px; height: 18px; }
.attachment-remove,
.attachment-upload-dismiss { display: inline-grid; place-items: center; width: 44px; min-width: 44px; height: 44px; padding: 0; border: 1px solid var(--design-border-soft); border-radius: 50%; background: #fff; color: var(--design-secondary); cursor: pointer; }
.attachment-remove .sprite-icon,
.attachment-upload-dismiss .sprite-icon { width: 14px; height: 14px; }
.attachment-remove:hover,
.attachment-upload-dismiss:hover { border-color: var(--design-border); background: var(--design-subtle); color: var(--design-ink); }
.attachment-remove:focus-visible,
.attachment-upload-dismiss:focus-visible { outline: 2px solid rgb(53 102 240 / 65%); outline-offset: 2px; }
.bot-workspace .bot-button-sheet-panel > header button.btn-close::before { content: none; }
.bot-workspace .bot-button-sheet-panel > header button.btn-close .sprite-icon { width: 18px; height: 18px; color: var(--design-secondary); }
.agent-platform-switch:focus-visible { outline-color: rgb(53 102 240 / 65%); }
.agent-platform-empty a { color: var(--design-blue); }
.agent-run { border-color: var(--design-border-soft); border-radius: 16px; background: #fff; }
.agent-run button { min-height: 44px; border-color: var(--design-border); border-radius: var(--design-radius-control); }
.card { border-color: var(--design-border-soft); border-radius: var(--design-radius-card); }
.agent-tools-menu { border-color: var(--design-border-soft); border-radius: var(--design-radius-menu); box-shadow: var(--design-shadow-float); }

/* Admin workspace and data-heavy surfaces */
.root-tabs,
.root-tab { border-radius: var(--design-radius-control); }
.root-tab.active { background: var(--design-blue-soft); color: var(--design-blue-ink); }
.root-dashboard {
    --root-ink: var(--design-ink);
    --root-muted: var(--design-secondary);
    --root-line: var(--design-border-soft);
    --root-green: var(--design-blue);
    --root-green-strong: #2452d4;
    --root-green-soft: var(--design-blue-soft);
    background: var(--design-canvas);
}
.root-stat-sparkline polyline { stroke: var(--design-blue); }
.root-dashboard .root-tabs { border-color: var(--design-border-soft); background: #fff; box-shadow: var(--design-shadow-soft); backdrop-filter: none; -webkit-backdrop-filter: none; }
.root-dashboard .root-button { min-height: 44px; border-radius: var(--design-radius-control); font-size: 14px; font-weight: 500; }
.root-dashboard .root-button-small,
.root-dashboard .root-page-controls .root-button { min-height: 44px; }
.root-dashboard .root-filters .form-control,
.root-dashboard .root-filters .form-select { min-height: 44px; border-color: var(--design-border-soft); border-radius: 12px; color: var(--design-ink); font-size: 12px; }
.root-dashboard .root-filters .form-control:focus,
.root-dashboard .root-filters .form-select:focus { border-color: rgb(53 102 240 / 55%); box-shadow: 0 0 0 3px rgb(53 102 240 / 12%); }
.root-dashboard .root-table tbody tr:hover { background: var(--design-subtle); }
.root-dashboard .root-table thead th { background: var(--design-subtle); }
.root-dashboard .root-business-link:hover { color: #2452d4; text-decoration-color: #2452d4; }
.root-dashboard .root-stat-sparkline polyline,
.root-dashboard .root-chart-line { stroke: var(--design-blue); }
.root-dashboard .root-chart-area { fill: var(--design-blue); }
.root-dashboard .root-chart-gridline { stroke: var(--design-border-soft); }
.root-dashboard .root-progress-track { background: var(--design-subtle); }
.root-dashboard .root-progress-track > span,
.root-dashboard .root-progress-track > span.is-green { background: var(--design-blue); }
.root-dashboard .root-dot.green { background: var(--design-blue); }
.root-dashboard .root-dot.amber,
.root-dashboard .root-dot.gray { background: var(--design-muted); }
.root-dashboard .root-badge.is-active,
.root-dashboard .root-badge.is-ready,
.root-dashboard .root-badge.is-invoice-paid,
.root-dashboard .root-badge.is-job-completed,
.root-dashboard .root-badge.is-root { background: var(--design-blue-soft); color: var(--design-blue-ink); }
.root-dashboard .root-badge.is-review,
.root-dashboard .root-badge.is-pending,
.root-dashboard .root-badge.is-crawling,
.root-dashboard .root-badge.is-invoice-pending,
.root-dashboard .root-badge.is-job-processing,
.root-dashboard .root-badge.is-job-awaiting_payment,
.root-dashboard .root-badge.is-inactive,
.root-dashboard .root-badge.is-stale,
.root-dashboard .root-badge.is-invoice-cancelled { background: var(--design-subtle); color: var(--design-secondary); }
.root-dashboard .analytics-list-row,
.root-dashboard .analytics-session-row,
.root-dashboard .root-table > thead > tr > th,
.root-dashboard .root-table > tbody > tr > td { border-color: var(--design-border-soft); color: var(--design-secondary); }
.root-dashboard .analytics-session-row:hover,
.root-dashboard .root-metadata-repair-summary,
.root-dashboard .root-database-version-grid > div,
.root-dashboard .root-database-summary,
.root-dashboard .root-database-json { border-color: var(--design-border-soft); background: var(--design-subtle); color: var(--design-secondary); }
.root-dashboard .root-database-warning { border-color: var(--design-border-soft); background: var(--design-blue-soft); color: var(--design-blue-ink); }
.root-dashboard .analytics-category { color: var(--design-secondary) !important; }
.root-dashboard .root-metadata-progress { accent-color: var(--design-blue); }
.root-dashboard .root-status:not(.is-error) { border-color: rgb(53 102 240 / 20%); background: var(--design-blue-soft); color: var(--design-blue-ink); }
.root-dashboard .root-status.is-error,
.root-dashboard .root-badge.is-failed,
.root-dashboard .root-badge.is-invoice-failed,
.root-dashboard .root-badge.is-job-failed { border-color: rgb(180 35 24 / 20%); background: #fff5f4; color: var(--design-danger); }
.root-dashboard .root-button-danger { border-color: rgb(180 35 24 / 24%); background: #fff5f4; color: var(--design-danger); }
.root-dashboard .root-button-danger:hover:not(:disabled) { border-color: var(--design-danger); background: #feeceb; color: #8f1d14; }
.root-button-primary,
.root-tab.is-active { background: var(--design-blue); color: #fff; }
.root-button-primary:hover:not(:disabled),
.root-tab:hover { background: #2452d4; color: #fff; }
.root-button-outline { border-color: var(--design-border); color: var(--design-blue); }
.root-button-outline:hover:not(:disabled) { border-color: var(--design-blue); background: var(--design-blue-soft); color: var(--design-blue-ink); }
.root-button-quiet { border-color: var(--design-border-soft); color: var(--design-secondary); }
.root-button-quiet:hover:not(:disabled) { border-color: var(--design-border); background: var(--design-subtle); color: var(--design-ink); }
.root-button,
.root-tab,
.root-row-action,
.account-avatar-upload button { min-height: 44px; border-radius: var(--design-radius-control); }
.root-button-small { min-height: 44px; }
.root-tab.is-active { background: #fff; color: var(--design-ink); box-shadow: var(--design-shadow-soft); }
.root-stat-card,
.root-card { border-color: var(--design-border-soft); border-radius: var(--design-radius-card); box-shadow: none; }
.root-stat-value { color: var(--design-ink); }
.root-stat-label,
.root-stat-detail,
.root-metadata-repair-rules { color: var(--design-secondary); }
.root-table { border-color: var(--design-border-soft); }
.root-table thead th { background: var(--design-subtle); }
.root-table tbody tr:hover { background: var(--design-subtle); }
.root-link-button,
.root-row-action { border-radius: var(--design-radius-control); }
.w3m-page-loader { background: var(--design-canvas); color: var(--design-secondary); }
.w3m-loader-spinner { border-color: var(--design-border-soft); border-top-color: var(--design-blue); border-right-color: rgb(53 102 240 / 38%); }
.w3m-loader-caption { color: var(--design-secondary); }

/* Responsive sizing and safe-area treatment */
@media (max-width: 991.98px) {
    .chat-sidebar { width: min(260px, calc(100vw - 48px)); flex-basis: min(260px, calc(100vw - 48px)); background: var(--design-canvas); box-shadow: -12px 0 40px rgb(0 0 0 / 8%); }
    body.sidebar-open .sidebar-backdrop { background: rgb(0 0 0 / 45%); backdrop-filter: blur(2px); }
    .sidebar-header { padding-inline: 16px; }
}
@media (max-width: 767.98px) {
    .topbar { padding-inline: 12px; }
    .topbar-title { font-size: 14px; }
    .chat-content { padding: 20px 12px 28px; }
    .welcome-panel h1,
    .chat-welcome-heading h1 { margin-bottom: 24px; font-size: 23px; }
    .chat-layout.chat-active .message-list { padding: 16px 12px 14px; }
    .chat-layout.chat-active .chat-composer { width: calc(100% - 24px); margin-inline: auto; border-radius: 24px; }
    .chat-layout.chat-active .attachment-tray,
    .chat-layout.chat-active .upload-status { width: calc(100% - 24px); margin-inline: auto; }
    .composer-icon,
    .composer-toolbar .composer-icon { width: 44px; height: 44px; flex-basis: 44px; }
    .send-button,
    .assistant-send { width: 44px; height: 44px; }
    .account-settings-page,
    .account-page-content,
    .bots-page-content,
    .people-page { padding-inline: 14px; }
    .account-settings-page-inner,
    .account-page-content { width: 100%; }
    .bot-card,
    .channel-card { padding: 14px; }
    .business-directory-hero { padding-inline: 14px; }
}

/* Final pass for management navigation and the sticky save action. */
body[data-admin-navigation="1"][data-page] .chat-main nav.management-tabs {
    border-color: var(--design-border-soft);
    background: rgb(255 255 255 / 96%);
    box-shadow: var(--design-shadow-float);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}
body[data-admin-navigation="1"][data-page] .chat-main nav.management-tabs .management-tab {
    color: var(--design-secondary);
    box-shadow: none;
}
body[data-admin-navigation="1"][data-page] .chat-main nav.management-tabs .management-tab:hover {
    background: var(--design-subtle);
    color: var(--design-ink);
}
body[data-admin-navigation="1"][data-page] .chat-main nav.management-tabs .management-tab:focus-visible {
    outline: 2px solid rgb(53 102 240 / 65%);
    outline-offset: 2px;
}
body[data-admin-navigation="1"][data-page] .chat-main nav.management-tabs .management-tab.is-active {
    background: var(--design-subtle);
    color: var(--design-ink);
    box-shadow: none;
}
body[data-admin-navigation="1"][data-page] .chat-main nav.management-tabs .management-tab.is-active .account-nav-inline-icon {
    color: var(--design-blue);
}
@media (max-width: 767.98px) {
    body[data-admin-navigation="1"][data-page] .chat-main nav.management-tabs .management-tab {
        font-size: 12px;
        line-height: 1.35;
    }
}
body[data-page="account-bot"] #botWorkspaceSaveBar > button:not(:disabled) {
    border-color: var(--design-blue);
    background: var(--design-blue);
    color: #fff;
    box-shadow: var(--design-shadow-soft);
}
body[data-page="account-bot"] #botWorkspaceSaveBar > button:not(:disabled):hover {
    border-color: #2452d4;
    background: #2452d4;
}
body[data-page="account-bot"] #botWorkspaceSaveBar > button:disabled {
    border-color: var(--design-border-soft);
    background: var(--design-subtle);
    color: var(--design-secondary);
    box-shadow: none;
}
body[data-page="account-bot"] #botWorkspaceSaveBar #botSettingsStatus {
    border-color: var(--design-border-soft);
    background: #fff;
    color: var(--design-secondary);
    box-shadow: var(--design-shadow-soft);
}
@media (max-width: 767.98px) {
    .account-settings-page .account-billing-section .account-section-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }
    .account-settings-page .account-billing-section .account-section-heading p {
        margin: 0;
    }
}

/* The member directory stylesheet is scoped to this page and precedes this layer. */
body[data-page="account-bot-members"] .people-page,
body[data-page="account-bot-members"] .chat-main { color: var(--design-ink); background: var(--design-canvas); }
body[data-page="account-bot-members"] .people-page .account-page-heading h1,
body[data-page="account-bot-members"] .people-page .people-filter-heading strong,
body[data-page="account-bot-members"] .people-page .member-message-heading h2 { color: var(--design-ink); font-weight: 500; }
body[data-page="account-bot-members"] .people-page .account-page-heading p,
body[data-page="account-bot-members"] .people-page .people-filter-heading span:not(.people-filter-heading-icon),
body[data-page="account-bot-members"] .people-page .member-message-broadcast-note { color: var(--design-secondary); }
body[data-page="account-bot-members"] .people-page .people-filter-heading-icon { width: 36px; height: 36px; flex-basis: 36px; border-color: var(--design-border-soft); border-radius: 10px; background: var(--design-subtle); color: var(--design-blue); box-shadow: none; }
body[data-page="account-bot-members"] .people-page .people-global-member-filter .all-members-filter { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(150px, 1fr) minmax(150px, 1fr) auto auto; align-items: stretch; gap: 8px; }
body[data-page="account-bot-members"] .people-page .people-global-member-filter .all-members-filter > :is(.form-control, .form-select, .business-primary, .people-export, .business-light) { width: 100%; min-width: 0; margin: 0; }
body[data-page="account-bot-members"] .people-page .people-global-member-filter .all-members-filter :is(.form-control, .form-select) { min-height: 44px; height: 44px; border-color: var(--design-border-soft); border-radius: 12px; background: #fff; color: var(--design-ink); box-shadow: none; }
body[data-page="account-bot-members"] .people-page .people-global-member-filter .all-members-filter :is(.form-control, .form-select):focus { border-color: rgb(53 102 240 / 55%); box-shadow: 0 0 0 3px rgb(53 102 240 / 12%); }
body[data-page="account-bot-members"] .people-page .people-global-member-filter .all-members-filter .business-primary { min-height: 44px; border: 1px solid var(--design-blue); border-radius: 999px; background: var(--design-blue); color: #fff; box-shadow: none; font-weight: 500; }
body[data-page="account-bot-members"] .people-page .people-global-member-filter .all-members-filter .business-primary:hover { border-color: #2452d4; background: #2452d4; transform: none; }
body[data-page="account-bot-members"] .people-page .member-advanced-filters { border-top-color: var(--design-border-soft); }
body[data-page="account-bot-members"] .people-page .member-advanced-filters > summary { min-height: 44px; padding: 6px 10px; border-radius: 10px; color: var(--design-secondary); font-size: 13px; font-weight: 500; transition: background-color .15s ease, color .15s ease; }
body[data-page="account-bot-members"] .people-page .member-advanced-filters > summary:hover { background: var(--design-subtle); color: var(--design-ink); }
body[data-page="account-bot-members"] .people-page .member-advanced-filters[open] > summary { color: var(--design-ink); }
body[data-page="account-bot-members"] .people-page .member-advanced-filter-fields .form-select { min-height: 44px; border-color: var(--design-border-soft); border-radius: 12px; background: #fff; color: var(--design-ink); }
body[data-page="account-bot-members"] .people-page .member-advanced-filter-fields :is(.btn, a.btn) { min-height: 44px; border-radius: 999px; font-size: 14px; }
body[data-page="account-bot-members"] .people-page .people-tabs { width: fit-content; max-width: 100%; gap: 2px; padding: 4px; border: 1px solid var(--design-border-soft); border-radius: 999px; background: var(--design-subtle); }
body[data-page="account-bot-members"] .people-page .people-tabs button { min-height: 44px; padding: 8px 16px; border: 0; border-radius: 999px; color: var(--design-secondary); }
body[data-page="account-bot-members"] .people-page .people-tabs button[aria-selected="true"] { background: #fff; color: var(--design-ink); box-shadow: var(--design-shadow-soft); }
body[data-page="account-bot-members"] .people-page .all-members-filter,
body[data-page="account-bot-members"] .people-page .bot-members-filter { border-color: var(--design-border-soft); border-radius: var(--design-radius-card); background: #fff; box-shadow: none; }
body[data-page="account-bot-members"] .people-page .people-row { min-height: 72px; border-color: var(--design-border-soft); border-radius: 14px; background: #fff; box-shadow: none; }
body[data-page="account-bot-members"] .people-page .people-row:hover { border-color: var(--design-border); background: var(--design-subtle); box-shadow: none; }
body[data-page="account-bot-members"] .people-page .people-row.is-selected { border-color: rgb(53 102 240 / 35%); background: var(--design-blue-soft); box-shadow: none; }
body[data-page="account-bot-members"] .people-page .people-avatar { background: var(--design-subtle); color: var(--design-secondary); }
body[data-page="account-bot-members"] .people-page .people-identity > small { color: var(--design-secondary); }
body[data-page="account-bot-members"] .people-page .people-registration { color: var(--design-muted); }
body[data-page="account-bot-members"] .people-page .people-registration.is-registered,
body[data-page="account-bot-members"] .people-page .people-platform-chip { border-radius: 999px; background: var(--design-blue-soft); color: var(--design-blue-ink); }
body[data-page="account-bot-members"] .people-page .people-platform-mark { border-color: var(--design-border-soft); background: #fff; box-shadow: none; }
body[data-page="account-bot-members"] .people-page :is(.people-detail-fields, .people-history-item, .member-message-composer) { border-color: var(--design-border-soft); border-radius: 14px; background: #fff; box-shadow: none; }
body[data-page="account-bot-members"] .people-page .people-history-item.is-outgoing { border-color: var(--design-border-soft); background: var(--design-subtle); }
body[data-page="account-bot-members"] .people-page .people-history-meta,
body[data-page="account-bot-members"] .people-page .people-history-status { color: var(--design-secondary); }
body[data-page="account-bot-members"] .people-page .people-history-meta strong { color: var(--design-ink); font-weight: 500; }
body[data-page="account-bot-members"] .people-page .people-history-media { color: var(--design-blue); }
body[data-page="account-bot-members"] .people-page .member-active-batch-status { border-color: rgb(53 102 240 / 20%); border-radius: var(--design-radius-card); background: var(--design-blue-soft); color: var(--design-blue-ink); box-shadow: none; }
body[data-page="account-bot-members"] .people-page .member-active-batch-status :is(.member-active-batch-top small, .member-active-batch-top strong, .member-active-batch-live, .member-active-batch-summary strong, .member-active-batch-summary > span, .member-active-batch-progress > span) { color: var(--design-blue-ink); }
body[data-page="account-bot-members"] .people-page .member-active-batch-live::before,
body[data-page="account-bot-members"] .people-page .member-active-batch-progress-track > span { background: var(--design-blue); box-shadow: none; }
body[data-page="account-bot-members"] .people-page .member-active-batch-progress-track { border-color: var(--design-border-soft); background: var(--design-subtle); box-shadow: none; }
body[data-page="account-bot-members"] .people-page .member-active-batch-metric { border-color: var(--design-border-soft); border-radius: 12px; background: #fff; color: var(--design-secondary); }
body[data-page="account-bot-members"] .people-page .member-active-batch-metric.is-sent { color: var(--design-blue-ink); }
body[data-page="account-bot-members"] .people-page .member-active-batch-metric.is-failed { border-color: rgb(180 35 24 / 20%); background: #fff5f4; color: var(--design-danger); }
body[data-page="account-bot-members"] .people-page .member-message-filter-status { border-color: var(--design-border-soft); border-radius: 12px; background: var(--design-subtle); color: var(--design-secondary); }
body[data-page="account-bot-members"] .people-page .member-message-filter-status strong { color: var(--design-ink); font-weight: 500; }
body[data-page="account-bot-members"] .people-page .bot-message-media { border-color: var(--design-border-soft); border-radius: var(--design-radius-card); background: var(--design-subtle); }
body[data-page="account-bot-members"] .people-page .bot-media-heading { color: var(--design-secondary); }
body[data-page="account-bot-members"] .people-page .bot-media-picker { min-height: 44px; border-color: var(--design-border); border-radius: 999px; background: #fff; color: var(--design-blue); box-shadow: none; }
body[data-page="account-bot-members"] .people-page .bot-media-picker:hover { border-color: var(--design-blue); background: var(--design-blue-soft); box-shadow: none; transform: none; }
body[data-page="account-bot-members"] .people-page .people-detail-modal .modal-title { color: var(--design-ink); font-weight: 500; }
body[data-page="account-bot-members"] .people-page :focus-visible { outline-color: rgb(53 102 240 / 65%); }
@media (max-width: 900px) {
    body[data-page="account-bot-members"] .people-page .people-global-member-filter .all-members-filter { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    body[data-page="account-bot-members"] .people-page .people-global-member-filter .all-members-filter .all-members-search { grid-column: 1 / -1; }
    body[data-page="account-bot-members"] .people-page .people-global-member-filter .all-members-filter > :is(.business-primary, .business-light) { grid-column: 1 / -1; }
}
@media (max-width: 767.98px) {
    body[data-page="account-bot-members"] .people-page .people-global-member-filter .all-members-filter { padding: 10px; }
    body[data-page="account-bot-members"] .people-page .people-global-member-filter .all-members-filter {
        grid-template-areas: "search search search search search search search search submit submit" "platform platform platform platform platform registration registration registration registration registration" !important;
    }
}
@media (max-width: 420px) {
    .chat-composer { gap: 0; padding-inline: 5px; }
    .composer-icon,
    .composer-toolbar .composer-icon { width: 44px; height: 44px; flex-basis: 44px; }
    .send-button,
    .assistant-send { width: 44px; height: 44px; }
}
@media (max-width: 767.98px) {
    .plans-cycle-toggle button { min-height: 44px; }
    .root-dashboard .root-page-controls .root-button { min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* Final overrides for legacy management-page controls */
body[data-page="account-bots"] .bot-profile-avatar { border-color: #fff; background: var(--design-blue-soft); box-shadow: 0 0 0 1px var(--design-border-soft); color: var(--design-blue); }
body[data-page="account-bots"] .bot-platform-choice:has(input:checked)::after { content: ""; }
body[data-page="account-bots"] .bot-platform-choice:has(input:checked)::before { position: absolute; top: 14px; inset-inline-end: 15px; z-index: 1; width: 4px; height: 7px; border: solid #fff; border-width: 0 1.6px 1.6px 0; content: ""; transform: rotate(45deg); }
body[data-page="account-bot-members"] .people-page :is(.business-primary, .business-light, .btn, .people-export, .people-action),
body[data-page="account-bot-members"] .people-page :is(.member-active-batch-actions .business-light, .bot-media-remove) { min-height: 44px; border-radius: 999px; }
body[data-page="account-bot-members"] .people-page :is(.all-members-filter, .bot-members-filter) :is(.form-control, .form-select) { min-height: 44px; height: 44px; border-color: var(--design-border-soft); border-radius: 12px; background: #fff; color: var(--design-ink); }
body[data-page="account-bot-members"] .people-page :is(.all-members-filter, .bot-members-filter) :is(.form-control, .form-select):focus { border-color: rgb(53 102 240 / 55%); box-shadow: 0 0 0 3px rgb(53 102 240 / 12%); }
body[data-page="account-bot-members"] .people-page :is(.business-primary, .btn-primary, .people-action) { border-color: var(--design-blue); background: var(--design-blue); color: #fff; }
body[data-page="account-bot-members"] .people-page :is(.business-light, .people-export) { border-color: var(--design-border); background: #fff; color: var(--design-ink); }
body[data-page="account-bot-members"] .people-page .bot-media-remove { border-color: rgb(180 35 24 / 24%); background: #fff5f4; color: var(--design-danger); }
body[data-page="account-bot-members"] .people-page :is(.all-members-filter, .bot-members-filter) { border-color: var(--design-border-soft); border-radius: var(--design-radius-card); background: #fff; box-shadow: none; }
body[data-page="account-bot-members"] .people-page .bot-media-picker { border-color: var(--design-border); border-radius: 999px; background: #fff; color: var(--design-blue); box-shadow: none; }
body[data-page="account-bot-members"] .people-page .bot-media-picker:hover { border-color: var(--design-blue); background: var(--design-blue-soft); box-shadow: none; transform: none; }
body[data-page="account-channels"] #channelWorkspace .bot-media-picker { border-color: var(--design-border); border-radius: 999px; background: #fff; color: var(--design-blue); box-shadow: none; }
body[data-page="account-channels"] #channelWorkspace .bot-media-picker:hover { border-color: var(--design-blue); background: var(--design-blue-soft); box-shadow: none; transform: none; }
body[data-page="account-channels"] .channel-settings-group input[type="checkbox"]:checked { border-color: var(--design-blue); background-color: var(--design-blue); }
body[data-page="account-channels"] #channelWorkspace .channel-settings-save { min-height: 44px; border-radius: 999px; background: var(--design-blue); border-color: var(--design-blue); }

/* Keep the main chat composer touch targets consistent with the shared 44px scale. */
body[data-page="index"] .chat-composer .composer-toolbar :is(.composer-icon, .voice-button):not(.is-recording):not(.is-processing):not(.is-done):not(.is-error) {
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    flex-basis: 44px;
    border-radius: 50%;
}
body[data-page="index"] .chat-composer .composer-toolbar :is(.composer-icon, .voice-button) .sprite-icon { width: 20px; height: 20px; }
body[data-page="index"] .chat-composer .composer-toolbar .send-button {
    width: 44px;
    height: 44px;
    min-height: 44px;
    flex-basis: 44px;
    border-radius: 50%;
    background: var(--design-subtle);
    color: var(--design-secondary);
}
body[data-page="index"] .chat-composer .composer-toolbar .send-button:is(.is-active, .is-loading) { background: var(--design-blue); color: #fff; }
body[data-page="index"] .chat-composer .composer-toolbar .send-button .send-icon { width: 18px; height: 18px; }
.account-settings-page .account-avatar-upload button {
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    border: 1px solid #fff;
    border-radius: 50%;
    background: var(--design-blue);
    color: #fff;
    box-shadow: var(--design-shadow-soft);
}
.account-settings-page .account-avatar-upload button:hover { background: #2452d4; }

/* Public business category pages use their own page class and need the shared palette. */
.business-category-page .business-category-breadcrumb { color: var(--design-muted); }
.business-category-page .business-category-heading { border-color: var(--design-border-soft); border-radius: var(--design-radius-card); background: #fff; box-shadow: none; }
.business-category-page .business-category-children { scrollbar-color: var(--design-border) transparent; }
.business-category-page .business-category-children::-webkit-scrollbar-thumb { background: var(--design-border); }
.business-category-page .business-category-children::-webkit-scrollbar-thumb:hover { background: rgb(13 13 13 / 32%); }
.business-category-page .business-category-breadcrumb a { display: inline-flex; min-height: 44px; align-items: center; padding-inline: 6px; border-radius: 8px; color: var(--design-secondary); }
.business-category-page .business-category-breadcrumb a:hover { background: var(--design-subtle); color: var(--design-ink); }
.business-category-page .business-category-breadcrumb a:focus-visible { outline: 2px solid rgb(53 102 240 / 65%); outline-offset: 1px; }
.business-category-page .business-category-heading h1 { color: var(--design-ink); font-size: 24px; font-weight: 400; line-height: 28px; }
.business-category-page .business-category-heading p { color: var(--design-secondary); }
.business-category-page .business-category-total { border: 1px solid var(--design-border-soft); background: var(--design-subtle); color: var(--design-secondary); }
.business-category-page .business-category-children a {
    min-height: 44px;
    border-color: var(--design-border-soft);
    background: #fff;
    color: var(--design-secondary);
}
.business-category-page .business-category-children a:hover { border-color: var(--design-border); background: var(--design-subtle); color: var(--design-ink); }
.business-category-page .business-category-results-grid .business-search-result {
    border: 1px solid var(--design-border-soft);
    border-radius: var(--design-radius-card);
    background: #fff;
    box-shadow: none;
}
.business-category-page .business-category-results-grid .business-search-result:hover {
    transform: none;
    border-color: var(--design-border);
    background: var(--design-subtle);
    box-shadow: none;
}
.business-category-page .business-search-result-logo .business-directory-card-logo { border-color: var(--design-border-soft); border-radius: 12px; background: var(--design-subtle); color: var(--design-secondary); }
.business-category-page .business-search-result-domain,
.business-category-page .business-search-result-copy > p,
.business-category-page .business-search-result-facts > span,
.business-category-page .business-search-result-facts > a { color: var(--design-secondary); }
.business-category-page .business-search-result-title { color: var(--design-ink); font-weight: 500; }
.business-category-page .business-search-result-title:hover { color: var(--design-blue); text-decoration: none; }
.business-category-page .business-search-result-facts svg { stroke: var(--design-blue); }
.business-category-page .business-search-result-facts > .business-card-category,
.business-category-page .business-search-result-facts > .business-card-activity { border-color: var(--design-border-soft); background: var(--design-subtle); color: var(--design-secondary) !important; }
.business-category-page .business-category-load-more {
    min-height: 48px;
    border: 1px solid var(--design-blue);
    border-radius: var(--design-radius-control);
    background: var(--design-blue);
    box-shadow: none;
    font-weight: 500;
}
.business-category-page .business-category-load-more:hover:not(:disabled) { transform: none; border-color: #2452d4; background: #2452d4; box-shadow: none; }
.business-category-page .business-category-load-more:focus-visible,
.business-category-page .business-category-children a:focus-visible,
.business-category-page .business-category-pagination a:focus-visible { outline: 2px solid rgb(53 102 240 / 65%); outline-offset: 3px; }
.business-category-page .business-category-load-more-status { color: var(--design-secondary); }
.business-category-page .business-category-empty { border-color: var(--design-border-soft); border-radius: var(--design-radius-card); background: #fff; color: var(--design-secondary); }
.business-category-page .business-category-pagination { border-color: var(--design-border-soft); background: #fff; box-shadow: var(--design-shadow-soft); backdrop-filter: none; }
.business-category-page .business-category-pagination a { min-height: 44px; border-color: var(--design-border-soft); border-radius: var(--design-radius-control); background: #fff; color: var(--design-blue); }
.business-category-page .business-category-pagination a:hover { border-color: var(--design-border); background: var(--design-subtle); color: var(--design-ink); }
.business-category-page .business-directory-promo-action { min-height: 44px; border-color: var(--design-blue); border-radius: var(--design-radius-control); background: var(--design-blue); box-shadow: none; font-weight: 500; }
.business-category-page .business-directory-promo-action:hover { background: #2452d4; }
.business-category-page .business-directory-promo:focus-visible { outline: 2px solid rgb(53 102 240 / 65%); outline-offset: 3px; }
.business-chat-page .business-directory-promo-action,
.business-category-page .business-directory-promo-action { inset-inline-start: 24px; inset-inline-end: auto; left: auto; right: auto; min-height: 44px; }
@media (max-width: 760px) {
    .business-chat-page .business-directory-promo-action,
    .business-category-page .business-directory-promo-action { inset-inline-start: 14px; min-width: 148px; min-height: 44px; padding-inline: 18px; font-size: 12px; }
}

/* Bot workspace controls override page-specific legacy rules above. */
body[data-page="account-bot"] .bot-workspace {
    --bw-ink: var(--design-ink);
    --bw-muted: var(--design-secondary);
    --bw-line: var(--design-border-soft);
    --bw-blue: var(--design-blue);
    --editor-line: var(--design-border-soft);
}
body[data-page="account-bot"] .bot-workspace :is(.business-primary, .business-light, .business-danger, .bot-media-picker, .bot-media-remove, .bot-token-actions > button) { min-height: 44px; border-radius: 999px; font-family: inherit; }
body[data-page="account-bot"] .bot-workspace .business-primary { border-color: var(--design-blue); background: var(--design-blue); color: #fff; }
body[data-page="account-bot"] .bot-workspace .business-primary:hover { border-color: #2452d4; background: #2452d4; }
body[data-page="account-bot"] .bot-workspace .business-light { border-color: var(--design-border); background: #fff; color: var(--design-ink); }
body[data-page="account-bot"] .bot-workspace .business-light:hover { border-color: var(--design-border); background: var(--design-subtle); }
body[data-page="account-bot"] .bot-workspace .business-danger { border-color: rgb(180 35 24 / 22%); background: #fff5f4; color: var(--design-danger); }
body[data-page="account-bot"] .bot-workspace :is(.tool-input, .tool-select, .tool-textarea):focus { border-color: rgb(53 102 240 / 55%); box-shadow: 0 0 0 3px rgb(53 102 240 / 12%); }
body[data-page="account-bot"] .bot-workspace :is(button, a, input, select, textarea, [contenteditable]):focus-visible { outline-color: rgb(53 102 240 / 65%); }
body[data-page="account-bot"] .bot-workspace .bot-ai-settings .bot-file-upload { border-color: var(--design-border-soft); border-radius: var(--design-radius-card); background: var(--design-subtle); }
body[data-page="account-bot"] .bot-workspace .bot-ai-settings .bot-file-upload .bot-file-picker { height: 52px; min-height: 52px; border-color: var(--design-border-soft); border-radius: 12px; background: #fff; color: var(--design-ink); }
body[data-page="account-bot"] .bot-workspace .bot-ai-settings .bot-file-picker-action { border-radius: 999px; background: var(--design-blue-soft); color: var(--design-blue-ink); }
body[data-page="account-bot"] .bot-workspace .bot-ai-settings .bot-file-picker:hover { border-color: var(--design-border); background: var(--design-canvas); }
body[data-page="account-bot"] .bot-workspace .bot-ai-settings .bot-file-input:focus-visible + .bot-file-picker { outline-color: rgb(53 102 240 / 65%); }
body[data-page="account-bot"] .bot-workspace .bot-settings-footer { border-color: var(--design-border-soft); border-radius: var(--design-radius-card); background: rgb(255 255 255 / 96%); box-shadow: var(--design-shadow-float); }
body[data-page="account-bot"] .bot-workspace .bot-token-field { border-color: var(--design-border-soft); border-radius: 12px; background: var(--design-subtle); color: var(--design-secondary); }
body[data-page="account-bot"] .bot-workspace .bot-token-icon { min-height: 44px; border-radius: 50%; color: var(--design-secondary); }
body[data-page="account-bot"] .bot-workspace .bot-token-icon:hover { background: var(--design-blue-soft); color: var(--design-blue); }
body[data-page="account-bot"] .bot-workspace .bot-button-row .business-light { min-height: 44px; border-radius: 999px; }
body[data-page="account-bot"] .bot-workspace .bot-button-editor,
body[data-page="account-bot"] .bot-workspace .bot-button-row,
body[data-page="account-bot"] .bot-workspace #bot-panel-backup .bot-backup-block { border-color: var(--design-border-soft); border-radius: var(--design-radius-card); background: #fff; }
body[data-page="account-bot"] .bot-workspace :is(.bot-button-type-card:hover, .bot-button-type-card[aria-pressed="true"]) { border-color: rgb(53 102 240 / 45%); background: var(--design-blue-soft); }
body[data-page="account-bot"] .bot-workspace #botActionStatus:not(:empty),
body[data-page="account-bot"] .bot-workspace #botBackupStatus:not(:empty) { border-color: var(--design-border-soft); border-radius: 12px; background: var(--design-blue-soft); color: var(--design-blue-ink); }
body[data-page="account-bot"] .bot-workspace #bot-panel-backup .bot-backup-warning { border-color: rgb(180 35 24 / 20%); border-radius: 12px; background: #fff5f4; color: var(--design-danger); }

/* Channel directory and settings: unify status, actions and filters. */
body[data-page="account-bots"] .bot-card-copy h2 { color: var(--design-ink); font-size: 15px; font-weight: 500; line-height: 1.5; }
body[data-page="account-bots"] .bot-card-meta { color: var(--design-secondary); font-size: 13px; line-height: 1.6; }
body[data-page="account-bots"] .bot-card :is(.bot-status, .webhook-status) { min-height: 26px; padding: 4px 10px; border-color: var(--design-border-soft); border-radius: 999px; background: var(--design-subtle) !important; color: var(--design-secondary) !important; font-size: 11px; font-weight: 400; }
body[data-page="account-bots"] .bot-card :is(.bot-status.active, .webhook-status.is-connected) { border-color: rgb(53 102 240 / 18%); background: var(--design-blue-soft) !important; color: var(--design-blue-ink) !important; }
body[data-page="account-bots"] .bot-card .webhook-status.is-failed { border-color: rgb(180 35 24 / 20%); background: #fff5f4 !important; color: var(--design-danger) !important; }
body[data-page="account-bot"] .bot-workspace .tool-label { color: var(--design-secondary); font-size: 13px; font-weight: 500; line-height: 1.7; }
body[data-page="account-bot-members"] .people-page .people-name { color: var(--design-ink); font-size: 14px; font-weight: 500; line-height: 1.5; }
body[data-page="account-bot-members"] .people-page .people-identity > small { color: var(--design-secondary); font-size: 12px; line-height: 1.5; }
body[data-page="account-bot-members"] .people-page .people-registration { color: var(--design-muted); font-size: 11px; }
body[data-page="account-bot-members"] .people-page .people-detail-fields :is(dt, dd) { font-size: 13px; line-height: 1.7; }
body[data-page="account-bot-members"] .people-page .people-history-item { font-size: 13px; line-height: 1.7; }
body:is([data-page="account-bots"], [data-page="account-bot-members"], [data-page="account-channels"]) .bot-status.active,
body[data-page="account-bots"] .webhook-status.is-connected { border-color: rgb(53 102 240 / 18%); background: var(--design-blue-soft); color: var(--design-blue-ink); }
body:is([data-page="account-bots"], [data-page="account-bot-members"], [data-page="account-channels"]) .bot-status.paused,
body:is([data-page="account-bots"], [data-page="account-bot-members"], [data-page="account-channels"]) .bot-status.draft,
body[data-page="account-bots"] .webhook-status { border-color: var(--design-border-soft); background: var(--design-subtle); color: var(--design-secondary); }
body:is([data-page="account-bots"], [data-page="account-bot-members"], [data-page="account-channels"]) .bot-status.failed,
body[data-page="account-bots"] .webhook-status.is-failed { border-color: rgb(180 35 24 / 20%); background: #fff5f4; color: var(--design-danger); }
body[data-page="account-channels"] #channelDirectory .channel-list-grid { border-color: var(--design-border-soft); border-radius: var(--design-radius-card); background: #fff; }
body[data-page="account-channels"] #channelDirectory .channel-card + .channel-card { border-top-color: var(--design-border-soft); }
body[data-page="account-channels"] #channelDirectory .channel-card:hover { background: var(--design-subtle); }
body[data-page="account-channels"] #channelDirectory .channel-card.is-current { background: var(--design-blue-soft); }
body[data-page="account-channels"] #channelDirectory .channel-row-open { min-height: 76px; padding: 12px 16px; padding-inline-end: 88px; color: var(--design-ink); }
body[data-page="account-channels"] #channelDirectory .channel-row-open:focus-visible { outline-color: rgb(53 102 240 / 65%); }
body[data-page="account-channels"] #channelDirectory .channel-row-avatar { flex-basis: 40px; width: 40px; height: 40px; border: 0; border-radius: 50%; background: var(--design-blue-soft) !important; color: var(--design-blue); font-size: 17px; }
body[data-page="account-channels"] #channelDirectory .channel-row-copy > span { color: var(--design-secondary); }
body[data-page="account-channels"] #channelDirectory .channel-row-state { color: var(--design-secondary); }
body[data-page="account-channels"] #channelDirectory .channel-row-state.active { color: var(--design-blue); }
body[data-page="account-channels"] #channelDirectory .channel-row-state.failed { color: var(--design-danger); }
body[data-page="account-channels"] #channelDirectory .channel-row-state.member { color: var(--design-muted); }
body[data-page="account-channels"] #channelDirectory .channel-row-state.checking { color: var(--design-muted); }
body[data-page="account-channels"] #channelDirectory .channel-row-open::after { color: var(--design-muted); }
body[data-page="account-channels"] #channelDirectory .channel-row-leave { min-height: 44px; padding: 0 14px; border-color: rgb(180 35 24 / 24%); border-radius: 999px; background: #fff5f4; color: var(--design-danger); font-size: 12px; }
body[data-page="account-channels"] #channelDirectory .channel-row-leave:hover { border-color: var(--design-danger); background: #feeceb; color: #8f1d14; }
body[data-page="account-channels"] .channel-directory-search .form-control { min-height: 44px; height: 44px; border-color: var(--design-border-soft); border-radius: 12px; background: #fff; color: var(--design-ink); box-shadow: none; }
body[data-page="account-channels"] .channel-directory-search .form-control:focus { border-color: rgb(53 102 240 / 55%); box-shadow: 0 0 0 3px rgb(53 102 240 / 12%); }
body[data-page="account-channels"] .channel-directory-search .form-control::placeholder { color: var(--design-muted); }
body[data-page="account-channels"] .channel-directory-search .form-select { min-height: 44px; border-color: var(--design-border-soft); border-radius: 12px; color: var(--design-ink); }
body[data-page="account-channels"] .channel-directory-count { background: var(--design-subtle); color: var(--design-secondary); }
body[data-page="account-channels"] .channel-card-actions > :is(button, .channel-more-actions > summary),
body[data-page="account-channels"] #channelWorkspace .channel-profile-actions > *,
body[data-page="account-channels"] .channel-file-choose,
body[data-page="account-channels"] .channel-file-submit { min-height: 44px; border-radius: 999px; }
body[data-page="account-channels"] .channel-more-actions > summary { display: inline-flex; align-items: center; justify-content: center; border-color: var(--design-border); background: #fff; color: var(--design-ink); }
body[data-page="account-channels"] .channel-file-choose { border-color: var(--design-border); background: #fff; color: var(--design-blue); }
body[data-page="account-channels"] .channel-file-submit { border-color: var(--design-blue); background: var(--design-blue); color: #fff; }
body[data-page="account-channels"] .channel-file-native:focus-visible + .channel-file-choose { outline-color: rgb(53 102 240 / 65%); }
body[data-page="account-channels"] .channel-runner-notice { border-color: rgb(53 102 240 / 20%); border-radius: var(--design-radius-card); background: var(--design-blue-soft); color: var(--design-blue-ink); }
body[data-page="account-channels"] #channelRunnerStatus { color: var(--design-secondary); }
body[data-page="account-channels"] #channelWorkspace .channel-settings-badge { border: 1px solid rgb(53 102 240 / 18%); background: var(--design-blue-soft); color: var(--design-blue-ink); }
body[data-page="account-channels"] #channelWorkspace .channel-setting-toggle input:checked + i { background: var(--design-blue); }
body[data-page="account-channels"] #channelWorkspace .channel-setting-toggle input:focus-visible + i { outline-color: rgb(53 102 240 / 65%); }
body[data-page="account-channels"] #channelWorkspace .channel-settings-save { border-radius: 999px; }
body[data-page="account-channels"] .channel-leave-dialog { border-color: var(--design-border-soft); border-radius: var(--design-radius-dialog); box-shadow: var(--design-shadow-dialog); }
body[data-page="account-channels"] .channel-leave-icon { border-radius: 50%; background: #fff5f4; color: var(--design-danger); }
body[data-page="account-channels"] .channel-leave-dialog h2 { color: var(--design-ink); font-weight: 500; }
body[data-page="account-channels"] .channel-leave-dialog p { color: var(--design-secondary); }
body[data-page="account-channels"] .channel-leave-actions button { min-height: 44px; border-radius: 999px; }
body[data-page="account-channels"] #channelWorkspace .channel-settings-group { border-color: var(--design-border-soft); border-radius: var(--design-radius-card); background: #fff; }
body[data-page="account-channels"] #channelWorkspace .channel-settings-group > .channel-setting-toggle { min-height: 52px; padding: 12px 0; border: 0; border-bottom: 1px solid var(--design-border-soft); border-radius: 0; background: transparent; color: var(--design-ink); }
body[data-page="account-channels"] #channelWorkspace .channel-settings-group > .channel-setting-toggle:last-of-type { border-bottom: 0; }
body[data-page="account-channels"] #channelWorkspace .channel-settings-group h3 { color: var(--design-ink); font-weight: 500; }
body[data-page="account-channels"] #channelWorkspace .channel-workspace-footer { border-color: var(--design-border-soft); border-radius: var(--design-radius-card); background: rgb(255 255 255 / 96%); box-shadow: var(--design-shadow-float); }
body[data-page="account-bots"] .bot-card-actions .bot-open-link { width: 44px; min-width: 44px; height: 44px; min-height: 44px; padding: 0; border-color: var(--design-border-soft); border-radius: 12px; background: #fff; color: var(--design-blue); }
body[data-page="account-bots"] .bot-card-actions .bot-open-link:hover { border-color: var(--design-border); background: var(--design-subtle); }
body[data-page="account-bots"] .bot-card-actions .bot-open-link .bot-action-icon { width: 20px; height: 20px; color: var(--design-blue); }
body[data-page="account-bots"] .bot-card-actions .bot-open-link:focus-visible { outline: none; text-decoration: none; }
body[data-page="account-bots"] .bot-card-actions .bot-open-link:focus-visible::after { outline: 2px solid rgb(53 102 240 / 65%); outline-offset: -3px; }
body[data-page="account-bot"] .bot-workspace .bot-website-domain-editor,
body[data-page="account-bot"] .bot-workspace .bot-website-action-bar { border-color: var(--design-border-soft); border-radius: var(--design-radius-card); background: #fff; box-shadow: none; }
body[data-page="account-bot"] .bot-workspace .bot-website-domain-heading h3 { color: var(--design-ink); font-weight: 500; }
body[data-page="account-bot"] .bot-workspace .bot-website-domain-heading p,
body[data-page="account-bot"] .bot-workspace .bot-website-domain-status,
body[data-page="account-bot"] .bot-workspace .bot-header-connection-panel #botConnectionStatus { color: var(--design-secondary); }
body[data-page="account-bot"] .bot-workspace .bot-website-domain-row input { border-color: var(--design-border-soft); border-radius: 12px; background: var(--design-subtle); color: var(--design-ink); font-family: Vazirmatn, Tahoma, Arial, sans-serif; font-size: 13px; }
body[data-page="account-bot"] .bot-workspace .bot-website-domain-row input:not([readonly]) { border-color: rgb(53 102 240 / 55%); background: #fff; box-shadow: 0 0 0 3px rgb(53 102 240 / 12%); }
body[data-page="account-bot"] .bot-workspace .bot-website-domain-edit svg { width: 18px; height: 18px; color: var(--design-blue); }
body[data-page="subscription-plans"] .plans-tabs { border-color: var(--design-border-soft); background: var(--design-subtle); box-shadow: none; backdrop-filter: none; }
body[data-page="subscription-plans"] .plans-page-header p,
body[data-page="subscription-plans"] .plans-card-eyebrow,
body[data-page="subscription-plans"] .plans-price-unit,
body[data-page="subscription-plans"] .plans-billing-note,
body[data-page="subscription-plans"] .plans-credit-note,
body[data-page="subscription-plans"] .plans-disabled-reason { color: var(--design-secondary); }
body[data-page="subscription-plans"] .plans-price { color: var(--design-ink); }
body[data-page="subscription-plans"] .plans-feature-list { border-top-color: var(--design-border-soft); }
body[data-page="subscription-plans"] .plans-feature-list li { color: var(--design-secondary); }
body[data-page="subscription-plans"] .plans-cycle-toggle button { min-height: 44px; }
body[data-page="subscription-plans"] .plans-buy-button:disabled,
body[data-page="subscription-plans"] .plans-buy-button.is-disabled { border-color: var(--design-border-soft); background: var(--design-subtle); color: var(--design-secondary); }
body[data-page="subscription-plans"] :is(.plans-tab, .plans-cycle-toggle button, .plans-buy-button):focus-visible { outline: 2px solid rgb(53 102 240 / 65%); outline-offset: 3px; }
body.billing-result-page .billing-result-brand { font-size: 16px; font-weight: 600; }
body.billing-result-page .billing-result-button:focus-visible { outline: 2px solid rgb(53 102 240 / 65%); outline-offset: 3px; }
/* Auth rules in app-ui.css are deliberately more specific; keep the final visual layer aligned. */
.auth-box .auth-submit { min-height: 44px; border-radius: var(--design-radius-control); background: var(--design-ink); }
.auth-box .auth-submit:hover { background: #262626; }
.auth-box .auth-submit:focus-visible,
.auth-close:focus-visible,
.auth-back:focus-visible,
.resend-code:focus-visible { outline: 2px solid rgb(53 102 240 / 65%); outline-offset: 3px; }

/* Shared Bootstrap dialogs use one visual system across account and management pages. */
.modal:not(.account-modal) .modal-content {
    border: 1px solid var(--design-border-soft);
    border-radius: var(--design-radius-dialog);
    background: #fff;
    color: var(--design-ink);
    box-shadow: var(--design-shadow-dialog);
}
.modal-header,
.modal-footer { border-color: var(--design-border-soft); }
.modal-title { color: var(--design-ink); font-weight: 500; }
.modal-content .btn-close { min-width: 44px; min-height: 44px; border-radius: 50%; opacity: .72; }
.modal-content .btn-close:hover { background-color: var(--design-subtle); opacity: 1; }
.modal-footer > .btn,
.confirm-modal-actions > .btn { min-height: 44px; border-radius: 999px; }
.modal-content :is(input, select, textarea, .form-control, .form-select):focus,
.modal-content :is(button, a, input, select, textarea, .form-control, .form-select):focus-visible {
    border-color: rgb(53 102 240 / 60%);
    outline-color: rgb(53 102 240 / 65%);
    box-shadow: 0 0 0 3px rgb(53 102 240 / 12%);
}
.confirm-modal-box .confirm-modal-actions .btn { min-height: 44px; border-radius: 999px; }
.confirm-modal-box .confirm-modal-icon { background: #fff5f4; color: var(--design-danger); }
.alert { border-radius: 12px; }

/* Account overview: centered profile and one shared usage panel, matching the reference profile surface. */
.account-settings-page .account-settings-page-inner { width: min(100%, 768px); max-width: 768px; margin-inline: auto; }
.account-settings-page .account-settings-page-heading { justify-content: center; text-align: center; }
.account-settings-page .account-settings-page-heading > div { text-align: center; }
.account-settings-page .account-unified-panel.account-content-panel { padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.account-settings-page .account-unified-profile {
    min-height: 0;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 28px 20px 20px !important;
    border: 0;
    background: transparent;
    text-align: center;
}
.account-settings-page .account-avatar-wrap,
.account-settings-page .account-unified-profile .account-avatar { width: 96px; height: 96px; flex: 0 0 96px; }
.account-settings-page .account-unified-profile .account-avatar { border: 1px solid var(--design-border-soft); background: var(--design-subtle); box-shadow: none; }
.account-settings-page #profileAvatarFallback { width: 44px; height: 44px; color: var(--design-secondary); }
.account-settings-page .account-avatar-upload button { width: 44px; height: 44px; min-height: 44px; border: 2px solid #fff; background: var(--design-blue); color: #fff; box-shadow: var(--design-shadow-soft); }
.account-settings-page .account-avatar-upload button:hover { background: #2452d4; }
.account-settings-page .account-unified-identity { align-items: center; text-align: center; }
.account-settings-page .account-unified-identity h2 { color: var(--design-ink); font-size: 24px; font-weight: 400; line-height: 1.3; }
.account-settings-page .account-unified-identity .account-phone { color: var(--design-secondary); font-size: 14px; }
.account-settings-page .billing-summary.account-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    margin: 8px 20px 26px;
    padding: 0;
    overflow: hidden;
    border: 1px solid var(--design-border-soft);
    border-radius: var(--design-radius-card);
    background: #fff;
}
.account-settings-page .billing-summary.account-summary-grid > .account-summary-card {
    display: flex;
    min-width: 0;
    min-height: 124px;
    grid-column: auto;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 16px 12px;
    border: 0;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
    text-align: center;
}
.account-settings-page .billing-summary.account-summary-grid > .account-summary-card:not(:last-child) { border-inline-end: 1px solid var(--design-border-soft); }
.account-settings-page .billing-summary.account-summary-grid > .account-summary-card:hover { transform: none; background: var(--design-subtle); box-shadow: none; }
.account-settings-page .billing-summary.account-summary-grid .account-summary-icon { display: none; }
.account-settings-page .billing-summary.account-summary-grid .account-summary-label { color: var(--design-secondary); font-size: 12px; font-weight: 400; line-height: 1.5; }
.account-settings-page .billing-summary.account-summary-grid strong { color: var(--design-ink); font-size: 18px; font-weight: 500; line-height: 1.4; overflow-wrap: anywhere; }
.account-settings-page .billing-summary.account-summary-grid small { color: var(--design-secondary); font-size: 11px; line-height: 1.55; overflow-wrap: anywhere; }
@media (max-width: 575.98px) {
    .account-settings-page .account-unified-profile { padding: 22px 12px 16px !important; }
    .account-settings-page .account-avatar-wrap,
    .account-settings-page .account-unified-profile .account-avatar { width: 96px; height: 96px; flex-basis: 96px; }
    .account-settings-page .account-unified-identity h2 { font-size: 21px; }
    .account-settings-page .billing-summary.account-summary-grid { grid-template-columns: minmax(0, 1fr); gap: 0; margin: 8px 10px 20px; }
    .account-settings-page .billing-summary.account-summary-grid > .account-summary-card { display: grid; grid-template-columns: 36px minmax(0, 1fr); grid-template-rows: auto auto auto auto; align-content: center; align-items: center; justify-items: stretch; gap: 2px 12px; min-height: 76px; padding: 12px 16px; border: 0; border-bottom: 1px solid var(--design-border-soft); border-radius: 0; text-align: start; }
    .account-settings-page .billing-summary.account-summary-grid > .account-summary-card:last-child { border-bottom: 0; }
    .account-settings-page .billing-summary.account-summary-grid .account-summary-icon { display: grid; grid-column: 1; grid-row: 1 / span 4; width: 36px; height: 36px; border: 0; border-radius: 10px; background: var(--design-subtle); color: var(--design-blue); }
    .account-settings-page .billing-summary.account-summary-grid .account-summary-label { grid-column: 2; grid-row: 1; font-size: 12px; }
    .account-settings-page .billing-summary.account-summary-grid strong { grid-column: 2; grid-row: 2; font-size: 16px; }
    .account-settings-page .billing-summary.account-summary-grid small { grid-column: 2; grid-row: auto; font-size: 11px; }
}

/* ROOT dashboard: readable controls and data labels on the shared visual scale. */
.root-dashboard > .root-card-heading h2,
.root-dashboard > .root-panel > h2 { color: var(--design-ink); font-weight: 500; }
.root-dashboard > .root-card-heading p,
.root-dashboard .root-muted { color: var(--design-secondary); }
.root-dashboard > .root-card-heading h2 { font-size: 24px; line-height: 28px; }
.root-dashboard > .root-panel > h2 { font-size: 18px; line-height: 24px; }
.root-dashboard > .root-card-heading p { font-size: 14px; line-height: 20px; }
.root-dashboard .root-button { font-size: 14px; }
.root-dashboard .root-filters .form-control,
.root-dashboard .root-filters .form-select { font-size: 14px; }
.root-dashboard .root-stat-label { color: var(--design-secondary); font-size: 12px; font-weight: 500; }
.root-dashboard .root-stat-value { color: var(--design-ink); font-size: 20px; font-weight: 600; line-height: 1.4; }
.root-dashboard .root-stat-detail { color: var(--design-muted); font-size: 11px; }
.root-dashboard .root-status-row,
.root-dashboard .root-status-row > strong { font-size: 12px; }
.root-dashboard .root-badge { font-size: 11px; }
.root-dashboard .root-chart-axis-label { font-size: 11px; }
.root-dashboard .root-table > thead > tr > th { font-size: 12px; }
.root-dashboard .root-table > tbody > tr > td { font-size: 14px; }
.root-dashboard .table-responsive { border-color: var(--design-border-soft); border-radius: var(--design-radius-card); }
.root-dashboard .root-summary-section details > summary,
.root-dashboard .root-more > summary { display: flex; min-height: 44px; align-items: center; padding: 8px 12px; border-radius: 12px; color: var(--design-ink); font-size: 14px; font-weight: 500; line-height: 1.6; transition: background-color .15s ease; }
.root-dashboard .root-summary-section details > summary:hover,
.root-dashboard .root-more > summary:hover { background: var(--design-subtle); }
.root-dashboard .root-summary-section details > summary:focus-visible,
.root-dashboard .root-more > summary:focus-visible { outline: 2px solid rgb(53 102 240 / 65%); outline-offset: 2px; }
.root-dashboard .analytics-list-row,
.root-dashboard .analytics-session-row { min-height: 44px; padding: 10px 8px; border-radius: 8px; font-size: 14px; }
.root-dashboard .analytics-list-row small,
.root-dashboard .analytics-session-row small,
.root-dashboard .analytics-events-table small { color: var(--design-secondary); font-size: 11px; }
.root-dashboard .analytics-pagination { padding: 12px 16px; color: var(--design-secondary); font-size: 12px; }
.root-dashboard .root-button-small { font-size: 14px; }
.root-dashboard .analytics-heading p,
.root-dashboard .analytics-card-title p { color: var(--design-secondary); font-size: 12px; line-height: 1.7; }

/* Channel workspace profile, filters and tabs follow the same centered light surface. */
body[data-page="account-channels"] #channelWorkspace .channel-profile { border-color: transparent; border-radius: 0; background: transparent; box-shadow: none; }
body[data-page="account-channels"] #channelWorkspace .channel-profile-copy h1 { color: var(--design-ink); font-size: 22px; font-weight: 400; line-height: 1.35; }
body[data-page="account-channels"] #channelWorkspace .channel-profile-copy p,
body[data-page="account-channels"] #channelWorkspace .channel-profile-bio { color: var(--design-secondary); font-size: 14px; }
body[data-page="account-channels"] #channelWorkspace .channel-profile-admin { border: 1px solid rgb(53 102 240 / 18%); background: var(--design-blue-soft); color: var(--design-blue-ink); font-size: 12px; font-weight: 400; }
body[data-page="account-channels"] #channelWorkspace .channel-profile-admin.is-unknown { border-color: var(--design-border-soft); background: var(--design-subtle); color: var(--design-secondary); }
body[data-page="account-channels"] #channelWorkspace .channel-profile-status,
body[data-page="account-channels"] #channelWorkspace .channel-profile-facts { color: var(--design-secondary); font-size: 13px; }
body[data-page="account-channels"] #channelWorkspace .channel-detail-tabs { gap: 3px; padding: 4px; border: 1px solid var(--design-border-soft); border-radius: 999px; background: var(--design-subtle); }
body[data-page="account-channels"] #channelWorkspace .channel-detail-tab { min-height: 44px; padding: 8px 14px; border: 0; border-radius: 999px; background: transparent; color: var(--design-secondary); font-size: 14px; font-weight: 400; }
body[data-page="account-channels"] #channelWorkspace .channel-detail-tab.is-active { border: 0; background: #fff; color: var(--design-ink); box-shadow: var(--design-shadow-soft); }
body[data-page="account-channels"] #channelWorkspace .channel-settings-card-heading h2 { color: var(--design-ink); font-size: 16px; font-weight: 500; }
body[data-page="account-channels"] #channelWorkspace .channel-settings-card-heading p { color: var(--design-secondary); font-size: 13px; }
body[data-page="account-channels"] #channelWorkspace .channel-setting-toggle strong { color: var(--design-ink); font-size: 14px; font-weight: 500; }
body[data-page="account-channels"] #channelWorkspace .channel-setting-toggle small { color: var(--design-secondary); font-size: 12px; }
body[data-page="account-channels"] #channelDirectory .channel-directory-tabs { gap: 3px; padding: 4px; border: 1px solid var(--design-border-soft); border-radius: 999px; background: var(--design-subtle); }
body[data-page="account-channels"] #channelDirectory .channel-directory-tab { min-height: 44px; padding: 8px 14px; border: 0; border-radius: 999px; background: transparent; color: var(--design-secondary); font-size: 14px; font-weight: 400; }
body[data-page="account-channels"] #channelDirectory .channel-directory-tab.is-active { border: 0; background: #fff; color: var(--design-ink); box-shadow: var(--design-shadow-soft); }
body[data-page="account-channels"] #channelDirectory .channel-row-copy strong { color: var(--design-ink); font-size: 15px; font-weight: 500; }
body[data-page="account-channels"] #channelDirectory .channel-row-copy > span { color: var(--design-secondary); font-size: 13px; line-height: 1.5; }

/* Channel delivery history and broadcast forms. */
body[data-page="account-channels"] .channel-row-state { min-height: 28px; padding: 5px 10px; border: 1px solid var(--design-border-soft); border-radius: 999px; background: var(--design-subtle); color: var(--design-secondary); font-size: 12px; line-height: 1.45; }
body[data-page="account-channels"] .channel-row-state.active { border-color: rgb(53 102 240 / 18%); background: var(--design-blue-soft); color: var(--design-blue-ink); }
body[data-page="account-channels"] .channel-row-state.failed { border-color: rgb(180 35 24 / 20%); background: #fff5f4; color: var(--design-danger); }
body[data-page="account-channels"] .channel-row-state.member,
body[data-page="account-channels"] .channel-row-state.checking { color: var(--design-secondary); }
body[data-page="account-channels"] #channelWorkspace .channel-profile-admin::before { display: inline-block; width: 7px; height: 4px; margin-inline-end: 6px; border: solid currentColor; border-width: 0 0 1.6px 1.6px; content: ""; transform: rotate(-45deg); }
body[data-page="account-channels"] #channelWorkspace .channel-profile-admin.is-unknown::before { width: 5px; height: 5px; border: 0; border-radius: 50%; background: currentColor; content: ""; transform: none; }
body[data-page="account-channels"] #channelWorkspace .channel-batch-history { border-color: var(--design-border-soft); border-radius: 14px; background: #fff; box-shadow: none; }
body[data-page="account-channels"] #channelWorkspace .channel-batch-history-heading { min-height: 44px; color: var(--design-ink); font-size: 14px; }
body[data-page="account-channels"] #channelWorkspace .channel-batch-history-heading .history-expand-label,
body[data-page="account-channels"] #channelWorkspace .channel-batch-history-heading [data-channel-history-status] { color: var(--design-secondary); font-size: 12px; }
body[data-page="account-channels"] #channelWorkspace .channel-batch-history-empty { color: var(--design-secondary); font-size: 13px; }
body[data-page="account-channels"] #channelWorkspace .channel-batch-row { min-height: 52px; border-color: var(--design-border-soft); color: var(--design-secondary); font-size: 12px; line-height: 1.65; }
body[data-page="account-channels"] #channelWorkspace .channel-batch-row .batch-status { min-height: 28px; align-items: center; padding: 4px 10px; border: 1px solid var(--design-border-soft); border-radius: 999px; background: var(--design-subtle); color: var(--design-secondary); font-size: 12px; font-weight: 400; }
body[data-page="account-channels"] #channelWorkspace .channel-batch-row .batch-status.is-complete { border-color: rgb(53 102 240 / 18%); background: var(--design-blue-soft); color: var(--design-blue-ink); }
body[data-page="account-channels"] #channelWorkspace .channel-batch-row .batch-status.is-failed { border-color: rgb(180 35 24 / 20%); background: #fff5f4; color: var(--design-danger); }
body[data-page="account-channels"] #channelWorkspace .channel-batch-row .batch-status.is-cancelled { border-color: var(--design-border-soft); background: var(--design-subtle); color: var(--design-secondary); }
body[data-page="account-channels"] #channelWorkspace .channel-batch-row button { min-height: 44px; border-radius: 999px; font-size: 14px; }
body[data-page="account-channels"] .channel-broadcast-target { min-height: 48px; padding: 10px 12px; border-color: var(--design-border-soft); border-radius: 12px; color: var(--design-ink); font-size: 13px; line-height: 1.65; }
body[data-page="account-channels"] .channel-broadcast-target input,
body[data-page="account-channels"] .channel-settings-group input[type="checkbox"] { accent-color: var(--design-blue); }
body[data-page="account-channels"] .channel-directory-search .form-control { font-size: 15px; }
body[data-page="account-channels"] .channel-directory-search .form-select { font-size: 14px; }
body[data-page="account-channels"] .channel-directory-count { min-height: 32px; display: inline-flex; align-items: center; font-size: 12px; font-weight: 400; }
body[data-page="account-channels"] .channel-file-name { color: var(--design-secondary); font-size: 12px; }
body[data-page="account-channels"] #broadcastModal .modal-body :is(.tool-label, label) { color: var(--design-ink); font-size: 13px; font-weight: 500; }
body[data-page="account-channels"] #broadcastModal .modal-body > small { color: var(--design-secondary); font-size: 12px; line-height: 1.7; }
body[data-page="account-channels"] #broadcastModal .modal-body :is(.tool-select, .tool-textarea) { min-height: 44px; border-color: var(--design-border-soft); border-radius: 12px; font-size: 14px; }
body[data-page="account-channels"] #broadcastModal .modal-body .tool-textarea { min-height: 132px; }
body[data-page="account-channels"] #broadcastModal .modal-footer > button { min-height: 44px; border-radius: 999px; font-size: 14px; }
body[data-page="account-channels"] #channelWorkspace .channel-setting-toggle strong { color: var(--design-ink); font-size: 14px; font-weight: 500; }
body[data-page="account-channels"] #channelWorkspace .channel-setting-toggle small { color: var(--design-secondary); font-size: 12px; }
body[data-page="account-channels"] #channelWorkspace .channel-setting-toggle input:checked + i { background: var(--design-blue); }
body[data-page="account-channels"] #channelWorkspace .channel-setting-toggle input:focus-visible + i { outline: 2px solid rgb(53 102 240 / 65%); }

body[data-page="account-channels"] #channelWorkspace .channel-license-products { gap: 6px; }
body[data-page="account-channels"] #channelWorkspace .channel-license-selected .channel-license-chip { display: inline-flex; min-height: 44px; align-items: center; gap: 8px; padding-inline: 14px; border-color: rgb(53 102 240 / 22%); border-radius: 999px; background: var(--design-blue-soft); color: var(--design-blue-ink); font-size: 13px; }
body[data-page="account-channels"] #channelWorkspace .channel-license-chip .sprite-icon { width: 14px; height: 14px; color: var(--design-secondary); }
body[data-page="account-channels"] #channelWorkspace .channel-license-chip:hover { border-color: rgb(53 102 240 / 42%); background: #dcecff; }
body[data-page="account-channels"] #channelWorkspace .channel-license-product { min-height: 48px; padding: 10px 12px; border-color: var(--design-border-soft); border-radius: 12px; background: #fff; color: var(--design-ink); font-size: 13px; transition: border-color .15s ease, background-color .15s ease; }
body[data-page="account-channels"] #channelWorkspace .channel-license-product:hover { border-color: var(--design-border); background: var(--design-subtle); }
body[data-page="account-channels"] #channelWorkspace .channel-license-product:has(input:checked) { border-color: rgb(53 102 240 / 42%); background: var(--design-blue-soft); color: var(--design-blue-ink); }
body[data-page="account-channels"] #channelWorkspace .channel-license-product input { width: 20px; height: 20px; accent-color: var(--design-blue); }
body[data-page="account-channels"] #channelWorkspace .channel-license-product small { color: var(--design-secondary); font-size: 11px; }
body[data-page="account-channels"] #channelWorkspace .channel-license-pagination button { min-width: 44px; min-height: 44px; border-color: var(--design-border-soft); border-radius: 999px; background: #fff; color: var(--design-secondary); }
body[data-page="account-channels"] #channelWorkspace .channel-license-pagination button:hover:not(:disabled) { border-color: rgb(53 102 240 / 35%); background: var(--design-blue-soft); color: var(--design-blue-ink); }
body[data-page="account-channels"] .wordpress-channel-card { overflow: hidden; border-color: var(--design-border-soft); border-radius: var(--design-radius-card); background: #fff; box-shadow: none; }
body[data-page="account-channels"] .wordpress-channel-card > summary { display: grid; min-height: 72px; grid-template-columns: 36px minmax(0, 1fr) 12px; grid-template-rows: auto auto; align-items: center; gap: 2px 12px; padding: 14px 16px; cursor: pointer; list-style: none; transition: background-color .15s ease; }
body[data-page="account-channels"] .wordpress-channel-card > summary::-webkit-details-marker { display: none; }
body[data-page="account-channels"] .wordpress-channel-card > summary:hover,
body[data-page="account-channels"] .wordpress-channel-card[open] > summary { background: var(--design-subtle); }
body[data-page="account-channels"] .wordpress-channel-card > summary img { grid-column: 1; grid-row: 1 / span 2; width: 32px; height: 32px; padding: 4px; border: 1px solid var(--design-border-soft); border-radius: 9px; background: #fff; object-fit: contain; }
body[data-page="account-channels"] .wordpress-channel-card > summary h2 { grid-column: 2; grid-row: 1; min-width: 0; margin: 0; color: var(--design-ink); font-size: 14px; font-weight: 500; line-height: 1.5; overflow-wrap: anywhere; }
body[data-page="account-channels"] .wordpress-channel-card > summary p { grid-column: 2; grid-row: 2; width: auto; margin: 0; color: var(--design-secondary); font-size: 12px; line-height: 1.5; }
body[data-page="account-channels"] .wordpress-channel-card > summary::after { grid-column: 3; grid-row: 1 / span 2; width: 7px; height: 7px; border-right: 1.5px solid var(--design-muted); border-bottom: 1.5px solid var(--design-muted); content: ""; transform: rotate(45deg); transition: transform .15s ease, border-color .15s ease; }
body[data-page="account-channels"] .wordpress-channel-card[open] > summary::after { border-color: var(--design-blue); transform: rotate(225deg); }
body[data-page="account-channels"] .wordpress-channel-card > .wordpress-directory { border-top-color: var(--design-border-soft); }

/* Shared message editor: quiet controls, clear active state, and touch-sized actions. */
.w3m-message-editor.w3m-summernote { border: 1px solid var(--design-border-soft); border-radius: 16px; background: #fff; }
.w3m-summernote .w3m-editor-tabs { gap: 4px; padding: 6px; border: 1px solid var(--design-border-soft); border-radius: 999px; background: var(--design-subtle); }
.w3m-summernote .w3m-editor-tabs > button { min-height: 44px; height: 44px; border-color: transparent; border-radius: 999px; background: transparent; color: var(--design-secondary); }
.w3m-summernote .w3m-editor-tabs > button:hover { background: var(--design-subtle); color: var(--design-ink); }
.w3m-summernote .w3m-editor-tabs > button[aria-expanded="true"] { border-color: transparent; background: #fff; color: var(--design-blue); box-shadow: var(--design-shadow-soft); }
.w3m-summernote .w3m-editor-tabs .w3m-editor-user-info-header { min-height: 44px; height: 44px; border-color: var(--design-border-soft); border-radius: 999px; color: var(--design-ink); font-size: 12px; }
.w3m-summernote .w3m-editor-tabs .w3m-editor-user-info-header option { color: var(--design-ink); }
.w3m-summernote .w3m-editor-tabs .w3m-editor-user-info-header:focus-visible,
.w3m-summernote .w3m-editor-tabs > button:focus-visible,
.w3m-summernote .w3m-editor-tray .note-btn:focus-visible,
.w3m-summernote .w3m-editor-voice-panel button:focus-visible,
.w3m-summernote .w3m-voice-upload:focus-within { outline: 2px solid rgb(53 102 240 / 65%); outline-offset: 2px; }
.w3m-summernote select:focus-visible,
.w3m-summernote .note-btn:focus-visible,
.w3m-summernote .w3m-editor-tabs :focus-visible,
.w3m-summernote .w3m-editor-voice-panel :focus-visible { outline-color: rgb(53 102 240 / 65%); }
body[data-page="account-bot-members"] .people-page :focus-visible { outline-color: rgb(53 102 240 / 65%); }
.w3m-summernote .note-toolbar.w3m-editor-toolbar { border-bottom-color: var(--design-border-soft); background: #fff; }
.w3m-summernote .w3m-editor-tray .note-btn { min-height: 40px; border-radius: 10px; color: var(--design-secondary); font-size: 13px; }
.w3m-summernote .w3m-editor-tray:not(.w3m-editor-ai-tray) .note-btn { min-height: 44px; }
.w3m-summernote .w3m-editor-tray .note-btn:hover,
.w3m-summernote .w3m-editor-tray .note-btn.active { background: var(--design-blue-soft); color: var(--design-blue-ink); }
.w3m-summernote .w3m-editor-ai-tray .note-btn { min-height: 44px; border-radius: 999px; color: var(--design-blue); font-size: 12px; }
.w3m-summernote .w3m-editor-ai-tray .note-btn:hover { background: var(--design-blue-soft); color: var(--design-blue-ink); }
@media (max-width: 600px) {
    .w3m-summernote .w3m-editor-tray:not(.w3m-editor-ai-tray) .note-btn { min-width: 44px; min-height: 44px; }
}
.w3m-summernote .note-editable.w3m-editor-canvas { min-height: 120px; color: var(--design-ink); font-size: 15px; line-height: 1.8; }
.w3m-summernote .note-placeholder { color: var(--design-muted); }
.w3m-summernote .w3m-editor-status { color: var(--design-secondary); font-size: 12px; }
.w3m-summernote .w3m-editor-voice-panel { border-bottom-color: var(--design-border-soft); border-radius: 12px; background: var(--design-subtle); color: var(--design-secondary); font-size: 12px; }
.w3m-summernote .w3m-editor-voice-panel button,
.w3m-summernote .w3m-voice-upload { min-height: 44px; border-color: var(--design-border); border-radius: 999px; color: var(--design-ink); font-size: 12px; }
.w3m-summernote .w3m-editor-voice-panel [data-voice-start] { border-color: var(--design-blue); background: var(--design-blue); color: #fff; }
.w3m-summernote .w3m-editor-voice-panel [data-voice-stop] { border-color: rgb(180 35 24 / 24%); background: #fff5f4; color: var(--design-danger); }
.w3m-summernote.is-recording [data-editor-tray="voice"] { border-color: rgb(180 35 24 / 24%); background: #fff5f4; color: var(--design-danger); }
.w3m-editor-suggestion { border-color: var(--design-border-soft); border-radius: var(--design-radius-card); background: #fff; color: var(--design-ink); font-size: 13px; }
.w3m-editor-suggestion button { min-height: 44px; border-radius: 999px; }

/* Bot button management: readable rows and a consistent edit surface. */
body[data-page="account-bot"] .bot-workspace .bot-button-editor { border-color: var(--design-border-soft); border-radius: var(--design-radius-card); background: #fff; }
body[data-page="account-bot"] .bot-workspace .bot-button-row { min-height: 64px; border-color: var(--design-border-soft); border-radius: 12px; background: #fff; }
body[data-page="account-bot"] .bot-workspace .bot-button-row > span:first-child,
body[data-page="account-bot"] .bot-workspace .bot-button-row-copy strong { color: var(--design-ink); font-size: 14px; font-weight: 500; }
body[data-page="account-bot"] .bot-workspace .bot-button-row > small,
body[data-page="account-bot"] .bot-workspace .bot-button-row-copy small { color: var(--design-secondary); font-size: 12px; }
body[data-page="account-bot"] .bot-workspace #bot-panel-buttons.is-messaging-buttons .bot-button-row > span:first-child { color: var(--design-ink); font-size: 14px; font-weight: 500; }
body[data-page="account-bot"] .bot-workspace #bot-panel-buttons.is-messaging-buttons .bot-button-row > small { color: var(--design-secondary); font-size: 12px; }
body[data-page="account-bot"] .bot-workspace #bot-panel-buttons.is-messaging-buttons .bot-button-row .business-light { min-height: 44px; border-radius: 999px; }
body[data-page="account-bot"] .bot-workspace .bot-button-row-action { min-width: 44px; min-height: 44px; width: 44px; height: 44px; border-color: var(--design-border-soft); border-radius: 12px; background: #fff; color: var(--design-secondary); }
body[data-page="account-bot"] .bot-workspace .bot-button-order-controls { border-color: var(--design-border-soft); border-radius: 10px; background: #fff; }
body[data-page="account-bot"] .bot-workspace .bot-button-order-action { border-color: var(--design-border-soft); border-radius: 8px; color: var(--design-secondary); }
body[data-page="account-bot"] .bot-workspace .bot-button-row-action:hover,
body[data-page="account-bot"] .bot-workspace .bot-button-order-action:hover { border-color: var(--design-border); background: var(--design-subtle); color: var(--design-blue); }
body[data-page="account-bot"] .bot-workspace .bot-button-row-delete:hover { border-color: rgb(180 35 24 / 24%); background: #fff5f4; color: var(--design-danger); }
body[data-page="account-bot"] .bot-workspace .bot-button-preview { border-color: var(--design-border-soft); border-radius: 12px; background: var(--design-subtle); }
body[data-page="account-bot"] .bot-workspace :is(.bot-button-preview button, .bot-preview-button, .bot-preview-back) { min-height: 44px; border-color: var(--design-border-soft); border-radius: 999px; background: #fff; color: var(--design-ink); }

/* Public business discovery and profile: readable type and consistent controls. */
.business-chat-page .business-directory-hero h1 { color: var(--design-ink); font-size: 24px; font-weight: 400; line-height: 28px; letter-spacing: 0; }
.business-chat-page .business-directory-hero > p { color: var(--design-secondary); font-size: 14px; }
.business-chat-page .business-directory-search { min-height: 56px; }
.business-chat-page .business-directory-search input { height: 44px; font-size: 16px; line-height: 24px; }
.business-chat-page .business-directory-search > svg { width: 20px; height: 20px; stroke: var(--design-secondary); }
.business-chat-page .business-directory-section-head h2 { color: var(--design-ink); font-size: 18px; font-weight: 500; }
.business-chat-page .business-directory-category-businesses .business-search-result-title { color: var(--design-ink); font-size: 13px; font-weight: 500; }
.business-chat-page .business-directory-category-businesses .business-search-result-copy > p { color: var(--design-secondary); font-size: 11px; line-height: 1.65; }
.business-chat-page .business-directory-category-businesses .business-search-result-facts > :is(span, a) { color: var(--design-secondary); font-size: 10px; }
.business-chat-page .business-directory-category-businesses .business-search-result { grid-template-columns: 42px minmax(0, 1fr) 32px; }
.business-chat-page .business-directory-category-businesses .business-search-result-logo,
.business-chat-page .business-directory-category-businesses .business-search-result-logo .business-directory-card-logo { width: 40px; height: 40px; flex-basis: 40px; border-radius: 12px; }
.business-profile-page .business-identity-intro { align-items: center; }
.business-profile-page .business-identity-title h1 { font-size: 24px; font-weight: 400; line-height: 28px; }
.business-profile-page .business-identity-categories a { min-height: 32px; display: inline-flex; align-items: center; padding: 4px 10px; border: 1px solid var(--design-border-soft); border-radius: 999px; background: #fff; font-size: 12px; }
.business-profile-page .business-identity-rating { min-height: 36px; font-size: 13px; }
.business-profile-page .business-identity-rating .rating-star-icon { width: 20px; height: 20px; }

.business-profile-page .business-identity-contacts small { color: var(--design-secondary); font-size: 12px; }
.business-profile-page .business-identity-contacts strong { font-size: 14px; font-weight: 500; }
.business-profile-page .business-identity-about h2,
.business-profile-page .business-identity-details h2 { font-size: 16px; }
.business-profile-page .business-identity-details li,
.business-profile-page .business-identity-details dl,
.business-profile-page .business-identity-about p { font-size: 14px; line-height: 1.8; }
.business-profile-page .business-feedback-eyebrow { font-size: 12px; }
.business-profile-page .business-feedback > header p,
.business-profile-page .business-review-submit p { color: var(--design-secondary); font-size: 12px; line-height: 1.7; }
.business-profile-page .business-review-form label,
.business-profile-page .business-review-form legend { color: var(--design-ink); font-size: 14px; }
.business-profile-page .business-review-entry > header { font-size: 12px; }
.business-profile-page .business-review-entry > header strong { color: var(--design-ink); font-size: 14px; font-weight: 500; }
.business-profile-page .business-review-entry > header time { font-size: 12px; }
.business-profile-page .business-review-entry > p { font-size: 14px; line-height: 1.8; }
.business-profile-page .business-review-ai strong { font-size: 13px; }
.business-profile-page .business-review-empty,
.business-profile-page .business-review-more { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; padding: 8px 16px; border: 1px solid var(--design-border-soft); border-radius: var(--design-radius-control); background: #fff; color: var(--design-secondary); font-size: 14px; }
.business-profile-page .business-review-more:hover { border-color: var(--design-border); background: var(--design-subtle); color: var(--design-ink); text-decoration: none; }
@media (max-width: 760px) {
    .business-chat-page .business-directory-section-head h2 { font-size: 16px; }
    .business-chat-page .business-directory-category-businesses .business-directory-compact-card { grid-template-columns: 42px minmax(0, 1fr); }
    .business-chat-page .business-directory-category-businesses .business-directory-compact-card .business-search-result-title { font-size: 13px; font-weight: 500; line-height: 1.55; }
    .business-chat-page .business-directory-category-businesses .business-directory-compact-card .business-search-result-facts > span { font-size: 10px; }
    .business-chat-page .business-directory-category-businesses .business-directory-compact-card > .business-search-result-logo { width: 40px; height: 40px; }
    .business-chat-page .business-directory-category-businesses .business-directory-compact-card > .business-search-result-logo .business-directory-card-logo { width: 38px; height: 38px; flex-basis: 38px; }
}

/* Subscription plans: white comparison cards with blue reserved for selection. */
body[data-page="subscription-plans"] .plans-page-header h1 { font-size: 24px; font-weight: 400; line-height: 28px; letter-spacing: 0; }
body[data-page="subscription-plans"] .plans-page-header p { color: var(--design-secondary); font-size: 14px; }
body[data-page="subscription-plans"] .plans-page-eyebrow { color: var(--design-secondary); font-size: 13px; font-weight: 400; }
body[data-page="subscription-plans"] .plans-tabs { border-color: var(--design-border-soft); border-radius: 999px; background: var(--design-subtle); box-shadow: none; backdrop-filter: none; }
body[data-page="subscription-plans"] .plans-tab { min-height: 44px; color: var(--design-secondary); font-size: 14px; font-weight: 400; }
body[data-page="subscription-plans"] .plans-tab.is-active { background: #fff; color: var(--design-ink); box-shadow: var(--design-shadow-soft); }
body[data-page="subscription-plans"] .plans-card { padding: 26px 24px 22px; border-color: var(--design-border-soft); border-radius: var(--design-radius-card); background: #fff; box-shadow: none; }
body[data-page="subscription-plans"] .plans-card.is-featured,
body[data-page="subscription-plans"] .plans-card.is-recommended { border-color: rgb(53 102 240 / 48%); background: #fff; box-shadow: inset 0 0 0 1px rgb(53 102 240 / 16%); }
body[data-page="subscription-plans"] .plans-card.is-featured { border-color: rgb(53 102 240 / 48%); background: var(--design-blue-soft); box-shadow: inset 0 0 0 1px rgb(53 102 240 / 16%); }
body[data-page="subscription-plans"] .plans-card.is-current { border-color: var(--design-blue); box-shadow: inset 0 0 0 1px rgb(53 102 240 / 30%); }
body[data-page="subscription-plans"] .plans-card-heading h2 { color: var(--design-ink); font-size: 21px; font-weight: 500; }
body[data-page="subscription-plans"] .plans-card-eyebrow { font-size: 13px; }
body[data-page="subscription-plans"] .plans-current-badge { border-color: rgb(53 102 240 / 18%); border-radius: 999px; background: var(--design-blue-soft); color: var(--design-blue-ink); font-size: 12px; font-weight: 400; }
body[data-page="subscription-plans"] .plans-card-description { min-height: 0; color: var(--design-secondary); font-size: 14px; line-height: 1.8; }
body[data-page="subscription-plans"] .plans-price { color: var(--design-ink); font-size: clamp(28px, 2.7vw, 32px); font-weight: 500; letter-spacing: 0; }
body[data-page="subscription-plans"] .plans-price-unit { color: var(--design-secondary); font-size: 14px; }
body[data-page="subscription-plans"] .plans-billing-note,
body[data-page="subscription-plans"] .plans-credit-note,
body[data-page="subscription-plans"] .plans-disabled-reason { color: var(--design-secondary); font-size: 12px; line-height: 1.7; }
body[data-page="subscription-plans"] .plans-cycle-toggle { border-color: var(--design-border-soft); background: var(--design-subtle); }
body[data-page="subscription-plans"] .plans-cycle-toggle button { min-height: 44px; padding-inline: 14px; color: var(--design-secondary); font-size: 14px; }
body[data-page="subscription-plans"] .plans-cycle-toggle button.is-active { background: #fff; color: var(--design-ink); box-shadow: var(--design-shadow-soft); }
body[data-page="subscription-plans"] .plans-feature-list { gap: 13px; padding-top: 18px; border-top-color: var(--design-border-soft); }
body[data-page="subscription-plans"] .plans-feature-list li { gap: 10px; color: var(--design-secondary); font-size: 13px; line-height: 1.75; }
body[data-page="subscription-plans"] .plans-feature-list svg { width: 20px; height: 20px; flex-basis: 20px; stroke: var(--design-blue); }
body[data-page="subscription-plans"] .plans-buy-button { min-height: 44px; border-color: var(--design-blue); border-radius: 999px; background: var(--design-blue); font-size: 14px; font-weight: 500; }
body[data-page="subscription-plans"] .plans-buy-button:hover:not(:disabled) { border-color: #2452d4; background: #2452d4; }
body[data-page="subscription-plans"] .plans-buy-button:disabled,
body[data-page="subscription-plans"] .plans-buy-button.is-disabled { border-color: var(--design-border-soft); background: var(--design-subtle); color: var(--design-secondary); }
body[data-page="subscription-plans"] .plans-page-footer { color: var(--design-secondary); font-size: 12px; }
body[data-page="subscription-plans"] .plans-page-footer a { color: var(--design-blue); }
body[data-page="subscription-plans"] .plans-page-footer .login-button { min-height: 44px; padding: 10px 18px; border: 1px solid var(--design-blue); border-radius: var(--design-radius-control); background: var(--design-blue); color: #fff; font-size: 14px; font-weight: 500; }
body[data-page="subscription-plans"] .plans-page-footer .login-button:hover { border-color: #2452d4; background: #2452d4; }
@media (max-width: 700px) {
    body[data-page="subscription-plans"] .plans-card { padding: 22px 18px; }
    body[data-page="subscription-plans"] .plans-card-heading h2 { font-size: 20px; }
}
/* Standalone payment and receipt surfaces */
body.billing-result-page,
body:has(> .payment-card) {
    background: #fcfcfc;
    color: #0d0d0d;
    font-family: Vazirmatn, Tahoma, Arial, sans-serif;
}

.billing-result-card {
    padding: 32px clamp(20px, 5vw, 36px) 30px;
    border-color: #e5e5e5;
    border-radius: 20px;
    box-shadow: 0 4px 18px rgb(13 13 13 / 4%);
}

.billing-result-brand { color: #0d0d0d; font-size: 16px; font-weight: 600; }
.billing-result-brand:hover { color: #0d0d0d; }
.billing-result-brand img { width: 32px; height: 32px; }
.billing-result-icon { display: grid; place-items: center; width: 56px; height: 56px; border: 1px solid #dce8ff; border-radius: 50%; background: #eef4ff; color: #3566f0; font-size: 26px; }
.billing-result-icon.failed { border-color: #f1dddd; background: #fff4f3; color: #b42318; }
.billing-result-label { color: #5d5d5d; font-size: 12px; }
.billing-result-card h1 { color: #0d0d0d; font-size: clamp(19px, 3vw, 22px); font-weight: 600; line-height: 1.7; }
.billing-result-description { color: #5d5d5d; font-size: 14px; }
.billing-result-meta { gap: 10px; }
.billing-result-meta > div { min-height: 70px; border-color: #e5e5e5; border-radius: 12px; background: #fafafa; }
.billing-result-meta span { color: #777; font-size: 12px; }
.billing-result-meta strong { color: #0d0d0d; font-size: 14px; font-weight: 600; }
.billing-result-button { min-height: 44px; border-color: #3566f0; border-radius: 999px; background: #3566f0; font-size: 14px; font-weight: 500; }
.billing-result-button:hover { border-color: #2858df; background: #2858df; }
.billing-result-button:focus-visible { outline-color: #3566f055; }

body:has(> .payment-card) { padding: max(20px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left)); }
.payment-card { width: min(100%, 34rem); padding: clamp(24px, 5vw, 36px); border-color: #e5e5e5; border-radius: 20px; box-shadow: 0 4px 18px rgb(13 13 13 / 4%); }
.payment-brand { color: #5d5d5d; font-size: 14px; font-weight: 600; }
.payment-identity img { border-color: #e5e5e5; background: #f7f7f7; }
.payment-identity strong, .payment-card h1 { color: #0d0d0d; }
.payment-card h1 { font-weight: 600; }
.payment-card p { color: #5d5d5d; }
.payment-amount { color: #0d0d0d; font-size: clamp(23px, 6vw, 28px); font-weight: 700; }
.payment-action { min-height: 44px; border-color: #3566f0; border-radius: 999px; background: #3566f0; font-weight: 500; }
.payment-action:hover { border-color: #2858df; background: #2858df; }
.payment-action:focus-visible { outline-color: #3566f055; }
.payment-status-mark { border-color: #dce8ff; background: #eef4ff; color: #3566f0; }
.payment-card-status.is-success .payment-status-mark { border-color: #dce8ff; background: #eef4ff; color: #3566f0; }
.payment-card-status.is-error .payment-status-mark { border-color: #f1dddd; background: #fff4f3; color: #b42318; }

@media (max-width: 575.98px) {
    .billing-result-card { padding: 26px 18px 22px; border-radius: 18px; }
    .billing-result-meta > div { min-height: 66px; }
}

/* Account billing: readable invoice rows and consistent top-up controls. */
.account-settings-page .account-section-heading h3 { font-size: 18px; }
.account-settings-page .account-section-heading p { color: var(--design-secondary); font-size: 13px; line-height: 1.75; }
.account-settings-page .account-plan-callout,
.account-settings-page .account-subscription-active-note { gap: 12px; padding: 14px 16px; font-size: 13px; line-height: 1.8; }
.account-settings-page .account-plan-callout .btn,
.account-settings-page .account-subscription-active-note .btn { min-height: 44px; padding: 10px 16px; border-radius: 999px; font-size: 14px; }
.account-settings-page .account-topup-section { gap: 16px; padding: 16px; }
.account-settings-page .account-topup-copy h4,
.account-settings-page .account-invoices-heading h4 { font-size: 15px; }
.account-settings-page .account-topup-copy p { color: var(--design-secondary); font-size: 13px; line-height: 1.75; }
.account-settings-page .account-topup-open { min-height: 44px; padding-inline: 18px; border-color: var(--design-blue); border-radius: 999px; background: var(--design-blue); font-size: 13px; font-weight: 500; }
.account-settings-page .account-topup-open:hover { border-color: #2452d4; background: #2452d4; }
.account-settings-page .account-invoice-history { margin-top: 22px; }
.account-settings-page .account-invoices-heading { min-height: 44px; padding: 8px 6px; border-radius: 10px; cursor: pointer; transition: background-color .15s ease; }
.account-settings-page .account-invoices-heading:hover { background: var(--design-subtle); }
.account-settings-page .account-invoices-heading:focus-visible { outline: 2px solid rgb(53 102 240 / 65%); outline-offset: 2px; }
.account-settings-page .account-invoices-heading h4 { margin: 0; }
.account-settings-page .account-invoices-heading span { color: var(--design-secondary); font-size: 12px; line-height: 1.6; }
.account-settings-page .account-invoices-heading-copy { display: grid; min-width: 0; gap: 3px; }
.account-settings-page .account-invoices-heading-chevron { width: 18px; height: 18px; flex: 0 0 18px; margin-inline-start: auto; color: var(--design-secondary); transition: transform .16s ease; }
.account-settings-page .account-invoice-history[open] .account-invoices-heading-chevron { transform: rotate(180deg); }
.account-settings-page .billing-invoices { max-height: 320px; border-color: var(--design-border-soft); border-radius: 14px; background: #fff; }
.account-settings-page .billing-invoice-row { min-height: 64px; padding: 11px 14px; border-bottom-color: var(--design-border-soft); }
.account-settings-page .billing-invoice-row:hover { background: var(--design-subtle); }
.account-settings-page .billing-invoice-row strong { color: var(--design-ink); font-size: 13px; font-weight: 500; }
.account-settings-page .billing-invoice-row small { color: var(--design-secondary); font-size: 12px; }
.account-settings-page .billing-invoice-row > .sprite-icon { width: 18px; height: 18px; color: var(--design-blue); }
.account-settings-page .invoice-status { font-size: 12px; font-weight: 500; }
.account-settings-page .invoice-status.paid { color: var(--design-blue-ink); }
.account-settings-page .invoice-status.pending { color: var(--design-secondary); }
.account-settings-page .invoice-status.failed { color: var(--design-danger); }
.account-settings-page .billing-loading,
.account-settings-page .billing-empty { padding: 20px 14px; color: var(--design-secondary); font-size: 13px; }
.account-settings-page .billing-invoice-detail .invoice-detail-card { border-color: var(--design-border-soft); border-radius: 14px; background: #fff; }
.account-settings-page .billing-invoice-detail :is(.invoice-detail-head span:first-child, .invoice-detail-grid span) { color: var(--design-secondary); font-size: 12px; }
.account-settings-page .billing-invoice-detail .invoice-detail-head strong { color: var(--design-ink); font-size: 15px; }
.account-settings-page .billing-invoice-detail .invoice-detail-grid strong { color: var(--design-ink); font-size: 13px; }
.account-topup-modal-content { border-color: var(--design-border-soft); border-radius: 18px; box-shadow: 0 12px 36px rgb(0 0 0 / 10%); }
.account-topup-modal-content .modal-title { color: var(--design-ink); font-size: 18px; font-weight: 500; }
.account-topup-modal-copy { color: var(--design-secondary); font-size: 14px; }
.account-topup-modal-content .credit-topup-form .form-label { color: var(--design-ink); font-size: 13px; font-weight: 500; }
.account-topup-modal-content .credit-topup-form input { min-height: 48px; border-color: var(--design-border-soft); border-radius: 12px; font-size: 16px; }
.account-topup-modal-content .credit-topup-form small { color: var(--design-secondary); font-size: 12px; line-height: 1.7; }
.account-settings-page .account-topup-modal-content .credit-topup-form .btn-primary { min-height: 44px; border-color: var(--design-blue); border-radius: 999px; background: var(--design-blue); font-size: 14px; font-weight: 500; }
.account-settings-page .account-topup-modal-content .credit-topup-form .btn-primary:hover { border-color: #2452d4; background: #2452d4; }
@media (max-width: 575.98px) {
    .account-settings-page .account-topup-section { align-items: stretch; flex-direction: column; }
    .account-settings-page .account-topup-open { width: 100%; }
    .account-settings-page .account-invoices-heading { align-items: center; flex-direction: row; gap: 10px; }
    .account-settings-page .billing-invoice-row { grid-template-columns: minmax(0, 1fr) auto 16px; }
    .account-settings-page .account-plan-callout { align-items: stretch; flex-direction: column; }
}

/* Bot setup and member messaging: remove remaining legacy blue glass/gradient surfaces. */
body[data-page="account-bot"] .bot-workspace #botSubscriptionFields > .bot-payment-methods-box { border-color: var(--design-border-soft); border-radius: 14px; background: var(--design-subtle); }
body[data-page="account-bot"] .bot-workspace #botSubscriptionFields > .bot-payment-methods-box > .bot-payment-methods-title { color: var(--design-ink); font-size: 14px; font-weight: 500; }
body[data-page="account-bot"] .bot-workspace #botSubscriptionFields > .bot-payment-methods-box > .bot-payment-option { border-color: var(--design-border-soft); border-radius: 12px; background: #fff; box-shadow: none; }
body[data-page="account-bot"] .bot-workspace #botSubscriptionFields > .bot-payment-methods-box > .bot-payment-option:has(input:checked) { border-color: rgb(53 102 240 / 48%); background: #fff; box-shadow: inset 0 0 0 1px rgb(53 102 240 / 14%); }
body[data-page="account-bot"] .bot-workspace #bot-panel-buttons.is-button-directory .bot-buttons-search-field { min-height: 48px; border-color: var(--design-border-soft); border-radius: 12px; background: #fff; }
body[data-page="account-bot"] .bot-workspace #bot-panel-buttons.is-button-directory .bot-buttons-search-field:focus-within { border-color: rgb(53 102 240 / 55%); box-shadow: 0 0 0 3px rgb(53 102 240 / 12%); }
body[data-page="account-bot"] .bot-workspace #bot-panel-buttons.is-button-directory .bot-buttons-search > span:first-child { color: var(--design-secondary); font-size: 13px; font-weight: 500; }
body[data-page="account-bot"] .bot-workspace #bot-panel-buttons.is-button-directory .bot-buttons-count { border-radius: 999px; background: var(--design-blue-soft); color: var(--design-blue-ink); font-size: 12px; }
body[data-page="account-bot"] .bot-workspace #bot-panel-buttons.is-button-directory .bot-buttons-list { background: var(--design-subtle); }
body[data-page="account-bot"] .bot-workspace #bot-panel-buttons.is-button-directory .bot-button-directory-row { min-height: 72px; border-color: var(--design-border-soft); border-radius: 12px; background: #fff; box-shadow: none; }
body[data-page="account-bot"] .bot-workspace #bot-panel-buttons.is-button-directory .bot-button-directory-row:hover,
body[data-page="account-bot"] .bot-workspace #bot-panel-buttons.is-button-directory .bot-button-directory-row:focus-visible { border-color: rgb(53 102 240 / 45%); background: #fff; box-shadow: var(--design-shadow-soft); transform: none; }
body[data-page="account-bot"] .bot-workspace .bot-button-children-list > .bot-buttons-empty { border-color: var(--design-border); border-radius: 12px; background: var(--design-subtle); color: var(--design-secondary); }
body[data-page="account-bot"] .bot-workspace .bot-button-required-channel-section { border-color: var(--design-border-soft); border-radius: 14px; background: var(--design-subtle); }
body[data-page="account-bot"] .bot-workspace #bot-panel-buttons.is-button-directory .bot-button-row-icon,
body[data-page="account-bot"] .bot-workspace .bot-button-create-icon { border-radius: 10px; background: var(--design-blue-soft); color: var(--design-blue); }
body[data-page="account-bot"] .bot-workspace .bot-button-row-copy strong { color: var(--design-ink); font-size: 14px; font-weight: 500; }
body[data-page="account-bot"] .bot-workspace .bot-button-row-copy small { color: var(--design-secondary); font-size: 12px; }
body[data-page="account-bot"] .bot-workspace .bot-button-row-action { border-color: var(--design-border-soft); border-radius: 10px; color: var(--design-secondary); }
body[data-page="account-bot"] .bot-workspace .bot-button-type-back,
body[data-page="account-bot"] .bot-workspace .bot-button-sheet-panel > footer .bot-button-type-back { width: 44px; min-width: 44px; height: 44px; min-height: 44px; flex: 0 0 44px; justify-content: center; padding: 0; border: 1px solid var(--design-border-soft); border-radius: 50%; background: #fff; color: var(--design-secondary); }
body[data-page="account-bot"] .bot-workspace .bot-button-type-back:hover,
body[data-page="account-bot"] .bot-workspace .bot-button-sheet-panel > footer .bot-button-type-back:hover { border-color: var(--design-border); background: var(--design-subtle); color: var(--design-ink); }
body[data-page="account-bot"] .bot-workspace .bot-buttons-preview-toggle { width: 44px; height: 44px; flex-basis: 44px; border: 1px solid var(--design-border-soft); border-radius: 50%; background: #fff; color: var(--design-secondary); }
body[data-page="account-bot"] .bot-workspace .bot-buttons-preview-toggle:hover,
body[data-page="account-bot"] .bot-workspace .bot-buttons-preview-toggle[aria-expanded="true"] { border-color: var(--design-border); background: var(--design-subtle); color: var(--design-ink); }
body[data-page="account-bot"] .bot-workspace :is(.bot-button-child-option, .bot-button-parent-option) { min-height: 44px; border-radius: 10px; color: var(--design-secondary); font-size: 13px; }
body[data-page="account-bot"] .bot-workspace :is(.bot-button-child-option, .bot-button-parent-option):hover { background: var(--design-subtle); color: var(--design-ink); }
body[data-page="account-bot"] .bot-workspace .bot-knowledge-file-actions button { min-height: 44px; border-color: var(--design-border-soft); border-radius: 999px; background: #fff; color: var(--design-secondary); font-size: 13px; }
body[data-page="account-bot"] .bot-workspace .bot-knowledge-file-actions button:hover:not(:disabled) { border-color: var(--design-border); background: var(--design-subtle); color: var(--design-ink); }
body[data-page="account-bot"] .bot-workspace .bot-button-create-row { min-height: 64px; color: var(--design-blue); font-size: 14px; }
body[data-page="account-bot"] .bot-workspace .bot-widget-display-settings { border-color: var(--design-border-soft); border-radius: 14px; background: #fff; }
body[data-page="account-bot"] .bot-workspace .bot-widget-position-options label { min-height: 44px; border-color: var(--design-border-soft); border-radius: 12px; color: var(--design-secondary); font-size: 13px; font-weight: 400; }
body[data-page="account-bot"] .bot-workspace .bot-widget-position-options label:has(input:checked) { border-color: rgb(53 102 240 / 45%); background: var(--design-blue-soft); box-shadow: none; color: var(--design-blue-ink); }
body[data-page="account-bot"] .bot-workspace .bot-widget-position-options input { accent-color: var(--design-blue); }
body[data-page="account-bot"] .bot-workspace .bot-knowledge-empty { border-color: var(--design-border); border-radius: 14px; background: var(--design-subtle); }
body[data-page="account-bot"] .bot-workspace .bot-knowledge-empty-icon { border-radius: 10px; background: var(--design-blue-soft); color: var(--design-blue); }
body[data-page="account-bot"] .bot-workspace .bot-knowledge-empty strong { color: var(--design-ink); font-size: 14px; font-weight: 500; }
body[data-page="account-bot"] .bot-workspace .bot-knowledge-empty p { color: var(--design-secondary); font-size: 13px; }
body[data-page="account-bot"] .bot-workspace .bot-panel-back { min-height: 44px; border-color: var(--design-border-soft); border-radius: 999px; background: #fff; color: var(--design-secondary); box-shadow: none; font-size: 13px; font-weight: 400; backdrop-filter: none; -webkit-backdrop-filter: none; }
body[data-page="account-bot"] .bot-workspace .bot-panel-back:hover { border-color: var(--design-border); background: var(--design-subtle); color: var(--design-ink); }
body[data-page="account-bot"] .bot-workspace .bot-panel-back svg { width: 18px; height: 18px; }
body[data-page="account-bot"] .bot-workspace .bot-workspace-directory-back { min-height: 44px; border-color: var(--design-border-soft); background: #fff; color: var(--design-secondary); box-shadow: none; font-size: 14px; font-weight: 400; backdrop-filter: none; -webkit-backdrop-filter: none; }
body[data-page="account-bot"] .bot-workspace .bot-workspace-directory-back:hover { border-color: var(--design-border); background: var(--design-subtle); color: var(--design-ink); transform: none; }
body[data-page="account-bot"] .bot-workspace .bot-workspace-directory-back svg { width: 18px; height: 18px; }
body[data-page="account-bot-members"] .people-page .bot-message-media { border-color: var(--design-border-soft); border-radius: 14px; background: var(--design-subtle); }
body[data-page="account-bot-members"] .people-page .bot-media-heading { color: var(--design-ink); font-size: 14px; font-weight: 500; }
body[data-page="account-bot-members"] .people-page .bot-media-heading small { color: var(--design-secondary); font-size: 12px; }
body[data-page="account-bot-members"] .people-page .bot-media-picker { min-height: 44px; border-color: var(--design-border-soft); border-radius: 999px; background: #fff; color: var(--design-ink); box-shadow: none; font-size: 13px; font-weight: 400; }
body[data-page="account-bot-members"] .people-page .bot-media-picker:hover { border-color: var(--design-border); background: var(--design-subtle); transform: none; }
body[data-page="account-bot-members"] .people-page .members-overview-export { min-height: 44px; border-color: var(--design-border-soft); border-radius: 999px; background: #fff; color: var(--design-secondary); box-shadow: none; font-size: 13px; font-weight: 400; }
body[data-page="account-bot-members"] .people-page .members-overview-export svg { width: 18px; height: 18px; }
body[data-page="account-bot-members"] .people-page .members-overview-export:hover { border-color: var(--design-border); background: var(--design-subtle); }
body[data-page="account-bot-members"] .people-page .member-message-preview { border-color: var(--design-border-soft); border-radius: 12px; background: var(--design-subtle); }

/* Sticky bulk actions use a solid surface and the shared action control scale. */
body[data-page="account-bot-members"] .people-page .member-actions,
body[data-page="account-channels"] .channel-broadcast-toolbar { border-color: var(--design-border-soft); background: #fff; box-shadow: var(--design-shadow-float); backdrop-filter: none; -webkit-backdrop-filter: none; }
body[data-page="account-bot-members"] .people-page .member-actions { border-radius: 16px; color: var(--design-secondary); }
body[data-page="account-bot-members"] .people-page .member-actions > button { min-height: 44px; border-radius: 999px; font-size: 14px; }
body[data-page="account-bot-members"] .people-page .member-check { min-height: 44px; color: var(--design-secondary); font-size: 13px; }
body[data-page="account-bot-members"] .people-page .member-check input,
body[data-page="account-channels"] .channel-select input { accent-color: var(--design-blue); }
body[data-page="account-channels"] .channel-broadcast-toolbar { border-radius: 16px; }
body[data-page="account-channels"] .channel-broadcast-toolbar > span,
body[data-page="account-channels"] .channel-select { color: var(--design-secondary); font-size: 13px; }
body[data-page="account-channels"] .channel-select { min-height: 44px; }
body[data-page="account-channels"] .channel-broadcast-toolbar .business-primary { min-height: 44px; border-radius: 999px; font-size: 13px; }

/* Main chat: align the composer with the conversation column and preserve readable helper text. */
body[data-page="index"] .chat-layout.chat-active .welcome-panel { width: min(100%, 768px); max-width: 768px; }
body[data-page="index"] .chat-layout.chat-active .chat-composer { width: min(100%, 768px); max-width: 768px; border-radius: 24px; }
body[data-page="index"] .welcome-panel:not(.has-messages) .chat-welcome-heading h1 { color: var(--design-ink); font-weight: 400; }
body[data-page="index"] .chat-media-help { width: min(100%, 720px); margin-top: 10px; color: var(--design-secondary); font-size: 12px; line-height: 1.7; }
body[data-page="index"] .chat-history-more { min-height: 44px; padding: 9px 16px; border-color: var(--design-border-soft); border-radius: 999px; color: var(--design-secondary); font-size: 13px; }
body[data-page="index"] .chat-history-more:hover { border-color: var(--design-border); background: var(--design-subtle); color: var(--design-ink); }
body[data-page="index"] .chat-starter-prompts button { font-size: 14px; }
@media (max-width: 767.98px) {
    body[data-page="index"] .chat-layout.chat-active .chat-composer { width: calc(100% - 24px); }
    body[data-page="index"] .chat-media-help { width: calc(100% - 16px); margin-top: 8px; font-size: 11px; }
    body[data-page="index"] .chat-starter-prompts button { min-height: 44px; font-size: 14px; }
}

/* Authentication dialog: give every step clear text hierarchy and touch-sized actions. */
.auth-box .auth-step-label { color: var(--design-secondary); font-size: 12px; font-weight: 400; }
.auth-box .auth-step h2 { color: var(--design-ink); font-size: 22px; font-weight: 500; }
.auth-box .auth-subtitle { color: var(--design-secondary); font-size: 14px; line-height: 1.8; }
.auth-box .auth-step label { color: var(--design-ink); font-size: 14px; font-weight: 500; }
.auth-box .auth-input-wrap { min-height: 52px; border-color: var(--design-border-soft); border-radius: 12px; background: #fff; }
.auth-box .auth-input-wrap input { color: var(--design-ink); font-size: 16px; }
.auth-box .auth-input-wrap:focus-within { border-color: rgb(53 102 240 / 55%); box-shadow: 0 0 0 3px rgb(53 102 240 / 12%); }
.auth-box .auth-field-hint,
.auth-box .auth-hint,
.auth-box .auth-sms-hint { color: var(--design-secondary); font-size: 12px; line-height: 1.75; }
.auth-box .auth-submit { height: 44px; min-height: 44px; border-radius: 999px; font-size: 14px; font-weight: 500; }
.auth-box .auth-phone-summary { border-color: var(--design-border-soft); border-radius: 12px; background: var(--design-subtle); }
.auth-box .auth-phone-summary > span { color: var(--design-secondary); font-size: 12px; }
.auth-box .auth-phone-summary > strong { color: var(--design-ink); font-size: 15px; font-weight: 500; }
.auth-box .auth-back { min-height: 44px; padding: 8px 12px; border-radius: 999px; color: var(--design-secondary); font-size: 12px; }
.auth-box .auth-back:hover { background: var(--design-subtle); color: var(--design-ink); }
.auth-box .resend-row { color: var(--design-secondary); font-size: 12px; }
.auth-box .resend-code { min-height: 44px; padding: 8px 12px; border-radius: 999px; color: var(--design-ink); font-size: 12px; font-weight: 500; }
.auth-box .resend-code:not(:disabled):hover { background: var(--design-subtle); color: var(--design-blue); }
.auth-box .auth-message { border-radius: 12px; }
.auth-box .auth-message { border-color: rgb(180 35 24 / 20%); background: #fff5f4; color: var(--design-danger); }
.auth-box .auth-message.is-success { border-color: rgb(53 102 240 / 20%); background: var(--design-blue-soft); color: var(--design-blue-ink); }
@media (max-width: 575.98px) {
    .auth-box .auth-step h2 { font-size: 20px; }
    .auth-box .auth-subtitle { font-size: 13px; }
}

/* Business directory cards: keep names, descriptions, and metadata legible on small screens. */
.business-chat-page .business-directory-category-businesses .business-search-result-title { font-size: 14px; line-height: 1.55; }
.business-chat-page .business-directory-category-businesses .business-search-result-copy > p { font-size: 12px; line-height: 1.7; }
.business-chat-page .business-directory-category-businesses .business-search-result-facts > :is(span, a) { font-size: 12px; line-height: 1.55; }
.business-chat-page .business-directory-category-businesses .business-search-result-facts > :is(.business-card-category, .business-card-activity) { min-height: 28px; padding: 4px 9px; border-radius: 999px; }
.business-chat-page .business-directory-category-businesses .business-search-result-logo,
.business-chat-page .business-directory-category-businesses .business-search-result-logo .business-directory-card-logo { width: 44px; height: 44px; flex-basis: 44px; }
.business-profile-page .business-identity-categories a { min-height: 44px; padding-inline: 12px; font-size: 13px; }
.business-profile-page .business-identity-rating { min-height: 44px; font-size: 14px; }
@media (max-width: 760px) {
    .business-chat-page .business-directory-category-businesses .business-search-result-title { font-size: 14px; }
    .business-chat-page .business-directory-category-businesses .business-search-result-copy > p { font-size: 12px; }
    .business-chat-page .business-directory-category-businesses .business-search-result-facts > :is(span, a) { font-size: 11px; }
    .business-chat-page .business-directory-category-businesses .business-search-result-logo,
    .business-chat-page .business-directory-category-businesses .business-search-result-logo .business-directory-card-logo { width: 40px; height: 40px; flex-basis: 40px; }
    .business-chat-page .business-directory-category-businesses .business-directory-compact-card .business-search-result-facts > span { font-size: 11px; }
}

/* Category directory: clear tiles with touch-sized titles and readable labels. */
.business-chat-page .business-directory-category-list { gap: 10px; }
.business-chat-page .business-directory-category-item-copy { min-height: 82px; gap: 8px; padding: 12px; border: 1px solid var(--design-border-soft); border-radius: 12px; background: #fff; transition: border-color .15s ease, background-color .15s ease; }
.business-chat-page .business-directory-category-item:hover .business-directory-category-item-copy,
.business-chat-page .business-directory-category-item:focus-within .business-directory-category-item-copy { border-color: var(--design-border); background: var(--design-subtle); transform: none; }
.business-chat-page .business-directory-category-item-copy > a { min-height: 44px; display: flex; align-items: center; font-size: 14px; font-weight: 500; line-height: 1.55; }
.business-chat-page .business-directory-category-item-copy small { color: var(--design-secondary); font-size: 12px; line-height: 1.6; }
.business-chat-page .business-directory-category-logos { min-height: 38px; gap: 8px; }
@media (max-width: 640px) {
    .business-chat-page .business-directory-category-list { gap: 8px; }
    .business-chat-page .business-directory-category-item-copy { min-height: 76px; gap: 6px; padding: 8px; }
    .business-chat-page .business-directory-category-item-copy > a { min-height: 44px; font-size: 14px; }
    .business-chat-page .business-directory-category-item-copy small { font-size: 12px; }
    .business-chat-page .business-directory-category-logos { min-height: 34px; gap: 6px; }
}

/* Canonical category results use the same readable type scale as the main directory. */
.business-category-page .business-search-result-title { font-size: 15px; line-height: 1.55; }
.business-category-page .business-search-result-domain { color: var(--design-secondary); font-size: 12px; }
.business-category-page .business-search-result-copy > p { color: var(--design-secondary); font-size: 13px; line-height: 1.75; }
.business-category-page .business-search-result-facts { gap: 6px 10px; }
.business-category-page .business-search-result-facts > :is(span, a) { font-size: 12px; line-height: 1.55; }
.business-category-page .business-search-result-facts svg { width: 16px; height: 16px; }
.business-category-page .business-search-result-facts > :is(.business-card-category, .business-card-activity) { min-height: 28px; padding: 4px 9px; border-radius: 999px; }
@media (max-width: 767.98px) {
    .business-category-page .business-category-results-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    .business-category-page .business-category-results-grid { grid-template-columns: minmax(0, 1fr); }
    .business-category-page .business-search-result-title { font-size: 14px; }
    .business-category-page .business-search-result-domain,
    .business-category-page .business-search-result-copy > p { font-size: 12px; }
    .business-category-page .business-search-result-facts > :is(span, a) { font-size: 11px; }
}

/* Business assistant: readable prompt controls and a quiet settings panel. */
.assistant-workspace { background: var(--design-canvas); color: var(--design-ink); }
.assistant-workspace .assistant-composer { border-color: var(--design-border-soft); border-radius: 24px; background: #fff; box-shadow: var(--design-shadow-soft); }
.assistant-workspace .assistant-composer:focus-within { border-color: rgb(53 102 240 / 48%); box-shadow: 0 0 0 3px rgb(53 102 240 / 10%), var(--design-shadow-soft); }
.assistant-workspace .assistant-composer textarea { min-height: 72px; padding: 16px 18px 8px; color: var(--design-ink); font-size: 16px; line-height: 1.75; }
.assistant-workspace .assistant-composer textarea::placeholder { color: var(--design-muted); }
.assistant-workspace .assistant-composer-bar { gap: 8px; padding: 7px 10px 10px; }
.assistant-workspace .assistant-settings > summary { width: 44px; height: 44px; border-color: var(--design-border-soft); color: var(--design-secondary); }
.assistant-workspace .assistant-settings > summary:hover,
.assistant-workspace .assistant-settings[open] > summary { background: var(--design-subtle); box-shadow: none; }
.assistant-workspace .assistant-settings-popover { border-color: var(--design-border-soft); border-radius: 16px; box-shadow: 0 12px 32px rgb(13 13 13 / 10%); }
.assistant-workspace .assistant-settings-popover > strong { color: var(--design-ink); font-size: 14px; font-weight: 500; }
.assistant-workspace .assistant-settings-popover .tool-label { color: var(--design-secondary); font-size: 12px; }
.assistant-workspace .assistant-settings-popover select { min-height: 44px; border-color: var(--design-border-soft); border-radius: 10px; color: var(--design-ink); font-size: 14px; }
.assistant-workspace .assistant-composer-hint { color: var(--design-secondary); font-size: 12px; }
.assistant-workspace .assistant-workflow-tabs { gap: 4px; border-color: var(--design-border-soft); border-radius: var(--design-radius-control); background: var(--design-subtle); box-shadow: none; }
.assistant-workspace .assistant-workflow-tabs a { min-height: 44px; border-radius: var(--design-radius-control); color: var(--design-secondary); font-size: 13px; }
.assistant-workspace .assistant-workflow-tabs a:hover,
.assistant-workspace .assistant-workflow-tabs a.is-active { background: #fff; color: var(--design-ink); box-shadow: var(--design-shadow-soft); }
.assistant-workspace .assistant-result-actions .business-light { min-height: 44px; border-color: var(--design-border-soft); border-radius: 999px; color: var(--design-secondary); font-size: 12px; }
.assistant-workspace .assistant-result-actions .business-light:hover { background: var(--design-subtle); color: var(--design-ink); }
.business-category-page .business-category-filters { border-color: var(--design-border-soft); border-radius: var(--design-radius-card); background: #fff; box-shadow: none; }
.business-category-page .business-category-filters > strong { color: var(--design-ink); font-size: 13px; font-weight: 500; }
.business-category-page .business-category-filters label { color: var(--design-secondary); font-size: 12px; font-weight: 400; }
.business-category-page .business-category-filters select { min-height: 44px; border-color: var(--design-border-soft); border-radius: 12px; background-color: #fff; color: var(--design-ink); font-size: 14px; }
.business-category-page .business-category-filters select:focus { border-color: rgb(53 102 240 / 55%); box-shadow: 0 0 0 3px rgb(53 102 240 / 12%); }
.business-category-page .business-category-filters .business-primary { min-height: 44px; border-color: var(--design-blue); border-radius: 999px; background: var(--design-blue); color: #fff; font-size: 13px; font-weight: 500; }
.business-category-page .business-category-filters .business-primary:hover { border-color: #2452d4; background: #2452d4; }
@media (max-width: 760px) {
    .assistant-workspace .assistant-composer textarea { min-height: 68px; padding: 13px 14px 7px; font-size: 16px; }
    .assistant-workspace .assistant-settings-popover { width: calc(100vw - 38px); }
    .assistant-workspace .assistant-workflow-tabs a { font-size: 12px; }
}

/* Channel workspace actions and tabs keep the shared 44px touch target. */
body[data-page="account-channels"] #channelWorkspace .channel-profile-actions > *,
body[data-page="account-channels"] #channelWorkspace .channel-settings-save,
body[data-page="account-channels"] #channelWorkspace .channel-detail-tab,
body[data-page="account-channels"] .channel-directory-tab,
body[data-page="account-channels"] .channel-leave-actions button,
body[data-page="account-channels"] .channel-file-choose,
body[data-page="account-channels"] .channel-file-submit { min-height: 44px; }
body[data-page="account-channels"] #channelWorkspace .channel-profile-actions > *,
body[data-page="account-channels"] #channelWorkspace .channel-settings-save,
body[data-page="account-channels"] .channel-leave-actions button,
body[data-page="account-channels"] .channel-file-choose,
body[data-page="account-channels"] .channel-file-submit { border-radius: 999px; }
.account-trigger { min-height: 48px; gap: 9px; padding: 6px 8px; border-color: transparent; border-radius: 12px; background: transparent; }
.account-trigger:hover { border-color: transparent; background: var(--design-subtle); }
.account-trigger-avatar { width: 36px; height: 36px; flex-basis: 36px; }
.account-trigger-avatar .sprite-icon { width: 18px; height: 18px; }
.account-summary strong { font-size: 14px; line-height: 20px; }
.account-summary small { font-size: 12px; line-height: 16px; }
.account-menu { position: relative; }
.account-menu > summary { list-style: none; }
.account-menu > summary::-webkit-details-marker { display: none; }
.account-menu > summary::marker { content: ""; }
.account-menu > summary .account-chevron { width: 16px; height: 16px; flex: 0 0 16px; margin-inline-start: auto; color: var(--design-muted); transition: transform .16s ease; }
.account-menu[open] > summary { background: var(--design-subtle); }
.account-menu[open] > summary .account-chevron { transform: rotate(180deg); }
.account-menu-popover { position: absolute; z-index: 40; inset-inline: 0; bottom: calc(100% + 8px); display: grid; gap: 2px; padding: 8px; border: 1px solid var(--design-border-soft); border-radius: var(--design-radius-menu); background: #fff; box-shadow: var(--design-shadow-float); }
.account-menu-profile { display: flex; min-width: 0; min-height: 52px; align-items: center; gap: 10px; padding: 4px 8px; }
.account-menu-avatar { width: 32px; height: 32px; flex: 0 0 32px; border-radius: 50%; background: var(--design-subtle); color: var(--design-secondary); }
.account-menu-avatar .sprite-icon { width: 18px; height: 18px; }
.account-menu-avatar img { width: 100%; height: 100%; border-radius: inherit; object-fit: cover; }
.account-menu-profile-copy { display: grid; min-width: 0; gap: 1px; }
.account-menu-profile-copy strong { overflow: hidden; color: var(--design-ink); font-size: 14px; font-weight: 500; line-height: 20px; text-overflow: ellipsis; white-space: nowrap; }
.account-menu-profile-copy small { color: var(--design-secondary); font-size: 12px; line-height: 16px; }
.account-menu-item { display: flex; width: 100%; min-height: 44px; align-items: center; gap: 10px; padding: 9px 10px; border: 0; border-radius: 10px; background: transparent; color: var(--design-ink); font: inherit; font-size: 14px; line-height: 20px; text-align: start; text-decoration: none; cursor: pointer; }
.account-menu-item .sprite-icon { width: 18px; height: 18px; flex: 0 0 18px; color: var(--design-secondary); }
.account-menu-item:hover { background: var(--design-subtle); color: var(--design-ink); text-decoration: none; }
.account-menu-item:focus-visible { outline: 2px solid rgb(53 102 240 / 65%); outline-offset: -2px; }
.account-menu-separator { height: 1px; margin: 5px 4px; background: var(--design-border-soft); }
.account-menu-logout-form { margin: 0; }
.account-menu-logout-form .account-menu-item { color: var(--design-secondary); }
.account-menu-logout-form .account-menu-item:hover { background: var(--design-subtle); color: var(--design-ink); }
@media (min-width: 992px) {
    .chat-layout.sidebar-collapsed .chat-sidebar:has(.account-menu[open]) { overflow: visible; }
    .chat-layout.sidebar-collapsed .account-menu-popover { width: 264px; inset-inline-start: 0; inset-inline-end: auto; }
}
.root-dashboard .root-button { font-size: 14px; }
.root-dashboard .root-filters .form-control, .root-dashboard .root-filters .form-select { font-size: 14px; }
body[data-page="subscription-plans"] .plans-card-description { font-size: 14px; line-height: 1.7; }
body[data-page="subscription-plans"] .plans-feature-list li { color: var(--design-secondary); font-size: 14px; line-height: 1.65; }
body[data-admin-navigation="1"][data-page] .chat-main nav.management-tabs .management-tab > .sprite-icon { width: 20px; height: 20px; flex: 0 0 20px; }
body[data-admin-navigation="1"][data-page] .chat-main nav.management-tabs .management-tab > .account-nav-inline-icon { color: inherit !important; }
body[data-page="index"] .chat-composer .composer-toolbar .send-button:is(.is-active, .is-loading) { background: #2c67c5; }
body[data-page="index"] .welcome-panel h1,
body[data-page="index"] .chat-welcome-heading h1 { font-size: 24px; line-height: 28px; }
.business-chat-page .business-directory-promo-action, .business-category-page .business-directory-promo-action, .business-category-page .business-category-filters .business-primary, body[data-page="account-channels"] .channel-broadcast-toolbar .business-primary { font-size: 14px; }
.business-category-page .business-category-load-more, .business-category-page .business-category-children a, .business-category-page .business-category-pagination a { font-size: 14px; }

/* Match the reference's compact composer controls while retaining 44px hit areas. */
body[data-page="index"] .chat-composer .composer-toolbar :is(.composer-icon, .voice-button) {
    position: relative;
    isolation: isolate;
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    flex-basis: 44px;
    background: transparent;
}
body[data-page="index"] .chat-composer .composer-toolbar :is(.composer-icon, .voice-button)::before {
    position: absolute;
    z-index: -1;
    inset: 4px;
    border-radius: 50%;
    background: transparent;
    content: "";
    pointer-events: none;
}
body[data-page="index"] .chat-composer .composer-toolbar :is(.composer-icon, .voice-button):hover::before { background: var(--design-subtle); }
body[data-page="index"] .chat-composer .composer-toolbar .composer-icon.active::before,
body[data-page="index"] .chat-composer .composer-toolbar .composer-icon:has(+ .composer-tool-menu:not([hidden]))::before { background: var(--design-blue-soft); }
body[data-page="index"] .chat-composer .composer-toolbar .voice-button.is-recording::before,
body[data-page="index"] .chat-composer .composer-toolbar .voice-button.is-error::before { background: #fff5f4; }
body[data-page="index"] .chat-composer .composer-toolbar .voice-button.is-processing::before { background: var(--design-subtle); }
body[data-page="index"] .chat-composer .composer-toolbar .voice-button.is-done::before { background: var(--design-blue-soft); }
body[data-page="index"] .chat-composer .composer-toolbar .voice-button.is-recording { color: var(--design-danger); }
body[data-page="index"] .chat-composer .composer-toolbar .voice-button.is-processing { color: var(--design-secondary); }
body[data-page="index"] .chat-composer .composer-toolbar .voice-button.is-done { color: var(--design-blue); }
body[data-page="index"] .chat-composer .composer-toolbar .voice-button.is-error { color: var(--design-danger); }
body[data-page="index"] .chat-composer .composer-toolbar :is(.composer-icon, .voice-button) > :is(.sprite-icon, svg, .voice-button-waveform, .voice-button-status) { position: relative; z-index: 1; }
body[data-page="index"] .chat-composer .composer-toolbar .send-button {
    position: relative;
    display: grid;
    width: 44px;
    height: 44px;
    min-height: 44px;
    flex-basis: 44px;
    place-items: center;
    border-radius: 50%;
    background: transparent;
    color: var(--design-secondary);
}
body[data-page="index"] .chat-composer .composer-toolbar .send-button::before {
    position: absolute;
    z-index: 0;
    inset: 4px;
    border-radius: 50%;
    background: var(--design-subtle);
    content: "";
    pointer-events: none;
}
body[data-page="index"] .chat-composer .composer-toolbar .send-button:is(.is-active, .is-loading) { background: transparent; color: #fff; }
body[data-page="index"] .chat-composer .composer-toolbar .send-button:is(.is-active, .is-loading)::before { background: #2c67c5; }
body[data-page="index"] .chat-composer .composer-toolbar .send-button.is-active:hover::before { background: #245bb0; }
body[data-page="index"] .chat-composer .composer-toolbar .send-button .send-icon,
body[data-page="index"] .chat-composer .composer-toolbar .send-button .send-spinner { position: relative; z-index: 1; }
.alert { border-radius: 12px; }
.alert-primary,
.alert-info,
.alert-success { border-color: rgb(53 102 240 / 20%); background: var(--design-blue-soft); color: var(--design-blue-ink); }
.alert-primary .alert-link,
.alert-info .alert-link,
.alert-success .alert-link { color: var(--design-blue); }
.alert-secondary,
.alert-light,
.alert-warning,
.alert-dark { border-color: var(--design-border-soft); background: var(--design-subtle); color: var(--design-secondary); }
.alert-secondary .alert-link,
.alert-light .alert-link,
.alert-warning .alert-link,
.alert-dark .alert-link { color: var(--design-ink); }
.alert-danger { border-color: rgb(180 35 24 / 20%); background: #fff5f4; color: var(--design-danger); }
.alert-danger .alert-link { color: #8f1d14; }
body.billing-result-page { background: var(--design-canvas); color: var(--design-ink); font-family: var(--bs-body-font-family); }
.billing-result-card { border-color: var(--design-border-soft); border-radius: 16px; background: #fff; box-shadow: none; }
.billing-result-brand { color: var(--design-ink); font-size: 14px; font-weight: 500; }
.billing-result-brand:hover { color: var(--design-ink); }
.billing-result-card h1 { color: var(--design-ink); font-size: 24px; font-weight: 500; line-height: 1.5; }
.billing-result-description { color: var(--design-secondary); font-size: 14px; line-height: 1.75; }
.billing-result-label, .billing-result-meta span { color: var(--design-secondary); }
.billing-result-meta > div { border-color: var(--design-border-soft); border-radius: 12px; background: var(--design-subtle); }
.billing-result-meta strong { color: var(--design-ink); font-size: 14px; font-weight: 500; }
.billing-result-button { min-height: 44px; border-color: var(--design-blue); border-radius: 999px; background: var(--design-blue); font-size: 14px; font-weight: 500; }
.billing-result-button:hover { transform: none; border-color: #2452d4; background: #2452d4; }
.billing-result-button:focus-visible { outline: 2px solid rgb(53 102 240 / 65%); outline-offset: 3px; }
.billing-result-icon.success { border-color: rgb(53 102 240 / 20%); background: var(--design-blue-soft); color: var(--design-blue); }
.billing-result-icon.failed { border-color: rgb(180 35 24 / 20%); background: #fff5f4; color: var(--design-danger); }
body:has(.payment-card) { background: var(--design-canvas); color: var(--design-ink); font-family: var(--bs-body-font-family); }
.payment-card { border-color: var(--design-border-soft); border-radius: 16px; background: #fff; box-shadow: none; }
.payment-brand { color: var(--design-secondary); font-size: 14px; font-weight: 500; }
.payment-identity strong, .payment-card h1, .payment-amount { color: var(--design-ink); }
.payment-card p { color: var(--design-secondary); font-size: 14px; line-height: 1.75; }
.payment-identity img { border-color: var(--design-border-soft); background: var(--design-subtle); }
.payment-action { min-height: 44px; border-color: var(--design-blue); border-radius: 999px; background: var(--design-blue); font-size: 14px; font-weight: 500; }
.payment-action:hover { border-color: #2452d4; background: #2452d4; }
.payment-action:focus-visible { outline: 2px solid rgb(53 102 240 / 65%); outline-offset: 3px; }
.payment-status-mark, .payment-card-status.is-success .payment-status-mark { border-color: rgb(53 102 240 / 20%); background: var(--design-blue-soft); color: var(--design-blue-ink); }
.payment-card-status.is-error .payment-status-mark { border-color: rgb(180 35 24 / 20%); background: #fff5f4; color: var(--design-danger); }
.payment-status-mark .sprite-icon { width: 22px; height: 22px; }
.payment-card-status.is-error .payment-status-mark .sprite-icon { color: var(--design-danger); }
body[data-page="account-bot-members"] .people-filter-heading-icon .sprite-icon { width: 20px; height: 20px; }
body[data-page="account-bot-members"] .people-platform-mark > .sprite-icon { width: 12px; height: 12px; color: var(--design-secondary); }
body[data-page="account-bot-members"] .detail-breadcrumb .sprite-icon,
body[data-page="account"] .billing-invoice-back .sprite-icon { width: 16px; height: 16px; transform: rotate(180deg); }
body[data-page="account-bot-members"] .detail-breadcrumb,
body[data-page="account"] .billing-invoice-back { align-items: center; gap: 6px; }
body[data-page="account-channels"] .channel-leave-icon { transform: none; }
body[data-page="account-channels"] .channel-leave-icon .sprite-icon { width: 20px; height: 20px; }
body[data-page="account-channels"] #channelDirectory .channel-row-open::after { content: ""; display: block; width: 8px; height: 8px; flex: 0 0 8px; border: solid var(--design-muted); border-width: 0 1.5px 1.5px 0; transform: rotate(135deg); }
body[data-page="account-bots"] .bot-create-row-icon .sprite-icon,
body[data-page="account-bots"] .bot-empty-create .sprite-icon { width: 20px; height: 20px; }
body[data-page="index"] .chat-drop-icon { background: var(--design-blue-soft); color: var(--design-blue); }
body[data-page="index"] .chat-drop-icon .sprite-icon { width: 20px; height: 20px; }
.assistant-bubble .assistant-avatar .sprite-icon { width: 18px; height: 18px; }
body[data-page="account-channels"] #channelDirectory .channel-row-leave { font-size: 14px; }
.root-dashboard .root-metadata-repair-status.is-error, .root-dashboard .root-database-status.is-error, .root-dashboard #rootDatabaseStatus.is-error { color: var(--design-danger); }
body[data-page="account-bot-members"] .people-page .people-action { border: 1px solid var(--design-border); background: #fff; color: var(--design-ink); font-weight: 400; }
body[data-page="account-bot-members"] .people-page .people-action:hover { border-color: var(--design-border); background: var(--design-subtle); color: var(--design-ink); }
body[data-page="account-bot-members"] .member-pagination .pagination { direction: rtl; }
body[data-page="account-bot-members"] .member-pagination .page-link { min-width: 44px; min-height: 44px; height: 44px; border-color: var(--design-border-soft); border-radius: 999px; background: #fff; color: var(--design-secondary); font-size: 13px; }
body[data-page="account-bot-members"] .member-pagination .page-link:hover { border-color: var(--design-border); background: var(--design-subtle); color: var(--design-ink); transform: none; }
body[data-page="account-bot-members"] .member-pagination .page-item.active .page-link { border-color: var(--design-blue); background: var(--design-blue); color: #fff; box-shadow: none; }
body[data-page="account-bot-members"] .member-pagination a.page-link[aria-label="صفحهٔ بعد"] .sprite-icon { transform: rotate(180deg); }
body[data-page="account-bot-members"] .member-pagination .page-link .sprite-icon { width: 16px; height: 16px; }
body[data-page="account-channels"] .channel-row-state { display: inline-flex; align-items: center; gap: 4px; }
body[data-page="account-channels"] .channel-row-chevron { width: 14px; height: 14px; flex: 0 0 14px; }
body[data-page="subscription-plans"] .plans-card:hover { transform: none; box-shadow: none; }
body[data-page="subscription-plans"] .plans-card.is-featured { background: #fff; box-shadow: inset 0 0 0 1px rgb(53 102 240 / 16%); }
body:is([data-page="account-channels"], [data-page="account-bot-members"]) .wordpress-directory h2 { color: var(--design-ink); font-size: 16px; font-weight: 500; }
body:is([data-page="account-channels"], [data-page="account-bot-members"]) .wordpress-directory > p { color: var(--design-secondary); font-size: 13px; line-height: 1.7; }
body:is([data-page="account-channels"], [data-page="account-bot-members"]) .wordpress-directory :is(.tool-select, .form-control) { min-height: 44px; border-color: var(--design-border-soft); border-radius: 12px; background-color: #fff; color: var(--design-ink); font-size: 14px; }
body:is([data-page="account-channels"], [data-page="account-bot-members"]) .wordpress-directory :is(.tool-select, .form-control):focus { border-color: rgb(53 102 240 / 55%); box-shadow: 0 0 0 3px rgb(53 102 240 / 12%); }
body:is([data-page="account-channels"], [data-page="account-bot-members"]) .wordpress-directory :is(.wordpress-resource-toolbar button, .wordpress-resource-actions button, [data-wp-search-form] button, nav button, .people-row button) { min-height: 44px; border-radius: 999px; font-size: 14px; font-weight: 400; }
body:is([data-page="account-channels"], [data-page="account-bot-members"]) .wordpress-directory .wordpress-resource-toolbar .business-primary,
body:is([data-page="account-channels"], [data-page="account-bot-members"]) .wordpress-directory .wordpress-resource-actions .business-primary { border-color: var(--design-blue); background: var(--design-blue); color: #fff; }
body:is([data-page="account-channels"], [data-page="account-bot-members"]) .wordpress-directory .wordpress-resource-toolbar .business-primary:hover,
body:is([data-page="account-channels"], [data-page="account-bot-members"]) .wordpress-directory .wordpress-resource-actions .business-primary:hover { border-color: #2452d4; background: #2452d4; }
body:is([data-page="account-channels"], [data-page="account-bot-members"]) .wordpress-directory .business-danger { border-color: rgb(180 35 24 / 22%); border-radius: 999px; background: #fff5f4; color: var(--design-danger); }
body:is([data-page="account-channels"], [data-page="account-bot-members"]) .wordpress-directory button:disabled { opacity: .55; cursor: default; }
body:is([data-page="account-channels"], [data-page="account-bot-members"]) .wordpress-directory .wordpress-resource-editor { gap: 14px; border-color: var(--design-border-soft); border-radius: 16px; background: var(--design-canvas); }
body:is([data-page="account-channels"], [data-page="account-bot-members"]) .wordpress-directory .wordpress-resource-editor > strong { color: var(--design-ink); font-size: 15px; font-weight: 500; }
body:is([data-page="account-channels"], [data-page="account-bot-members"]) .wordpress-directory .wordpress-resource-editor label { color: var(--design-secondary); font-size: 13px; line-height: 1.6; }
body:is([data-page="account-channels"], [data-page="account-bot-members"]) .wordpress-directory .wordpress-resource-editor :is(.tool-input, .tool-select, textarea) { min-height: 44px; border-color: var(--design-border-soft); border-radius: 12px; background: #fff; color: var(--design-ink); font-size: 14px; }
body:is([data-page="account-channels"], [data-page="account-bot-members"]) .wordpress-directory .wordpress-resource-editor textarea { min-height: 120px; }
body:is([data-page="account-channels"], [data-page="account-bot-members"]) .wordpress-directory .wordpress-resource-editor input[type="file"] { min-height: 44px; padding: 7px 10px; border: 1px solid var(--design-border-soft); border-radius: 12px; background: #fff; color: var(--design-secondary); font-size: 13px; }
body:is([data-page="account-channels"], [data-page="account-bot-members"]) .wordpress-directory .wordpress-resource-editor [data-wp-delete-area] { border-top-color: var(--design-border-soft); }
body:is([data-page="account-channels"], [data-page="account-bot-members"]) .wordpress-directory .wordpress-resource-editor [data-wp-delete-area] > label:first-child { display: flex; min-height: 44px; align-items: center; gap: 10px; color: var(--design-secondary); font-size: 14px; }
body:is([data-page="account-channels"], [data-page="account-bot-members"]) .wordpress-directory .wordpress-resource-editor [data-wp-delete-confirm] { width: 18px; height: 18px; margin: 0; accent-color: var(--design-blue); }
body:is([data-page="account-channels"], [data-page="account-bot-members"]) .wordpress-directory .people-row { min-height: 68px; border-color: var(--design-border-soft); border-radius: 14px; background: #fff; }
body:is([data-page="account-channels"], [data-page="account-bot-members"]) .wordpress-directory .people-row strong { color: var(--design-ink); font-size: 14px; font-weight: 500; }
body:is([data-page="account-channels"], [data-page="account-bot-members"]) .wordpress-directory .people-row small { color: var(--design-secondary); font-size: 12px; line-height: 1.6; }
body:is([data-page="account-channels"], [data-page="account-bot-members"]) .wordpress-directory [data-wp-status] { color: var(--design-secondary); font-size: 13px; line-height: 1.7; }
body:is([data-page="account-channels"], [data-page="account-bot-members"]) .wordpress-directory nav { justify-content: flex-start; }
body:is([data-page="account-channels"], [data-page="account-bot-members"]) .wordpress-directory nav button:disabled { border-color: var(--design-border-soft); background: var(--design-subtle); color: var(--design-muted); }
@media (max-width: 520px) {
    body:is([data-page="account-channels"], [data-page="account-bot-members"]) .wordpress-directory { padding: 14px; }
    body:is([data-page="account-channels"], [data-page="account-bot-members"]) .wordpress-directory [data-wp-search-form] { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
    body:is([data-page="account-channels"], [data-page="account-bot-members"]) .wordpress-directory .people-row { align-items: flex-start; flex-wrap: wrap; }
}

/* Keep platform navigation labels readable at the shared text scale. */
body[data-admin-navigation="1"][data-page] .chat-main nav.management-tabs .management-tab { font-size: 14px; }
@media (max-width: 767.98px) {
    body[data-admin-navigation="1"][data-page] .chat-main nav.management-tabs .management-tab { font-size: 13px; }
}

/* Keep the plans page canvas and scrollbar on the shared neutral palette. */
body[data-page="subscription-plans"] .plans-page { background: var(--design-canvas); color: var(--design-ink); scrollbar-color: var(--design-muted) transparent; }
body[data-page="subscription-plans"] .plans-page::-webkit-scrollbar-thumb { background: var(--design-muted); }
body[data-page="subscription-plans"] .plans-page:hover::-webkit-scrollbar-thumb { background: var(--design-secondary); }

/* Normalize bot registration and website connection states. */
body[data-page="account-bots"] #botCreateStatus:not(:empty) { border: 1px solid var(--design-border-soft); border-radius: 12px; background: var(--design-subtle); color: var(--design-secondary); }
body[data-page="account-bots"] #botCreateStatus.is-success:not(:empty) { border-color: rgb(53 102 240 / 20%); background: var(--design-blue-soft); color: var(--design-blue-ink); }
body[data-page="account-bots"] #botCreateStatus.is-warning:not(:empty) { border-color: var(--design-border-soft); background: var(--design-subtle); color: var(--design-secondary); }
body[data-page="account-bots"] #botCreateStatus.is-error:not(:empty) { border-color: rgb(180 35 24 / 20%); background: #fff5f4; color: var(--design-danger); }
body[data-page="account-bot"] .bot-website-connection-toggle.is-connected { border-color: rgb(53 102 240 / 20%); background: var(--design-blue-soft); color: var(--design-blue-ink); }
body[data-page="account-bot"] .bot-website-connection-toggle.is-connected .bot-website-connection-indicator { background: var(--design-blue); box-shadow: 0 0 0 3px rgb(53 102 240 / 13%); }
body[data-page="account-bot"] .bot-website-connection-toggle { min-height: 44px; border-radius: var(--design-radius-control); font-size: 14px; }

/* Bring compact platform-management actions to the shared touch target. */
body[data-page="account-bots"] .bot-heading-actions .bot-create-trigger,
body[data-page="account-bots"] .bot-card-actions > .business-primary,
body[data-page="account-bots"] .bot-more-actions > summary,
body[data-page="account-bots"] .bot-card .bot-more-actions > summary,
body[data-page="account-bot"] .bot-website-action-buttons .bot-website-download,
body[data-page="account-channels"] .channel-more-menu button { min-height: 44px; border-radius: var(--design-radius-control); font-size: 14px; }
body[data-page="account-bots"] .bot-heading-actions .bot-create-trigger { height: auto; }

/* Text-editor toolbar and AI actions use the shared touch target and colors. */
.message-editor-toolbar button,
.message-editor-toolbar select,
.bot-workspace .message-editor-toolbar button,
.bot-workspace .message-editor-toolbar select { min-height: 44px; border-color: var(--design-border-soft); border-radius: 999px; background: #fff; color: var(--design-secondary); font-family: inherit; font-size: 13px; }
.w3m-editor-ai-actions button { min-height: 44px; border-color: var(--design-border-soft); border-radius: 999px; background: #fff; color: var(--design-ink); font-family: inherit; font-size: 13px; transform: none; }
.w3m-editor-ai-actions button:hover { transform: none; }
.w3m-editor-ai-actions button:not(:first-child):hover { border-color: var(--design-border); background: var(--design-subtle); color: var(--design-ink); transform: none; }

/* Member-message attachment controls match shared surfaces and touch targets. */
body[data-page="account-bot-members"] .people-page .member-file-upload-row > button,
body[data-page="account-bot-members"] .people-page .member-file-preview button { min-height: 44px; border-radius: var(--design-radius-control); font-size: 14px; }
body[data-page="account-bot-members"] .people-page .member-file-upload-row .tool-input { min-height: 44px; border-color: var(--design-border-soft); border-radius: 12px; background: #fff; color: var(--design-ink); font-size: 14px; }
body[data-page="account-bot-members"] .people-page .member-file-upload-row .tool-input:focus { border-color: rgb(53 102 240 / 55%); box-shadow: 0 0 0 3px rgb(53 102 240 / 12%); }
body[data-page="account-bot-members"] .people-page .member-file-preview { border-color: var(--design-border-soft); border-radius: 12px; background: var(--design-subtle); color: var(--design-secondary); }
body[data-page="account-bot-members"] .people-page .member-file-preview-image { border-color: var(--design-border-soft); border-radius: 10px; }
body[data-page="account-bot-members"] .people-page .member-file-preview button { border-color: rgb(180 35 24 / 22%); background: #fff5f4; color: var(--design-danger); }
body[data-page="account-bot-members"] .people-page .member-file-preview button:hover { border-color: var(--design-danger); background: #feeceb; color: #8f1d14; }
body[data-page="account-bot-members"] .people-page .member-file-progress { color: var(--design-secondary); }
body[data-page="account-bot-members"] .people-page .member-file-progress progress { accent-color: var(--design-blue); }
body[data-page="account-bot-members"] .people-page .member-file-upload .tool-status.is-error { color: var(--design-danger); }

/* Keep the live mode and billing-cycle controls within the shared touch target. */
body[data-page="index"] .assistant-mode-switch button,
body[data-page="subscription-plans"] .plans-cycle-toggle button { min-height: 44px; }


/* Authentication dialog controls use the same touch target and focus color. */
.auth-close { display: grid; width: 44px; min-width: 44px; height: 44px; min-height: 44px; place-items: center; border-radius: 50%; color: var(--design-secondary); }
.auth-close:hover { background: var(--design-subtle); color: var(--design-ink); }
.auth-back, .resend-code { min-height: 44px; padding-block: 8px; border-radius: 999px; }
.auth-back { padding-inline: 10px; color: var(--design-secondary); }
.resend-code { padding-inline: 10px; }
.auth-box :is(.auth-close, .auth-back, .resend-code):focus-visible { outline: 2px solid rgb(53 102 240 / 65%); outline-offset: 2px; }

/* Subscription recovery actions inside chat messages remain easy to tap. */
.chat-subscription-cta,
.chat-billing-card .chat-subscription-cta,
.message-content .chat-subscription-cta { min-height: 44px; padding: 11px 16px; border-radius: var(--design-radius-control); font-size: 14px; font-weight: 500; line-height: 20px; }

/* Impersonation state uses the shared informational status treatment. */
.root-impersonation-indicator { min-width: 0; max-width: min(36vw, 360px); overflow: hidden; padding: 6px 10px; border: 1px solid rgb(53 102 240 / 20%); border-radius: 999px; background: var(--design-blue-soft); color: var(--design-blue-ink); font-size: 12px; line-height: 18px; text-overflow: ellipsis; white-space: nowrap; }

/* Usage-limit and subscription notices follow the shared message-card palette. */
.chat-billing-card { border-color: var(--design-border-soft); border-radius: var(--design-radius-card); background: var(--design-surface); color: var(--design-ink); box-shadow: none; }
.chat-billing-icon { border-color: transparent; border-radius: 12px; background: var(--design-blue-soft); color: var(--design-blue); }
.chat-billing-label { color: var(--design-secondary); font-size: 12px; font-weight: 400; }
.chat-billing-copy h3 { color: var(--design-ink); font-size: 16px; font-weight: 500; line-height: 24px; }
.chat-billing-copy p { color: var(--design-secondary); font-size: 14px; line-height: 21px; }

/* The pagination fallback remains visually aligned beside load-more. */
.business-category-page .business-category-next-link { display: inline-flex; min-width: 220px; min-height: 44px; align-items: center; justify-content: center; padding: 10px 18px; border: 1px solid var(--design-border-soft); border-radius: var(--design-radius-control); background: #fff; color: var(--design-secondary); font-size: 14px; line-height: 20px; text-decoration: none; transition: background-color .15s ease, border-color .15s ease, color .15s ease; }
.business-category-page .business-category-next-link:hover { border-color: var(--design-border); background: var(--design-subtle); color: var(--design-ink); text-decoration: none; }
.business-category-page .business-category-next-link:focus-visible { outline: 2px solid rgb(53 102 240 / 65%); outline-offset: 2px; }

/* Recent-business labels stay readable on compact screens. */
.business-chat-page .business-recent-shortcut-name { color: var(--design-secondary); font-size: 12px; line-height: 18px; }

/* Member broadcast history uses neutral, blue, and danger status colors. */
body[data-page="account-bot-members"] .bot-batch-row .batch-status { min-height: 28px; padding: 4px 10px; border: 1px solid var(--design-border-soft); border-radius: 999px; background: var(--design-subtle); color: var(--design-secondary); font-size: 12px; font-weight: 400; }
body[data-page="account-bot-members"] .bot-batch-row .batch-status.is-complete { border-color: rgb(53 102 240 / 20%); background: var(--design-blue-soft); color: var(--design-blue-ink); }
body[data-page="account-bot-members"] .bot-batch-row .batch-status.is-failed { border-color: rgb(180 35 24 / 20%); background: #fff5f4; color: var(--design-danger); }
body[data-page="account-bot-members"] .bot-batch-row .batch-status.is-cancelled { border-color: var(--design-border-soft); background: var(--design-subtle); color: var(--design-secondary); }
body[data-page="account-bot-members"] [data-history-poll-status],
body[data-page="account-bot-members"] #memberSelectionStatus { color: var(--design-secondary); font-size: 12px; }
