/**
 * BeepBeep AI — Phase 2 shared controls (buttons, links, fields, icon buttons)
 *
 * Scoped to body.bbai-dashboard. Source of truth: bbai-admin-foundation-tokens.css + unified :root.
 * Aliases: .bbai-btn--* (BEM) ↔ .bbai-btn-* (legacy) ↔ .bbai-ds-* (design-system primitives).
 */

/* -------------------------------------------------------------------------- */
/* Shared focus-visible (controls + links)                                    */
/* -------------------------------------------------------------------------- */

body.bbai-dashboard .bbai-btn:focus,
body.bbai-dashboard .bbai-ds-btn:focus,
body.bbai-dashboard .bbai-btn--icon:focus,
body.bbai-dashboard .bbai-ds-icon-btn:focus,
body.bbai-dashboard .bbai-toolbar__icon-btn:focus,
body.bbai-dashboard .bbai-link:focus,
body.bbai-dashboard .bbai-ds-link:focus,
body.bbai-dashboard .bbai-link-btn:focus,
body.bbai-dashboard .bbai-input:focus,
body.bbai-dashboard .bbai-textarea:focus,
body.bbai-dashboard .bbai-select:focus,
body.bbai-dashboard .bbai-ds-input:focus,
body.bbai-dashboard .bbai-ds-textarea:focus,
body.bbai-dashboard .bbai-ds-select:focus {
    outline: none;
}

body.bbai-dashboard .bbai-btn:focus-visible,
body.bbai-dashboard .bbai-ds-btn:focus-visible,
body.bbai-dashboard .bbai-btn--icon:focus-visible,
body.bbai-dashboard .bbai-ds-icon-btn:focus-visible,
body.bbai-dashboard .bbai-toolbar__icon-btn:focus-visible {
    outline: var(--bbai-ds-focus-outline);
    outline-offset: var(--bbai-ds-focus-offset);
}

body.bbai-dashboard .bbai-link:focus-visible,
body.bbai-dashboard .bbai-ds-link:focus-visible,
body.bbai-dashboard .bbai-link--action:focus-visible,
body.bbai-dashboard .bbai-link-btn:focus-visible {
    outline: var(--bbai-ds-focus-outline);
    outline-offset: var(--bbai-ds-focus-offset);
    border-radius: var(--bbai-admin-radius-xs);
}

body.bbai-dashboard .bbai-input:focus-visible,
body.bbai-dashboard .bbai-textarea:focus-visible,
body.bbai-dashboard .bbai-select:focus-visible,
body.bbai-dashboard .bbai-ds-input:focus-visible,
body.bbai-dashboard .bbai-ds-textarea:focus-visible,
body.bbai-dashboard .bbai-ds-select:focus-visible {
    outline: var(--bbai-ds-focus-outline);
    outline-offset: var(--bbai-ds-focus-offset);
}

/* -------------------------------------------------------------------------- */
/* Buttons — base (medium ≈ 36px, token radii)                                 */
/* -------------------------------------------------------------------------- */

body.bbai-dashboard .bbai-btn,
body.bbai-dashboard .bbai-ds-btn {
    box-sizing: border-box;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: var(--bbai-admin-space-2);
    min-height: var(--bbai-admin-size-btn-md);
    padding: var(--bbai-btn-padding-y) var(--bbai-btn-padding-x);
    margin: 0;
    border-radius: var(--bbai-admin-btn-radius);
    border: var(--bbai-admin-border-width-hairline) solid transparent;
    font-family: var(--bbai-admin-font-sans);
    font-size: var(--bbai-admin-type-body);
    font-weight: var(--bbai-admin-type-weight-semibold);
    line-height: var(--bbai-admin-type-leading-tight);
    text-decoration: none !important;
    cursor: pointer;
    white-space: nowrap;
    position: relative;
    overflow: hidden;
    transform: translateY(0);
    transition: var(--bbai-admin-ix-transition-interactive),
        box-shadow var(--bbai-admin-ix-duration) var(--bbai-admin-ix-ease);
    box-shadow: var(--bbai-admin-shadow-control);
    background-color: var(--bbai-admin-color-bg-muted);
    color: var(--bbai-admin-color-text);
}

