@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

/**
 * SEOBot AI – Admin Styles
 *
 * @package SEOBotAI
 */

/* ═══════════════════════════════════════════════════
   DESIGN SYSTEM — Custom Properties
   ═══════════════════════════════════════════════════ */

:root {
    /* ── Spacing ── */
    --sb-space-xs:   4px;
    --sb-space-sm:   8px;
    --sb-space-md:   16px;
    --sb-space-lg:   24px;
    --sb-space-xl:   32px;
    --sb-space-2xl:  40px;
    --sb-space-3xl:  48px;

    /* ── Typography ── */
    --sb-font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;
    --sb-font-size-xs:   11px;
    --sb-font-size-sm:   12px;
    --sb-font-size-base: 13px;
    --sb-font-size-md:   14px;
    --sb-font-size-lg:   16px;
    --sb-font-size-xl:   20px;
    --sb-font-size-2xl:  24px;
    --sb-font-weight-normal: 400;
    --sb-font-weight-medium: 500;
    --sb-font-weight-semibold: 600;
    --sb-font-weight-bold: 700;

    /* ── Colors — Neutrals ── */
    --sb-gray-50:  #f9fafb;
    --sb-gray-100: #f3f4f6;
    --sb-gray-200: #e5e7eb;
    --sb-gray-300: #d1d5db;
    --sb-gray-400: #9ca3af;
    --sb-gray-500: #6b7280;
    --sb-gray-600: #4b5563;
    --sb-gray-700: #374151;
    --sb-gray-800: #1f2937;
    --sb-gray-900: #111827;

    /* ── Colors — Accent ── */
    --sb-accent:       #2271b1;
    --sb-accent-light: #f0f6fc;
    --sb-accent-hover: #135e96;

    /* ── Colors — Semantic ── */
    --sb-success:       #00a32a;
    --sb-success-light: #edfaef;
    --sb-warning:       #dba617;
    --sb-warning-light: #fef8e0;
    --sb-error:         #d63638;
    --sb-error-light:   #fce4e4;

    /* ── Surfaces ── */
    --sb-surface:     #ffffff;
    --sb-surface-alt: var(--sb-gray-50);
    --sb-border:      var(--sb-gray-200);

    /* ── Radii ── */
    --sb-radius-sm:  6px;
    --sb-radius-md:  10px;
    --sb-radius-lg:  14px;
    --sb-radius-full: 9999px;

    /* ── Shadows ── */
    --sb-shadow-sm:  0 1px 3px rgba(0, 0, 0, 0.06);
    --sb-shadow-md:  0 4px 12px rgba(0, 0, 0, 0.08);
    --sb-shadow-lg:  0 8px 32px rgba(0, 0, 0, 0.12);

    /* ── Transitions ── */
    --sb-transition: 200ms ease;
}



/* ─────────────────── Base Layout ─────────────────── */

.wpseobot-wrap {
    max-width: 1200px;
    padding: var(--sb-space-lg) var(--sb-space-xl) var(--sb-space-3xl);
    font-family: var(--sb-font-family);
    color: var(--sb-gray-800);
}

/* ─────────────────── Page Header ─────────────────── */

.wpseobot-page-header {
    display: flex;
    align-items: center;
    gap: var(--sb-space-sm);
    margin-bottom: var(--sb-space-lg);
    padding-bottom: var(--sb-space-md);
    border-bottom: 1px solid var(--sb-border);
}

.wpseobot-page-header h1 {
    margin: 0;
    font-family: var(--sb-font-family);
    font-size: var(--sb-font-size-xl);
    font-weight: var(--sb-font-weight-bold);
    color: var(--sb-gray-900);
    line-height: 1.3;
}

.wpseobot-header-credits {
    margin-left: auto;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    background: #fff;
    padding: 6px 6px 6px 14px;
    border-radius: 30px;
    border: 1px solid var(--sb-gray-200);
    font-size: 13px;
    color: var(--sb-gray-600);
    box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}

.wpseobot-plan-badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: 999px;
    background: #ecfdf5;
    color: #047857;
    font-size: 12px;
    font-weight: 700;
    text-transform: capitalize;
}

.wpseobot-contact-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-left: 6px;
}

.wpseobot-page-header .dashicons,
.wpseobot-page-icon {
    color: var(--sb-accent);
    font-size: 26px;
    width: 26px;
    height: 26px;
    flex-shrink: 0;
}

/* ─────────────────── Collapsible Sections ─────────────────── */

.wpseobot-section {
    background: var(--sb-surface);
    border: 1px solid var(--sb-border);
    border-radius: var(--sb-radius-md);
    margin-bottom: var(--sb-space-md);
    transition: box-shadow var(--sb-transition);
    overflow: hidden;
}

.wpseobot-section:hover {
    box-shadow: var(--sb-shadow-sm);
}

.wpseobot-section-toggle {
    display: flex;
    align-items: center;
    gap: var(--sb-space-sm);
    width: 100%;
    padding: var(--sb-space-md) var(--sb-space-lg);
    margin: 0;
    border: none;
    background: none;
    cursor: pointer;
    font-family: var(--sb-font-family);
    font-size: var(--sb-font-size-lg);
    font-weight: var(--sb-font-weight-semibold);
    color: var(--sb-gray-900);
    text-align: left;
    line-height: 1.4;
    transition: background var(--sb-transition);
}

.wpseobot-section-toggle:hover {
    background: var(--sb-gray-50);
}

.wpseobot-section-toggle:focus-visible {
    outline: none;
    box-shadow: inset 0 0 0 2px var(--sb-accent);
}

.wpseobot-section-toggle .dashicons {
    color: var(--sb-accent);
    font-size: 20px;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.wpseobot-section-chevron {
    margin-left: auto;
    color: var(--sb-gray-400);
    font-size: 20px;
    width: 20px;
    height: 20px;
    transition: transform var(--sb-transition);
    flex-shrink: 0;
}

.wpseobot-section.is-collapsed .wpseobot-section-chevron {
    transform: rotate(-90deg);
}

.wpseobot-section-body {
    max-height: 5000px;
    overflow: hidden;
    transition: max-height 400ms ease, opacity 300ms ease;
    opacity: 1;
    padding: 0 var(--sb-space-lg) var(--sb-space-lg);
}

.wpseobot-section.is-collapsed .wpseobot-section-body {
    max-height: 0;
    opacity: 0;
    padding-top: 0;
    padding-bottom: 0;
}

.wpseobot-section-desc {
    font-size: var(--sb-font-size-base);
    color: var(--sb-gray-500);
    margin: 0 0 var(--sb-space-md);
    line-height: 1.6;
}

/* ─────────────────── Form Controls ─────────────────── */

.wpseobot-wrap input[type="text"],
.wpseobot-wrap input[type="url"],
.wpseobot-wrap input[type="number"],
.wpseobot-wrap input[type="password"],
.wpseobot-wrap input[type="email"],
.wpseobot-wrap input[type="search"],
.wpseobot-wrap select,
.wpseobot-wrap textarea {
    font-family: var(--sb-font-family);
    font-size: var(--sb-font-size-md);
    border: 1px solid var(--sb-gray-300);
    border-radius: var(--sb-radius-sm);
    padding: 8px 12px;
    color: var(--sb-gray-800);
    background: var(--sb-surface);
    transition: border-color var(--sb-transition), box-shadow var(--sb-transition);
    line-height: 1.5;
}

.wpseobot-wrap input[type="text"]:focus,
.wpseobot-wrap input[type="url"]:focus,
.wpseobot-wrap input[type="number"]:focus,
.wpseobot-wrap input[type="password"]:focus,
.wpseobot-wrap input[type="email"]:focus,
.wpseobot-wrap input[type="search"]:focus,
.wpseobot-wrap select:focus,
.wpseobot-wrap textarea:focus {
    border-color: var(--sb-accent);
    box-shadow: 0 0 0 3px rgba(34, 113, 177, 0.15);
    outline: none;
}

.wpseobot-wrap input[type="text"]:hover,
.wpseobot-wrap input[type="url"]:hover,
.wpseobot-wrap input[type="number"]:hover,
.wpseobot-wrap input[type="password"]:hover,
.wpseobot-wrap input[type="email"]:hover,
.wpseobot-wrap input[type="search"]:hover,
.wpseobot-wrap select:hover,
.wpseobot-wrap textarea:hover {
    border-color: var(--sb-gray-400);
}

.wpseobot-wrap .form-table th {
    font-family: var(--sb-font-family);
    font-size: var(--sb-font-size-base);
    font-weight: var(--sb-font-weight-medium);
    color: var(--sb-gray-700);
    padding: var(--sb-space-md) var(--sb-space-md) var(--sb-space-md) 0;
    width: 220px;
    vertical-align: top;
}

.wpseobot-wrap .form-table td {
    padding: var(--sb-space-md) 0;
}

.wpseobot-wrap .form-table tr {
    border-bottom: 1px solid var(--sb-gray-100);
}

.wpseobot-wrap .form-table tr:last-child {
    border-bottom: none;
}

.wpseobot-wrap label {
    font-family: var(--sb-font-family);
    font-weight: var(--sb-font-weight-medium);
    color: var(--sb-gray-700);
}

.wpseobot-wrap .description,
.wpseobot-wrap p.description {
    font-family: var(--sb-font-family);
    font-size: var(--sb-font-size-sm);
    color: var(--sb-gray-500);
    line-height: 1.5;
    margin-top: var(--sb-space-xs);
}

/* ─────────────────── Buttons ─────────────────── */

.wpseobot-wrap .button,
.wpseobot-wrap .button-primary,
.wpseobot-wrap .button-secondary {
    font-family: var(--sb-font-family);
    font-weight: var(--sb-font-weight-medium);
    border-radius: var(--sb-radius-sm);
    transition: all var(--sb-transition);
    min-height: 36px;
    line-height: 1.5;
    padding: 6px 16px;
}

.wpseobot-wrap .button,
.wpseobot-wrap .button-primary,
.wpseobot-wrap .button-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.wpseobot-wrap .button:hover {
    transform: translateY(-1px);
    box-shadow: var(--sb-shadow-sm);
}

.wpseobot-wrap .button:active {
    transform: translateY(0px);
    box-shadow: none;
}

.wpseobot-wrap .button:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(34, 113, 177, 0.25);
}

.wpseobot-wrap .button-primary {
    background: var(--sb-accent);
    border-color: var(--sb-accent-hover);
    color: #fff;
}

.wpseobot-wrap .button-primary:hover {
    background: var(--sb-accent-hover);
    border-color: var(--sb-accent-hover);
    color: #fff;
    transform: translateY(-1px);
    box-shadow: var(--sb-shadow-sm);
}

/* Dashicons inside buttons — global alignment fix */
.wpseobot-wrap .button .dashicons,
.wpseobot-wrap .button-primary .dashicons,
.wpseobot-wrap .button-secondary .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
    line-height: 1;
    vertical-align: middle;
    margin-right: 0;
    position: relative;
    top: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Small buttons get smaller icons */
.wpseobot-wrap .button-small .dashicons {
    font-size: 14px;
    width: 14px;
    height: 14px;
    margin-right: 2px;
}

/* Checkbox labels — ensure inline alignment */
.wpseobot-checkbox input[type="checkbox"] {
    margin: 0;
    vertical-align: middle;
    position: relative;
    top: -1px;
}

.wpseobot-checkbox-group label input[type="checkbox"] {
    margin: 0 4px 0 0;
    vertical-align: middle;
}

.wpseobot-wrap #submit,
.wpseobot-wrap .submit .button-primary {
    font-family: var(--sb-font-family);
    font-size: var(--sb-font-size-md);
    font-weight: var(--sb-font-weight-semibold);
    padding: 8px 28px;
    border-radius: var(--sb-radius-sm);
    min-height: 40px;
}

/* ─────────────────── Postbox Refinements ─────────────────── */

.wpseobot-wrap .postbox {
    border: 1px solid var(--sb-border);
    border-radius: var(--sb-radius-md);
    box-shadow: none;
    transition: box-shadow var(--sb-transition);
    margin-bottom: var(--sb-space-md);
    overflow: hidden;
}

.wpseobot-wrap .postbox:hover {
    box-shadow: var(--sb-shadow-sm);
}

.wpseobot-wrap .postbox .postbox-header {
    border-bottom: 1px solid var(--sb-gray-100);
    padding: var(--sb-space-md) var(--sb-space-lg);
}

.wpseobot-wrap .postbox .postbox-header h2 {
    font-family: var(--sb-font-family);
    font-size: var(--sb-font-size-lg);
    font-weight: var(--sb-font-weight-semibold);
    color: var(--sb-gray-900);
    display: flex;
    align-items: center;
    gap: var(--sb-space-sm);
    margin: 0;
    padding: 0;
}

.wpseobot-wrap .postbox .postbox-header h2 .dashicons {
    color: var(--sb-accent);
    font-size: 20px;
    width: 20px;
    height: 20px;
}

.wpseobot-wrap .postbox .inside {
    padding: var(--sb-space-lg);
}

/* ─────────────────── Notice Refinements ─────────────────── */

.wpseobot-wrap .notice {
    font-family: var(--sb-font-family);
    border-radius: var(--sb-radius-sm);
    margin-bottom: var(--sb-space-md);
}

/* ─────────────────── Interactive States ─────────────────── */

/* ─────────────────── Subsection Title ─────────────────── */

.wpseobot-subsection-title {
    display: flex;
    align-items: center;
    gap: var(--sb-space-sm);
    font-family: var(--sb-font-family);
    font-size: var(--sb-font-size-md);
    font-weight: var(--sb-font-weight-semibold);
    color: var(--sb-gray-800);
    margin: var(--sb-space-lg) 0 var(--sb-space-sm);
    padding: 0;
}

.wpseobot-subsection-title:first-child {
    margin-top: 0;
}

.wpseobot-subsection-title .dashicons {
    color: var(--sb-accent);
    font-size: 18px;
    width: 18px;
    height: 18px;
}

.wpseobot-divider {
    border: none;
    border-top: 1px solid var(--sb-gray-100);
    margin: var(--sb-space-lg) 0;
}

/* ─────────────────── Inline Notices ─────────────────── */

.wpseobot-inline-notice {
    display: flex;
    align-items: center;
    gap: var(--sb-space-sm);
    padding: var(--sb-space-sm) var(--sb-space-md);
    border-radius: var(--sb-radius-sm);
    margin-bottom: var(--sb-space-md);
    font-size: var(--sb-font-size-base);
    font-family: var(--sb-font-family);
    line-height: 1.5;
}

.wpseobot-inline-notice .dashicons {
    font-size: 20px;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.wpseobot-inline-notice-success {
    background: var(--sb-success-light);
    border-left: 4px solid var(--sb-success);
    color: #166534;
}

.wpseobot-inline-notice-success .dashicons {
    color: var(--sb-success);
}

.wpseobot-inline-notice-warning {
    background: var(--sb-warning-light);
    border-left: 4px solid var(--sb-warning);
    color: #92400e;
}

.wpseobot-inline-notice-warning .dashicons {
    color: var(--sb-warning);
}

/* ─────────────────── Stats Grid ─────────────────── */

.wpseobot-stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: var(--sb-space-md);
    margin-bottom: var(--sb-space-xl);
}

.wpseobot-stat-card {
    background: var(--sb-surface);
    border: 1px solid var(--sb-border);
    border-radius: var(--sb-radius-md);
    padding: var(--sb-space-lg);
    display: flex;
    align-items: center;
    gap: var(--sb-space-md);
    transition: box-shadow var(--sb-transition), transform var(--sb-transition);
}

.wpseobot-stat-card:hover {
    box-shadow: var(--sb-shadow-md);
    transform: translateY(-2px);
}

.wpseobot-stat-icon {
    width: 48px;
    height: 48px;
    border-radius: var(--sb-radius-lg);
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--sb-accent-light);
    color: var(--sb-accent);
    flex-shrink: 0;
}

.wpseobot-stat-icon .dashicons {
    font-size: 24px;
    width: 24px;
    height: 24px;
}

