import { mergeThemeTokens, splitThemeTokens } from './themeTransforms';
const rawDefaultTheme = {
    name: 'light',
    accordion: {
        container: 'rounded-lg border border-gray-200 bg-white shadow-sm',
        headerButton: 'flex w-full items-center justify-between gap-3 px-4 py-3 text-left text-sm font-medium text-gray-900 transition hover:bg-gray-50 focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2',
        headerText: 'flex-1',
        icon: 'inline-flex h-5 w-5 items-center justify-center rounded-full border border-gray-300 bg-gray-100 text-gray-600 transition-transform',
        iconOpen: 'rotate-180',
        iconSvg: 'h-3 w-3',
        contentWrapper: 'overflow-hidden transition-[height,opacity] duration-200 ease-in-out',
        contentOpen: 'opacity-100',
        contentClosed: 'opacity-0',
        contentBody: 'border-t border-gray-100 px-4 py-4 text-sm text-gray-700',
    },
    mcpTool: {
        header: {
            container: 'mb-4 space-y-1',
            title: 'text-lg font-semibold text-gray-900',
            description: 'text-sm text-gray-600'
        },
        layout: 'grid items-start gap-4 md:grid-cols-[minmax(0,1.15fr)_minmax(0,1fr)] md:items-stretch md:gap-6',
        formColumn: {
            container: 'flex min-w-0 min-h-0 flex-col gap-4 md:h-full',
            runningNotice: 'rounded-md border border-blue-100 bg-blue-50 px-3 py-2 text-sm text-blue-700',
            errorNotice: 'rounded-md border border-red-200 bg-red-50 px-3 py-2 text-sm text-red-700',
            eventLogCard: 'rounded-lg border border-gray-200 bg-white p-3 shadow-sm',
            eventLogTitle: 'text-sm font-semibold text-gray-800',
            eventLogList: 'mt-2 max-h-64 space-y-2 overflow-auto text-xs font-mono text-gray-700',
            eventLogEntry: 'rounded bg-slate-50 p-2',
            eventLogEntryMeta: 'mb-1 flex items-center justify-between text-[10px] uppercase tracking-wide text-slate-500',
            eventLogEntryPre: 'whitespace-pre-wrap break-words text-[11px] leading-snug'
        },
        responseColumn: {
            container: 'flex min-w-0 min-h-0 flex-col gap-3 md:h-full',
            headerRow: 'flex items-center justify-between',
            title: 'text-sm font-semibold text-gray-800',
            meta: 'text-xs text-gray-500',
            codeBlock: 'flex-1 min-h-[240px] max-h-[32rem] overflow-auto rounded-lg border border-gray-200 bg-white p-4 text-left text-sm shadow-sm [&>code]:inline-block [&>code]:min-w-full [&>code]:whitespace-pre-wrap [&>code]:break-words md:max-h-none'
        }
    },
    layout: {
        appRoot: 'flex h-full min-h-screen w-full flex-col bg-slate-50 font-sans text-slate-900',
        settingsPanel: 'flex flex-1 flex-col overflow-y-auto border-r border-gray-200 bg-white',
        mainPanel: 'flex min-w-0 flex-1 min-h-0 flex-col overflow-hidden'
    },
    buttons: {
        primary: 'inline-flex items-center rounded-md bg-blue-600 px-3 py-2 text-sm font-medium text-white shadow-sm transition hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-75',
        secondary: 'inline-flex items-center rounded-md border border-gray-300 px-3 py-2 text-sm font-medium text-gray-700 transition hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-gray-500 focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-60',
        subtle: 'inline-flex items-center rounded-md bg-gray-100 px-3 py-2 text-sm font-medium text-gray-700 transition hover:bg-gray-200 focus:outline-none focus:ring-2 focus:ring-gray-500 focus:ring-offset-2',
        accent: 'inline-flex items-center rounded-md border border-blue-200 bg-blue-50 px-3 py-2 text-sm font-medium text-blue-700 transition hover:bg-blue-100 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2',
        header: 'inline-flex items-center gap-2 rounded-md border border-gray-200 bg-gray-50 px-3 py-1.5 text-xs font-medium text-gray-700 shadow-sm transition hover:bg-gray-100 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-1',
        smallSecondary: 'inline-flex items-center rounded-md border border-gray-200 px-3 py-1 text-xs font-medium text-gray-600 transition hover:bg-gray-100 focus:outline-none focus:ring-2 focus:ring-gray-300',
        add: 'inline-flex items-center rounded-md bg-blue-50 px-3 py-1.5 text-sm font-medium text-blue-600 transition hover:bg-blue-100 focus:outline-none focus:ring-2 focus:ring-blue-200',
        danger: 'inline-flex items-center rounded-md bg-red-600 px-3 py-2 text-sm font-medium text-white shadow-sm transition hover:bg-red-700 focus:outline-none focus:ring-2 focus:ring-red-500 focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-75',
        dangerSoft: 'inline-flex items-center rounded-md bg-red-50 px-3 py-2 text-sm font-medium text-red-600 transition hover:bg-red-100 focus:outline-none focus:ring-2 focus:ring-red-500 focus:ring-offset-2',
        dangerOutline: 'inline-flex items-center rounded-md border border-red-200 px-3 py-2 text-sm font-medium text-red-600 transition hover:bg-red-50 focus:outline-none focus:ring-2 focus:ring-red-500 focus:ring-offset-2',
        link: 'text-sm text-gray-600 transition hover:text-gray-800 hover:underline focus:outline-none focus:ring-1 focus:ring-gray-400'
    },
    chatHeader: {
        container: 'fixed top-0 left-0 right-0 z-50 flex items-center justify-between gap-4 bg-white px-4 py-2 shadow-sm',
        primaryButton: 'inline-flex items-center rounded-md bg-gray-100 px-3 py-1.5 text-xs font-medium text-gray-700 transition hover:bg-gray-200 focus:outline-none focus:ring-2 focus:ring-gray-500 focus:ring-offset-1',
        secondaryButton: 'inline-flex items-center gap-2 rounded-md border border-gray-200 px-3 py-1.5 text-xs font-medium text-gray-700 shadow-sm transition hover:bg-gray-100 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-1'
    },
    chatDialog: {
        shell: 'relative flex h-full min-h-[32rem] flex-col bg-white',
        scrollContainer: 'flex-1 overflow-y-auto px-4 pt-10',
        messageListSection: 'pt-10 pb-40',
        inputOverlay: 'pointer-events-none fixed inset-x-0 bottom-0 flex justify-center bg-gradient-to-t from-white via-white to-transparent px-4 pb-4 pt-6',
        inputCard: 'pointer-events-auto flex w-full max-w-3xl flex-col gap-3 rounded-2xl border border-gray-200 bg-white p-3 shadow-lg',
        sendingToast: 'flex items-center gap-3 rounded-xl border border-blue-200 bg-blue-50/90 px-3 py-2 text-sm text-blue-900 shadow-inner shadow-blue-200/60',
        sendingToastIcon: 'h-3 w-3 animate-spin rounded-full border border-blue-400 border-t-transparent',
        sendingToastTitle: 'text-sm font-semibold text-blue-900',
        sendingToastBody: 'text-xs text-blue-700'
    },
    drawer: {
        container: 'fixed inset-0 z-[60] flex',
        containerSideLeft: 'justify-start',
        containerSideRight: 'justify-end',
        overlay: 'absolute inset-0 bg-slate-900/40 opacity-0 transition-opacity duration-200 ease-out',
        overlayVisible: 'opacity-100 pointer-events-auto',
        panel: 'relative z-10 flex h-full max-h-screen w-80 flex-col bg-white shadow-2xl transition-transform duration-200 ease-in-out',
        panelHiddenLeft: '-translate-x-full',
        panelHiddenRight: 'translate-x-full',
        panelVisible: 'translate-x-0',
        closeButton: 'absolute right-3 top-3 inline-flex h-8 w-8 items-center justify-center rounded-full border border-gray-200 bg-white text-gray-500 shadow-sm transition hover:text-gray-700 focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2',
        closeIcon: 'h-4 w-4'
    },
    sessionHistory: {
        container: 'flex h-full min-h-0 flex-col border-r border-gray-100 bg-white',
        header: 'flex items-center justify-between border-b border-gray-100 px-4 py-3',
        title: 'text-xs font-semibold uppercase tracking-wide text-gray-500',
        list: 'flex-1 overflow-y-auto px-2 py-2',
        emptyState: 'px-4 py-6 text-sm text-gray-400',
        item: 'mb-2 flex items-start gap-2 last:mb-0',
        itemButton: 'group flex w-full items-start gap-3 rounded-xl border border-transparent bg-white px-3 py-2 text-left shadow-sm transition hover:border-blue-200 hover:bg-blue-50/60 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-200 focus-visible:ring-offset-2',
        itemButtonActive: 'border-blue-300 bg-blue-50 ring-1 ring-blue-200',
        itemContent: 'flex min-w-0 flex-1 flex-col gap-0.5',
        itemTitle: 'truncate text-sm font-semibold text-gray-900',
        itemMeta: 'text-xs text-gray-500',
        itemPreview: 'truncate text-xs text-gray-400',
        deleteButton: 'inline-flex h-6 w-6 flex-shrink-0 items-center justify-center rounded-full border border-gray-200 text-gray-400 transition hover:border-red-300 hover:text-red-500 focus:outline-none focus-visible:ring-2 focus-visible:ring-red-300 focus-visible:ring-offset-1',
        deleteIcon: 'text-sm leading-none'
    },
    message: {
        listContainer: 'mx-auto w-full max-w-2xl space-y-4',
        userRow: 'flex justify-end',
        assistantRow: 'flex justify-start',
        cardContainer: 'space-y-3 rounded-2xl border border-slate-200 bg-gradient-to-br from-white via-slate-50 to-sky-50 p-3 text-xs text-slate-900 shadow-sm ring-1 ring-slate-100/70',
        cardSections: 'space-y-3',
        label: 'text-[10px] font-semibold uppercase tracking-[0.3em] text-slate-600',
        userText: 'whitespace-pre-wrap break-words text-sm text-slate-900',
        modelContent: 'prose prose-sm max-w-none prose-headings:text-slate-900 prose-p:text-slate-800 prose-a:text-sky-600 hover:prose-a:text-sky-500 prose-strong:text-slate-900 prose-code:text-sky-700 prose-code:bg-sky-100 prose-code:px-1 prose-code:rounded-md prose-pre:bg-slate-100 prose-pre:text-slate-900',
        toolActivityContainer: 'space-y-2',
        toolActivityLabel: 'text-[10px] font-semibold uppercase tracking-[0.3em] text-sky-600',
        toolActivityBody: 'space-y-3 text-sm text-slate-900',
        dividerWrapper: 'flex flex-col items-center gap-3 pb-4 pt-3 md:pb-5 md:pt-4',
        dividerLine: 'h-px w-16 bg-gradient-to-r from-slate-200 via-slate-300 to-slate-200',
        streamingContainer: 'space-y-2 rounded-xl border border-indigo-200/70 bg-indigo-50/70 p-3 text-xs text-indigo-700 ring-1 ring-indigo-100/70 animate-pulse',
        streamingLabel: 'text-[10px] font-semibold uppercase tracking-[0.3em] text-indigo-500',
        streamingStatusBlock: 'space-y-1',
        streamingStatusText: 'text-[10px] uppercase tracking-[0.35em] text-sky-500',
        messageStatus: 'flex items-center gap-2 text-xs text-sky-700',
        reasoningStatus: 'flex items-center gap-2 text-xs text-indigo-600',
        messageStatusSpinner: 'h-3 w-3 animate-spin rounded-full border border-sky-500 border-t-transparent',
        reasoningStatusSpinner: 'h-3 w-3 animate-spin rounded-full border border-indigo-500 border-t-transparent',
        configErrorContainer: 'rounded-lg border border-amber-200 bg-amber-50 p-4 text-center',
        configErrorTitle: 'text-sm font-medium text-amber-800',
        configErrorBody: 'mt-1 text-sm text-amber-700',
        configErrorHelper: 'mt-2 text-xs text-amber-600',
        emptyState: 'flex h-full items-center justify-center text-sm text-gray-400',
        slashCommandCard: 'space-y-2 rounded-xl border border-blue-200 bg-blue-50/80 p-3 text-xs text-slate-900 shadow-inner shadow-blue-200/60',
        slashCommandHeader: 'flex flex-wrap items-center justify-between gap-2',
        slashCommandName: 'font-semibold text-blue-900',
        slashCommandMeta: 'text-[11px] font-medium uppercase tracking-wide text-blue-600',
        slashCommandDescription: 'text-xs text-blue-800',
        slashCommandArgList: 'grid gap-1',
        slashCommandArgItem: 'grid grid-cols-[auto,1fr] gap-x-2 gap-y-1 rounded-lg border border-blue-200 bg-white/85 px-2 py-1 text-xs text-blue-900 shadow-sm',
        slashCommandArgKey: 'font-semibold text-blue-700',
        slashCommandArgValue: 'break-words text-blue-900',
        slashCommandEmpty: 'text-[11px] text-blue-600',
        slashCommandPromptContainer: 'space-y-2 rounded-lg border border-blue-200/70 bg-white/85 px-3 py-2 text-xs text-blue-900 shadow-inner shadow-blue-100/60',
        slashCommandPromptDescription: 'text-[11px] text-blue-800',
        slashCommandPromptList: 'space-y-2',
        slashCommandPromptItem: 'space-y-1 rounded-lg border border-blue-100 bg-white/90 px-2 py-1 shadow-sm',
        slashCommandPromptRole: 'text-[11px] font-semibold uppercase tracking-wide text-blue-600',
        slashCommandPromptContent: 'whitespace-pre-wrap break-words text-[11px] text-blue-900',
        slashCommandPromptToggle: 'group flex w-full items-center justify-between gap-2 rounded-md px-2 py-1 text-left text-blue-900 transition-colors duration-150 hover:bg-blue-100/70 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-200 focus-visible:ring-offset-1 focus-visible:ring-offset-white',
        slashCommandPromptToggleIcon: 'h-3 w-3 text-blue-700 transition-transform group-hover:text-blue-900',
        slashCommandPromptToggleIconOpen: 'rotate-180'
    },
    toolCallCard: {
        base: {
            container: 'space-y-3 rounded-2xl border border-slate-50 bg-gradient-to-br from-white via-slate-50 to-sky-50 text-sm text-slate-900 shadow-sm ring-1 ring-slate-100/20',
            button: 'border-0 flex w-full flex-col gap-3 rounded-xl bg-white/70 px-3 py-2 text-left text-slate-900 shadow-sm backdrop-blur transition focus-visible:outline-none ring-offset-2 ring-offset-white',
            buttonDisabled: 'cursor-default',
            name: 'text-slate-800',
            livePill: 'rounded-full bg-sky-100 px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-sky-700',
            errorBadge: 'rounded-full bg-rose-200 px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-rose-700',
            statusPill: 'bg-slate-100 text-slate-700',
            meta: 'text-slate-500',
            toggle: 'text-slate-500',
            summaryLabel: 'text-slate-700',
            summaryText: 'text-slate-600',
            emptyText: 'text-slate-400',
            buttonHover: 'hover:bg-white/95 focus-visible:ring-2 focus-visible:ring-blue-200/70 focus-visible:ring-offset-2',
            detailContainer: 'mt-3 space-y-4 rounded-2xl border border-white/40 bg-white/70 p-3 text-[12px] text-slate-800 shadow-inner backdrop-blur',
            detailHeading: 'text-[11px] font-semibold uppercase tracking-wide text-slate-600',
            detailPre: 'mt-2 max-h-48 overflow-auto whitespace-pre-wrap rounded-lg bg-white/95 p-2 text-[12px] leading-tight text-slate-900 shadow-inner',
            errorPre: 'mt-2 max-h-48 overflow-auto whitespace-pre-wrap rounded-lg bg-rose-100 p-2 text-[12px] leading-tight text-rose-800 shadow-inner',
            approvalCallout: 'mt-2 space-y-2 rounded-xl border border-amber-100 bg-amber-50/90 px-3 py-2 text-xs text-amber-900 shadow-inner shadow-amber-200/60',
            approvalTitle: 'text-[11px] font-semibold uppercase tracking-wide text-amber-700',
            approvalBody: 'text-[11px] text-amber-800',
            approvalActions: 'flex flex-wrap items-center gap-2 pt-1',
            approvalApproveButton: 'inline-flex items-center rounded-md bg-emerald-600 px-3 py-1.5 text-xs font-semibold text-white shadow-sm transition hover:bg-emerald-700 focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-400 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-70',
            approvalDenyButton: 'inline-flex items-center rounded-md border border-rose-200 bg-white px-3 py-1.5 text-xs font-semibold text-rose-600 shadow-sm transition hover:bg-rose-50 focus:outline-none focus-visible:ring-2 focus-visible:ring-rose-300 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-70',
            approvalStatus: 'text-[11px] font-medium uppercase tracking-wide text-amber-700',
            approvalError: 'text-[11px] font-medium text-rose-600'
        },
        stream: {
            container: 'space-y-3 rounded-2xl border border-sky-50 bg-gradient-to-br from-white via-sky-50 to-cyan-50 text-sm text-sky-900 shadow-sm ring-1 ring-sky-100/20',
            button: 'border-0 flex w-full flex-col gap-3 rounded-xl bg-white/75 px-3 py-2 text-left text-sky-900 shadow-sm backdrop-blur transition focus-visible:outline-none ring-offset-2 ring-offset-white',
            name: 'text-sky-700',
            livePill: 'rounded-full bg-sky-100 px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-sky-700',
            statusPill: 'bg-cyan-100 text-cyan-700',
            meta: 'text-sky-500',
            toggle: 'text-sky-500',
            summaryLabel: 'text-sky-700',
            summaryText: 'text-sky-600',
            emptyText: 'text-sky-500',
            buttonHover: 'hover:bg-white focus-visible:ring-2 focus-visible:ring-sky-200/70 focus-visible:ring-offset-2',
            detailHeading: 'text-[11px] font-semibold uppercase tracking-wide text-sky-600',
            detailPre: 'mt-2 max-h-48 overflow-auto whitespace-pre-wrap rounded-lg bg-white/95 p-2 text-[12px] leading-tight text-sky-900 shadow-inner',
            approvalCallout: 'mt-2 space-y-2 rounded-xl border border-cyan-200 bg-cyan-50/90 px-3 py-2 text-xs text-cyan-900 shadow-inner shadow-cyan-200/60',
            approvalTitle: 'text-[11px] font-semibold uppercase tracking-wide text-cyan-700',
            approvalBody: 'text-[11px] text-cyan-800',
            approvalApproveButton: 'inline-flex items-center rounded-md bg-emerald-600 px-3 py-1.5 text-xs font-semibold text-white shadow-sm transition hover:bg-emerald-700 focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-400 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-70',
            approvalDenyButton: 'inline-flex items-center rounded-md border border-rose-200 bg-white px-3 py-1.5 text-xs font-semibold text-rose-600 shadow-sm transition hover:bg-rose-50 focus:outline-none focus-visible:ring-2 focus-visible:ring-rose-300 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-70',
            approvalStatus: 'text-[11px] font-medium uppercase tracking-wide text-cyan-700'
        },
        error: {
            container: 'space-y-3 rounded-2xl border border-rose-50 bg-gradient-to-br from-white via-rose-50 to-red-50 text-sm text-rose-900 shadow-sm ring-1 ring-rose-100/20',
            button: 'border-0 flex w-full flex-col gap-3 rounded-xl bg-white/75 px-3 py-2 text-left text-rose-900 shadow-sm backdrop-blur transition focus-visible:outline-none ring-offset-2 ring-offset-white',
            name: 'text-rose-700',
            livePill: 'rounded-full bg-rose-100 px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-rose-700',
            statusPill: 'bg-rose-100 text-rose-700',
            meta: 'text-rose-500',
            toggle: 'text-rose-500',
            summaryLabel: 'text-rose-700',
            summaryText: 'text-rose-600',
            emptyText: 'text-rose-500',
            buttonHover: 'hover:bg-rose-50 focus-visible:ring-2 focus-visible:ring-rose-200/70 focus-visible:ring-offset-2',
            detailHeading: 'text-[11px] font-semibold uppercase tracking-wide text-rose-600',
            detailPre: 'mt-2 max-h-48 overflow-auto whitespace-pre-wrap rounded-lg bg-white/95 p-2 text-[12px] leading-tight text-rose-900 shadow-inner',
            errorPre: 'mt-2 max-h-48 overflow-auto whitespace-pre-wrap rounded-lg bg-rose-100 p-2 text-[12px] leading-tight text-rose-800 shadow-inner',
            approvalCallout: 'mt-2 space-y-2 rounded-xl border border-rose-200 bg-rose-50/90 px-3 py-2 text-xs text-rose-900 shadow-inner shadow-rose-200/60',
            approvalTitle: 'text-[11px] font-semibold uppercase tracking-wide text-rose-700',
            approvalBody: 'text-[11px] text-rose-800',
            approvalApproveButton: 'inline-flex items-center rounded-md bg-emerald-600 px-3 py-1.5 text-xs font-semibold text-white shadow-sm transition hover:bg-emerald-700 focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-400 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-70',
            approvalDenyButton: 'inline-flex items-center rounded-md border border-rose-300 bg-white px-3 py-1.5 text-xs font-semibold text-rose-700 shadow-sm transition hover:bg-rose-50 focus:outline-none focus-visible:ring-2 focus-visible:ring-rose-300 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-70',
            approvalStatus: 'text-[11px] font-medium uppercase tracking-wide text-rose-700',
            approvalError: 'text-[11px] font-medium text-rose-700'
        }
    },
    modelControls: {
        container: 'flex flex-col gap-2 border-b border-gray-100 pb-2',
        metaRow: 'flex flex-wrap items-center gap-3 text-xs text-gray-600',
        modelLabel: 'font-semibold text-gray-900',
        select: 'rounded-md border border-gray-300 bg-white px-2 py-1 text-xs font-medium text-gray-800 shadow-sm focus:border-blue-400 focus:outline-none focus:ring-2 focus:ring-blue-200',
        providerBadge: 'rounded-full bg-gray-100 px-2 py-0.5 text-[10px] font-medium uppercase text-gray-600',
        liveBadge: 'rounded-full bg-blue-100 px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-blue-700',
        noModelsBadge: 'rounded-full bg-amber-100 px-2 py-0.5 text-xs font-medium text-amber-800',
        quickButtonBase: 'inline-flex items-center gap-1 rounded-full px-2.5 py-0.5 text-[11px] font-semibold transition focus-visible:outline-none focus-visible:ring-1 disabled:cursor-not-allowed disabled:opacity-60',
        quickButtonVariants: {
            temperature: 'bg-orange-50 text-orange-700 hover:bg-orange-100 focus-visible:ring-orange-200 border border-orange-200/60 shadow-none',
            topP: 'bg-teal-50 text-teal-700 hover:bg-teal-100 focus-visible:ring-teal-200 border border-teal-200/60 shadow-none',
            maxTokens: 'bg-emerald-50 text-emerald-700 hover:bg-emerald-100 focus-visible:ring-emerald-200 border border-emerald-200/60 shadow-none',
            reasoning: 'bg-blue-50 text-blue-700 hover:bg-blue-100 focus-visible:ring-blue-200 border border-blue-200/60 shadow-none',
            verbosity: 'bg-purple-50 text-purple-700 hover:bg-purple-100 focus-visible:ring-purple-200 border border-purple-200/60 shadow-none'
        }
    },
    chatInput: {
        container: 'flex flex-col gap-3',
        attachmentList: 'flex flex-wrap items-center gap-2',
        attachmentItem: 'relative flex items-center gap-3 rounded-xl border border-gray-200 bg-slate-50 px-3 py-2 pr-9 shadow-sm',
        attachmentThumbnail: 'flex h-12 w-12 flex-shrink-0 items-center justify-center overflow-hidden rounded-lg bg-white text-gray-400 ring-1 ring-gray-200',
        attachmentImage: 'h-full w-full object-cover',
        attachmentIcon: 'h-6 w-6 text-gray-500',
        attachmentMeta: 'flex min-w-0 flex-col text-xs text-gray-600',
        attachmentName: 'truncate text-sm font-medium text-gray-800',
        attachmentSize: 'text-[11px] text-gray-500',
        attachmentRemoveButton: 'absolute -right-2 -top-2 inline-flex h-6 w-6 items-center justify-center rounded-full bg-gray-800 text-white text-xs shadow-sm transition hover:bg-gray-700 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2',
        inputRow: 'flex items-end gap-2',
        addAttachmentButton: 'inline-flex h-9 w-9 items-center justify-center rounded-full border border-gray-300 bg-white text-gray-600 shadow-sm transition hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50',
        addAttachmentIcon: 'h-4 w-4',
        textarea: 'max-h-40 w-full flex-1 resize-none border-none bg-transparent text-sm text-gray-900 focus:outline-none',
        submitButton: 'inline-flex items-center rounded-full bg-blue-600 px-4 py-2 text-sm font-semibold text-white shadow transition enabled:hover:bg-blue-700 enabled:focus:outline-none enabled:focus:ring-2 enabled:focus:ring-blue-500 disabled:cursor-not-allowed disabled:bg-blue-300',
        submitButtonDisabled: 'disabled:cursor-not-allowed disabled:bg-blue-300',
        cancelButton: 'inline-flex items-center rounded-full border border-red-200 bg-red-50 px-4 py-2 text-sm font-semibold text-red-600 shadow transition hover:bg-red-100 focus:outline-none focus:ring-2 focus:ring-red-300 focus:ring-offset-2',
        cancelButtonDisabled: 'disabled:cursor-not-allowed disabled:opacity-60 disabled:hover:bg-red-50',
        slashCommandPopover: 'absolute bottom-full left-0 z-40 mb-2 w-full max-h-72 overflow-hidden rounded-xl border border-gray-200 bg-white shadow-xl shadow-gray-900/10 ring-1 ring-black/5',
        slashCommandSectionLabel: 'px-3 pt-3 pb-1 text-xs font-semibold uppercase tracking-wide text-gray-500',
        slashCommandList: 'max-h-60 overflow-y-auto px-1 py-1 space-y-1 list-none',
        slashCommandItem: 'flex w-full flex-col gap-1 rounded-lg border border-transparent px-3 py-2 text-left text-sm transition focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-200 focus-visible:ring-offset-2 focus-visible:ring-offset-white',
        slashCommandItemActive: 'border-blue-300 bg-blue-50 text-blue-900 shadow ring-1 ring-blue-200',
        slashCommandItemInactive: 'bg-white text-slate-900 shadow-sm hover:border-blue-200 hover:bg-blue-50/60',
        slashCommandMeta: 'text-[11px] font-medium uppercase tracking-wide text-blue-600/80',
        slashCommandItemDescription: 'text-xs text-slate-600',
        slashCommandEmptyState: 'px-3 py-4 text-sm text-gray-500',
        slashCommandPillContainer: 'mb-3',
        slashCommandPill: 'flex flex-col gap-3 rounded-xl border border-blue-200 bg-blue-50/80 px-3 py-3 text-sm text-blue-900 shadow-inner shadow-blue-200/60',
        slashCommandPillHeader: 'flex items-start justify-between gap-3',
        slashCommandPillTitleGroup: 'flex min-w-0 flex-col',
        slashCommandPillTitle: 'truncate text-sm font-semibold text-blue-900',
        slashCommandPillMeta: 'text-[11px] font-medium uppercase tracking-wide text-blue-600',
        slashCommandPillRemoveButton: 'inline-flex h-6 w-6 items-center justify-center rounded-full bg-blue-100 text-blue-600 text-sm leading-none shadow-sm transition hover:bg-blue-200 focus:outline-none focus:ring-2 focus:ring-blue-400 focus:ring-offset-2',
        slashCommandPillDescription: 'text-xs text-blue-800',
        slashCommandPillArgs: 'grid gap-2 sm:grid-cols-2',
        slashCommandPillArgItem: 'flex flex-col gap-1 rounded-lg border border-blue-200 bg-white/85 p-2 shadow-sm',
        slashCommandPillArgLabel: 'flex items-center gap-2 text-[11px] font-semibold uppercase tracking-wide text-blue-700',
        slashCommandPillRequiredBadge: 'inline-flex items-center rounded-full bg-blue-100 px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-blue-700',
        slashCommandPillArgDescription: 'text-[11px] text-blue-600',
        slashCommandPillArgInput: 'w-full rounded-md border border-blue-200 bg-white px-2 py-1 text-sm text-blue-900 shadow-inner focus:border-blue-400 focus:outline-none focus:ring-2 focus:ring-blue-200',
        slashCommandPillArgInputError: 'border-red-300 bg-red-50 focus:border-red-400 focus:ring-red-200',
        slashCommandPillArgError: 'text-[11px] font-medium text-red-600'
    },
    tabs: {
        container: {
            pill: 'flex items-center gap-1 rounded-full bg-gray-100 p-1',
            segmented: 'inline-flex rounded-lg bg-gray-100 p-1'
        },
        buttonBase: {
            pill: 'whitespace-nowrap rounded-full border border-transparent px-3 py-1 text-xs font-semibold',
            segmented: 'whitespace-nowrap rounded-md border border-transparent px-3 py-2 text-xs font-medium'
        },
        buttonActive: {
            pill: 'bg-white text-gray-900 shadow-sm',
            segmented: 'bg-white text-gray-900 shadow-sm'
        },
        buttonInactive: {
            pill: 'text-gray-600 hover:bg-gray-50 hover:text-gray-900',
            segmented: 'text-gray-600 hover:bg-gray-50 hover:text-gray-900'
        },
        focus: 'transition focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-400 focus-visible:ring-offset-1'
    },
    statusPill: {
        accent: 'inline-flex items-center rounded-full bg-purple-100 px-2.5 py-0.5 text-xs font-medium text-purple-800',
        success: 'inline-flex items-center rounded-full bg-green-100 px-2.5 py-0.5 text-xs font-medium text-green-800',
        enabled: 'inline-flex items-center rounded-full bg-emerald-100 px-2.5 py-0.5 text-xs font-medium text-emerald-800',
        muted: 'inline-flex items-center rounded-full bg-gray-200 px-2.5 py-0.5 text-xs font-medium text-gray-700'
    },
    mcpToolsView: {
        container: 'flex h-full flex-col overflow-y-auto bg-white',
        header: 'fixed top-0 left-0 right-0 z-20 border-b border-gray-200 bg-white px-4 pt-3 pb-2',
        headerInner: 'flex flex-wrap items-center justify-between gap-3',
        settingsButton: 'inline-flex items-center gap-2 rounded-md border border-gray-200 bg-gray-50 px-3 py-1.5 text-xs font-medium text-gray-700 shadow-sm transition hover:bg-gray-100 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-1',
        body: 'flex-1 min-h-0 bg-slate-50 px-4 py-5 pt-16 sm:px-6 sm:py-6 sm:pt-16',
        serverList: 'space-y-4',
        serverCard: 'rounded-lg border border-gray-200 bg-white p-4 shadow-sm',
        serverEmptyState: 'rounded-lg border border-dashed border-gray-300 bg-white p-6 text-center text-sm text-gray-500'
    },
    serverDashboard: {
        container: 'space-y-6',
        toolsOnlyContainer: 'space-y-4',
        headerRow: 'flex flex-wrap items-center justify-between gap-3',
        headerInfoGroup: 'min-w-0',
        headerViewLabel: 'text-xs font-medium uppercase tracking-wide text-gray-500',
        serverName: 'truncate text-sm font-semibold text-gray-900',
        serverUrl: 'truncate text-xs text-gray-500',
        serverUrlDetail: 'mt-1 break-all text-sm text-gray-500',
        serverVersion: 'mt-1 text-xs text-gray-500',
        toggleLabel: 'inline-flex items-center gap-2 text-sm font-medium text-gray-700',
        toggleCheckbox: 'h-4 w-4 rounded border-gray-300 text-blue-600 focus:ring-blue-500',
        toggleSelect: 'rounded-md border border-gray-300 bg-white px-2 py-1 text-sm font-medium text-gray-700 shadow-sm focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2',
        editButton: 'inline-flex items-center rounded-md bg-gray-100 px-3 py-2 text-sm font-medium text-gray-700 hover:bg-gray-200 focus:outline-none focus:ring-2 focus:ring-gray-500 focus:ring-offset-2',
        statsGrid: 'grid grid-cols-1 gap-4 sm:grid-cols-2',
        lastEventMethod: 'block font-semibold text-gray-900',
        lastEventTimestamp: 'block text-xs text-gray-500',
        lastEventPayload: 'mt-1 whitespace-pre-wrap break-words text-[11px] leading-snug text-indigo-900',
        toolSection: {
            container: 'space-y-3',
            toolsOnlyContainer: 'space-y-2',
            header: 'flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between',
            title: 'text-sm font-medium text-gray-900',
            count: 'text-xs font-medium text-gray-500',
            refreshButton: 'inline-flex items-center rounded-md border border-gray-300 px-3 py-2 text-sm font-medium text-gray-700 hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-gray-500 focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-60',
            list: 'divide-y divide-gray-200 overflow-hidden rounded-lg border border-gray-200',
            listItem: 'flex flex-col gap-3 bg-white p-4',
            listItemWithToggle: 'flex flex-col gap-3 bg-white p-4 sm:flex-row sm:items-center sm:justify-between',
            toolNameButton: 'font-mono text-blue-600 transition hover:text-blue-700 hover:underline focus:outline-none focus:ring-1 focus:ring-blue-400',
            toolDisabledBadge: 'inline-flex items-center rounded-full bg-gray-100 px-2 py-0.5 text-xs font-medium text-gray-600',
            toolDescription: 'mt-1 text-sm text-gray-600',
            toggleLabel: 'inline-flex items-center gap-2 text-sm font-medium text-gray-700',
            toggleCheckbox: 'h-4 w-4 rounded border-gray-300 text-blue-600 focus:ring-blue-500',
            toggleSelect: 'rounded-md border border-gray-300 bg-white px-2 py-1 text-sm font-medium text-gray-700 shadow-sm focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2',
            loadingState: 'rounded-md border border-dashed border-gray-300 bg-gray-50 px-4 py-3 text-sm text-gray-600',
            emptyState: 'rounded-md border border-dashed border-gray-300 bg-gray-50 px-4 py-3 text-sm text-gray-600'
        },
        promptSection: {
            container: 'space-y-3',
            header: 'flex w-full items-center justify-between gap-3',
            title: 'text-sm font-medium text-gray-900',
            count: 'text-xs font-medium text-gray-500',
            refreshButton: 'inline-flex items-center rounded-md border border-gray-300 px-3 py-2 text-sm font-medium text-gray-700 hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-gray-500 focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-60',
            alertError: 'rounded-md border border-red-200 bg-red-50 px-4 py-3 text-xs text-red-700',
            alertWarning: 'rounded-md border border-amber-200 bg-amber-50 px-4 py-3 text-xs text-amber-700',
            alertInfo: 'rounded-md border border-blue-200 bg-blue-50 px-4 py-3 text-xs text-blue-700',
            list: 'space-y-3',
            card: 'space-y-4 rounded-lg border border-gray-200 bg-white p-4 shadow-sm',
            cardHeader: 'flex items-start justify-between gap-3',
            cardTitle: 'text-sm font-semibold text-gray-900',
            cardDescription: 'mt-1 text-xs text-gray-600',
            argumentsHeading: 'text-xs font-semibold uppercase tracking-wide text-gray-500',
            argumentList: 'mt-1 space-y-1',
            argumentItem: 'rounded-md border border-gray-100 bg-gray-50 px-2 py-1 text-xs text-gray-700',
            argumentName: 'font-medium text-gray-900',
            argumentRequiredBadge: 'ml-2 inline-flex items-center rounded-full bg-blue-100 px-1.5 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-blue-700',
            argumentDescription: 'ml-2 text-gray-600',
            argumentEmpty: 'text-xs text-gray-500',
            executionSection: 'space-y-3 border-t border-gray-100 pt-3',
            executionHeading: 'text-xs font-semibold uppercase tracking-wide text-gray-500',
            executionInfo: 'rounded-md border border-blue-100 bg-blue-50 px-3 py-2 text-xs text-blue-700',
            executionError: 'rounded-md border border-red-200 bg-red-50 px-3 py-2 text-xs text-red-700',
            successContainer: 'space-y-3',
            resultMessageCard: 'rounded-md border border-slate-200 bg-slate-50 p-3',
            resultMessageRole: 'text-xs font-semibold uppercase tracking-wide text-slate-500',
            resultMessageBody: 'mt-1 whitespace-pre-wrap break-words text-sm text-slate-800',
            resultEmpty: 'rounded-md border border-gray-200 bg-gray-50 px-3 py-2 text-xs text-gray-600',
            rawDetails: 'rounded-md border border-gray-200 bg-white p-3 text-xs text-gray-700',
            rawDetailsSummary: 'cursor-pointer text-sm font-semibold text-gray-800',
            rawDetailsPre: 'mt-2 whitespace-pre-wrap break-words text-[11px] leading-snug',
            emptyState: 'rounded-md border border-dashed border-gray-300 bg-gray-50 px-4 py-3 text-sm text-gray-600',
            loadingState: 'rounded-md border border-dashed border-gray-300 bg-gray-50 px-4 py-3 text-sm text-gray-600',
            loadMoreButton: 'inline-flex items-center rounded-md border border-blue-200 bg-blue-50 px-3 py-1.5 text-xs font-medium text-blue-700 transition hover:bg-blue-100 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-70',
            loadingMoreText: 'text-xs text-gray-500'
        },
        footer: 'flex justify-end border-t border-gray-200 pt-6'
    },
    serverTitle: {
        container: 'flex items-start justify-between gap-4',
        title: 'text-lg font-medium text-gray-900',
        url: 'mt-1 text-sm text-gray-500',
        statusPillBase: 'inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium',
        statusPillInfo: 'bg-blue-100 text-blue-800',
        statusPillError: 'bg-red-100 text-red-800'
    },
    serverChecking: {
        container: 'space-y-6',
        statusCard: 'flex items-center gap-3 rounded-md border border-blue-100 bg-blue-50 px-4 py-3 text-sm text-blue-700',
        spinner: 'h-4 w-4 animate-spin rounded-full border-2 border-blue-500 border-t-transparent',
        statusText: 'text-sm'
    },
    serverError: {
        container: 'space-y-6',
        alert: 'rounded-md border border-red-200 bg-red-50 px-4 py-3',
        alertTitle: 'text-sm font-medium text-red-800',
        alertBody: 'mt-1 text-sm text-red-700',
        alertError: 'mt-2 text-xs font-mono text-red-600',
        actions: 'flex flex-wrap items-center justify-end gap-2',
        retryButton: 'inline-flex items-center rounded-md bg-blue-600 px-3 py-2 text-sm font-medium text-white shadow-sm hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2',
        editButton: 'inline-flex items-center rounded-md border border-gray-300 px-3 py-2 text-sm font-medium text-gray-700 hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-gray-500 focus:ring-offset-2'
    },
    serverSetup: {
        container: 'space-y-6',
        header: 'flex items-start justify-between gap-4',
        headerTitle: 'text-lg font-medium text-gray-900',
        headerSubtitle: 'mt-1 text-sm text-gray-500',
        formSection: 'border-t border-gray-200 pt-6',
        footer: 'flex justify-end'
    },
    toolRunner: {
        container: 'space-y-6',
        header: 'flex items-center justify-between',
        headerTitle: 'text-lg font-medium text-gray-900',
        headerSubtitle: 'mt-1 text-sm text-gray-500',
        backButton: 'inline-flex items-center rounded-md border border-gray-300 px-3 py-2 text-sm font-medium text-gray-700 hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-gray-500 focus:ring-offset-2',
        body: 'border-t border-gray-200 pt-6'
    },
    deleteServerButton: {
        solid: 'inline-flex items-center rounded-md bg-red-600 px-3 py-2 text-sm font-medium text-white shadow-sm hover:bg-red-700 focus:outline-none focus:ring-2 focus:ring-red-500 focus:ring-offset-2',
        soft: 'inline-flex items-center rounded-md bg-red-50 px-3 py-2 text-sm font-medium text-red-600 hover:bg-red-100 focus:outline-none focus:ring-2 focus:ring-red-500 focus:ring-offset-2',
        outline: 'inline-flex items-center rounded-md border border-red-200 px-3 py-2 text-sm font-medium text-red-600 hover:bg-red-50 focus:outline-none focus:ring-2 focus:ring-red-500 focus:ring-offset-2'
    },
    dashboardStat: {
        label: 'text-sm font-medium text-gray-500',
        value: 'mt-1 break-all text-sm text-gray-900'
    },
    newConnectionForm: {
        container: 'max-w-lg',
        header: 'flex items-center justify-between mb-4',
        title: 'text-lg font-medium',
        backButton: 'text-sm text-gray-600 transition hover:text-gray-800 hover:underline focus:outline-none focus:ring-1 focus:ring-gray-400'
    },
    chatSettings: {
        container: 'space-y-6',
        heading: 'text-lg font-semibold text-gray-900',
        description: 'text-sm text-gray-500',
        textarea: 'w-full rounded-lg border border-gray-200 bg-white px-3 py-2 text-sm text-gray-900 shadow-sm transition focus:border-blue-400 focus:outline-none focus:ring-2 focus:ring-blue-200',
        helperText: 'text-xs text-gray-500',
        resetButton: 'inline-flex items-center rounded-md border border-gray-200 px-3 py-1 text-xs font-medium text-gray-600 transition hover:bg-gray-100'
    },
    customPromptList: {
        container: 'space-y-4',
        headerRow: 'flex items-center justify-between gap-3',
        sections: 'space-y-6',
        section: 'space-y-3',
        sectionHeader: 'flex items-center justify-between gap-3',
        sectionTitle: 'text-sm font-semibold text-gray-900',
        sectionCount: 'text-xs text-gray-500',
        emptyState: 'rounded-md border border-dashed border-gray-200 bg-gray-50 px-4 py-3 text-sm text-gray-600',
        userList: 'space-y-3',
        userListItem: 'w-full max-w-full overflow-hidden rounded-xl border border-gray-200 bg-white shadow-sm transition hover:border-blue-200 hover:bg-blue-50/60',
        userListItemActive: 'border-blue-200 bg-blue-50/60',
        userListItemExpanded: 'border-blue-300 bg-blue-50/80 ring-1 ring-blue-100',
        userListItemContent: 'flex flex-wrap items-start justify-between gap-3 px-4 py-3',
        userListItemInfo: 'min-w-0 flex-1',
        userListItemTitleRow: 'flex items-center gap-2',
        userListItemTitle: 'truncate text-sm font-semibold text-gray-900',
        userListItemBadge: 'inline-flex items-center rounded-full bg-gray-100 px-2 py-0.5 text-[11px] font-medium uppercase tracking-wide text-gray-600',
        userListItemDescription: 'mt-1 line-clamp-2 text-xs text-gray-600',
        userListItemMeta: 'mt-2 text-xs text-gray-500',
        userListActions: 'flex flex-wrap items-center gap-2',
        editorContainer: 'border-t border-gray-200 bg-white px-4 py-4 overflow-hidden',
        hostList: 'space-y-2',
        hostListItem: 'rounded-xl border border-gray-200 bg-gray-50 px-4 py-3 shadow-sm',
        hostListItemContent: 'flex flex-wrap items-start justify-between gap-3',
        hostListItemTitleRow: 'flex items-center gap-2',
        hostListItemTitle: 'truncate text-sm font-semibold text-gray-900',
        hostListItemBadge: 'inline-flex items-center rounded-full bg-gray-100 px-2 py-0.5 text-[11px] font-medium uppercase tracking-wide text-gray-600',
        hostListItemDescription: 'mt-1 line-clamp-2 text-xs text-gray-600',
        hostListItemMeta: 'mt-2 text-xs text-gray-500',
        hostEmptyState: 'rounded-md border border-dashed border-gray-200 bg-gray-50 px-4 py-3 text-sm text-gray-600'
    },
    modelManager: {
        container: 'space-y-4',
        modelCard: 'rounded-lg border border-gray-200 bg-white p-4 shadow-sm',
        modelCardActive: 'rounded-lg border border-blue-300 bg-white p-4 shadow-sm ring-1 ring-blue-200',
        emptyState: 'rounded-md border border-dashed border-gray-300 bg-gray-50 p-6 text-center text-sm text-gray-500'
    },
    modelConfigCard: {
        container: 'space-y-4',
        header: 'flex flex-wrap items-start justify-between gap-3',
        title: 'text-lg font-medium text-gray-900',
        description: 'mt-1 text-sm text-gray-600',
        badge: 'inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium bg-gray-100 text-gray-800',
        defaultBadge: 'inline-flex items-center rounded-full bg-green-100 px-2.5 py-0.5 text-xs font-medium text-green-700',
        disabledBadge: 'inline-flex items-center rounded-full bg-gray-100 px-2.5 py-0.5 text-xs font-medium text-gray-800',
        actions: 'flex items-center gap-2',
        setDefaultButton: 'inline-flex items-center rounded-md border border-blue-200 bg-blue-50 px-3 py-2 text-sm font-medium text-blue-700 hover:bg-blue-100 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2',
        editButton: 'inline-flex items-center rounded-md bg-gray-100 px-3 py-2 text-sm font-medium text-gray-700 hover:bg-gray-200 focus:outline-none focus:ring-2 focus:ring-gray-500 focus:ring-offset-2',
        statsGrid: 'grid grid-cols-1 gap-4 sm:grid-cols-2',
        statLabel: 'text-sm font-medium text-gray-500',
        statValue: 'mt-1 text-sm text-gray-900',
        divider: 'flex justify-end border-t border-gray-200 pt-4',
        deleteButton: 'inline-flex items-center rounded-md bg-red-600 px-3 py-2 text-sm font-medium text-white shadow-sm hover:bg-red-700 focus:outline-none focus:ring-2 focus:ring-red-500 focus:ring-offset-2',
        cancelButton: 'inline-flex items-center rounded-md bg-gray-100 px-3 py-2 text-sm font-medium text-gray-700 hover:bg-gray-200 focus:outline-none focus:ring-2 focus:ring-gray-500 focus:ring-offset-2',
        editTitle: 'text-lg font-medium text-gray-900',
        pillGroup: 'flex flex-wrap items-center gap-2',
        errorText: 'text-xs text-red-600'
    },
    modelSettings: {
        container: 'space-y-6',
        header: 'flex items-start justify-between gap-4',
        heading: 'text-lg font-semibold text-gray-900',
        description: 'text-sm text-gray-500',
        countBadge: 'inline-flex items-center rounded-full bg-blue-50 px-3 py-1 text-sm font-medium text-blue-700',
        menu: 'absolute right-0 z-10 mt-2 w-48 rounded-md border border-gray-200 bg-white py-1 shadow-lg focus:outline-none',
        menuItem: 'flex w-full items-center justify-between px-4 py-2 text-sm text-gray-700 hover:bg-gray-100 focus:bg-gray-100 focus:outline-none',
        summary: 'space-y-2 text-sm text-gray-700',
        summaryList: 'list-inside list-disc text-gray-600',
        summaryItem: 'font-medium text-gray-800',
        summaryItemMuted: 'text-gray-500',
        summaryEmpty: 'text-gray-500',
        managerSection: 'border-t border-gray-200 pt-6'
    },
    mcpServerSection: {
        container: 'space-y-6',
        header: 'flex items-start justify-between gap-4',
        heading: 'text-lg font-semibold text-gray-900',
        description: 'text-sm text-gray-500',
        addButton: 'inline-flex items-center rounded-md bg-blue-600 px-4 py-2 text-sm font-medium text-white shadow-sm hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2',
        countBadge: 'inline-flex items-center rounded-full bg-purple-50 px-3 py-1 text-sm font-medium text-purple-700',
        summary: 'space-y-2 text-sm text-gray-700',
        summaryList: 'list-inside list-disc text-gray-600',
        summaryItem: 'font-medium text-gray-800',
        summaryItemMuted: 'text-gray-500',
        summaryEmpty: 'text-gray-500',
        managerSection: 'border-t border-gray-200 pt-6'
    },
    systemSettings: {
        container: 'space-y-6',
        headingGroup: 'space-y-1',
        heading: 'text-lg font-semibold text-gray-900',
        description: 'text-sm text-gray-500',
        card: 'space-y-4 rounded-xl border border-gray-200 bg-white p-5 shadow-sm',
        cardHeading: 'text-base font-semibold text-gray-900',
        cardSubheading: 'text-sm text-gray-500',
        primaryAction: 'inline-flex items-center rounded-md bg-red-600 px-4 py-2 text-sm font-medium text-white shadow-sm transition hover:bg-red-700 focus:outline-none focus:ring-2 focus:ring-red-500 focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-75',
        secondaryAction: 'inline-flex items-center rounded-md border border-gray-300 bg-white px-4 py-2 text-sm font-medium text-gray-700 shadow-sm transition hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-blue-400 focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-70',
        dangerNotice: 'text-xs uppercase tracking-wide text-red-500',
        successMessage: 'rounded-md border border-green-200 bg-green-50 px-3 py-2 text-sm text-green-700',
        errorMessage: 'rounded-md border border-red-200 bg-red-50 px-3 py-2 text-sm text-red-700',
        infoMessage: 'rounded-md border border-gray-200 bg-gray-50 px-3 py-2 text-sm text-gray-600',
        helperText: 'text-xs text-gray-500',
        metaList: 'space-y-3 text-sm text-gray-600',
        metaEntry: 'flex flex-wrap items-center gap-2',
        metaLabel: 'font-medium text-gray-900',
        metaBadge: 'inline-flex items-center rounded-full bg-gray-100 px-3 py-1 text-xs font-semibold uppercase tracking-wide text-gray-700',
        metaValue: 'text-sm text-gray-600'
    },
    playgroundSettings: {
        container: 'flex h-full flex-col',
        header: 'z-100 fixed top-0 left-0 right-0 flex flex-shrink-0 items-center justify-between gap-4 border-b border-gray-200 bg-white px-4 py-2',
        backButton: 'inline-flex items-center gap-2 rounded-md border border-gray-200 px-3 py-1.5 text-xs font-medium text-gray-700 shadow-sm transition hover:bg-gray-100 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-1',
        body: 'flex-1 overflow-y-auto px-4 py-2 pt-10'
    },
    chatSettingEditor: {
        overlay: 'fixed inset-0 z-50 flex items-center justify-center bg-gray-900/40 px-4 py-6 backdrop-blur-sm',
        dialog: 'w-full max-w-sm rounded-2xl bg-white p-6 shadow-xl',
        label: 'block text-xs font-medium text-gray-600',
        helper: 'text-xs text-gray-500',
        numberInput: 'w-full rounded-md border border-gray-300 px-3 py-2 text-sm text-gray-900 shadow-sm focus:border-blue-400 focus:outline-none focus:ring-2 focus:ring-blue-200',
        select: 'w-full rounded-md border border-gray-300 px-3 py-2 text-sm text-gray-900 shadow-sm focus:border-blue-400 focus:outline-none focus:ring-2 focus:ring-blue-200',
        helperList: 'space-y-1 text-[11px] text-gray-500',
        error: 'text-xs text-red-600',
        footer: 'flex justify-end gap-2 pt-2',
        cancelButton: 'inline-flex items-center rounded-full border border-gray-200 px-4 py-2 text-sm font-semibold text-gray-600 transition hover:bg-gray-100 focus:outline-none focus:ring-2 focus:ring-gray-300',
        saveButton: 'inline-flex items-center rounded-full bg-blue-600 px-4 py-2 text-sm font-semibold text-white shadow transition hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-500'
    },
    tabPanel: {
        container: 'py-6'
    }
};
const { layoutTokens: baseLayoutThemeInternal, colorTokens: defaultColorTokensInternal } = splitThemeTokens(rawDefaultTheme);
export const baseLayoutTheme = baseLayoutThemeInternal;
export const defaultColorTokens = defaultColorTokensInternal;
export const defaultTheme = mergeThemeTokens(baseLayoutTheme, defaultColorTokens);