body.bbai-dashboard .bbai-btn:hover:not(:disabled):not(.is-disabled):not([aria-disabled='true']),
body.bbai-dashboard .bbai-ds-btn:hover:not(:disabled):not([aria-disabled='true']) {
    background-color: var(--bbai-admin-color-bg-subtle);
}

body.bbai-dashboard .bbai-btn:active:not(:disabled):not(.is-disabled):not([aria-disabled='true']),
body.bbai-dashboard .bbai-ds-btn:active:not(:disabled):not([aria-disabled='true']) {
    transform: none;
    filter: var(--bbai-admin-ix-filter-press);
}

body.bbai-dashboard .bbai-btn:disabled,
body.bbai-dashboard .bbai-btn.is-disabled,
body.bbai-dashboard .bbai-ds-btn:disabled,
body.bbai-dashboard .bbai-ds-btn[aria-disabled='true'] {
    background: var(--bbai-gray-200) !important;
    color: var(--bbai-gray-600) !important;
    border-color: var(--bbai-gray-300) !important;
    cursor: not-allowed;
    pointer-events: none;
    box-shadow: none !important;
    transform: none !important;
    opacity: var(--bbai-admin-interaction-disabled-opacity);
}

body.bbai-dashboard .bbai-btn[aria-busy='true'],
body.bbai-dashboard .bbai-btn.is-loading,
body.bbai-dashboard .bbai-ds-btn[aria-busy='true'],
body.bbai-dashboard .bbai-ds-btn.is-loading {
    pointer-events: none;
    opacity: var(--bbai-admin-ix-loading-opacity);
    cursor: progress;
}

/* Primary */
body.bbai-dashboard .bbai-btn.bbai-btn-primary,
body.bbai-dashboard .bbai-btn--primary,
body.bbai-dashboard .bbai-ds-btn--primary,
body.bbai-dashboard .bbai-ui-btn--primary {
    min-height: var(--bbai-admin-size-btn-lg);
    border-color: var(--bbai-admin-btn-primary-border) !important;
    background: var(--bbai-admin-btn-primary-bg) !important;
    color: var(--bbai-admin-color-primary-on-brand) !important;
    box-shadow: var(--bbai-admin-btn-primary-shadow);
    font-weight: var(--bbai-admin-type-weight-semibold);
}

body.bbai-dashboard .bbai-btn.bbai-btn-primary:hover:not(:disabled):not(.is-disabled),
body.bbai-dashboard .bbai-btn--primary:hover:not(:disabled):not(.is-disabled),
body.bbai-dashboard .bbai-ds-btn--primary:hover:not(:disabled):not([aria-disabled='true']),
body.bbai-dashboard .bbai-ui-btn--primary:hover:not(:disabled):not([aria-disabled='true']) {
    border-color: var(--bbai-admin-color-primary-hover) !important;
    filter: brightness(0.97);
    box-shadow: var(--bbai-admin-btn-primary-shadow-hover);
    transform: var(--bbai-admin-btn-primary-lift);
}

body.bbai-dashboard .bbai-btn.bbai-btn-primary:active:not(:disabled):not(.is-disabled),
body.bbai-dashboard .bbai-btn--primary:active:not(:disabled):not(.is-disabled),
body.bbai-dashboard .bbai-ds-btn--primary:active:not(:disabled):not([aria-disabled='true']),
body.bbai-dashboard .bbai-ui-btn--primary:active:not(:disabled):not([aria-disabled='true']) {
    border-color: var(--bbai-admin-color-primary-active) !important;
    transform: none;
    filter: var(--bbai-admin-ix-filter-press-primary);
    box-shadow: var(--bbai-admin-shadow-control);
}

/* Secondary / outline calm */
body.bbai-dashboard .bbai-btn.bbai-btn-secondary,
body.bbai-dashboard .bbai-btn--secondary,
body.bbai-dashboard .bbai-ds-btn--secondary,
body.bbai-dashboard .bbai-ui-btn--secondary {
    background: var(--bbai-admin-btn-secondary-bg) !important;
    color: var(--bbai-admin-btn-secondary-text) !important;
    border: 1px solid var(--bbai-admin-btn-secondary-border) !important;
    box-shadow: none !important;
    font-weight: var(--bbai-admin-type-weight-medium);
}