.wpseobot-stat-icon.seo-score  { background: #e6f9e6; color: #00a32a; }
.wpseobot-stat-icon.duplicates { background: #fce4e4; color: #d63638; }
.wpseobot-stat-icon.outdated   { background: #fef8e0; color: #dba617; }
.wpseobot-stat-icon.keywords   { background: #f0e6ff; color: #8c5ae3; }
.wpseobot-stat-icon.logs       { background: #f0f0f1; color: #787c82; }

.wpseobot-stat-content {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
}

.wpseobot-stat-inline-button {
    align-self: flex-start;
    margin-top: 8px;
}

.wpseobot-stat-value {
    font-size: 28px;
    font-weight: var(--sb-font-weight-semibold);
    line-height: 1.2;
    color: var(--sb-gray-900);
    font-family: var(--sb-font-family);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Text-based stat values (status labels instead of numbers) */
.wpseobot-stat-value-text {
    font-size: 15px !important;
    font-weight: var(--sb-font-weight-semibold);
    white-space: nowrap;
    line-height: 1.6;
    letter-spacing: -0.01em;
}

.wpseobot-stat-value-text.status-ok {
    color: var(--sb-success);
}

.wpseobot-stat-value-text.status-err {
    color: var(--sb-error);
}

/* API usage icon variant */
.wpseobot-stat-icon.api-usage {
    background: #e0f2fe;
    color: #0284c7;
}

.wpseobot-stat-label {
    font-size: var(--sb-font-size-base);
    color: var(--sb-gray-500);
    margin-top: 2px;
    font-family: var(--sb-font-family);
}

/* ─────────────────── Layout Helpers ─────────────────── */

/* ─────────────────── Actions Grid ─────────────────── */

.wpseobot-actions-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: var(--sb-space-md);
}

.wpseobot-action-card {
    background: var(--sb-surface-alt);
    border: 1px solid var(--sb-border);
    border-radius: var(--sb-radius-md);
    padding: var(--sb-space-lg);
    text-align: center;
    transition: border-color var(--sb-transition), box-shadow var(--sb-transition), transform var(--sb-transition);
}

.wpseobot-action-card:hover {
    border-color: var(--sb-accent);
    box-shadow: var(--sb-shadow-md);
    transform: translateY(-2px);
}

.wpseobot-action-card .dashicons {
    font-size: 36px;
    width: 36px;
    height: 36px;
    color: var(--sb-accent);
    margin-bottom: var(--sb-space-sm);
}

.wpseobot-action-card h3 {
    margin: 0 0 var(--sb-space-sm);
    font-size: 15px;
    font-family: var(--sb-font-family);
    font-weight: var(--sb-font-weight-semibold);
    color: var(--sb-gray-900);
}

.wpseobot-action-card p {
    margin: 0 0 var(--sb-space-md);
    color: var(--sb-gray-500);
    font-size: var(--sb-font-size-base);
    font-family: var(--sb-font-family);
}

/* ─────────────────── Toolbar ─────────────────── */

.wpseobot-toolbar {
    display: flex;
    align-items: center;
    gap: var(--sb-space-sm);
    margin-bottom: var(--sb-space-md);
    flex-wrap: wrap;
}

.wpseobot-toolbar-right {
    margin-left: auto;
    display: flex;
    gap: var(--sb-space-sm);
}

.wpseobot-search-input {
    min-width: 300px;
    padding: 8px 12px;
    border: 1px solid var(--sb-gray-300);
    border-radius: var(--sb-radius-sm);
    font-size: var(--sb-font-size-md);
    font-family: var(--sb-font-family);
    transition: border-color var(--sb-transition), box-shadow var(--sb-transition);
}

.wpseobot-search-input:focus {
    border-color: var(--sb-accent);
    box-shadow: 0 0 0 3px rgba(34, 113, 177, 0.15);
    outline: none;
}

.wpseobot-log-filters {
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
}

/* ─────────────────── Posts Table ─────────────────── */

.wpseobot-posts-table .column-title   { width: 30%; }
.wpseobot-posts-table .column-words   { width: 8%; }
.wpseobot-posts-table .column-score   { width: 10%; }
.wpseobot-posts-table .column-links   { width: 8%; }
.wpseobot-posts-table .column-date    { width: 12%; }
.wpseobot-posts-table .column-analysed { width: 12%; }
.wpseobot-posts-table .column-actions  { width: 15%; }

.wpseobot-posts-table .column-actions .button {
    margin: 2px;
    font-size: 12px;
    padding: 2px 8px;
    min-height: 28px;
}

.wpseobot-posts-table .check-column,
#wpseobot-posts-body td.check-column {
    padding-left: 12px !important;
}

#wpseobot-posts-body td.check-column input[type="checkbox"] {
    margin-left: 2px;
}

.wpseobot-loading {
    text-align: center;
    padding: 40px;
    color: #646970;
    font-size: 14px;
}

/* ─────────────────── Pagination ─────────────────── */

.wpseobot-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 16px 0;
}

.wpseobot-pagination .button {
    min-width: 36px;
    text-align: center;
}

/* ─────────────────── Modal ─────────────────── */

/* Full-screen fixed wrapper */
.wpseobot-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 100100;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Semi-transparent backdrop */
.wpseobot-modal .wpseobot-modal-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.55);
    cursor: pointer;
}

/* The dialog box */
.wpseobot-modal-dialog {
    position: relative;
    background: #fff;
    border-radius: 12px;
    width: 90%;
    max-width: 680px;
    max-height: 85vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 8px 40px rgba(0,0,0,0.2);
}

/* Size variants */
.wpseobot-modal-dialog.wpseobot-modal-wide  { max-width: 900px; }
.wpseobot-modal-dialog.wpseobot-modal-lg    { max-width: 1000px; }

.wpseobot-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px;
    border-bottom: 1px solid #e0e0e0;
    flex-shrink: 0;
}

.wpseobot-modal-header h2 {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 8px;
}

.wpseobot-modal-close {
    background: none;
    border: none;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
    color: #646970;
    padding: 4px 8px;
    border-radius: 4px;
    transition: background 0.15s, color 0.15s;
}

.wpseobot-modal-close:hover {
    background: #f0f0f1;
    color: #1d2327;
}

.wpseobot-modal-body {
    padding: 24px;
    overflow-y: auto;
    flex: 1;
}

.wpseobot-modal-footer {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 16px 24px;
    border-top: 1px solid #e0e0e0;
    flex-shrink: 0;
}

.wpseobot-modal-body .wpseobot-form-group {
    margin-bottom: 16px;
}

.wpseobot-modal-body .wpseobot-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.wpseobot-exit-options {
    display: grid;
    gap: 8px;
    margin: 12px 0 16px;
}

.wpseobot-exit-option {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    padding: 10px 12px;
    border: 1px solid var(--sb-border);
    border-radius: 8px;
    background: #f8fafc;
}

.wpseobot-exit-option input {
    margin-top: 2px;
}

.wpseobot-contact-status,
.wpseobot-exit-status {
    margin-top: 10px;
    font-weight: 600;
}

.wpseobot-contact-status.is-error,
.wpseobot-exit-status.is-error {
    color: #b91c1c;
}

.wpseobot-contact-status.is-success,
.wpseobot-exit-status.is-success {
    color: #047857;
}

/* ─────────────────── Tabs Tweaks ─────────────────── */

button.nav-tab {
    cursor: pointer;
    font-size: 14px;
    padding: 8px 14px;
}

.wpseobot-tab-actions {
    display: flex;
    gap: 8px;
    margin-bottom: 16px;
}

.wpseobot-tab-description {
    margin: 14px 0 14px 0;
    padding: 10px 14px;
    background: #f6f7f7;
    border-left: 4px solid #2271b1;
    color: #50575e;
    font-size: 13px;
    line-height: 1.5;
    border-radius: 2px;
}

/* ─────────────────── Badges ─────────────────── */

.wpseobot-badge {
    display: inline-block;
    padding: 2px 10px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 600;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.wpseobot-score {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    font-size: 14px;
    font-weight: 700;
    color: #fff;
}

.wpseobot-score-high   { background: #00a32a; }
.wpseobot-score-medium { background: #dba617; }
.wpseobot-score-low    { background: #d63638; }

/* ─────────────────── Competition Badge ─────────────────── */

.wpseobot-competition {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 500;
}

.wpseobot-competition-low    { background: #e6f9e6; color: #00a32a; }
.wpseobot-competition-medium { background: #fef8e0; color: #9a7b1a; }
.wpseobot-competition-high   { background: #fce4e4; color: #d63638; }

/* ─────────────────── Difficulty Badge ─────────────────── */

.wpseobot-difficulty {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
    cursor: help;
}

.wpseobot-difficulty-easy      { background: #dcfce7; color: #15803d; }
.wpseobot-difficulty-medium    { background: #fef9c3; color: #a16207; }
.wpseobot-difficulty-hard      { background: #fed7aa; color: #c2410c; }
.wpseobot-difficulty-very-hard { background: #fecaca; color: #b91c1c; }

/* ─────────────────── Post Categorizer ─────────────────── */

/* Category pills in posts table */
.wpseobot-cat-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 4px;
}

.wpseobot-cat-pill {
    display: inline-block;
    padding: 1px 8px;
    border-radius: 10px;
    font-size: 11px;
    font-weight: 500;
    background: #e8f0fe;
    color: #1a56db;
    line-height: 1.6;
}

.wpseobot-cat-pill-none {
    background: #fef3c7;
    color: #92400e;
    font-style: italic;
}

.wpseobot-cat-pill-remove {
    background: #fee2e2;
    color: #b91c1c;
    text-decoration: line-through;
}

/* Categorize tab — header */
.wpseobot-categorize-header {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 20px;
    padding: 16px;
    background: #f6f7f7;
    border-radius: 8px;
    border-left: 4px solid #2271b1;
}

.wpseobot-categorize-confidence {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    min-width: 70px;
}

.wpseobot-categorize-confidence span:last-child {
    font-size: 11px;
    color: #646970;
    font-weight: 600;
    text-transform: uppercase;
}

.wpseobot-categorize-reasoning p {
    margin: 0;
    color: #3c434a;
    line-height: 1.6;
}

/* Categorize tab — sections */
.wpseobot-categorize-section {
    margin-bottom: 16px;
    padding: 12px 16px;
    background: #fff;
    border: 1px solid #dcdcde;
    border-radius: 6px;
}

.wpseobot-categorize-section h4 {
    margin: 0 0 10px;
    font-size: 13px;
    color: #1d2327;
}

.wpseobot-categorize-remove {
    border-color: #f0b8b8;
    background: #fef8f8;
}

/* Category suggestion row */
.wpseobot-cat-suggestion {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 0;
    border-bottom: 1px solid #f0f0f1;
}

.wpseobot-cat-suggestion:last-child {
    border-bottom: none;
}

.wpseobot-cat-suggestion label {
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
}

.wpseobot-cat-suggestion-remove {
    color: #b91c1c;
}

.wpseobot-cat-reason {
    font-size: 12px;
    color: #646970;
    font-style: italic;
}

.wpseobot-badge-primary {
    display: inline-block;
    padding: 1px 8px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 600;
    background: #2271b1;
    color: #fff;
}

/* Smart categorize progress bar */
.wpseobot-progress-bar {
    height: 8px;
    background: #dcdcde;
    border-radius: 4px;
    overflow: hidden;
}

.wpseobot-progress-fill {
    height: 100%;
    background: #2271b1;
    border-radius: 4px;
    transition: width 0.3s ease;
    width: 0%;
}

/* ── Post↔Category Audit ── */

.wpseobot-audit-summary-cards {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.wpseobot-audit-card {
    flex: 1;
    min-width: 140px;
    padding: 16px;
    background: #f6f7f7;
    border: 1px solid #dcdcde;
    border-radius: 8px;
    text-align: center;
}

.wpseobot-audit-card-num {
    display: block;
    font-size: 28px;
    font-weight: 700;
    color: #1d2327;
    line-height: 1.2;
}

.wpseobot-audit-card-label {
    display: block;
    font-size: 12px;
    color: #646970;
    margin-top: 4px;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 0.3px;
}

.wpseobot-audit-card-warn { border-color: #dba617; background: #fef8ee; }
.wpseobot-audit-card-warn .wpseobot-audit-card-num { color: #9a7b1a; }

.wpseobot-audit-card-info { border-color: #72aee6; background: #f0f6fc; }
.wpseobot-audit-card-info .wpseobot-audit-card-num { color: #2271b1; }

.wpseobot-health-good { border-color: #00a32a; background: #edfaef; }
.wpseobot-health-good .wpseobot-audit-card-num { color: #00a32a; }

.wpseobot-health-fair { border-color: #dba617; background: #fef8ee; }
.wpseobot-health-fair .wpseobot-audit-card-num { color: #9a7b1a; }

.wpseobot-health-poor { border-color: #d63638; background: #fef8f8; }
.wpseobot-health-poor .wpseobot-audit-card-num { color: #d63638; }

.wpseobot-audit-overview {
    margin-top: 14px;
    padding: 12px 16px;
    background: #f0f6fc;
    border-left: 4px solid #2271b1;
    border-radius: 4px;
}

.wpseobot-audit-overview p {
    margin: 0;
    color: #3c434a;
    line-height: 1.6;
}

/* New category suggestion cards */
.wpseobot-new-cat-card {
    padding: 16px;
    margin-bottom: 12px;
    background: #fff;
    border: 1px solid #72aee6;
    border-radius: 8px;
    border-left: 4px solid #2271b1;
}

.wpseobot-new-cat-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}

.wpseobot-new-cat-name {
    font-size: 15px;
    color: #1d2327;
}

.wpseobot-new-cat-count {
    display: inline-block;
    margin-left: 8px;
    padding: 1px 8px;
    border-radius: 10px;
    font-size: 11px;
    font-weight: 600;
    background: #e8f0fe;
    color: #1a56db;
}

.wpseobot-new-cat-desc {
    color: #50575e;
    font-style: italic;
    margin: 4px 0 8px;
}

.wpseobot-new-cat-reason {
    color: #1d2327;
    margin: 0 0 8px;
    font-size: 13px;
}

.wpseobot-new-cat-reason .dashicons {
    color: #dba617;
    font-size: 16px;
    vertical-align: text-bottom;
}

.wpseobot-new-cat-posts ul {
    margin: 4px 0 0 18px;
    padding: 0;
    color: #50575e;
    font-size: 13px;
}

.wpseobot-new-cat-posts li {
    margin-bottom: 2px;
}

/* Issue badges for miscategorized posts */
.wpseobot-issue-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
}

.wpseobot-issue-wrong  { background: #fecaca; color: #b91c1c; }
.wpseobot-issue-uncat  { background: #fef3c7; color: #92400e; }
.wpseobot-issue-generic { background: #fed7aa; color: #c2410c; }
.wpseobot-issue-over   { background: #e0e7ff; color: #4338ca; }

/* Miscategorized table tweaks */
.wpseobot-miscat-reason {
    font-size: 12px;
    color: #646970;
    max-width: 280px;
}

.wpseobot-miscat-toolbar {
    display: flex;
    align-items: center;
    gap: 10px;
}

.wpseobot-fix-status {
    margin-left: 4px;
}

/* ─────────────────── Google Search Console ─────────────────── */

/* Settings — connection status */
.wpseobot-gsc-status {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-weight: 600;
}
.wpseobot-gsc-status.connected    { color: #00a32a; }
.wpseobot-gsc-status.disconnected { color: #9a7b1a; }

/* Keywords page — controls bar */
.wpseobot-gsc-controls {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

.wpseobot-gsc-tab-group {
    display: flex;
    gap: 0;
}
.wpseobot-gsc-tab-group .button {
    border-radius: 0;
    margin-left: -1px;
}
.wpseobot-gsc-tab-group .button:first-child { border-radius: 3px 0 0 3px; }
.wpseobot-gsc-tab-group .button:last-child  { border-radius: 0 3px 3px 0; }
.wpseobot-gsc-tab.active {
    background: #2271b1;
    border-color: #2271b1;
    color: #fff;
}

/* Overview stat cards */
.wpseobot-gsc-overview {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-bottom: 20px;
}
.wpseobot-gsc-stat {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 16px 20px;
    text-align: center;
}
.wpseobot-gsc-stat-val {
    display: block;
    font-size: 28px;
    font-weight: 700;
    color: #1d2327;
    line-height: 1.2;
}
.wpseobot-gsc-stat-label {
    display: block;
    font-size: 12px;
    color: #646970;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 4px;
}

/* Data table */
.wpseobot-gsc-table th.num,
.wpseobot-gsc-table td.num {
    text-align: right;
    width: 110px;
}

/* Position badge */
.wpseobot-gsc-pos {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 600;
    min-width: 36px;
    text-align: center;
}
.wpseobot-gsc-pos.pos-top      { background: #d1fae5; color: #065f46; }
.wpseobot-gsc-pos.pos-page1    { background: #dbeafe; color: #1e40af; }
.wpseobot-gsc-pos.pos-striking { background: #fef3c7; color: #92400e; }
.wpseobot-gsc-pos.pos-deep     { background: #f3f4f6; color: #6b7280; }

/* Opportunities cards */
.wpseobot-gsc-opps {
    display: grid;
    gap: 12px;
}
.wpseobot-gsc-opp-card {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 16px 20px;
    border-left: 4px solid #2271b1;
}
.wpseobot-gsc-opp-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}
.wpseobot-gsc-opp-header strong {
    font-size: 15px;
}
.wpseobot-gsc-opp-score {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    font-size: 13px;
    font-weight: 700;
    color: #fff;
}
.wpseobot-gsc-opp-score.score-high   { background: #00a32a; }
.wpseobot-gsc-opp-score.score-medium { background: #dba617; }
.wpseobot-gsc-opp-score.score-low    { background: #d63638; }

.wpseobot-gsc-opp-metrics {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    font-size: 13px;
    color: #50575e;
    margin-bottom: 8px;
}
.wpseobot-gsc-opp-reasons {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.wpseobot-gsc-opp-reason {
    display: inline-block;
    padding: 2px 10px;
    background: #f0f6fc;
    border-radius: 12px;
    font-size: 12px;
    color: #2271b1;
}

@media (max-width: 782px) {
    .wpseobot-gsc-overview {
        grid-template-columns: repeat(2, 1fr);
    }
    .wpseobot-gsc-controls {
        flex-direction: column;
        align-items: stretch;
    }
}

/* ─────────────────── Empty State ─────────────────── */

.wpseobot-empty-state {
    text-align: center;
    padding: 60px 20px;
    color: #646970;
}

.wpseobot-empty-state .dashicons {
    font-size: 48px;
    width: 48px;
    height: 48px;
    color: #c3c4c7;
    margin-bottom: 16px;
}

.wpseobot-empty-state p {
    font-size: 15px;
    margin-bottom: 20px;
}

/* ─────────────────── Notices ─────────────────── */

.wpseobot-notice {
    padding: 12px 16px;
    border-radius: 8px;
    margin-bottom: 16px;
    font-size: 14px;
}
.wpseobot-notice p { margin: 0; }

.wpseobot-notice-success { background: #f0fdf4; border-left: 4px solid #22c55e; color: #15803d; }
.wpseobot-notice-info    { background: #eff6ff; border-left: 4px solid #3b82f6; color: #1d4ed8; }
.wpseobot-notice-warning { background: #fefce8; border-left: 4px solid #eab308; color: #713f12; }
.wpseobot-notice-error   { background: #fef2f2; border-left: 4px solid #ef4444; color: #b91c1c; }

/* ─────────────────── Settings ─────────────────── */

.wpseobot-settings-section {
    background: #fff;
    border: 1px solid #c3c4c7;
    border-radius: 8px;
    padding: 24px;
    margin-bottom: 20px;
}

.wpseobot-settings-section h2 {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 0;
    font-size: 16px;
    font-weight: 600;
    border-bottom: 1px solid #f0f0f1;
    padding-bottom: 12px;
}

.wpseobot-settings-section h2 .dashicons {
    color: #2271b1;
}

.wpseobot-settings-section .form-table th {
    width: 200px;
    font-weight: 500;
}

/* Threshold slider */
input[type="range"]#duplicate_threshold {
    width: 300px;
    vertical-align: middle;
    margin-right: 12px;
}

#threshold-display {
    font-weight: 600;
    font-size: 15px;
    color: #2271b1;
}

/* ─────────────────── Keyword Lookup ─────────────────── */

.wpseobot-keyword-lookup {
    display: flex;
    gap: 8px;
    margin-bottom: 16px;
}

.wpseobot-keyword-lookup input {
    flex: 1;
}

/* ─────────────────── Suggestion Cards ─────────────────── */

.wpseobot-suggestion {
    background: #f9f9f9;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 12px;
}

.wpseobot-suggestion-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
}

.wpseobot-suggestion-type {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    color: #2271b1;
}

.wpseobot-suggestion-reason {
    font-size: 13px;
    color: #646970;
    font-style: italic;
    margin-bottom: 8px;
}

.wpseobot-suggestion-text {
    font-size: 14px;
    line-height: 1.6;
    background: #fff;
    padding: 12px;
    border-radius: 4px;
    border: 1px solid #e0e0e0;
}

.wpseobot-suggestion-actions {
    margin-top: 12px;
    display: flex;
    gap: 8px;
}

/* ─────────────────── Duplicate Groups ─────────────────── */

.wpseobot-duplicate-group {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 16px;
}

.wpseobot-duplicate-group .similarity {
    font-size: 14px;
    font-weight: 600;
    color: #d63638;
    margin-bottom: 12px;
}

.wpseobot-duplicate-posts {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.wpseobot-duplicate-post {
    flex: 1;
    min-width: 200px;
    background: #f9f9f9;
    border-radius: 6px;
    padding: 12px;
}

.wpseobot-duplicate-post strong {
    display: block;
    margin-bottom: 4px;
}

.wpseobot-duplicate-post .meta {
    font-size: 12px;
    color: #646970;
}

/* ─────────────────── Date References ─────────────────── */

.wpseobot-date-ref {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 16px;
    background: #fef8e0;
    border-radius: 6px;
    margin-bottom: 8px;
}

.wpseobot-date-ref .year-old {
    font-weight: 700;
    color: #d63638;
    text-decoration: line-through;
}

.wpseobot-date-ref .year-new {
    font-weight: 700;
    color: #00a32a;
}

.wpseobot-date-ref .context {
    flex: 1;
    font-size: 13px;
    color: #646970;
}

/* ─────────────────── Spinner ─────────────────── */

.wpseobot-spinner {
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 3px solid #e0e0e0;
    border-top-color: #2271b1;
    border-radius: 50%;
    animation: wpseobot-spin 0.8s linear infinite;
    vertical-align: middle;
    margin-right: 8px;
}

@keyframes wpseobot-spin {
    to { transform: rotate(360deg); }
}

/* ─────────────────── Progress Bar ─────────────────── */

.wpseobot-progress {
    width: 100%;
    height: 6px;
    background: #e0e0e0;
    border-radius: 3px;
    overflow: hidden;
    margin: 12px 0;
}

.wpseobot-progress-bar {
    height: 100%;
    background: linear-gradient(90deg, #2271b1, #4f94d4);
    border-radius: 3px;
    transition: width 0.3s ease;
}

/* ─────────────────── Responsive ─────────────────── */

@media screen and (max-width: 782px) {
    .wpseobot-stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .wpseobot-actions-grid {
        grid-template-columns: 1fr;
    }

    .wpseobot-toolbar {
        flex-direction: column;
        align-items: stretch;
    }

    .wpseobot-toolbar-right {
        margin-left: 0;
    }

    .wpseobot-search-input {
        min-width: auto;
    }

    .wpseobot-modal-dialog {
        width: 95%;
        max-height: 90vh;
    }

    .wpseobot-settings-section .form-table th {
        width: auto;
    }
}

/* ═══════════════════════════════════════════════════
   SETUP WIZARD
   ═══════════════════════════════════════════════════ */

.wpseobot-steps-indicator {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 0 30px;
    padding: 20px;
}

.wpseobot-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    opacity: 0.4;
    transition: opacity 0.3s ease;
}

.wpseobot-step.active {
    opacity: 1;
}

.wpseobot-step.completed {
    opacity: 0.7;
}

.wpseobot-step .step-number {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #ddd;
    color: #666;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 14px;
    transition: all 0.3s ease;
}

.wpseobot-step.active .step-number {
    background: #2271b1;
    color: #fff;
}

.wpseobot-step.completed .step-number {
    background: #00a32a;
    color: #fff;
}

.wpseobot-step .step-label {
    font-size: 12px;
    font-weight: 500;
    color: #666;
}

.wpseobot-step.active .step-label {
    color: #2271b1;
    font-weight: 600;
}

.wpseobot-step-line {
    flex: 1;
    height: 2px;
    background: #ddd;
    margin: 0 15px;
    max-width: 120px;
    align-self: flex-start;
    margin-top: 18px;
}

.wpseobot-card-centred {
    text-align: center;
    max-width: 600px;
    margin: 0 auto;
    padding: 40px !important;
}

/* ── Wizard: plan-selection panel ── */
.wpseobot-wizard-plans {
    max-width: 1080px;
    margin: 0 auto;
}

.wpseobot-wizard-plans-head {
    text-align: center;
    margin: 0 auto 24px;
}

.wpseobot-wizard-plans-head h2 {
    font-size: 26px;
    margin: 6px 0 10px;
}

.wpseobot-wizard-plans-head p {
    max-width: 640px;
    margin: 0 auto 14px;
    color: #4b5563;
    font-size: 15px;
}

.wpseobot-wizard-plans-foot {
    text-align: center;
    margin-top: 22px;
}

.wpseobot-wizard-plans-foot .button-link {
    font-size: 14px;
    color: #6b7280;
    text-decoration: none;
}

.wpseobot-wizard-plans-foot .button-link:hover {
    color: var(--sb-accent, #2271b1);
    text-decoration: underline;
}

.wpseobot-wizard-icon {
    font-size: 24px;
    margin-bottom: 10px;
}

.wpseobot-wizard-icon .dashicons {
    font-size: 48px;
    width: 48px;
    height: 48px;
    color: #2271b1;
}

.wpseobot-wizard-icon-success .dashicons {
    color: #00a32a;
}

.wpseobot-wizard-progress {
    margin-top: 25px;
}

.wpseobot-progress-bar {
    width: 100%;
    height: 6px;
    background: #e5e5e5;
    border-radius: 3px;
    overflow: hidden;
    margin-bottom: 10px;
}

.wpseobot-progress-fill {
    height: 100%;
    width: 0;
    background: linear-gradient(90deg, #2271b1, #72aee6);
    border-radius: 3px;
    transition: width 0.5s ease;
    animation: wpseobot-progress-pulse 2s ease-in-out infinite;
}

@keyframes wpseobot-progress-pulse {
    0%, 100% { opacity: 0.8; }
    50% { opacity: 1; }
}

.wpseobot-progress-text {
    color: #666;
    font-style: italic;
    font-size: 13px;
}

.wpseobot-wizard-next-steps {
    display: flex;
    gap: 12px;
    justify-content: center;
    margin-top: 25px;
    flex-wrap: wrap;
}

/* Profile Grid */
.wpseobot-profile-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 16px;
    padding: 20px;
}

.wpseobot-profile-field {
    padding: 12px 16px;
    background: #f9f9f9;
    border-radius: 6px;
    border-left: 3px solid #2271b1;
}

.wpseobot-profile-field-wide {
    grid-column: 1 / -1;
}

.wpseobot-profile-field label {
    display: block;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    color: #888;
    letter-spacing: 0.5px;
    margin-bottom: 4px;
}

.wpseobot-profile-value {
    font-size: 14px;
    color: #1d2327;
    line-height: 1.5;
}

.wpseobot-profile-actions {
    padding: 15px 20px;
    display: flex;
    gap: 10px;
    border-top: 1px solid #eee;
}

/* Form Grid */
.wpseobot-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    padding: 20px;
}

.wpseobot-form-group {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.wpseobot-form-group label {
    font-weight: 600;
    font-size: 13px;
    color: #1d2327;
}

.wpseobot-form-group-wide {
    grid-column: 1 / -1;
}

.wpseobot-form-group input[type="text"],
.wpseobot-form-group input[type="url"],
.wpseobot-form-group input[type="number"],
.wpseobot-form-group textarea,
.wpseobot-form-group select {
    width: 100%;
}

.wpseobot-form-actions {
    display: flex;
    gap: 10px;
    padding: 15px 20px;
    border-top: 1px solid #eee;
    justify-content: flex-end;
}

.required {
    color: #d63638;
}

/* ═══════════════════════════════════════════════════
   TARGET PERSONAS – Quadrant Layout
   ═══════════════════════════════════════════════════ */

/* Persona Tabs */
.wpseobot-persona-tabs {
    display: flex;
    gap: 4px;
    padding: 12px 20px 0;
    flex-wrap: wrap;
    border-bottom: 2px solid #eee;
}

.wpseobot-persona-tab {
    padding: 8px 16px;
    border: 1px solid #ddd;
    border-bottom: none;
    border-radius: 6px 6px 0 0;
    background: #f6f7f7;
    cursor: pointer;
    font-size: 13px;
    font-weight: 500;
    color: #50575e;
    transition: all 0.2s ease;
    margin-bottom: -2px;
}

.wpseobot-persona-tab:hover {
    background: #fff;
    color: #2271b1;
}

.wpseobot-persona-tab.active {
    background: #fff;
    color: #2271b1;
    font-weight: 600;
    border-color: #ddd;
    border-bottom-color: #fff;
}

.wpseobot-persona-tab-add {
    padding: 8px 12px;
    background: transparent;
    border-color: transparent;
    color: #2271b1;
}

.wpseobot-persona-tab-add:hover {
    background: #f0f6fc;
    border-color: #2271b1;
}

.wpseobot-persona-tab-add .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
    line-height: 16px;
}

/* Persona Name Row */
.wpseobot-persona-name-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 16px 20px;
    background: #f9f9f9;
    border-bottom: 1px solid #eee;
}

.wpseobot-persona-name-row label {
    font-weight: 600;
    font-size: 13px;
    color: #1d2327;
    white-space: nowrap;
}

.wpseobot-persona-name-row input {
    flex: 1;
}

.wpseobot-persona-remove {
    color: #d63638 !important;
    border-color: #d63638 !important;
}

.wpseobot-persona-remove .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
}

/* 4-Quadrant Grid: C(top-left) A(top-right) B(bottom-left) D(bottom-right) */
.wpseobot-quadrant-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    padding: 20px;
}

.wpseobot-quadrant {
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
}

.wpseobot-quadrant-header {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-bottom: 1px solid #eee;
}

.wpseobot-quadrant-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    font-weight: 700;
    font-size: 13px;
    color: #fff;
    flex-shrink: 0;
}

.wpseobot-quadrant-header h4 {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    color: #1d2327;
}

.wpseobot-quadrant-sub {
    font-size: 11px;
    color: #888;
    margin-left: auto;
}

/* Quadrant colours */
.wpseobot-quadrant-c { border-color: #d5e5d5; }
.wpseobot-quadrant-c .wpseobot-quadrant-header { background: #f0f8f0; }
.wpseobot-quadrant-c .wpseobot-quadrant-label { background: #00a32a; }

.wpseobot-quadrant-a { border-color: #d0dfe9; }
.wpseobot-quadrant-a .wpseobot-quadrant-header { background: #f0f6fc; }
.wpseobot-quadrant-a .wpseobot-quadrant-label { background: #2271b1; }

.wpseobot-quadrant-b { border-color: #ece0c5; }
.wpseobot-quadrant-b .wpseobot-quadrant-header { background: #fdf8ee; }
.wpseobot-quadrant-b .wpseobot-quadrant-label { background: #dba617; }

.wpseobot-quadrant-d { border-color: #ddd0e8; }
.wpseobot-quadrant-d .wpseobot-quadrant-header { background: #f8f0fc; }
.wpseobot-quadrant-d .wpseobot-quadrant-label { background: #8c5fc7; }

/* Quadrant Fields */
.wpseobot-quadrant-body {
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.wpseobot-qf label {
    display: block;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    color: #555;
    margin-bottom: 3px;
}

.wpseobot-qf input[type="text"],
.wpseobot-qf textarea {
    width: 100%;
    font-size: 13px;
    padding: 6px 8px;
    border: 1px solid #ddd;
    border-radius: 4px;
    background: #fafafa;
    transition: border-color 0.2s;
}

.wpseobot-qf input[type="text"]:focus,
.wpseobot-qf textarea:focus {
    border-color: #2271b1;
    background: #fff;
    box-shadow: 0 0 0 1px #2271b1;
    outline: none;
}

.wpseobot-qf textarea {
    resize: vertical;
    min-height: 44px;
}

.wpseobot-qf-row {
    display: flex;
    gap: 10px;
}

.wpseobot-qf-row .wpseobot-qf {
    flex: 1;
}

/* Persona Summary (completed state) */
.wpseobot-personas-summary {
    padding: 16px 20px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.wpseobot-persona-summary-card {
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    overflow: hidden;
}

.wpseobot-persona-summary-card h3 {
    margin: 0;
    padding: 10px 16px;
    background: #f6f7f7;
    border-bottom: 1px solid #eee;
    font-size: 14px;
    font-weight: 600;
}

.wpseobot-persona-summary-quads {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
}

.wpseobot-persona-sq {
    padding: 10px 14px;
    border-right: 1px solid #eee;
    border-bottom: 1px solid #eee;
}

.wpseobot-persona-sq:nth-child(2n) {
    border-right: none;
}

.wpseobot-persona-sq:nth-last-child(-n+2) {
    border-bottom: none;
}

.wpseobot-persona-sq strong {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: 4px;
}

.wpseobot-persona-sq-c strong { color: #00a32a; }
.wpseobot-persona-sq-a strong { color: #2271b1; }
.wpseobot-persona-sq-b strong { color: #996800; }
.wpseobot-persona-sq-d strong { color: #8c5fc7; }

.wpseobot-persona-sq span {
    font-size: 13px;
    color: #50575e;
    line-height: 1.4;
    display: block;
    word-break: break-word;
}

.wpseobot-empty-state {
    padding: 20px;
    color: #666;
    font-style: italic;
}

/* Persona Toolbar */
.wpseobot-persona-toolbar {
    display: flex;
    gap: 8px;
    padding: 8px 20px;
    border-bottom: 1px solid #eee;
    background: #fafafa;
}

.wpseobot-persona-toolbar .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
    margin-right: 2px;
    vertical-align: text-top;
}

/* Persona Loading Overlay */
.wpseobot-persona-loading {
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.92);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 100;
    border-radius: 8px;
}

.wpseobot-persona-loading-inner {
    text-align: center;
    color: #2271b1;
}

.wpseobot-persona-loading-inner .dashicons {
    font-size: 36px;
    width: 36px;
    height: 36px;
}

.wpseobot-persona-loading-inner p {
    margin-top: 12px;
    font-size: 14px;
    color: #50575e;
    font-style: italic;
}

@keyframes wpseobot-spin {
    0%   { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.wpseobot-spin {
    animation: wpseobot-spin 1.2s linear infinite;
    display: inline-block;
}

/* Responsive: stack quadrants on small screens */
@media (max-width: 960px) {
    .wpseobot-quadrant-grid {
        grid-template-columns: 1fr;
    }
    .wpseobot-persona-summary-quads {
        grid-template-columns: 1fr;
    }
    .wpseobot-persona-sq {
        border-right: none;
    }
    .wpseobot-persona-sq:nth-last-child(-n+2) {
        border-bottom: 1px solid #eee;
    }
    .wpseobot-persona-sq:last-child {
        border-bottom: none;
    }
}

/* ═══════════════════════════════════════════════════
   ARTICLE CREATOR
   ═══════════════════════════════════════════════════ */

.wpseobot-toggle {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    padding: 6px 0;
    user-select: none;
}

.wpseobot-toggle input[type="checkbox"] {
    display: none;
}

.wpseobot-toggle-slider {
    width: 40px;
    height: 22px;
    background: #ccc;
    border-radius: 11px;
    position: relative;
    transition: background 0.3s ease;
    flex-shrink: 0;
}

.wpseobot-toggle-slider::after {
    content: '';
    width: 18px;
    height: 18px;
    background: #fff;
    border-radius: 50%;
    position: absolute;
    top: 2px;
    left: 2px;
    transition: transform 0.3s ease;
    box-shadow: 0 1px 3px rgba(0,0,0,0.2);
}

.wpseobot-toggle input:checked + .wpseobot-toggle-slider {
    background: #2271b1;
}

.wpseobot-toggle input:checked + .wpseobot-toggle-slider::after {
    transform: translateX(18px);
}

/* Toggle list container — proper spacing */
.wpseobot-toggle-list {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 8px 4px;
    margin-top: 4px;
}

.wpseobot-toggle-list .wpseobot-toggle {
    padding: 8px 12px;
    border-radius: var(--sb-radius-sm);
    transition: background var(--sb-transition);
}

.wpseobot-toggle-list .wpseobot-toggle:hover {
    background: var(--sb-gray-50);
}

.wpseobot-checkbox-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.wpseobot-char-count {
    font-size: 12px;
    color: #888;
    text-align: right;
    margin-top: 2px;
}

/* Outline Sections */
/* ── Outline editor ── */

.wpseobot-outline-block {
    padding: 0 20px;
}

.wpseobot-outline-block-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 16px 0 6px;
}

.wpseobot-outline-block-head h3 {
    font-size: 14px;
    margin: 0;
    color: #1d2327;
}

.wpseobot-outline-block-head .button-small .dashicons {
    font-size: 14px;
    width: 14px;
    height: 14px;
    vertical-align: text-bottom;
}

.wpseobot-outline-hint {
    margin: 0 0 8px;
    font-size: 12px;
    color: #787c82;
}

.wpseobot-outline-sections {
    padding: 0;
}

.wpseobot-outline-section {
    padding: 12px 14px;
    margin: 8px 0;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-left: 3px solid #2271b1;
    border-radius: 6px;
}

.wpseobot-outline-section.has-instructions {
    border-left-color: #00a32a;
}

.wpseobot-outline-row-head {
    display: flex;
    align-items: center;
    gap: 8px;
}

.wpseobot-outline-level {
    flex: 0 0 auto;
    min-width: 58px;
}

.wpseobot-outline-heading {
    flex: 1 1 auto;
    font-weight: 600;
}

.wpseobot-outline-remove {
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    line-height: 1;
    border: 1px solid #e0e0e0;
    background: #fff;
    color: #b32d2e;
    border-radius: 4px;
    cursor: pointer;
    font-size: 17px;
}

.wpseobot-outline-remove:hover {
    background: #fcebea;
    border-color: #b32d2e;
}

.wpseobot-outline-desc {
    width: 100%;
    margin: 8px 0 6px;
    font-size: 13px;
}

.wpseobot-outline-row-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.wpseobot-outline-words-label {
    font-size: 12px;
    color: #787c82;
}

.wpseobot-outline-words {
    width: 74px;
}

.wpseobot-outline-instr-toggle {
    background: none;
    border: none;
    color: #2271b1;
    cursor: pointer;
    font-size: 12px;
    font-weight: 600;
    padding: 2px 4px;
}

.wpseobot-outline-instr-toggle:hover {
    text-decoration: underline;
}

.wpseobot-outline-instr {
    margin-top: 8px;
    padding: 10px 12px;
    background: #f6f7f7;
    border: 1px dashed #c3c4c7;
    border-radius: 5px;
}

.wpseobot-outline-instr label {
    display: block;
    font-size: 12px;
    font-weight: 600;
    margin-bottom: 4px;
    color: #1d2327;
}

.wpseobot-outline-instr textarea {
    width: 100%;
    font-size: 13px;
}

.wpseobot-outline-extras {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    padding: 0 20px 16px;
}

.wpseobot-outline-extras .wpseobot-outline-block {
    padding: 0;
}

.wpseobot-outline-faq-item,
.wpseobot-outline-image-item {
    padding: 10px 12px;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 5px;
    margin: 6px 0;
    font-size: 13px;
}

.wpseobot-outline-faq-item .wpseobot-outline-row-head {
    margin-bottom: 6px;
}

.wpseobot-outline-faq-item input[data-field="question"] {
    font-weight: 600;
}

.wpseobot-outline-faq-item textarea {
    width: 100%;
    font-size: 13px;
}

.wpseobot-outline-image-item {
    display: flex;
    align-items: center;
    gap: 8px;
}

.wpseobot-outline-image-icon {
    color: #2271b1;
    flex: 0 0 auto;
}

.wpseobot-outline-image-item input[data-field="description"] {
    flex: 1 1 auto;
}

/* Article Preview */
.wpseobot-article-preview {
    max-width: 800px;
    margin: 0 auto;
    padding: 20px;
}

.wpseobot-article-preview-header {
    border-bottom: 2px solid #eee;
    padding-bottom: 16px;
    margin-bottom: 20px;
}

.wpseobot-article-preview-header h1 {
    font-size: 28px;
    line-height: 1.3;
    margin: 0 0 10px;
}

.wpseobot-article-meta-preview {
    display: flex;
    gap: 8px;
}

.wpseobot-article-preview-body {
    line-height: 1.7;
    font-size: 15px;
    color: #333;
}

.wpseobot-article-preview-body h2 {
    font-size: 22px;
    margin: 30px 0 12px;
    padding-bottom: 8px;
    border-bottom: 1px solid #eee;
}

.wpseobot-article-preview-body h3 {
    font-size: 18px;
    margin: 24px 0 8px;
}

.wpseobot-article-preview-body img {
    max-width: 100%;
    height: auto;
    border-radius: 6px;
}

/* Main / featured image in the preview */
.wpseobot-preview-featured {
    margin: 16px 0 24px;
}

.wpseobot-preview-featured-label {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    font-weight: 600;
    color: #1d4ed8;
    background: #f0f6fc;
    border-radius: 999px;
    padding: 3px 12px;
    margin-bottom: 8px;
}

.wpseobot-preview-featured-label .dashicons {
    font-size: 14px;
    width: 14px;
    height: 14px;
}

.wpseobot-preview-featured img {
    display: block;
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    border: 1px solid #e0e0e0;
}

/* Loading Overlay */
.wpseobot-loading-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255,255,255,0.92);
    z-index: 100000;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wpseobot-loading-content {
    text-align: center;
}

.wpseobot-spinner-large {
    width: 48px;
    height: 48px;
    border: 4px solid #e5e5e5;
    border-top-color: #2271b1;
    border-radius: 50%;
    animation: wpseobot-spin 0.8s linear infinite;
    margin: 0 auto 20px;
}

@keyframes wpseobot-spin {
    to { transform: rotate(360deg); }
}

.wpseobot-loading-content h3 {
    margin: 0 0 6px;
    font-size: 18px;
}

.wpseobot-loading-content p {
    color: #666;
    margin: 0;
}

/* ═══════════════════════════════════════════════════
   BACKLINK EXCHANGE
   ═══════════════════════════════════════════════════ */

/* ── Opted-in: Status + Actions bar ── */
.wpseobot-ex-status-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 20px !important;
    gap: 16px;
    flex-wrap: wrap;
}

.wpseobot-ex-stats {
    display: flex;
    gap: 24px;
}

.wpseobot-ex-stat {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #50575e;
}

.wpseobot-ex-stat .dashicons {
    font-size: 18px;
    width: 18px;
    height: 18px;
    color: #2271b1;
}

.wpseobot-ex-stat .wpseobot-text-success {
    color: #00a32a !important;
}

.wpseobot-ex-stat strong {
    font-size: 15px;
    color: #1d2327;
}

.wpseobot-ex-stat span:last-child {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .4px;
    color: #999;
}

.wpseobot-ex-actions {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.wpseobot-ex-actions .button .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
    vertical-align: text-bottom;
}

.wpseobot-btn-danger {
    color: #d63638 !important;
    border-color: #d63638 !important;
}

.wpseobot-btn-danger:hover {
    background: #d63638 !important;
    color: #fff !important;
}

.wpseobot-text-success {
    color: #00a32a !important;
}

/* Compact profile grid */
.wpseobot-profile-grid-compact {
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 10px;
    padding: 14px 20px;
}

.wpseobot-profile-grid-compact .wpseobot-profile-field {
    padding: 8px 12px;
}

/* ── Opt-in: Join card (single-card flow) ── */
.wpseobot-ex-join-card {
    max-width: 780px;
}

.wpseobot-ex-hero {
    padding: 20px 24px 0;
}

.wpseobot-ex-hero h2 {
    font-size: 18px;
    margin: 0 0 6px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.wpseobot-ex-hero h2 .dashicons {
    font-size: 22px;
    width: 22px;
    height: 22px;
    color: #2271b1;
}

.wpseobot-ex-hero-text p {
    margin: 0 0 14px;
    color: #50575e;
    font-size: 13px;
    line-height: 1.5;
}

/* Benefit chips (inline pills) */
.wpseobot-ex-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px;
}

.wpseobot-ex-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 12px;
    background: #f0f6fc;
    border: 1px solid #c3d9ed;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 500;
    color: #1d4780;
    white-space: nowrap;
}

.wpseobot-ex-chip .dashicons {
    font-size: 14px;
    width: 14px;
    height: 14px;
    color: #2271b1;
}

/* Wizard detection banners (compact one-liner) */
.wpseobot-ex-wizard-notice {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 24px;
    font-size: 13px;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
    flex-wrap: wrap;
}

.wpseobot-ex-wizard-notice .dashicons {
    font-size: 18px;
    width: 18px;
    height: 18px;
}

.wpseobot-ex-wizard-warn {
    background: #fef9ed;
    color: #8a6d3b;
}

.wpseobot-ex-wizard-warn .dashicons {
    color: #dba617;
}

.wpseobot-ex-wizard-ok {
    background: #f0fdf4;
    color: #166534;
}

.wpseobot-ex-wizard-ok .dashicons {
    color: #22c55e;
}

.wpseobot-ex-wizard-ok em {
    color: #6b7280;
    font-size: 12px;
}

.wpseobot-ex-wizard-src {
    margin-left: auto;
    font-size: 11px;
    color: #9ca3af;
}

/* ── Smart Defaults Summary ── */
.wpseobot-ex-defaults-summary {
    padding: 20px 24px;
    border-top: 1px solid #e5e7eb;
}

.wpseobot-ex-defaults-summary h3 {
    font-size: 13px;
    font-weight: 600;
    color: #6b7280;
    margin: 0 0 12px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.wpseobot-ex-defaults-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.wpseobot-ex-default-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
}

.wpseobot-ex-default-item .dashicons {
    color: #6366f1;
    font-size: 18px;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

.wpseobot-ex-default-item div {
    display: flex;
    flex-direction: column;
}

.wpseobot-ex-default-item strong {
    font-size: 12px;
    color: #6b7280;
    font-weight: 500;
}

.wpseobot-ex-default-item span {
    font-size: 13px;
    font-weight: 600;
    color: #1e293b;
}

/* ── One-Click Join Actions ── */
.wpseobot-ex-join-actions {
    text-align: center;
    padding: 24px;
    border-top: 1px solid #e5e7eb;
}

.wpseobot-ex-join-actions .button-hero {
    font-size: 15px;
    padding: 10px 32px;
}

.wpseobot-ex-join-actions .button-hero .dashicons {
    vertical-align: middle;
    margin-right: 4px;
    font-size: 18px;
    width: 18px;
    height: 18px;
}

.wpseobot-ex-join-actions .description {
    margin-top: 10px;
    color: #9ca3af;
}

/* ── Collapsible Advanced Settings ── */
.wpseobot-ex-advanced {
    border-top: 1px solid #e5e7eb;
    margin: 0;
}

.wpseobot-ex-advanced summary {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 14px 24px;
    font-size: 13px;
    font-weight: 500;
    color: #6b7280;
    cursor: pointer;
    user-select: none;
    list-style: none;
    transition: color 0.2s;
}

.wpseobot-ex-advanced summary::-webkit-details-marker {
    display: none;
}

.wpseobot-ex-advanced summary::before {
    content: "\25b8";
    font-size: 12px;
    transition: transform 0.2s;
}

.wpseobot-ex-advanced[open] summary::before {
    transform: rotate(90deg);
}

.wpseobot-ex-advanced summary:hover {
    color: #374151;
}

.wpseobot-ex-advanced summary .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
    color: #9ca3af;
}

.wpseobot-optional-tag {
    display: inline-block;
    font-size: 10px;
    padding: 1px 6px;
    border-radius: 4px;
    background: #f3f4f6;
    color: #9ca3af;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-left: 4px;
}

.wpseobot-ex-advanced-inner {
    border-top: 1px solid #f3f4f6;
}

/* ── Big Toggle (Wizard Step 4) ── */
.wpseobot-wizard-exchange-toggle {
    margin: 24px auto;
    max-width: 400px;
}

.wpseobot-big-toggle {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 20px;
    border: 2px solid #e5e7eb;
    border-radius: 12px;
    cursor: pointer;
    transition: border-color 0.2s, background 0.2s;
}

.wpseobot-big-toggle:hover {
    border-color: #c7d2fe;
    background: #fafbff;
}

.wpseobot-big-toggle input[type="checkbox"] {
    display: none;
}

.wpseobot-big-toggle-slider {
    position: relative;
    width: 52px;
    min-width: 52px;
    height: 28px;
    background: #d1d5db;
    border-radius: 14px;
    transition: background 0.3s;
}

.wpseobot-big-toggle-slider::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 22px;
    height: 22px;
    background: #fff;
    border-radius: 50%;
    transition: transform 0.3s;
    box-shadow: 0 1px 3px rgba(0,0,0,0.15);
}

.wpseobot-big-toggle input:checked ~ .wpseobot-big-toggle-slider {
    background: #22c55e;
}

.wpseobot-big-toggle input:checked ~ .wpseobot-big-toggle-slider::after {
    transform: translateX(24px);
}

.wpseobot-big-toggle-label {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.wpseobot-big-toggle-label strong {
    font-size: 14px;
    color: #1e293b;
}

.wpseobot-big-toggle-label em {
    font-size: 12px;
    font-style: normal;
    color: #9ca3af;
}

/* ── Exchange Confirmation (Wizard Step 5) ── */
#wizard-exchange-confirmation {
    margin: 16px 0;
    padding: 12px 16px;
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-radius: 8px;
}

#wizard-exchange-confirmation .wpseobot-text-success {
    color: #16a34a;
    font-size: 13px;
}

#wizard-exchange-confirmation .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
    vertical-align: text-bottom;
    margin-right: 4px;
}

/* ── Questionnaire: 2-col grid ── */
.wpseobot-questionnaire.wpseobot-q-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px 20px;
    padding: 16px 24px;
}

.wpseobot-q-wide {
    grid-column: 1 / -1;
}

.wpseobot-q-field label {
    font-weight: 600;
    font-size: 13px;
    display: block;
    margin-bottom: 2px;
}

.wpseobot-q-field .description {
    font-size: 12px;
    color: #888;
    margin: 0 0 4px;
}

.wpseobot-q-field select,
.wpseobot-q-field textarea {
    width: 100%;
}

.wpseobot-multiselect {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.wpseobot-checkbox {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 9px;
    background: #f0f0f0;
    border-radius: 4px;
    font-size: 12px;
    cursor: pointer;
    transition: background 0.15s;
}

.wpseobot-checkbox:hover {
    background: #e2e2e2;
}

.wpseobot-checkbox:has(input:checked) {
    background: #dceefb;
    outline: 2px solid #2271b1;
}

.wpseobot-range-field {
    display: flex;
    align-items: center;
    gap: 10px;
}

.wpseobot-range-field input[type="range"] {
    flex: 1;
    max-width: 300px;
}

.wpseobot-range-value {
    font-weight: 600;
    font-size: 13px;
    min-width: 36px;
}

/* ═══════════════════════════════════════════════════
   IMAGE STYLE SELECTOR (Settings)
   ═══════════════════════════════════════════════════ */

.wpseobot-image-style-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
    gap: 12px;
    padding: 16px 0;
}

.wpseobot-style-card {
    cursor: pointer;
    position: relative;
}

.wpseobot-style-card input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.wpseobot-style-card-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 18px 12px;
    background: #fff;
    border: 2px solid #e5e5e5;
    border-radius: 8px;
    text-align: center;
    transition: all 0.2s ease;
}

.wpseobot-style-card:hover .wpseobot-style-card-inner {
    border-color: #2271b1;
    box-shadow: 0 2px 8px rgba(34,113,177,0.1);
}

.wpseobot-style-card.is-locked {
    cursor: default;
}

.wpseobot-style-card.is-locked .wpseobot-style-card-inner {
    background: #f6f7f7;
    border-color: #dcdcde;
    opacity: 0.72;
}

.wpseobot-style-card.is-locked:hover .wpseobot-style-card-inner {
    border-color: #dcdcde;
    box-shadow: none;
}

.wpseobot-style-card.active .wpseobot-style-card-inner,
.wpseobot-style-card input:checked + .wpseobot-style-card-inner {
    border-color: #2271b1;
    background: #f0f6fc;
    box-shadow: 0 0 0 1px #2271b1;
}

.wpseobot-style-icon {
    font-size: 24px;
    width: 24px;
    height: 24px;
    color: #2271b1;
    margin-bottom: 8px;
}

.wpseobot-style-name {
    font-weight: 600;
    font-size: 13px;
    color: #1d2327;
    margin-bottom: 4px;
}

.wpseobot-style-name small {
    display: inline-block;
    margin-left: 4px;
    padding: 1px 6px;
    border-radius: 999px;
    background: #f0f6fc;
    color: #1d4ed8;
    font-size: 10px;
    font-weight: 700;
}

.wpseobot-style-desc {
    font-size: 11px;
    color: #888;
    line-height: 1.3;
}

/* ═══════════════════════════════════════════════════
   BADGES (shared)
   ═══════════════════════════════════════════════════ */

.wpseobot-badge {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 500;
    background: #f0f6fc;
    color: #2271b1;
    border: 1px solid #c5d9ed;
}

.wpseobot-badge-success {
    background: #edfaef;
    color: #00a32a;
    border-color: #b8e6bf;
}

.wpseobot-badge-muted {
    background: #f0f0f0;
    color: #666;
    border-color: #ddd;
}

/* ═══════════════════════════════════════════════════
   RESPONSIVE – NEW PAGES
   ═══════════════════════════════════════════════════ */

@media (max-width: 782px) {
    .wpseobot-form-grid {
        grid-template-columns: 1fr;
    }
}

/* ────────────── E-E-A-T SCORER ────────────── */

.wpseobot-tab-hint {
    font-size: 12px;
    color: #888;
    font-style: italic;
}

/* Hero: overall score ring + summary */
.eeat-hero {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 24px;
    margin-bottom: 24px;
    background: linear-gradient(135deg, #f8f9ff 0%, #f0f4ff 100%);
    border: 1px solid #dde3f0;
    border-radius: 12px;
}

.eeat-overall {
    flex-shrink: 0;
}

.eeat-ring {
    position: relative;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}

.eeat-ring-high   { background: linear-gradient(135deg, #e6f4ea, #b8e6bf); }
.eeat-ring-medium { background: linear-gradient(135deg, #fef7e0, #f5e6a3); }
.eeat-ring-low    { background: linear-gradient(135deg, #fce8e6, #f5c6cb); }

.eeat-ring-value {
    font-size: 32px;
    font-weight: 800;
    line-height: 1;
    color: #1d2327;
}

.eeat-ring-label {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #555;
    margin-top: 2px;
}

.eeat-summary {
    flex: 1;
    min-width: 0;
}

.eeat-summary p {
    margin: 0 0 10px;
    font-size: 14px;
    line-height: 1.6;
    color: #444;
}

.eeat-priority {
    display: inline-flex;
    align-items: flex-start;
    gap: 6px;
    padding: 10px 14px;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-left: 3px solid #d63638;
    border-radius: 6px;
    font-size: 13px;
    color: #444;
    line-height: 1.45;
}

.eeat-priority .dashicons {
    color: #d63638;
    font-size: 16px;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    margin-top: 1px;
}

/* Dimension cards */
.eeat-dimensions {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.eeat-dim {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 10px;
    padding: 18px 20px;
    transition: box-shadow 0.15s;
}

.eeat-dim:hover {
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.eeat-dim-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
}

.eeat-dim-header .dashicons {
    font-size: 18px;
    width: 18px;
    height: 18px;
    color: #2271b1;
}

.eeat-dim-header strong {
    flex: 1;
    font-size: 14px;
    color: #1d2327;
}

.eeat-dim-score {
    font-size: 13px;
    font-weight: 700;
    padding: 2px 10px;
    border-radius: 10px;
}

.eeat-score-high   { background: #e6f4ea; color: #137333; }
.eeat-score-medium { background: #fef7e0; color: #b06000; }
.eeat-score-low    { background: #fce8e6; color: #c5221f; }

/* Progress bar */
.eeat-bar-track {
    height: 8px;
    background: #f0f0f0;
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 10px;
}

.eeat-bar-fill {
    height: 100%;
    border-radius: 4px;
    transition: width 0.6s ease-out;
}

.eeat-bar-high   { background: linear-gradient(90deg, #34d058, #00a32a); }
.eeat-bar-medium { background: linear-gradient(90deg, #f5c518, #dba617); }
.eeat-bar-low    { background: linear-gradient(90deg, #f06560, #d63638); }

/* Summary text below bar */
.eeat-dim-summary {
    margin: 0 0 8px;
    font-size: 13px;
    color: #555;
    line-height: 1.5;
}

/* Detected heuristic signals */
.eeat-signals {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 8px;
    align-items: center;
}

.eeat-signals-label {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: #888;
    margin-right: 4px;
}

.eeat-signal {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 2px 10px;
    background: #f0faf0;
    border: 1px solid #d4edda;
    border-radius: 20px;
    font-size: 12px;
    color: #2d6a2e;
}

.eeat-signal .dashicons {
    font-size: 13px;
    width: 13px;
    height: 13px;
    color: #00a32a;
}

/* Improvement tips */
.eeat-tips {
    margin-top: 6px;
}

.eeat-tips-label {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: #888;
    display: block;
    margin-bottom: 4px;
}

.eeat-tips ul {
    margin: 0;
    padding-left: 18px;
    list-style: none;
}

.eeat-tips li {
    position: relative;
    padding: 3px 0;
    font-size: 13px;
    color: #555;
    line-height: 1.5;
}

.eeat-tips li::before {
    content: '→';
    position: absolute;
    left: -16px;
    color: #2271b1;
    font-weight: 700;
}

/* Responsive */
@media (max-width: 782px) {
    .eeat-hero {
        flex-direction: column;
        text-align: center;
    }
    .eeat-priority {
        display: flex;
    }
}

/* ────────────── CONTENT PLAN ────────────── */

.wpseobot-plan-stats {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 12px;
    margin-bottom: 20px;
}

.wpseobot-plan-actions-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 20px;
    padding: 14px 20px;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 10px;
}

.wpseobot-plan-actions-left,
.wpseobot-plan-actions-right {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.wpseobot-plan-count-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
}

.wpseobot-plan-count-wrap label {
    font-weight: 500;
    white-space: nowrap;
}

.wpseobot-plan-filters select {
    min-width: 140px;
}

/* Plan Queue */
.wpseobot-plan-queue {
    display: flex;
    flex-direction: column;
    gap: 0;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 10px;
    overflow: hidden;
}

.wpseobot-plan-empty {
    text-align: center;
    padding: 60px 20px;
    background: #fff;
    border: 2px dashed #ddd;
    border-radius: 12px;
    color: #888;
}

.wpseobot-plan-empty .dashicons {
    font-size: 48px;
    width: 48px;
    height: 48px;
    color: #ccc;
    margin-bottom: 12px;
}

.wpseobot-plan-empty h3 {
    margin: 8px 0;
    color: #555;
}

/* Individual Card */
.wpseobot-plan-card {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0;
    background: #fff;
    border-bottom: 1px solid #eee;
    border-left: 4px solid #2271b1;
    transition: background 0.15s;
}

.wpseobot-plan-card:last-child {
    border-bottom: none;
}

.wpseobot-plan-card:hover {
    background: #fafcff;
}

.wpseobot-plan-card.status-approved {
    border-left-color: #00a32a;
}
.wpseobot-plan-card.status-approved:hover {
    background: #f7fef7;
}

.wpseobot-plan-card.status-generating {
    border-left-color: #dba617;
    background: #fffef5;
}

.wpseobot-plan-card.status-review {
    border-left-color: #d63638;
}
.wpseobot-plan-card.status-review:hover {
    background: #fef7f7;
}

.wpseobot-plan-card.status-published {
    border-left-color: #00a32a;
    background: #f9fef9;
}

.wpseobot-plan-card.status-declined {
    border-left-color: #bbb;
    opacity: 0.6;
}

/* Card Body */
.wpseobot-plan-body {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 16px 20px 12px;
}

.wpseobot-plan-check {
    flex-shrink: 0;
    padding-top: 2px;
}

.wpseobot-plan-check input[type="checkbox"] {
    width: 16px;
    height: 16px;
    margin: 0;
    cursor: pointer;
}

.wpseobot-plan-info {
    flex: 1;
    min-width: 0;
}

/* Title row */
.wpseobot-plan-header {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin-bottom: 4px;
}

.wpseobot-plan-header h3 {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.45;
    color: #1d2327;
    word-wrap: break-word;
    overflow-wrap: break-word;
    flex: 1;
    min-width: 0;
}

.wpseobot-plan-header .wpseobot-plan-badge {
    flex-shrink: 0;
}

/* Topic description */
.wpseobot-plan-topic {
    margin: 0 0 8px;
    font-size: 13px;
    color: #666;
    line-height: 1.45;
}

/* Meta chips row */
.wpseobot-plan-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 6px;
}

.wpseobot-plan-chip {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 10px;
    background: #f4f6f9;
    border-radius: 20px;
    font-size: 12px;
    color: #555;
    white-space: nowrap;
}

.wpseobot-plan-chip .dashicons {
    font-size: 13px;
    width: 13px;
    height: 13px;
    color: #888;
}

/* Badges row */
.wpseobot-plan-badges {
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
}

.wpseobot-plan-badge {
    display: inline-block;
    padding: 2px 9px;
    border-radius: 10px;
    font-size: 10.5px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    line-height: 1.6;
}

.wpseobot-plan-badge.badge-planned   { background: #e8f0fe; color: #1a73e8; }
.wpseobot-plan-badge.badge-approved  { background: #e6f4ea; color: #1e8e3e; }
.wpseobot-plan-badge.badge-generating { background: #fef7e0; color: #b06000; animation: pulse 1.5s ease-in-out infinite; }
.wpseobot-plan-badge.badge-review    { background: #fce8e6; color: #c5221f; }
.wpseobot-plan-badge.badge-published { background: #e6f4ea; color: #137333; }
.wpseobot-plan-badge.badge-declined  { background: #f1f1f1; color: #999; }
.wpseobot-plan-badge.badge-priority-high   { background: #fce8e6; color: #c5221f; }
.wpseobot-plan-badge.badge-priority-medium { background: #fef7e0; color: #b06000; }
.wpseobot-plan-badge.badge-priority-low    { background: #e8f0fe; color: #1a73e8; }
.wpseobot-plan-badge.badge-type      { background: #f3e8fd; color: #7b1fa2; }
.wpseobot-plan-badge.badge-intent    { background: #e0f2f1; color: #00796b; }

/* Notes */
.wpseobot-plan-notes {
    margin: 0 0 2px;
    padding: 6px 10px;
    background: #f8f9fa;
    border-left: 3px solid #ddd;
    font-size: 12px;
    color: #777;
    font-style: italic;
    border-radius: 0 4px 4px 0;
    line-height: 1.5;
}

/* Action footer */
.wpseobot-plan-footer {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 20px 10px 54px;
    border-top: 1px solid #f0f0f0;
}

.wpseobot-plan-footer .button {
    font-size: 12px;
    padding: 2px 12px;
    min-height: 28px;
    line-height: 26px;
    border-radius: 4px;
}

.wpseobot-plan-footer .button .dashicons {
    font-size: 14px;
    width: 14px;
    height: 14px;
    vertical-align: text-bottom;
    margin-right: 2px;
}

.wpseobot-plan-footer .plan-action-delete {
    margin-left: auto;
    color: #d63638;
    border-color: transparent;
    background: transparent;
    box-shadow: none;
}
.wpseobot-plan-footer .plan-action-delete:hover {
    background: #fce8e6;
    border-color: #f5c6cb;
}

/* ── Responsive ── */
@media (max-width: 1100px) {
    .wpseobot-plan-stats {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 782px) {
    .wpseobot-plan-stats {
        grid-template-columns: repeat(2, 1fr);
    }
    .wpseobot-plan-actions-bar {
        flex-direction: column;
        align-items: stretch;
    }
    .wpseobot-plan-actions-left,
    .wpseobot-plan-actions-right {
        justify-content: center;
    }
    .wpseobot-plan-body {
        padding: 14px 14px 10px;
    }
    .wpseobot-plan-footer {
        padding: 8px 14px;
        flex-wrap: wrap;
    }
    .wpseobot-plan-footer .plan-action-delete {
        margin-left: 0;
    }
}

@keyframes pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.6; }
}

@media (max-width: 782px) {
    .wpseobot-outline-extras {
        grid-template-columns: 1fr;
    }

    .wpseobot-ex-chips {
        gap: 6px;
    }

    .wpseobot-questionnaire.wpseobot-q-grid {
        grid-template-columns: 1fr;
    }

    .wpseobot-image-style-grid {
        grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    }

    .wpseobot-ex-status-bar {
        flex-direction: column;
        align-items: flex-start;
    }

    .wpseobot-ex-stats {
        flex-wrap: wrap;
        gap: 12px;
    }

    .wpseobot-ex-actions {
        width: 100%;
    }

    .wpseobot-ex-wizard-src {
        display: none;
    }

    .wpseobot-ex-defaults-grid {
        grid-template-columns: 1fr;
    }

    .wpseobot-wizard-next-steps {
        flex-direction: column;
    }

    .wpseobot-plan-stats {
        grid-template-columns: repeat(3, 1fr);
    }

    .wpseobot-plan-card {
        grid-template-columns: 1fr;
    }

    .wpseobot-plan-check {
        display: none;
    }

    .wpseobot-plan-actions {
        flex-direction: row;
        flex-wrap: wrap;
    }

    .wpseobot-plan-actions .button {
        width: auto;
    }

    .wpseobot-plan-actions-bar {
        flex-direction: column;
        align-items: stretch;
    }

    .wpseobot-modal-body .wpseobot-form-row {
        grid-template-columns: 1fr;
    }
}

/* ═══════════════════════════════════════════════════════════
   BACKUPS / VERSION HISTORY PAGE
   ═══════════════════════════════════════════════════════════ */

/* Stats Row */
.wpseobot-backup-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 16px;
    margin-bottom: 24px;
}

.wpseobot-backup-stats .wpseobot-stat-card {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 20px;
    display: flex;
    align-items: center;
    gap: 14px;
    transition: box-shadow .2s;
}

.wpseobot-backup-stats .wpseobot-stat-card:hover {
    box-shadow: 0 2px 8px rgba(0,0,0,.08);
}

.wpseobot-backup-stats .wpseobot-stat-card > .dashicons {
    font-size: 32px;
    width: 32px;
    height: 32px;
    color: #2271b1;
    opacity: .7;
}

.wpseobot-backup-stats .wpseobot-stat-info {
    display: flex;
    flex-direction: column;
}

.wpseobot-backup-stats .wpseobot-stat-info strong {
    font-size: 22px;
    line-height: 1.2;
    color: #1d2327;
}

.wpseobot-backup-stats .wpseobot-stat-info span {
    font-size: 12px;
    color: #787c82;
    text-transform: uppercase;
    letter-spacing: .5px;
}

/* Toolbar */
.wpseobot-backup-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}

.wpseobot-backup-filters {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}

.wpseobot-backup-filters input,
.wpseobot-backup-filters select {
    min-width: 180px;
}

.wpseobot-backup-actions-bar {
    display: flex;
    gap: 8px;
    align-items: center;
}

.wpseobot-backup-actions-bar .button .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
    vertical-align: text-top;
    margin-right: 2px;
}

/* Backup Table */
.wpseobot-backup-table-wrap {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    overflow: hidden;
}

.wpseobot-backup-table {
    border: none;
    margin: 0;
}

.wpseobot-backup-table th {
    background: #f6f7f7;
    font-weight: 600;
    font-size: 13px;
    padding: 12px 16px;
}

.wpseobot-backup-table td {
    padding: 12px 16px;
    vertical-align: middle;
}

.wpseobot-backup-table .column-title {
    width: 28%;
}

.wpseobot-backup-table .column-trigger {
    width: 16%;
}

.wpseobot-backup-table .column-user {
    width: 12%;
}

.wpseobot-backup-table .column-size {
    width: 10%;
}

.wpseobot-backup-table .column-date {
    width: 16%;
}

.wpseobot-backup-table .column-actions {
    width: 18%;
    text-align: right;
}

.wpseobot-backup-table .wpseobot-backup-post-link {
    color: #2271b1;
    text-decoration: none;
    font-weight: 500;
}

.wpseobot-backup-table .wpseobot-backup-post-link:hover {
    text-decoration: underline;
}

/* Trigger Badges */
.wpseobot-trigger-badge {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .3px;
    text-transform: uppercase;
    white-space: nowrap;
}

.wpseobot-trigger-badge--manual {
    background: #e8f0fe;
    color: #1a73e8;
}

.wpseobot-trigger-badge--pre-link {
    background: #e6f4ea;
    color: #137333;
}

.wpseobot-trigger-badge--pre-enrich {
    background: #fef7e0;
    color: #b06000;
}

.wpseobot-trigger-badge--pre-rewrite {
    background: #fce8e6;
    color: #c5221f;
}

.wpseobot-trigger-badge--pre-date-update {
    background: #f3e8fd;
    color: #7627bb;
}

.wpseobot-trigger-badge--pre-merge {
    background: #fde7f3;
    color: #b80672;
}

.wpseobot-trigger-badge--pre-publish {
    background: #e0f7fa;
    color: #00796b;
}

.wpseobot-trigger-badge--auto {
    background: #f1f3f4;
    color: #5f6368;
}

/* Action Buttons in Table */
.wpseobot-backup-actions {
    display: flex;
    gap: 6px;
    justify-content: flex-end;
}

.wpseobot-backup-actions .button {
    padding: 2px 10px;
    font-size: 12px;
    line-height: 1.8;
}

.wpseobot-backup-actions .button .dashicons {
    font-size: 14px;
    width: 14px;
    height: 14px;
    vertical-align: text-top;
}

/* Loading / Empty States */
.wpseobot-loading-row td,
.wpseobot-empty-row td {
    text-align: center;
    padding: 40px 16px;
    color: #787c82;
    font-size: 14px;
}

.wpseobot-loading-row .spinner {
    float: none;
    margin: 0 8px 0 0;
    vertical-align: middle;
}

/* Pagination */
.wpseobot-backup-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    padding: 16px;
}

.wpseobot-backup-pagination .button {
    min-width: 36px;
    text-align: center;
}

.wpseobot-backup-pagination .button.current {
    background: #2271b1;
    color: #fff;
    border-color: #2271b1;
}

.wpseobot-backup-pagination .wpseobot-pagination-info {
    font-size: 13px;
    color: #787c82;
    margin: 0 8px;
}

/* Diff Modal — size handled by .wpseobot-modal-lg on the dialog */

.wpseobot-diff-header {
    margin-bottom: 16px;
}

.wpseobot-diff-info {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    font-size: 13px;
    color: #50575e;
}

.wpseobot-diff-info .wpseobot-diff-meta {
    display: flex;
    align-items: center;
    gap: 6px;
}

.wpseobot-diff-info .wpseobot-diff-meta .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
    color: #787c82;
}

.wpseobot-diff-panels {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.wpseobot-diff-panel {
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    overflow: hidden;
}

.wpseobot-diff-panel h3 {
    margin: 0;
    padding: 10px 14px;
    background: #f6f7f7;
    font-size: 13px;
    font-weight: 600;
    border-bottom: 1px solid #e0e0e0;
}

.wpseobot-diff-old h3 {
    background: #fce8e6;
    color: #c5221f;
}

.wpseobot-diff-new h3 {
    background: #e6f4ea;
    color: #137333;
}

.wpseobot-diff-content {
    padding: 14px;
    max-height: 400px;
    overflow-y: auto;
    font-size: 13px;
    line-height: 1.6;
    white-space: pre-wrap;
    word-wrap: break-word;
    background: #fff;
}

.wpseobot-diff-word-stats {
    display: flex;
    gap: 16px;
    padding: 12px 0;
    font-size: 13px;
    border-top: 1px solid #e0e0e0;
    margin-top: 16px;
}

.wpseobot-diff-word-stats .stat-positive {
    color: #137333;
    font-weight: 600;
}

.wpseobot-diff-word-stats .stat-negative {
    color: #c5221f;
    font-weight: 600;
}

/* Responsive */
@media (max-width: 782px) {
    .wpseobot-backup-stats {
        grid-template-columns: 1fr 1fr;
    }

    .wpseobot-backup-toolbar {
        flex-direction: column;
        align-items: stretch;
    }

    .wpseobot-backup-filters {
        flex-direction: column;
    }

    .wpseobot-backup-filters input,
    .wpseobot-backup-filters select {
        min-width: 100%;
    }

    .wpseobot-backup-table .column-user,
    .wpseobot-backup-table .column-size {
        display: none;
    }

    .wpseobot-diff-panels {
        grid-template-columns: 1fr;
    }

    .wpseobot-backup-actions {
        flex-direction: column;
    }
}

/* ═══════════════════════════════════════════════════
   Upgrade / Pricing Page
   ═══════════════════════════════════════════════════ */

.wpseobot-upgrade-page {
    /* ── Core ink / surface ── */
    --wpseobot-upgrade-ink:            #172033;
    --wpseobot-upgrade-muted:          #5d6979;
    --wpseobot-upgrade-line:           rgba(23, 32, 51, 0.1);
    --wpseobot-upgrade-soft:           rgba(255, 255, 255, 0.78);
    --wpseobot-upgrade-card:           #ffffff;
    /* ── Starter accent — teal ── */
    --wpseobot-upgrade-accent:         #0f766e;
    --wpseobot-upgrade-accent-strong:  #0b5e57;
    --wpseobot-upgrade-accent-soft:    #d8f3ea;
    /* ── Pro accent — vivid amber/gold ── */
    --wpseobot-upgrade-highlight:      #f59e0b;
    --wpseobot-upgrade-highlight-soft: #fef3c7;
    --wpseobot-upgrade-fire-start:     #f59e0b;
    --wpseobot-upgrade-fire-end:       #ef4444;
    /* ── Locked / Free-gap accent — coral ── */
    --wpseobot-upgrade-locked:         #f97316;
    --wpseobot-upgrade-locked-soft:    #fff7ed;
    /* ── Value strip accent — vivid green ── */
    --wpseobot-upgrade-value:          #16a34a;
    --wpseobot-upgrade-value-soft:     #dcfce7;
    max-width: 1200px !important;
    padding-bottom: 40px;
}

.wpseobot-upgrade-page * {
    box-sizing: border-box;
}

.wpseobot-upgrade-shell {
    background:
        radial-gradient(circle at top right, rgba(15, 118, 110, 0.15), transparent 26%),
        radial-gradient(circle at left bottom, rgba(242, 184, 75, 0.14), transparent 24%),
        linear-gradient(180deg, #fffdf6 0%, #eef6f1 100%);
    border: 1px solid var(--wpseobot-upgrade-line);
    border-radius: 28px;
    box-shadow: 0 28px 60px rgba(23, 32, 51, 0.08);
    padding: 32px;
    font-family: "Avenir Next", "Segoe UI", sans-serif;
}

.wpseobot-upgrade-shell h1,
.wpseobot-upgrade-shell h2,
.wpseobot-upgrade-shell h3,
.wpseobot-upgrade-shell strong,
.wpseobot-upgrade-shell summary {
    font-family: "Avenir Next Condensed", "Avenir Next", "Trebuchet MS", sans-serif;
}

.wpseobot-upgrade-hero,
.wpseobot-pricing-section,
.wpseobot-upgrade-compare,
.wpseobot-faq-section,
.wpseobot-cta-strip {
    margin-bottom: 24px;
}

.wpseobot-upgrade-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(300px, .9fr);
    gap: 22px;
    align-items: stretch;
}

.wpseobot-upgrade-hero-copy,
.wpseobot-upgrade-hero-card,
.wpseobot-pricing-card,
.wpseobot-upgrade-compare-table,
.wpseobot-upgrade-assurance-card,
.wpseobot-faq-item {
    background: var(--wpseobot-upgrade-soft);
    backdrop-filter: blur(6px);
    border: 1px solid rgba(255, 255, 255, 0.55);
    box-shadow: 0 14px 30px rgba(23, 32, 51, 0.05);
}

.wpseobot-upgrade-hero-copy,
.wpseobot-upgrade-hero-card {
    border-radius: 24px;
    padding: 28px;
}

.wpseobot-upgrade-eyebrow,
.wpseobot-section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--wpseobot-upgrade-accent);
    margin-bottom: 14px;
}

.wpseobot-upgrade-hero-copy h1 {
    font-size: 44px;
    line-height: .98;
    letter-spacing: -.05em;
    color: var(--wpseobot-upgrade-ink);
    margin: 0 0 14px;
    max-width: 12ch;
}

.wpseobot-current-plan-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 14px;
    padding: 6px 10px;
    border: 1px solid var(--wpseobot-upgrade-line);
    border-radius: 999px;
    background: #ffffff;
    color: var(--wpseobot-upgrade-muted);
    font-size: 13px;
}

.wpseobot-current-plan-pill strong {
    color: var(--wpseobot-upgrade-accent-strong);
}

.wpseobot-upgrade-lead,
.wpseobot-section-heading p,
.wpseobot-upgrade-note,
.wpseobot-plan-summary,
.wpseobot-upgrade-assurance-card p,
.wpseobot-faq-item p,
.wpseobot-cta-strip p {
    font-size: 15px;
    line-height: 1.7;
    color: var(--wpseobot-upgrade-muted);
    margin: 0;
}

.wpseobot-upgrade-proof-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 20px 0 18px;
}

.wpseobot-upgrade-proof-pill,
.wpseobot-plan-license,
.wpseobot-plan-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    padding: 8px 12px;
    white-space: nowrap;
}

.wpseobot-upgrade-proof-pill {
    background: rgba(255, 255, 255, 0.85);
    border: 1px solid rgba(23, 32, 51, 0.08);
    color: var(--wpseobot-upgrade-ink);
}

.wpseobot-upgrade-points {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 10px;
}

.wpseobot-upgrade-points li {
    position: relative;
    padding-left: 22px;
    font-size: 14px;
    line-height: 1.6;
    color: var(--wpseobot-upgrade-ink);
}

.wpseobot-upgrade-points li::before {
    content: '';
    position: absolute;
    top: 8px;
    left: 0;
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--wpseobot-upgrade-accent), #2cc58d);
    box-shadow: 0 0 0 5px rgba(15, 118, 110, 0.12);
}

.wpseobot-upgrade-hero-card {
    display: flex;
    flex-direction: column;
    gap: 14px;
    background: rgba(23, 32, 51, 0.94);
    color: #f7faf9;
    border-color: rgba(255, 255, 255, 0.08);
}

.wpseobot-upgrade-card-label {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.64);
    margin: 0;
}

.wpseobot-upgrade-mini-stat {
    padding: 16px 18px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.wpseobot-upgrade-mini-stat strong {
    display: block;
    font-size: 22px;
    line-height: 1.05;
    letter-spacing: -.03em;
    margin-bottom: 6px;
}

.wpseobot-upgrade-mini-stat span,
.wpseobot-upgrade-note {
    color: rgba(255, 255, 255, 0.78);
}

.wpseobot-section-heading {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    margin-bottom: 16px;
}

.wpseobot-section-heading h2 {
    font-size: 32px;
    line-height: 1.02;
    letter-spacing: -.04em;
    color: var(--wpseobot-upgrade-ink);
    margin: 0;
    max-width: 14ch;
}

.wpseobot-pricing-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.wpseobot-pricing-card {
    position: relative;
    border-radius: 24px;
    padding: 24px;
    transition: transform .2s ease, box-shadow .2s ease;
}

.wpseobot-pricing-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 40px rgba(23, 32, 51, 0.08);
}

.wpseobot-pricing-featured {
    background: linear-gradient(160deg, #fffbf0 0%, #fff8e8 40%, #f0faf5 100%);
    border: 2px solid var(--wpseobot-upgrade-highlight);
    box-shadow: 0 0 0 4px rgba(245, 158, 11, 0.10), 0 22px 44px rgba(15, 118, 110, 0.12);
}

.wpseobot-pricing-current {
    box-shadow: 0 0 0 3px rgba(15, 118, 110, 0.16), 0 24px 60px rgba(23, 32, 51, 0.12);
}

.wpseobot-current-plan-badge {
    display: inline-flex;
    align-self: flex-start;
    width: fit-content;
    margin: 0 0 12px;
    padding: 4px 9px;
    border-radius: 999px;
    background: var(--wpseobot-upgrade-value-soft);
    color: var(--wpseobot-upgrade-value);
    font-size: 12px;
    font-weight: 800;
}

.wpseobot-popular-badge {
    position: absolute;
    top: 20px;
    right: 20px;
    background: linear-gradient(135deg, var(--wpseobot-upgrade-fire-start), var(--wpseobot-upgrade-fire-end));
    color: #ffffff;
    border-radius: 999px;
    padding: 7px 13px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
    box-shadow: 0 4px 12px rgba(245, 158, 11, 0.35);
}

.wpseobot-plan-topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 16px;
}

.wpseobot-plan-chip {
    background: rgba(23, 32, 51, 0.08);
    color: var(--wpseobot-upgrade-ink);
}

.wpseobot-plan-chip-accent {
    background: var(--wpseobot-upgrade-accent-soft);
    color: var(--wpseobot-upgrade-accent-strong);
}

.wpseobot-plan-license {
    border: 1px solid rgba(23, 32, 51, 0.08);
    background: rgba(255, 255, 255, 0.88);
    color: var(--wpseobot-upgrade-muted);
}

.wpseobot-pricing-card h2 {
    margin: 0 0 6px;
    font-size: 34px;
    line-height: 1;
    letter-spacing: -.04em;
    color: var(--wpseobot-upgrade-ink);
}

.wpseobot-pricing-tagline {
    font-size: 14px;
    color: var(--wpseobot-upgrade-muted);
    margin: 0;
}

.wpseobot-pricing-price {
    display: flex;
    align-items: flex-start;
    gap: 2px;
    margin: 18px 0 12px;
    color: var(--wpseobot-upgrade-ink);
}

.wpseobot-price-currency {
    font-size: 24px;
    font-weight: 800;
    line-height: 1.2;
    padding-top: 10px;
}

.wpseobot-price-whole {
    font-size: 56px;
    font-weight: 900;
    letter-spacing: -.06em;
    line-height: .88;
}

.wpseobot-price-decimal {
    font-size: 24px;
    font-weight: 800;
    line-height: 1.2;
    padding-top: 10px;
}

.wpseobot-price-period {
    margin-left: auto;
    align-self: flex-end;
    font-size: 15px;
    font-weight: 700;
    color: var(--wpseobot-upgrade-muted);
    padding-bottom: 8px;
}

.wpseobot-plan-summary {
    margin-bottom: 16px;
}

.wpseobot-plan-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 18px;
}

.wpseobot-plan-metric {
    background: rgba(23, 32, 51, 0.04);
    border: 1px solid rgba(23, 32, 51, 0.06);
    border-radius: 18px;
    padding: 14px;
}

.wpseobot-plan-metric strong {
    display: block;
    font-size: 18px;
    line-height: 1.1;
    color: var(--wpseobot-upgrade-ink);
    margin-bottom: 4px;
}

.wpseobot-plan-metric span,
.wpseobot-pricing-micro,
.wpseobot-cta-sub {
    font-size: 13px;
    line-height: 1.55;
    color: var(--wpseobot-upgrade-muted);
}

.wpseobot-plan-includes-label {
    margin: 0 0 10px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--wpseobot-upgrade-accent);
}

.wpseobot-pricing-features {
    list-style: none;
    margin: 0 0 18px;
    padding: 0;
    display: grid;
    gap: 10px;
}

.wpseobot-pricing-features li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 14px;
    line-height: 1.55;
    color: var(--wpseobot-upgrade-ink);
}

.wpseobot-pricing-features .dashicons {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    font-size: 18px;
    color: var(--wpseobot-upgrade-accent);
}

.wpseobot-pricing-btn,
.wpseobot-cta-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    border-radius: 14px !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    padding: 0 20px !important;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease !important;
}

.wpseobot-pricing-btn:hover,
.wpseobot-cta-btn:hover {
    transform: translateY(-1px);
}

.wpseobot-pricing-btn-secondary,
.wpseobot-cta-btn-secondary {
    background: rgba(23, 32, 51, 0.06) !important;
    border-color: rgba(23, 32, 51, 0.12) !important;
    color: var(--wpseobot-upgrade-ink) !important;
}

.wpseobot-pricing-btn-primary,
.wpseobot-cta-btn {
    background: linear-gradient(135deg, var(--wpseobot-upgrade-accent) 0%, #2cc58d 100%) !important;
    border-color: var(--wpseobot-upgrade-accent) !important;
    color: #f7fffb !important;
    box-shadow: 0 12px 24px rgba(15, 118, 110, 0.18);
}

/* Pro primary CTA — fire/amber gradient */
.wpseobot-pricing-featured .wpseobot-pricing-btn-primary {
    background: linear-gradient(135deg, #f59e0b 0%, #ef4444 100%) !important;
    border-color: #f59e0b !important;
    color: #ffffff !important;
    box-shadow: 0 12px 28px rgba(245, 158, 11, 0.32) !important;
}

.wpseobot-pricing-btn-disabled,
.wpseobot-pricing-btn-disabled:hover {
    cursor: default !important;
    opacity: 0.74;
    transform: none !important;
    box-shadow: none !important;
}

.wpseobot-pricing-micro {
    margin: 10px 0 0;
}

/* Daily rate line under price */
.wpseobot-price-perday {
    font-size: 13px;
    font-weight: 600;
    color: var(--wpseobot-upgrade-accent);
    margin: -8px 0 12px;
    letter-spacing: .01em;
}

.wpseobot-price-perday-pro {
    color: var(--wpseobot-upgrade-highlight);
}

/* Pro plan metric tiles */
.wpseobot-plan-metrics-pro .wpseobot-plan-metric-pro {
    background: rgba(245, 158, 11, 0.08);
    border-color: rgba(245, 158, 11, 0.18);
}

/* Pro feature icon — amber */
.wpseobot-feature-icon-pro {
    color: var(--wpseobot-upgrade-highlight) !important;
}

/* Pro includes label */
.wpseobot-plan-includes-label-pro {
    color: var(--wpseobot-upgrade-highlight) !important;
}

.wpseobot-upgrade-compare-wrap {
    overflow-x: auto;
}

.wpseobot-upgrade-compare-table {
    min-width: 680px;
    border-radius: 24px;
    overflow: hidden;
}

.wpseobot-upgrade-compare-row {
    display: grid;
    grid-template-columns: 1.25fr .9fr .9fr;
    gap: 16px;
    padding: 16px 20px;
    border-bottom: 1px solid rgba(23, 32, 51, 0.08);
}

.wpseobot-upgrade-compare-row:last-child {
    border-bottom: none;
}

.wpseobot-upgrade-compare-head {
    background: rgba(23, 32, 51, 0.05);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--wpseobot-upgrade-muted);
}

.wpseobot-upgrade-compare-row span {
    font-size: 14px;
    line-height: 1.55;
    color: var(--wpseobot-upgrade-ink);
}

.wpseobot-upgrade-compare-row span:first-child {
    font-weight: 700;
}

.wpseobot-upgrade-assurance {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 16px;
}

.wpseobot-upgrade-assurance-card {
    border-radius: 20px;
    padding: 20px;
}

.wpseobot-upgrade-assurance-card strong {
    display: block;
    font-size: 22px;
    line-height: 1.05;
    color: var(--wpseobot-upgrade-ink);
    margin-bottom: 6px;
}

.wpseobot-faq-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.wpseobot-faq-item {
    border-radius: 20px;
    padding: 18px 20px;
}

.wpseobot-faq-item summary {
    position: relative;
    list-style: none;
    cursor: pointer;
    padding-right: 28px;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.35;
    color: var(--wpseobot-upgrade-ink);
}

.wpseobot-faq-item summary::-webkit-details-marker {
    display: none;
}

.wpseobot-faq-item summary::after {
    content: '+';
    position: absolute;
    top: -2px;
    right: 0;
    font-size: 26px;
    line-height: 1;
    color: var(--wpseobot-upgrade-accent);
}

.wpseobot-faq-item[open] summary::after {
    content: '−';
}

.wpseobot-faq-item p {
    margin-top: 12px;
}

.wpseobot-cta-strip {
    border-radius: 24px;
    padding: 28px;
    background: linear-gradient(135deg, #103a36 0%, #0f766e 52%, #31b37f 100%);
    color: #f7fff9;
}

.wpseobot-cta-strip h2 {
    margin: 0 0 8px;
    font-size: 34px;
    line-height: 1;
    letter-spacing: -.04em;
    color: #ffffff;
}

.wpseobot-cta-strip p {
    color: rgba(247, 255, 249, 0.82);
    max-width: 62ch;
}

.wpseobot-cta-buttons {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-top: 18px;
}

.wpseobot-cta-sub {
    color: rgba(247, 255, 249, 0.78);
}

/* CTA strip — fire/amber primary button */
.wpseobot-cta-strip .wpseobot-cta-btn:not(.wpseobot-cta-btn-secondary) {
    background: linear-gradient(135deg, #f59e0b 0%, #ef4444 100%) !important;
    border-color: #f59e0b !important;
    box-shadow: 0 12px 28px rgba(245, 158, 11, 0.38) !important;
    color: #ffffff !important;
}

/* =========================================================
   FREE GAP BAR
   ========================================================= */
.wpseobot-free-gap-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px 24px;
    background: var(--wpseobot-upgrade-locked-soft);
    border: 1px solid rgba(249, 115, 22, 0.22);
    border-left: 4px solid var(--wpseobot-upgrade-locked);
    border-radius: 20px;
    padding: 20px 24px;
    margin-bottom: 24px;
}

.wpseobot-free-gap-label {
    flex: 1 1 240px;
}

.wpseobot-free-gap-tag {
    display: inline-flex;
    align-items: center;
    background: var(--wpseobot-upgrade-locked);
    color: #ffffff;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    padding: 5px 12px;
    margin-bottom: 6px;
}

.wpseobot-free-gap-label p {
    font-size: 14px;
    line-height: 1.5;
    color: var(--wpseobot-upgrade-ink);
    margin: 0;
}

.wpseobot-free-gap-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    list-style: none;
    margin: 0;
    padding: 0;
    flex: 2 1 400px;
}

.wpseobot-free-gap-list li {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    color: var(--wpseobot-upgrade-ink);
}

.wpseobot-lock-icon {
    font-style: normal;
    font-size: 14px;
    line-height: 1;
}

.wpseobot-free-gap-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--wpseobot-upgrade-locked);
    color: #ffffff !important;
    border: 0;
    border-radius: 12px;
    padding: 12px 20px;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none !important;
    cursor: pointer;
    white-space: nowrap;
    transition: background .18s ease, transform .18s ease, box-shadow .18s ease;
    box-shadow: 0 8px 20px rgba(249, 115, 22, 0.28);
    flex-shrink: 0;
}

.wpseobot-free-gap-cta:hover {
    background: #ea6a0b;
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(249, 115, 22, 0.38);
}

/* =========================================================
   VALUE NUMBER STRIP
   ========================================================= */
.wpseobot-value-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 24px;
}

.wpseobot-value-tile {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: var(--wpseobot-upgrade-value-soft);
    border: 1px solid rgba(22, 163, 74, 0.18);
    border-radius: 20px;
    padding: 22px 16px;
    gap: 6px;
}

.wpseobot-value-num {
    font-family: "Avenir Next Condensed", "Avenir Next", "Trebuchet MS", sans-serif;
    font-size: 52px;
    font-weight: 900;
    line-height: .9;
    letter-spacing: -.04em;
    color: var(--wpseobot-upgrade-value);
}

.wpseobot-value-num-small {
    font-size: 28px;
    vertical-align: top;
    line-height: 1.3;
}

.wpseobot-value-desc {
    font-size: 13px;
    font-weight: 600;
    color: var(--wpseobot-upgrade-ink);
    line-height: 1.4;
    max-width: 14ch;
}

/* =========================================================
   THREE-COLUMN COMPARE TABLE
   ========================================================= */
.wpseobot-compare-3col {
    min-width: 760px;
}

.wpseobot-compare-3col .wpseobot-upgrade-compare-row {
    grid-template-columns: 1.4fr .7fr .7fr .9fr;
}

.wpseobot-compare-pro-head {
    color: var(--wpseobot-upgrade-highlight) !important;
    font-weight: 900 !important;
}

.wpseobot-compare-pro-col {
    color: var(--wpseobot-upgrade-accent) !important;
    font-weight: 700;
}

.wpseobot-compare-yes {
    color: var(--wpseobot-upgrade-accent);
    font-weight: 800;
    font-size: 16px !important;
}

.wpseobot-compare-no {
    color: var(--wpseobot-upgrade-muted);
    font-size: 18px !important;
    font-weight: 400;
    opacity: .55;
}

/* =========================================================
   PRO "ENGINE" SECTION
   ========================================================= */
.wpseobot-pro-engine {
    background: linear-gradient(160deg, #0c2a26 0%, #0f3d36 40%, #16331f 100%);
    border-radius: 28px;
    padding: 36px 32px;
    margin-bottom: 24px;
    color: #f7fff9;
}

.wpseobot-pro-engine-header {
    max-width: 640px;
    margin-bottom: 28px;
}

.wpseobot-kicker-light {
    color: rgba(245, 158, 11, 0.9) !important;
}

.wpseobot-pro-engine-header h2 {
    font-size: 36px;
    line-height: 1.02;
    letter-spacing: -.04em;
    color: #ffffff;
    margin: 6px 0 12px;
}

.wpseobot-pro-engine-header p {
    font-size: 15px;
    line-height: 1.7;
    color: rgba(247, 255, 249, 0.78);
    margin: 0;
}

.wpseobot-pro-engine-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.wpseobot-pro-engine-card {
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    padding: 22px 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    transition: background .2s ease;
}

.wpseobot-pro-engine-card:hover {
    background: rgba(255, 255, 255, 0.11);
}

.wpseobot-pro-engine-icon {
    font-style: normal;
    font-size: 28px;
    line-height: 1;
}

.wpseobot-pro-engine-card strong {
    font-size: 17px;
    font-weight: 800;
    line-height: 1.2;
    color: #ffffff;
    font-family: "Avenir Next Condensed", "Avenir Next", "Trebuchet MS", sans-serif;
}

.wpseobot-pro-engine-card p {
    font-size: 14px;
    line-height: 1.6;
    color: rgba(247, 255, 249, 0.72);
    margin: 0;
}

/* Daily rate line under price */
.wpseobot-price-perday {
    font-size: 13px;
    font-weight: 600;
    color: var(--wpseobot-upgrade-accent);
    margin: -8px 0 12px;
    letter-spacing: .01em;
}

.wpseobot-price-perday-pro {
    color: var(--wpseobot-upgrade-highlight);
}

/* Pro plan metric tiles */
.wpseobot-plan-metrics-pro .wpseobot-plan-metric-pro {
    background: rgba(245, 158, 11, 0.08);
    border-color: rgba(245, 158, 11, 0.18);
}

/* Pro feature icon — amber */
.wpseobot-feature-icon-pro {
    color: var(--wpseobot-upgrade-highlight) !important;
}

/* Pro includes label */
.wpseobot-plan-includes-label-pro {
    color: var(--wpseobot-upgrade-highlight) !important;
}

@media (max-width: 1024px) {
    .wpseobot-upgrade-hero,
    .wpseobot-faq-list,
    .wpseobot-upgrade-assurance,
    .wpseobot-pricing-grid {
        grid-template-columns: 1fr;
    }

    .wpseobot-value-strip,
    .wpseobot-pro-engine-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .wpseobot-upgrade-hero-copy h1,
    .wpseobot-section-heading h2,
    .wpseobot-cta-strip h2,
    .wpseobot-pro-engine-header h2 {
        max-width: none;
    }
}

@media (max-width: 782px) {
    .wpseobot-upgrade-shell,
    .wpseobot-upgrade-hero-copy,
    .wpseobot-upgrade-hero-card,
    .wpseobot-pricing-card,
    .wpseobot-cta-strip,
    .wpseobot-pro-engine {
        padding: 22px;
    }

    .wpseobot-value-strip,
    .wpseobot-pro-engine-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .wpseobot-upgrade-hero-copy h1 {
        font-size: 36px;
    }

    .wpseobot-section-heading h2,
    .wpseobot-cta-strip h2,
    .wpseobot-pro-engine-header h2 {
        font-size: 28px;
    }

    .wpseobot-price-whole {
        font-size: 48px;
    }

    .wpseobot-plan-metrics {
        grid-template-columns: 1fr;
    }

    .wpseobot-upgrade-compare-row {
        padding: 14px 16px;
    }

    .wpseobot-cta-buttons {
        flex-direction: column;
        align-items: stretch;
    }

    .wpseobot-pricing-btn,
    .wpseobot-cta-btn {
        width: 100%;
    }
}

/* =========================================================
   ADDONS PAGE
   ========================================================= */

.wpseobot-addons-page {
    max-width: 1100px;
    padding-bottom: 60px;
}

/* Page header */
.wpseobot-addons-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 28px;
    flex-wrap: wrap;
}

.wpseobot-addons-subtitle {
    color: #64748b;
    margin: 4px 0 0;
    font-size: 14px;
    max-width: 540px;
}

/* Active count badge */
.wpseobot-addons-count {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 12px 20px;
    text-align: center;
    white-space: nowrap;
    flex-shrink: 0;
}

#wpseobot-active-addon-count {
    display: block;
    font-size: 30px;
    font-weight: 800;
    color: #6366f1;
    line-height: 1;
}

.wpseobot-addons-count em {
    font-style: normal;
    font-size: 11px;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Notice area */
#wpseobot-addons-notice { margin-bottom: 20px; }

/* Addons grid */
.wpseobot-addons-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 24px;
}

/* Addon card */
.wpseobot-addon-card {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}

.wpseobot-addon-card:hover {
    box-shadow: 0 8px 24px rgba(0, 0, 0, .07);
    transform: translateY(-2px);
}

.wpseobot-addon-active {
    border-color: #6366f1;
    box-shadow: 0 0 0 2px rgba(99, 102, 241, .15);
}

.wpseobot-addon-toggling {
    opacity: .65;
    pointer-events: none;
}

/* Card header band */
.wpseobot-addon-card-header {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 20px 18px 18px;
}

.wpseobot-addon-icon {
    font-size: 36px;
    line-height: 1;
    flex-shrink: 0;
    margin-top: 2px;
}

.wpseobot-addon-title-wrap {
    flex: 1;
    min-width: 0;
}

.wpseobot-addon-name-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 3px;
}

.wpseobot-addon-name-row h2 {
    font-size: 15px;
    font-weight: 700;
    color: #1e293b;
    margin: 0;
    line-height: 1.2;
}

.wpseobot-addon-tagline {
    font-size: 12px;
    color: #64748b;
    margin: 0;
}

/* Badges */
.wpseobot-addon-badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 9px;
    border-radius: 20px;
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    white-space: nowrap;
}

.wpseobot-addon-badge-green {
    background: #dcfce7;
    color: #16a34a;
}

.wpseobot-addon-badge-purple {
    background: #ede9fe;
    color: #7c3aed;
}

/* Toggle switch */
.wpseobot-addon-toggle {
    display: inline-block;
    position: relative;
    width: 42px;
    height: 24px;
    flex-shrink: 0;
    margin-top: 2px;
    cursor: pointer;
}

.wpseobot-addon-checkbox {
    display: none;
}

.wpseobot-addon-toggle-slider {
    position: absolute;
    inset: 0;
    background: #cbd5e1;
    border-radius: 999px;
    transition: background .2s;
}

.wpseobot-addon-toggle-slider::after {
    content: '';
    position: absolute;
    top: 3px;
    left: 3px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .2);
    transition: transform .2s;
}

.wpseobot-addon-checkbox:checked ~ .wpseobot-addon-toggle-slider,
.wpseobot-addon-checkbox:checked + .wpseobot-addon-toggle-slider {
    background: #6366f1;
}

.wpseobot-addon-checkbox:checked ~ .wpseobot-addon-toggle-slider::after,
.wpseobot-addon-checkbox:checked + .wpseobot-addon-toggle-slider::after {
    transform: translateX(18px);
}

/* Card body */
.wpseobot-addon-body {
    padding: 0 18px 18px;
    flex: 1;
}

.wpseobot-addon-description {
    font-size: 12.5px;
    color: #475569;
    line-height: 1.6;
    margin: 0 0 14px;
}

/* Features list */
.wpseobot-addon-features {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.wpseobot-addon-features li {
    font-size: 12.5px;
    color: #334155;
    display: flex;
    align-items: flex-start;
    gap: 6px;
}

.wpseobot-addon-features li .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    margin-top: 1px;
}

/* Card footer */
.wpseobot-addon-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 18px;
    background: #f8fafc;
    border-top: 1px solid #f1f5f9;
}

.wpseobot-addon-status {
    display: flex;
    align-items: center;
    gap: 7px;
}

.wpseobot-addon-status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

.wpseobot-addon-status-active {
    background: #22c55e;
    box-shadow: 0 0 0 3px rgba(34, 197, 94, .2);
}

.wpseobot-addon-status-inactive {
    background: #cbd5e1;
}

.wpseobot-addon-status-label {
    font-size: 12px;
    color: #94a3b8;
}

.wpseobot-addon-active .wpseobot-addon-status-label {
    color: #16a34a;
}

.wpseobot-addon-docs-link {
    font-size: 12px;
    color: #6366f1;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 2px;
}

.wpseobot-addon-docs-link:hover {
    text-decoration: underline;
    color: #4338ca;
}

.wpseobot-addon-docs-link .dashicons {
    font-size: 14px;
    width: 14px;
    height: 14px;
}

/* "More coming soon" footer strip */
.wpseobot-addons-more {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 32px;
    padding: 14px 18px;
    background: #f8fafc;
    border: 1px dashed #cbd5e1;
    border-radius: 10px;
    font-size: 13px;
    color: #94a3b8;
}

.wpseobot-addons-more .dashicons {
    color: #6366f1;
}

/* Responsive */
@media (max-width: 782px) {
    .wpseobot-addons-header {
        flex-direction: column;
    }

    .wpseobot-addons-grid {
        grid-template-columns: 1fr;
    }
}

/* ─────────────────── Users Optimizer ─────────────────── */

.wpseobot-users-toolbar {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}

.wpseobot-users-table {
    border-collapse: collapse;
    width: 100%;
    background: #fff;
    border: 1px solid #c3c4c7;
    border-radius: 4px;
}

.wpseobot-users-table th,
.wpseobot-users-table td {
    padding: 8px 12px;
    border-bottom: 1px solid #f0f0f1;
    text-align: left;
    font-size: 13px;
    vertical-align: middle;
}

.wpseobot-users-table th {
    background: #f6f7f7;
    font-weight: 600;
    color: #1d2327;
    border-bottom: 1px solid #c3c4c7;
}

.wpseobot-users-table tr:hover {
    background: #f6f7f7;
}

.wpseobot-users-table .check-column {
    width: 36px;
    text-align: center;
}

.wpseobot-users-table .row-actions {
    visibility: hidden;
    font-size: 12px;
    margin-top: 2px;
}

.wpseobot-users-table tr:hover .row-actions {
    visibility: visible;
}

/* Score badges */
.wpseobot-score-badge {
    display: inline-block;
    font-size: 12px;
    font-weight: 600;
    padding: 2px 10px;
    border-radius: 10px;
    line-height: 1.6;
}

.wpseobot-score-good {
    background: #e6f4ea;
    color: #137333;
}

.wpseobot-score-ok {
    background: #fef7e0;
    color: #b06000;
}

.wpseobot-score-poor {
    background: #fce8e6;
    color: #c5221f;
}

/* Issue badges */
.wpseobot-user-badge {
    display: inline-block;
    font-size: 11px;
    padding: 1px 8px;
    border-radius: 8px;
    line-height: 1.6;
    margin: 1px 2px;
    white-space: nowrap;
}

.wpseobot-badge-red {
    background: #fce8e6;
    color: #c5221f;
}

.wpseobot-badge-amber {
    background: #fef7e0;
    color: #b06000;
}

.wpseobot-badge-gray {
    background: #f0f0f1;
    color: #50575e;
}

/* Bulk actions */
.wpseobot-users-bulk {
    display: none;
    align-items: center;
    gap: 8px;
    margin-top: 12px;
    padding: 10px 14px;
    background: #f6f7f7;
    border: 1px solid #c3c4c7;
    border-radius: 4px;
}

/* Optimisation modal */
.wpseobot-user-opt-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.wpseobot-user-opt-header h3 {
    margin: 0;
    font-size: 16px;
}

.wpseobot-user-opt-section {
    margin-bottom: 14px;
}

.wpseobot-user-opt-section h4 {
    margin: 0 0 6px;
    font-size: 13px;
    color: #50575e;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.wpseobot-user-bio-preview {
    background: #f6f7f7;
    padding: 10px 14px;
    border-radius: 4px;
    border-left: 3px solid #c3c4c7;
    font-style: italic;
    color: #50575e;
    margin: 0;
}

.wpseobot-user-recs {
    margin: 0;
    padding: 0;
    list-style: none;
}

.wpseobot-user-recs li {
    padding: 6px 0;
    border-bottom: 1px solid #f0f0f1;
    font-size: 13px;
}

.wpseobot-user-recs li:last-child {
    border-bottom: none;
}

.wpseobot-spinner-wrap {
    text-align: center;
    padding: 40px 0;
    font-size: 14px;
    color: #50575e;
}

/* Responsive */
@media (max-width: 782px) {
    .wpseobot-users-toolbar {
        flex-direction: column;
        align-items: flex-start;
    }

    .wpseobot-users-table th:nth-child(2),
    .wpseobot-users-table td:nth-child(2) {
        display: none; /* hide avatar on mobile */
    }
}

/* ─────────────────── Categories Optimizer ─────────────────── */

/* Summary cards */
.wpseobot-cat-summary {
    display: flex;
    gap: 12px;
    margin-bottom: 18px;
    flex-wrap: wrap;
}

.wpseobot-cat-stat-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    background: #fff;
    border: 1px solid #c3c4c7;
    border-radius: 6px;
    padding: 14px 24px;
    min-width: 100px;
}

.wpseobot-cat-stat-card.wpseobot-cat-stat-good {
    border-color: #00a32a;
    background: #f0faf0;
}

.wpseobot-cat-stat-card.wpseobot-cat-stat-warn {
    border-color: #dba617;
    background: #fef9ee;
}

.wpseobot-cat-stat-card.wpseobot-cat-stat-bad {
    border-color: #d63638;
    background: #fef6f6;
}

.wpseobot-cat-stat-num {
    font-size: 28px;
    font-weight: 700;
    line-height: 1;
    color: #1d2327;
}

.wpseobot-cat-stat-good .wpseobot-cat-stat-num { color: #00a32a; }
.wpseobot-cat-stat-warn .wpseobot-cat-stat-num { color: #b06000; }
.wpseobot-cat-stat-bad .wpseobot-cat-stat-num  { color: #d63638; }

.wpseobot-cat-stat-label {
    font-size: 12px;
    color: #50575e;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    margin-top: 4px;
}

/* Table */
.wpseobot-categories-table {
    border-collapse: collapse;
    width: 100%;
    background: #fff;
    border: 1px solid #c3c4c7;
    border-radius: 4px;
}

.wpseobot-categories-table th,
.wpseobot-categories-table td {
    padding: 8px 10px;
    border-bottom: 1px solid #f0f0f1;
    text-align: left;
    font-size: 13px;
    vertical-align: middle;
}

.wpseobot-categories-table th {
    background: #f6f7f7;
    font-weight: 600;
    color: #1d2327;
    border-bottom: 1px solid #c3c4c7;
}

.wpseobot-categories-table tr:hover {
    background: #f6f7f7;
}

.wpseobot-categories-table .check-column {
    width: 36px;
    text-align: center;
}

.wpseobot-categories-table .row-actions {
    visibility: hidden;
    font-size: 12px;
    margin-top: 2px;
}

.wpseobot-categories-table tr:hover .row-actions {
    visibility: visible;
}

/* Verdict badges */
.wpseobot-verdict-badge {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 10px;
    border-radius: 10px;
    line-height: 1.6;
    letter-spacing: 0.3px;
    white-space: nowrap;
}

.wpseobot-verdict-keep {
    background: #e6f4ea;
    color: #137333;
}

.wpseobot-verdict-delete {
    background: #fce8e6;
    color: #c5221f;
}

.wpseobot-verdict-merge {
    background: #e8f0fe;
    color: #1a73e8;
}

/* Bulk bar */
.wpseobot-cat-bulk {
    display: none;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    background: #f6f7f7;
    border: 1px solid #c3c4c7;
    border-radius: 4px;
}

/* ── AI Generate Categories Modal ── */

.wpseobot-gen-overview {
    background: #f0f6fc;
    border: 1px solid #c3d1e8;
    border-radius: 6px;
    padding: 12px 16px;
    margin-bottom: 14px;
    font-size: 13px;
    color: #1d2327;
    line-height: 1.5;
}

/* ── Analyze Posts Table ── */

.wpseobot-analyze-table {
    border-collapse: collapse;
    width: 100%;
    background: #fff;
    border: 1px solid #c3c4c7;
    border-radius: 4px;
    font-size: 13px;
}

.wpseobot-analyze-table th,
.wpseobot-analyze-table td {
    padding: 8px 10px;
    border-bottom: 1px solid #f0f0f1;
    text-align: left;
    vertical-align: middle;
}

.wpseobot-analyze-table th {
    background: #f6f7f7;
    font-weight: 600;
    color: #1d2327;
    border-bottom: 1px solid #c3c4c7;
}

.wpseobot-analyze-table tr:hover {
    background: #f9f9f9;
}

.wpseobot-analyze-reason {
    font-size: 12px;
    color: #50575e;
    max-width: 260px;
}

/* Analyze badges */
.wpseobot-analyze-badge {
    display: inline-block;
    font-size: 11px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 10px;
    white-space: nowrap;
    line-height: 1.6;
}

.wpseobot-analyze-keep {
    background: #e6f4ea;
    color: #137333;
}

.wpseobot-analyze-recat {
    background: #e8f0fe;
    color: #1a73e8;
}

.wpseobot-analyze-repos {
    background: #fef9ee;
    color: #b06000;
}

.wpseobot-analyze-both {
    background: #fce8e6;
    color: #c5221f;
}

/* Intent & difficulty mini-badges */
.wpseobot-intent-badge {
    display: inline-block;
    font-size: 10px;
    padding: 1px 6px;
    border: 1px solid;
    border-radius: 8px;
    margin-left: 4px;
    text-transform: capitalize;
}

.wpseobot-diff-badge {
    display: inline-block;
    font-size: 10px;
    font-weight: 700;
    padding: 1px 6px;
    border-radius: 8px;
    color: #fff;
    margin-left: 4px;
    text-transform: uppercase;
}

.wpseobot-analyze-rec-cats {
    margin-bottom: 4px;
}

.wpseobot-analyze-rec-kw code {
    font-size: 12px;
    background: #f0f6fc;
    padding: 1px 5px;
    border-radius: 3px;
}

.wpseobot-gen-summary-bar {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 16px;
    font-size: 13px;
}

.wpseobot-gen-stat {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #50575e;
}

.wpseobot-gen-stat strong {
    font-size: 18px;
    color: #1d2327;
}

.wpseobot-gen-cat-list {
    max-height: 420px;
    overflow-y: auto;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
}

.wpseobot-gen-cat-row {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 14px;
    border-bottom: 1px solid #f0f0f1;
    transition: background 0.15s;
}

.wpseobot-gen-cat-row:last-child {
    border-bottom: none;
}

.wpseobot-gen-cat-row:hover {
    background: #f9f9f9;
}

.wpseobot-gen-cat-check {
    flex-shrink: 0;
    padding-top: 2px;
}

.wpseobot-gen-cat-info {
    flex: 1;
    min-width: 0;
}

.wpseobot-gen-cat-top {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 4px;
}

.wpseobot-gen-cat-top strong {
    font-size: 14px;
}

.wpseobot-gen-parent {
    font-size: 12px;
    color: #787c82;
}

.wpseobot-gen-rename {
    font-size: 12px;
    color: #b06000;
    font-style: italic;
}

.wpseobot-gen-cat-desc {
    font-size: 12px;
    color: #50575e;
    line-height: 1.4;
    margin-bottom: 3px;
}

.wpseobot-gen-cat-reason {
    font-size: 11px;
    color: #787c82;
    line-height: 1.4;
}

.wpseobot-gen-cat-reason .dashicons {
    font-size: 14px;
    width: 14px;
    height: 14px;
    vertical-align: text-bottom;
    color: #dba617;
}

/* Responsive */
@media (max-width: 782px) {
    .wpseobot-cat-summary {
        flex-direction: column;
    }

    .wpseobot-categories-table .column-slug,
    .wpseobot-categories-table .column-parent {
        display: none;
    }
}

/* ─────────────────── Quick Create (Merged Article Creator) ─────────────────── */

.wpseobot-quick-create {
    background: linear-gradient(135deg, #f0f4ff 0%, #e8f0fe 100%);
    border: 2px solid #c7d2fe;
    border-radius: 16px;
    padding: 32px;
    margin-bottom: 24px;
    text-align: center;
}

.wpseobot-quick-label {
    font-size: 18px;
    font-weight: 700;
    color: #1e293b;
    margin: 0 0 16px;
}

.wpseobot-quick-input-row {
    display: flex;
    gap: 12px;
    max-width: 720px;
    margin: 0 auto;
}

.wpseobot-quick-input {
    flex: 1;
    padding: 14px 20px;
    font-size: 16px;
    border: 2px solid #cbd5e1;
    border-radius: 12px;
    background: #fff;
    transition: border-color .2s, box-shadow .2s;
    outline: none;
}

.wpseobot-quick-input:focus {
    border-color: #6366f1;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, .15);
}

.wpseobot-quick-input::placeholder {
    color: #94a3b8;
}

.wpseobot-quick-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 28px;
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    background: linear-gradient(135deg, #6366f1, #4f46e5);
    border: none;
    border-radius: 12px;
    cursor: pointer;
    white-space: nowrap;
    transition: transform .15s, box-shadow .15s;
}

.wpseobot-quick-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 16px rgba(99, 102, 241, .35);
}

.wpseobot-quick-btn:active {
    transform: translateY(0);
}

.wpseobot-quick-btn .dashicons {
    font-size: 18px;
    width: 18px;
    height: 18px;
}

/* ── Secondary action under the primary button ── */

.wpseobot-quick-secondary {
    margin: 12px 0 0;
    font-size: 13px;
    color: var(--sb-gray-500, #6b7280);
    text-align: center;
}

.wpseobot-quick-secondary .button-link {
    font-size: 13px;
    font-weight: 600;
    color: var(--sb-accent, #2271b1);
    text-decoration: none;
    padding: 0;
    margin-left: 4px;
}

.wpseobot-quick-secondary .button-link:hover {
    text-decoration: underline;
}

/* ── Inline notice for article generation feedback ── */

.wpseobot-article-notice {
    margin: 0 0 20px;
    border-left-width: 4px;
}

.wpseobot-article-notice p {
    margin: 0.6em 0;
    font-size: 13px;
}

/* ── Advanced Options (collapsible <details>) ── */

.wpseobot-advanced-options {
    margin-top: 20px;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
}

.wpseobot-advanced-options summary {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    color: #6366f1;
    padding: 6px 14px;
    border-radius: 8px;
    background: rgba(99, 102, 241, .06);
    transition: background .2s;
    list-style: none;
}

.wpseobot-advanced-options summary::-webkit-details-marker {
    display: none;
}

.wpseobot-advanced-options summary::before {
    content: "▸";
    font-size: 11px;
    transition: transform .2s;
}

.wpseobot-advanced-options[open] summary::before {
    transform: rotate(90deg);
}

.wpseobot-advanced-options summary:hover {
    background: rgba(99, 102, 241, .12);
}

.wpseobot-options-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 16px;
    margin-top: 16px;
    padding: 20px;
    background: #fff;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
}

.wpseobot-options-grid label {
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    color: #475569;
}

.wpseobot-options-grid input,
.wpseobot-options-grid select {
    padding: 8px 12px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    font-size: 14px;
    background: #f8fafc;
}

.wpseobot-options-grid input:focus,
.wpseobot-options-grid select:focus {
    border-color: #6366f1;
    box-shadow: 0 0 0 2px rgba(99, 102, 241, .12);
    outline: none;
}

.wpseobot-toggle-list {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 12px;
    padding: 16px 20px;
    background: #fff;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
}

.wpseobot-toggle-list label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 500;
    color: #334155;
    cursor: pointer;
}

.wpseobot-toggle-list input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: #6366f1;
}

/* ── Content Ideas Section ── */

.wpseobot-ideas-section {
    margin-top: 36px;
}

.wpseobot-ideas-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 20px;
}

.wpseobot-ideas-header h2 {
    font-size: 18px;
    font-weight: 700;
    color: #1e293b;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.wpseobot-ideas-subtitle {
    font-size: 13px;
    color: #64748b;
    margin: 0;
}

.wpseobot-ideas-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.wpseobot-ideas-actions .button {
    border-radius: 8px;
    font-weight: 600;
}

.wpseobot-ideas-filter select {
    border-radius: 8px;
    padding: 4px 8px;
    border: 1px solid #cbd5e1;
    font-size: 13px;
}

/* ── Plan Stats Bar ── */

.wpseobot-plan-stats-bar {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.wpseobot-plan-stat {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    background: #f1f5f9;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    color: #475569;
}

.wpseobot-plan-stat strong {
    font-size: 14px;
    color: #1e293b;
}

/* ── Idea Cards ── */

.wpseobot-idea-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 20px;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    margin-bottom: 10px;
    transition: border-color .2s, box-shadow .2s;
}

.wpseobot-idea-card:hover {
    border-color: #c7d2fe;
    box-shadow: 0 2px 8px rgba(99, 102, 241, .08);
}

.wpseobot-idea-main {
    flex: 1;
    min-width: 0;
}

.wpseobot-idea-title-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 4px;
}

.wpseobot-idea-topic {
    font-size: 15px;
    font-weight: 600;
    color: #1e293b;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.wpseobot-idea-meta {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    font-size: 12px;
    color: #64748b;
}

.wpseobot-idea-meta span {
    display: inline-flex;
    align-items: center;
    gap: 3px;
}

.wpseobot-idea-meta .dashicons {
    font-size: 13px;
    width: 13px;
    height: 13px;
}

.wpseobot-idea-actions {
    display: flex;
    gap: 6px;
    flex-shrink: 0;
}

.wpseobot-idea-actions .button {
    border-radius: 8px;
    padding: 4px 10px;
    font-size: 12px;
    font-weight: 600;
}

.wpseobot-idea-actions .button-primary {
    background: #6366f1;
    border-color: #4f46e5;
}

.wpseobot-idea-actions .button-primary:hover {
    background: #4f46e5;
}

.wpseobot-idea-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .3px;
}

.wpseobot-idea-badge.badge-planned   { background: #e0e7ff; color: #4338ca; }
.wpseobot-idea-badge.badge-approved  { background: #d1fae5; color: #065f46; }
.wpseobot-idea-badge.badge-generating{ background: #fef3c7; color: #92400e; }
.wpseobot-idea-badge.badge-review    { background: #fce7f3; color: #9d174d; }
.wpseobot-idea-badge.badge-published { background: #d1fae5; color: #065f46; }
.wpseobot-idea-badge.badge-declined  { background: #fee2e2; color: #991b1b; }

.wpseobot-plan-empty {
    text-align: center;
    padding: 40px 20px;
    color: #94a3b8;
}

.wpseobot-plan-empty .dashicons {
    font-size: 40px;
    width: 40px;
    height: 40px;
    color: #cbd5e1;
    margin-bottom: 12px;
}

.wpseobot-plan-empty h3 {
    margin: 0 0 4px;
    color: #64748b;
}

.wpseobot-plan-empty p {
    margin: 0;
    font-size: 13px;
}

/* ── Responsive Quick Create ── */

@media (max-width: 600px) {
    .wpseobot-quick-create {
        padding: 20px 16px;
    }

    .wpseobot-quick-input-row {
        flex-direction: column;
    }

    .wpseobot-quick-btn {
        justify-content: center;
    }

    .wpseobot-options-grid {
        grid-template-columns: 1fr;
    }

    .wpseobot-idea-card {
        flex-direction: column;
        align-items: stretch;
    }

    .wpseobot-idea-actions {
        justify-content: flex-end;
    }

    .wpseobot-ideas-header {
        flex-direction: column;
        align-items: flex-start;
    }
}