body.bbai-dashboard .bbai-btn.bbai-btn-secondary:hover:not(:disabled):not(.is-disabled),
body.bbai-dashboard .bbai-btn--secondary:hover:not(:disabled):not(.is-disabled),
body.bbai-dashboard .bbai-ds-btn--secondary:hover:not(:disabled):not([aria-disabled='true']),
body.bbai-dashboard .bbai-ui-btn--secondary:hover:not(:disabled):not([aria-disabled='true']) {
    background: var(--bbai-admin-btn-secondary-bg-hover) !important;
    border-color: var(--bbai-admin-btn-secondary-border-hover) !important;
    color: var(--bbai-admin-btn-secondary-text-hover) !important;
    transform: none;
}

/* Ghost / tertiary */
body.bbai-dashboard .bbai-btn-tertiary,
body.bbai-dashboard .bbai-btn-ghost,
body.bbai-dashboard .bbai-btn--ghost,
body.bbai-dashboard .bbai-ds-btn--ghost,
body.bbai-dashboard .bbai-ds-btn--tertiary,
body.bbai-dashboard .bbai-ui-btn--tertiary {
    background: transparent !important;
    color: var(--bbai-admin-btn-tertiary-text) !important;
    border-color: transparent !important;
    box-shadow: none !important;
    min-height: auto;
    padding: 0;
    font-weight: var(--bbai-admin-type-weight-medium);
}

body.bbai-dashboard .bbai-btn-tertiary:hover:not(:disabled):not(.is-disabled),
body.bbai-dashboard .bbai-btn-ghost:hover:not(:disabled):not(.is-disabled),
body.bbai-dashboard .bbai-btn--ghost:hover:not(:disabled):not(.is-disabled),
body.bbai-dashboard .bbai-ds-btn--ghost:hover:not(:disabled):not([aria-disabled='true']),
body.bbai-dashboard .bbai-ds-btn--tertiary:hover:not(:disabled):not([aria-disabled='true']),
body.bbai-dashboard .bbai-ui-btn--tertiary:hover:not(:disabled):not([aria-disabled='true']) {
    background: var(--bbai-admin-btn-tertiary-bg-hover) !important;
    color: var(--bbai-admin-btn-tertiary-text-hover) !important;
    transform: none;
}

/* Outline primary */
body.bbai-dashboard .bbai-btn-outline-primary,
body.bbai-dashboard .bbai-btn--outline-primary {
    background: transparent !important;
    color: var(--bbai-admin-color-primary) !important;
    border: var(--bbai-admin-border-width-hairline) solid var(--bbai-admin-color-primary) !important;
    box-shadow: none !important;
}

body.bbai-dashboard .bbai-btn-outline-primary:hover:not(:disabled):not(.is-disabled),
body.bbai-dashboard .bbai-btn--outline-primary:hover:not(:disabled):not(.is-disabled) {
    background: var(--bbai-admin-color-primary-muted) !important;
    transform: none;
}

/* Destructive */
body.bbai-dashboard .bbai-btn.bbai-btn-danger,
body.bbai-dashboard .bbai-btn--danger,
body.bbai-dashboard .bbai-ds-btn--danger {
    background: var(--bbai-admin-semantic-error-accent) !important;
    color: var(--bbai-admin-color-primary-on-brand) !important;
    border-color: var(--bbai-admin-semantic-error-accent) !important;
    box-shadow: none !important;
}

body.bbai-dashboard .bbai-btn.bbai-btn-danger:hover:not(:disabled):not(.is-disabled),
body.bbai-dashboard .bbai-btn--danger:hover:not(:disabled):not(.is-disabled),
body.bbai-dashboard .bbai-ds-btn--danger:hover:not(:disabled):not([aria-disabled='true']) {
    filter: brightness(0.95);
    transform: none;
}

/* Sizes */
body.bbai-dashboard .bbai-btn.bbai-btn-sm,
body.bbai-dashboard .bbai-btn-sm,
body.bbai-dashboard .bbai-ds-btn--sm {
    min-height: var(--bbai-admin-size-btn-sm);
    padding: var(--bbai-btn-padding-sm-y) var(--bbai-btn-padding-sm-x) !important;
    font-size: var(--bbai-text-xs) !important;
    border-radius: var(--bbai-admin-radius-sm) !important;
}

body.bbai-dashboard .bbai-btn.bbai-btn-primary.bbai-btn-sm,
body.bbai-dashboard .bbai-btn-primary.bbai-btn-sm,
body.bbai-dashboard .bbai-btn--primary.bbai-btn-sm {
    min-width: 0 !important;
    min-height: var(--bbai-admin-size-btn-md) !important;
}

body.bbai-dashboard .bbai-btn.bbai-btn-lg,
body.bbai-dashboard .bbai-btn-lg,
body.bbai-dashboard .bbai-ds-btn--lg {
    min-height: var(--bbai-admin-size-btn-lg);
    padding: var(--bbai-btn-padding-lg-y) var(--bbai-btn-padding-lg-x) !important;
    font-size: var(--bbai-admin-type-body-lg) !important;
    border-radius: var(--bbai-admin-radius-lg) !important;
}

/* -------------------------------------------------------------------------- */
/* Icon buttons (toolbar, menus, square targets)                               */
/* -------------------------------------------------------------------------- */

body.bbai-dashboard .bbai-btn--icon,
body.bbai-dashboard .bbai-ds-icon-btn,
body.bbai-dashboard .bbai-toolbar__icon-btn {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--bbai-admin-size-icon-button);
    min-width: var(--bbai-admin-size-icon-button);
    height: var(--bbai-admin-size-icon-button);
    min-height: var(--bbai-admin-size-icon-button);
    padding: 0 !important;
    border-radius: var(--bbai-admin-radius-md);
    border: var(--bbai-admin-border-subtle);
    background: var(--bbai-admin-color-bg);
    color: var(--bbai-admin-color-text-secondary);
    box-shadow: none !important;
    cursor: pointer;
    transition: var(--bbai-admin-ix-transition-interactive);
}

body.bbai-dashboard .bbai-btn--icon:hover:not(:disabled):not([aria-disabled='true']),
body.bbai-dashboard .bbai-ds-icon-btn:hover:not(:disabled):not([aria-disabled='true']),
body.bbai-dashboard .bbai-toolbar__icon-btn:hover:not(:disabled):not([aria-disabled='true']) {
    border-color: var(--bbai-gray-400);
    background: var(--bbai-admin-color-bg-muted);
    color: var(--bbai-admin-color-text);
}

body.bbai-dashboard .bbai-btn--icon:disabled,
body.bbai-dashboard .bbai-ds-icon-btn:disabled,
body.bbai-dashboard .bbai-toolbar__icon-btn:disabled {
    opacity: var(--bbai-admin-interaction-disabled-opacity);
    cursor: not-allowed;
    pointer-events: none;
}

/* -------------------------------------------------------------------------- */
/* Links                                                                      */
/* -------------------------------------------------------------------------- */

body.bbai-dashboard .bbai-link,
body.bbai-dashboard .bbai-ds-link {
    font-family: var(--bbai-admin-font-sans);
    font-size: inherit;
    font-weight: var(--bbai-admin-type-weight-medium);
    color: var(--bbai-admin-color-primary);
    text-decoration: underline;
    text-underline-offset: 0.15em;
    cursor: pointer;
    transition: var(--bbai-admin-ix-transition-interactive);
    background: none;
    border: none;
    padding: 0;
}

body.bbai-dashboard .bbai-link:hover,
body.bbai-dashboard .bbai-ds-link:hover {
    color: var(--bbai-admin-color-primary-hover);
}

body.bbai-dashboard .bbai-link--action {
    font-weight: var(--bbai-admin-type-weight-semibold);
    text-decoration: none;
}

body.bbai-dashboard .bbai-link--action:hover {
    text-decoration: underline;
}

body.bbai-dashboard .bbai-link--muted,
body.bbai-dashboard .bbai-link-muted {
    color: var(--bbai-admin-color-text-muted);
    font-weight: var(--bbai-admin-type-weight-medium);
}

body.bbai-dashboard .bbai-link--muted:hover,
body.bbai-dashboard .bbai-link-muted:hover {
    color: var(--bbai-admin-color-text-secondary);
}

body.bbai-dashboard .bbai-link-btn,
body.bbai-dashboard .bbai-link-sm {
    font-family: var(--bbai-admin-font-sans);
    font-size: var(--bbai-admin-type-body);
    font-weight: var(--bbai-admin-type-weight-medium);
    color: var(--bbai-admin-color-primary);
    text-decoration: none;
    background: transparent;
    border: none;
    padding: 0;
    cursor: pointer;
    transition: var(--bbai-admin-ix-transition-interactive);
}

body.bbai-dashboard .bbai-link-btn:hover,
body.bbai-dashboard .bbai-link-sm:hover {
    color: var(--bbai-admin-color-primary-hover);
    text-decoration: underline;
}

body.bbai-dashboard .bbai-link-btn:disabled,
body.bbai-dashboard .bbai-link-sm:disabled,
body.bbai-dashboard .bbai-link-sm--disabled {
    color: var(--bbai-admin-color-text-disabled);
    cursor: not-allowed;
    opacity: 0.65;
    text-decoration: none;
}

/* -------------------------------------------------------------------------- */
/* Inputs, textareas, selects — shared field primitive                         */
/* -------------------------------------------------------------------------- */

body.bbai-dashboard .bbai-input,
body.bbai-dashboard .bbai-textarea,
body.bbai-dashboard .bbai-select,
body.bbai-dashboard .bbai-ds-input,
body.bbai-dashboard .bbai-ds-textarea,
body.bbai-dashboard .bbai-ds-select,
body.bbai-dashboard .bbai-settings-form-input,
body.bbai-dashboard .bbai-settings-form-textarea,
body.bbai-dashboard .bbai-credit-filter-input,
body.bbai-dashboard .bbai-credit-filter-select,
body.bbai-dashboard .bbai-filter-input,
body.bbai-dashboard .bbai-filter-select,
body.bbai-dashboard .bbai-toolbar__search-input,
body.bbai-dashboard .bbai-library-filter-select,
body.bbai-dashboard .bbai-library-inline-alt__textarea,
body.bbai-dashboard .bbai-library-edit-modal__textarea,
body.bbai-dashboard .bbai-bulk-edit-form-textarea,
body.bbai-dashboard textarea.bbai-contact-form-textarea {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-height: var(--bbai-admin-size-input-min-height);
    padding: var(--bbai-input-padding-y) var(--bbai-input-padding-x);
    border-radius: var(--bbai-admin-radius-input);
    border: var(--bbai-input-border);
    background: var(--bbai-input-bg);
    font-family: var(--bbai-admin-font-sans);
    font-size: var(--bbai-admin-type-body);
    line-height: var(--bbai-admin-type-leading-normal);
    color: var(--bbai-admin-color-text);
    transition: var(--bbai-admin-ix-transition-interactive),
        box-shadow var(--bbai-admin-ix-duration) var(--bbai-admin-ix-ease);
}

body.bbai-dashboard .bbai-textarea,
body.bbai-dashboard .bbai-ds-textarea,
body.bbai-dashboard .bbai-settings-form-textarea,
body.bbai-dashboard .bbai-library-inline-alt__textarea,
body.bbai-dashboard .bbai-library-edit-modal__textarea,
body.bbai-dashboard .bbai-bulk-edit-form-textarea,
body.bbai-dashboard textarea.bbai-contact-form-textarea {
    min-height: 5rem;
    resize: vertical;
}

body.bbai-dashboard .bbai-toolbar__search-input {
    min-height: var(--bbai-admin-size-btn-sm);
}

body.bbai-dashboard .bbai-input:hover:not(:disabled):not([aria-disabled='true']),
body.bbai-dashboard .bbai-textarea:hover:not(:disabled):not([aria-disabled='true']),
body.bbai-dashboard .bbai-select:hover:not(:disabled):not([aria-disabled='true']),
body.bbai-dashboard .bbai-ds-input:hover:not(:disabled):not([aria-disabled='true']),
body.bbai-dashboard .bbai-ds-textarea:hover:not(:disabled):not([aria-disabled='true']),
body.bbai-dashboard .bbai-ds-select:hover:not(:disabled):not([aria-disabled='true']),
body.bbai-dashboard .bbai-settings-form-input:hover:not(:disabled),
body.bbai-dashboard .bbai-settings-form-textarea:hover:not(:disabled),
body.bbai-dashboard .bbai-credit-filter-input:hover:not(:disabled),
body.bbai-dashboard .bbai-credit-filter-select:hover:not(:disabled),
body.bbai-dashboard .bbai-filter-input:hover:not(:disabled),
body.bbai-dashboard .bbai-filter-select:hover:not(:disabled),
body.bbai-dashboard .bbai-toolbar__search-input:hover:not(:disabled),
body.bbai-dashboard .bbai-library-inline-alt__textarea:hover:not(:disabled),
body.bbai-dashboard .bbai-library-edit-modal__textarea:hover:not(:disabled) {
    border-color: var(--bbai-gray-400);
}

body.bbai-dashboard .bbai-input:focus,
body.bbai-dashboard .bbai-textarea:focus,
body.bbai-dashboard .bbai-select:focus,
body.bbai-dashboard .bbai-ds-input:focus,
body.bbai-dashboard .bbai-ds-textarea:focus,
body.bbai-dashboard .bbai-ds-select:focus,
body.bbai-dashboard .bbai-settings-form-input:focus,
body.bbai-dashboard .bbai-settings-form-textarea:focus,
body.bbai-dashboard .bbai-credit-filter-input:focus,
body.bbai-dashboard .bbai-credit-filter-select:focus,
body.bbai-dashboard .bbai-filter-input:focus,
body.bbai-dashboard .bbai-filter-select:focus,
body.bbai-dashboard .bbai-toolbar__search-input:focus,
body.bbai-dashboard .bbai-library-inline-alt__textarea:focus,
body.bbai-dashboard .bbai-library-edit-modal__textarea:focus {
    border-color: var(--bbai-admin-color-border-focus);
    box-shadow: var(--bbai-admin-shadow-focus);
}

body.bbai-dashboard .bbai-input:disabled,
body.bbai-dashboard .bbai-textarea:disabled,
body.bbai-dashboard .bbai-select:disabled,
body.bbai-dashboard .bbai-ds-input:disabled,
body.bbai-dashboard .bbai-ds-textarea:disabled,
body.bbai-dashboard .bbai-ds-select:disabled,
body.bbai-dashboard .bbai-settings-form-input:disabled,
body.bbai-dashboard .bbai-settings-form-textarea:disabled {
    opacity: var(--bbai-admin-interaction-disabled-opacity);
    cursor: not-allowed;
    background: var(--bbai-admin-color-bg-subtle);
}

body.bbai-dashboard .bbai-input::placeholder,
body.bbai-dashboard .bbai-textarea::placeholder,
body.bbai-dashboard .bbai-ds-input::placeholder,
body.bbai-dashboard .bbai-ds-textarea::placeholder,
body.bbai-dashboard .bbai-settings-form-input::placeholder,
body.bbai-dashboard .bbai-toolbar__search-input::placeholder {
    color: var(--bbai-placeholder-color);
    opacity: var(--bbai-placeholder-opacity);
}

/* Search input variant (optional class) */
body.bbai-dashboard .bbai-input--search,
body.bbai-dashboard input.bbai-input[type='search'] {
    min-height: var(--bbai-admin-size-btn-md);
}

/* Numeric */
body.bbai-dashboard input.bbai-input[type='number'],
body.bbai-dashboard .bbai-input--number {
    font-variant-numeric: tabular-nums;
}

/* -------------------------------------------------------------------------- */
/* Toolbar + bulk bar buttons (markup unchanged; align to family)              */
/* -------------------------------------------------------------------------- */

body.bbai-dashboard .bbai-toolbar__btn {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--bbai-admin-space-2);
    min-height: var(--bbai-admin-size-btn-sm);
    padding: var(--bbai-btn-padding-sm-y) var(--bbai-btn-padding-sm-x);
    font-family: var(--bbai-admin-font-sans);
    font-size: var(--bbai-text-xs);
    font-weight: var(--bbai-admin-type-weight-semibold);
    line-height: var(--bbai-admin-type-leading-tight);
    border-radius: var(--bbai-admin-btn-radius-sm);
    border: var(--bbai-admin-border-subtle);
    background: var(--bbai-admin-color-bg);
    color: var(--bbai-admin-color-text-secondary);
    cursor: pointer;
    transition: var(--bbai-admin-ix-transition-interactive);
    box-shadow: none;
}

body.bbai-dashboard .bbai-toolbar__btn:hover:not(:disabled) {
    background: var(--bbai-admin-color-bg-muted);
    border-color: var(--bbai-gray-300);
    color: var(--bbai-gray-700);
}

body.bbai-dashboard .bbai-toolbar__btn--primary {
    border-color: var(--bbai-admin-btn-primary-border);
    background: var(--bbai-admin-btn-primary-bg);
    color: var(--bbai-admin-color-primary-on-brand);
    box-shadow: var(--bbai-admin-btn-primary-shadow);
}

body.bbai-dashboard .bbai-toolbar__btn--primary:hover:not(:disabled):not(.bbai-is-locked) {
    border-color: var(--bbai-admin-color-primary-hover);
    filter: brightness(0.97);
    box-shadow: var(--bbai-admin-btn-primary-shadow-hover);
    transform: var(--bbai-admin-btn-primary-lift);
}

body.bbai-dashboard .bbai-toolbar__btn:focus-visible,
body.bbai-dashboard .bbai-bulk-actions-toolbar__btn:focus-visible {
    outline: var(--bbai-ds-focus-outline);
    outline-offset: var(--bbai-ds-focus-offset);
}

body.bbai-dashboard .bbai-bulk-actions-toolbar__btn {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: var(--bbai-admin-size-btn-sm);
    padding: var(--bbai-btn-padding-sm-y) var(--bbai-btn-padding-sm-x);
    font-family: var(--bbai-admin-font-sans);
    font-size: var(--bbai-text-xs);
    font-weight: var(--bbai-admin-type-weight-semibold);
    border-radius: var(--bbai-admin-btn-radius-sm);
    border: var(--bbai-admin-border-subtle);
    background: var(--bbai-admin-color-bg);
    color: var(--bbai-admin-color-text-secondary);
    cursor: pointer;
    transition: var(--bbai-admin-ix-transition-interactive);
}

body.bbai-dashboard .bbai-bulk-actions-toolbar__btn:hover:not(:disabled) {
    background: var(--bbai-admin-color-bg-muted);
}

body.bbai-dashboard .bbai-bulk-actions-toolbar__btn--primary {
    border-color: var(--bbai-admin-btn-primary-border);
    background: var(--bbai-admin-btn-primary-bg);
    color: var(--bbai-admin-color-primary-on-brand);
    box-shadow: var(--bbai-admin-btn-primary-shadow);
}

body.bbai-dashboard .bbai-bulk-actions-toolbar__btn--primary:hover:not(:disabled):not(.bbai-is-locked) {
    filter: brightness(0.97);
    box-shadow: var(--bbai-admin-btn-primary-shadow-hover);
    transform: var(--bbai-admin-btn-primary-lift);
}

/* Pagination as compact secondary */
body.bbai-dashboard a.bbai-pagination-btn,
body.bbai-dashboard button.bbai-pagination-btn {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: var(--bbai-admin-size-btn-sm);
    padding: var(--bbai-btn-padding-sm-y) var(--bbai-btn-padding-sm-x);
    font-family: var(--bbai-admin-font-sans);
    font-size: var(--bbai-text-xs);
    font-weight: var(--bbai-admin-type-weight-medium);
    border-radius: var(--bbai-admin-radius-sm);
    border: var(--bbai-admin-border-subtle);
    background: var(--bbai-admin-color-bg);
    color: var(--bbai-admin-color-text);
    text-decoration: none !important;
    cursor: pointer;
    transition: var(--bbai-admin-ix-transition-interactive);
}

body.bbai-dashboard a.bbai-pagination-btn:hover,
body.bbai-dashboard button.bbai-pagination-btn:hover {
    background: var(--bbai-admin-color-bg-muted);
}

body.bbai-dashboard a.bbai-pagination-btn:focus-visible,
body.bbai-dashboard button.bbai-pagination-btn:focus-visible {
    outline: var(--bbai-ds-focus-outline);
    outline-offset: var(--bbai-ds-focus-offset);
}

/* -------------------------------------------------------------------------- */
/* Labels + helper text paired with .bbai-input (optional)                     */
/* -------------------------------------------------------------------------- */

body.bbai-dashboard .bbai-label,
body.bbai-dashboard .bbai-ds-label {
    display: block;
    margin: 0 0 var(--bbai-space-1-5);
    font-size: var(--bbai-admin-type-label);
    font-weight: var(--bbai-admin-type-label-weight);
    letter-spacing: var(--bbai-admin-type-label-tracking);
    text-transform: var(--bbai-admin-type-label-transform);
    color: var(--bbai-admin-color-text-muted);
}

body.bbai-dashboard .bbai-help,
body.bbai-dashboard .bbai-ds-help,
body.bbai-dashboard .bbai-ds-helper {
    margin: var(--bbai-space-1-5) 0 0;
    font-size: var(--bbai-admin-type-meta);
    line-height: var(--bbai-admin-type-leading-snug);
    color: var(--bbai-admin-color-text-muted);
}

body.bbai-dashboard .bbai-help--error,
body.bbai-dashboard .bbai-ds-help--error {
    color: var(--bbai-admin-semantic-error-accent);
}

/* WordPress core buttons inside plugin shell (logged-out FTUE, etc.) */
body.bbai-dashboard .bbai-dashboard-container .button.button-primary,
body.bbai-dashboard .bbai-logged-out__panel .button.button-primary {
    min-height: var(--bbai-admin-size-btn-lg);
    padding: var(--bbai-btn-padding-lg-y) var(--bbai-btn-padding-lg-x) !important;
    font-size: var(--bbai-admin-type-body) !important;
    font-weight: var(--bbai-admin-type-weight-semibold) !important;
    border-radius: var(--bbai-admin-btn-radius) !important;
    border: 1px solid var(--bbai-admin-btn-primary-border) !important;
    background: var(--bbai-admin-btn-primary-bg) !important;
    color: var(--bbai-admin-color-primary-on-brand) !important;
    box-shadow: var(--bbai-admin-btn-primary-shadow);
    line-height: var(--bbai-admin-type-leading-tight) !important;
    transition: var(--bbai-admin-ix-transition-interactive), box-shadow var(--bbai-admin-ix-duration) var(--bbai-admin-ix-ease) !important;
}

body.bbai-dashboard .bbai-dashboard-container .button.button-secondary,
body.bbai-dashboard .bbai-logged-out__panel .button.button-secondary {
    min-height: var(--bbai-admin-size-btn-md);
    padding: var(--bbai-btn-padding-y) var(--bbai-btn-padding-x) !important;
    font-size: var(--bbai-admin-type-body) !important;
    font-weight: var(--bbai-admin-type-weight-medium) !important;
    border-radius: var(--bbai-admin-btn-radius) !important;
    border: 1px solid var(--bbai-admin-btn-secondary-border) !important;
    background: var(--bbai-admin-btn-secondary-bg) !important;
    color: var(--bbai-admin-btn-secondary-text) !important;
    box-shadow: none !important;
    transition: var(--bbai-admin-ix-transition-interactive), box-shadow var(--bbai-admin-ix-duration) var(--bbai-admin-ix-ease) !important;
}

body.bbai-dashboard .bbai-dashboard-container .button.button-primary:hover:not(:disabled),
body.bbai-dashboard .bbai-logged-out__panel .button.button-primary:hover:not(:disabled) {
    box-shadow: var(--bbai-admin-btn-primary-shadow-hover) !important;
    transform: var(--bbai-admin-btn-primary-lift);
}

body.bbai-dashboard .bbai-dashboard-container .button.button-secondary:hover:not(:disabled),
body.bbai-dashboard .bbai-logged-out__panel .button.button-secondary:hover:not(:disabled) {
    background: var(--bbai-admin-btn-secondary-bg-hover) !important;
    border-color: var(--bbai-admin-btn-secondary-border-hover) !important;
    color: var(--bbai-admin-btn-secondary-text-hover) !important;
}

body.bbai-dashboard .bbai-dashboard-container .button.button-primary:focus-visible,
body.bbai-dashboard .bbai-dashboard-container .button.button-secondary:focus-visible,
body.bbai-dashboard .bbai-logged-out__panel .button:focus-visible {
    outline: var(--bbai-ds-focus-outline);
    outline-offset: var(--bbai-ds-focus-offset);
}
