
/* Content Cluster Intelligence — Admin styles v0.1 */

/* ── Hero action buttons (inside dark hero) ─────────────────── */
.clusterlane-site-analysis-card {
    background: #fff;
    border: 1.5px solid #e2e8f0;
    border-radius: 14px;
    margin-bottom: 20px;
    box-shadow: 0 2px 8px rgba(15,23,42,.06);
}
.clusterlane-site-analysis-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    padding: 22px 28px;
    cursor: pointer;
    list-style: none;
    border-radius: 14px;
}
.clusterlane-site-analysis-header::-webkit-details-marker { display: none; }
.clusterlane-site-analysis-header::after {
    content: "▸";
    font-size: .95rem;
    color: #94a3b8;
    transition: transform 120ms;
    flex-shrink: 0;
}
details.clusterlane-site-analysis-card[open] > .clusterlane-site-analysis-header::after {
    transform: rotate(90deg);
}
details.clusterlane-site-analysis-card[open] > .clusterlane-site-analysis-header {
    border-radius: 14px 14px 0 0;
    border-bottom: 1px solid #f1f5f9;
}
.clusterlane-site-analysis-title {
    display: flex;
    align-items: center;
    gap: 14px;
}
.clusterlane-site-analysis-icon {
    font-size: 1.7rem;
    line-height: 1;
    flex-shrink: 0;
}
.clusterlane-site-analysis-title strong {
    display: block;
    font-size: 16px;
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -.01em;
}
.clusterlane-site-analysis-sub {
    font-size: 12.5px;
    color: #64748b;
    margin-top: 2px;
}
#clusterlane-site-analysis-body {
    padding: 4px 28px 28px;
}
.clusterlane-site-analysis-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}
.clusterlane-site-analysis-meta {
    font-size: 11px;
    color: #94a3b8;
}
.clusterlane-sa-btn-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}
.clusterlane-sa-ai-badge {
    font-size: 10px;
    color: #94a3b8;
    letter-spacing: .02em;
    white-space: nowrap;
}
.clusterlane-ai-vital-inc { font-style: normal; font-size: 11px; color: #94a3b8; margin-left: 2px; }
.clusterlane-sa-ai-badge--pro { font-size: 12px; color: #6d28d9; font-weight: 600; }
.clusterlane-site-analysis-body-inner {
    margin-top: 0;
    border-top: none;
    padding-top: 4px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}
@media (max-width: 800px) {
    .clusterlane-site-analysis-body-inner { grid-template-columns: 1fr; }
}
.clusterlane-sa-overview {
    grid-column: 1 / -1;
    font-size: 13.5px;
    line-height: 1.7;
    color: #1e293b;
    background: #f8fafc;
    border-left: 3px solid #2271b1;
    border-radius: 0 6px 6px 0;
    padding: 14px 18px;
    margin-bottom: 4px;
}
.clusterlane-sa-overview .clusterlane-sa-section-title {
    text-transform: none;
    letter-spacing: 0;
    font-size: 14px;
    font-weight: 700;
    color: #1e3a8a;
    margin-bottom: 8px;
}
.clusterlane-sa-section-title {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: #334155;
    margin: 0 0 12px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.clusterlane-sa-strengths {
    grid-column: 1 / -1;
}
.clusterlane-sa-strength-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 10px;
}
.clusterlane-sa-strength {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-radius: 8px;
    padding: 10px 12px;
}
.clusterlane-sa-strength strong {
    display: block;
    font-size: 12.5px;
    color: #14532d;
    margin-bottom: 4px;
}
.clusterlane-sa-strength span {
    font-size: 12px;
    color: #166534;
    line-height: 1.45;
}
.clusterlane-sa-opportunities {
    grid-column: 1 / -1;
}
.clusterlane-sa-opp-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 10px;
}
.clusterlane-sa-opp {
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 8px;
    padding: 10px 12px;
}
.clusterlane-sa-opp strong {
    display: block;
    font-size: 12.5px;
    color: #92400e;
    margin-bottom: 4px;
}
.clusterlane-sa-opp span {
    font-size: 12px;
    color: #78350f;
    line-height: 1.45;
}
.clusterlane-sa-weak { grid-column: 1 / -1; }
.clusterlane-sa-weak-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.clusterlane-sa-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 11.5px;
    font-weight: 600;
}
.clusterlane-sa-chip em {
    font-style: normal;
    font-weight: 700;
    opacity: .75;
}
.clusterlane-sa-chip--warn { background: #fef3c7; color: #92400e; border: 1px solid #fde68a; }
.clusterlane-sa-chip--critical { background: #fee2e2; color: #991b1b; border: 1px solid #fca5a5; }
.clusterlane-sa-actions {
    grid-column: 1 / -1;
}
.clusterlane-sa-action-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.clusterlane-sa-action {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    padding: 10px 12px;
}
.clusterlane-sa-action-num {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    background: #2563eb;
    color: #fff;
    border-radius: 50%;
    font-size: 11px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}
.clusterlane-sa-action-text strong {
    display: block;
    font-size: 13px;
    color: #1e3a8a;
    margin-bottom: 2px;
}
.clusterlane-sa-action-text span {
    font-size: 12px;
    color: #1d4ed8;
    line-height: 1.45;
}

/* ── Step labels (AI Link Suggestions) ──────────────────────── */
.clusterlane-wrap { max-width: 1200px; }
.clusterlane-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 1.6rem !important;
    font-weight: 800 !important;
    letter-spacing: -.01em;
    color: #16223a;
    margin-bottom: 24px !important;
}
.clusterlane-title .dashicons { font-size: 1.4rem; width: 1.4rem; height: 1.4rem; color: #2271b1; }

/* Summary cards */

/* Actions / scan section */
.clusterlane-scan-section {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    padding: 22px 24px;
    margin-top: 24px;
    box-shadow: 0 1px 3px rgba(15,23,42,.06), 0 4px 12px rgba(15,23,42,.06);
}

/* "All Clusters" section on the Dashboard had no card styling at all —
   give it the same rounded/shadowed box as everything else. */
.clusterlane-scan-section h2 { margin-top: 0; }

/* Bolder, more distinctive section headings ("All Clusters", etc.) */
.clusterlane-scan-section h2 {
    font-size: 1.3rem;
    font-weight: 800;
    letter-spacing: -.01em;
    color: #0f172a;
}

/* ── Action button grid ──────────────────────────────────────── */
.clusterlane-action-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    /* Equal width: enough for the longest label */
    min-width: 158px;
    justify-content: center;
    padding: 9px 16px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    text-decoration: none;
    transition: background 120ms, box-shadow 120ms, opacity 120ms;
    white-space: nowrap;
    box-sizing: border-box;
}
.clusterlane-action-btn:focus-visible {
    outline: 2px solid #2271b1;
    outline-offset: 2px;
}

/* Primary — one colour for the main action everywhere (0.98.186: bright blue,
   as Apply in the lists; navy is kept for headers and tabs). */
.clusterlane-action-btn--primary {
    background: #2563eb;
    color: #fff;
    border: 1.5px solid transparent;
    box-shadow: 0 1px 3px rgba(37,99,235,.25), 0 3px 8px rgba(37,99,235,.15);
}
.clusterlane-action-btn--primary:hover {
    background: #1d4ed8;
    box-shadow: 0 2px 6px rgba(37,99,235,.30), 0 4px 12px rgba(37,99,235,.20);
    color: #fff;
    text-decoration: none;
}
/* Disabled reads as disabled: grey, not a paler blue that still looks clickable. */
.clusterlane-action-btn--primary:disabled, .clusterlane-action-btn--primary[disabled] {
    background: #e2e8f0;
    color: #94a3b8;
    opacity: 1;
    cursor: not-allowed;
    box-shadow: none;
}

/* Secondary — sync / compute */
.clusterlane-action-btn--secondary {
    background: #fff;
    color: #1e3a5f;
    border: 1.5px solid #c4d4e8;
    box-shadow: 0 1px 2px rgba(15,23,42,.05);
}
.clusterlane-action-btn--secondary:hover {
    background: #f0f6ff;
    border-color: #93b8d8;
    color: #1e3a5f;
    text-decoration: none;
    box-shadow: 0 2px 6px rgba(15,23,42,.08);
}
.clusterlane-action-btn--secondary:disabled, .clusterlane-action-btn--secondary[disabled] {
    opacity: .5;
    cursor: not-allowed;
    box-shadow: none;
}

/* Divider between action + nav groups */

/* Tertiary — cluster admin / settings */
.clusterlane-action-btn--tertiary {
    background: #f8fafc;
    color: #475569;
    border: 1.5px solid #e2e8f0;
}
.clusterlane-action-btn--tertiary:hover {
    background: #f1f5f9;
    color: #1e293b;
    border-color: #cbd5e1;
    text-decoration: none;
}

/* Danger — stop */
.clusterlane-action-btn--danger {
    background: #fff0f0;
    color: #b32d2e;
    border: 1.5px solid #f5c0c0;
}
.clusterlane-action-btn--danger:hover {
    background: #ffe4e4;
    border-color: #f4a0a0;
    color: #9a1f1f;
    text-decoration: none;
}
.clusterlane-action-btn__icon {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    opacity: .85;
}
.clusterlane-action-btn--primary .clusterlane-action-btn__icon { opacity: .9; }
@media (max-width: 700px) {
    .clusterlane-action-btn { min-width: 0; flex: 1 1 calc(50% - 4px); }
}

/* Progress bar */
.clusterlane-progress-bar-wrap {
    background: #f0f0f0;
    border-radius: 4px;
    height: 10px;
    overflow: hidden;
    margin-bottom: 8px;
}
.clusterlane-progress-bar {
    height: 100%;
    background: #2271b1;
    border-radius: 4px;
    transition: width .3s ease;
}
.clusterlane-progress-label { font-size: .82rem; color: #666; }

/* Status messages */
.clusterlane-scan-status {
    margin-top: 12px;
    font-size: .88rem;
    color: #444;
    min-height: 20px;
}
.clusterlane-scan-status.success { color: #1a7f37; }
.clusterlane-scan-status.error { color: #b32d2e; }
.clusterlane-scan-status.warn { color: #b45309; }

/* Cluster table */

/* Archetype pills */
.clusterlane-archetype-pill {
    display: inline-block;
    font-size: .75rem;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 10px;
    background: #e8e8e8;
    color: #444;
}
.clusterlane-archetype-balanced-mesh { background: #d4edda; color: #155724; }
.clusterlane-archetype-developed-cluster { background: #cce5ff; color: #004085; }
.clusterlane-archetype-authority-pyramid { background: #d1ecf1; color: #0c5460; }
.clusterlane-archetype-emerging-cluster { background: #e8e8e8; color: #555; }
.clusterlane-archetype-weak-structure { background: #fff3cd; color: #856404; }
.clusterlane-archetype-fragmented { background: #f8d7da; color: #721c24; }
.clusterlane-archetype-over-centralized-hub { background: #fce8d5; color: #7a3b00; }

/* =========================================================
   Ported from the "nice" design (museumlite-intelligence):
   panel cards, archetype distribution bars, health gauge,
   restyled cluster table + filter box.
========================================================= */
.clusterlane-panel-card {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    padding: 22px 24px;
    box-shadow: 0 1px 3px rgba(15,23,42,.06), 0 4px 12px rgba(15,23,42,.06);
}
.clusterlane-panel-card h2 {
    margin: 0 0 18px;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
}

/* Archetype distribution bars */
.clusterlane-arch-dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; }

/* Health gauge */

/* Filter box above the cluster table */
.clusterlane-search-wrap { position: relative; width: 100%; max-width: 340px; }
.clusterlane-search-icon {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: #9ca3af;
    pointer-events: none;
    transition: color .15s;
}

/*
 * Every .clusterlane-search-input rule below is scoped under .clusterlane-search-wrap
 * (not just .clusterlane-search-input alone) on purpose: this site loads a
 * global forms.css whose `input[type="text"], input[type="search"], ...`
 * rule has specificity (0,1,1) — element + attribute selector — which
 * beats a bare single-class selector at (0,1,0), regardless of load
 * order. Nesting under the wrapper class raises us to (0,2,0), which
 * wins cleanly without needing !important.
 */
.clusterlane-search-wrap .clusterlane-search-input {
    width: 100%;
    height: 34px;
    padding: 0 12px 0 38px;
    border: 1.5px solid #cbd5e1;
    border-radius: 6px;
    font-size: 13px;
    font-family: inherit;
    color: #0f172a;
    background: #fff;
    box-shadow: 0 1px 2px rgba(15,23,42,.04);
    box-sizing: border-box;
    transition: border-color .15s, box-shadow .15s;
}
.clusterlane-search-wrap .clusterlane-search-input::placeholder { color: #94a3b8; }
.clusterlane-search-wrap .clusterlane-search-input:hover { border-color: #94a3b8; }
.clusterlane-search-wrap .clusterlane-search-input:focus {
    outline: none;
    border-color: #2271b1;
    box-shadow: 0 0 0 2px rgba(34,113,177,.15);
}
.clusterlane-search-wrap:focus-within .clusterlane-search-icon { color: #2271b1; }
.clusterlane-type-filters { display: flex; gap: 6px; }
.clusterlane-type-filter {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    padding: 6px 14px;
    font-size: 12px;
    font-weight: 600;
    color: #64748b;
    cursor: pointer;
    transition: all .15s;
}
.clusterlane-type-filter:hover { border-color: #94a3b8; color: #334155; }
.clusterlane-type-filter.active { background: #16223a; border-color: #16223a; color: #fff; }

/* Restyled "All Clusters" table (replaces the plain wp-list-table look) */

/* =========================================================
   HERO — dark gradient banner replacing the old title + flat
   KPI-card row, with health ring + archetype mix folded in.
========================================================= */
.clusterlane-hero {
    background: linear-gradient(135deg, #16223a 0%, #22314f 100%);
    border-radius: 18px;
    padding: 28px 32px 32px;
    color: #fff;
    box-shadow: 0 12px 32px rgba(15,23,42,.20);
    margin-bottom: 28px;
}
.clusterlane-hero-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 24px;
}
.clusterlane-hero-title { display: flex; align-items: center; gap: 14px; }
.clusterlane-hero-title .dashicons { font-size: 32px; width: 32px; height: 32px; color: #60a5fa; }
.clusterlane-hero-title h1 {
    margin: 0;
    font-size: 26px;
    font-weight: 900;
    color: #fff;
    letter-spacing: -.03em;
    line-height: 1.1;
    text-shadow: 0 1px 4px rgba(0,0,0,.2);
}
.clusterlane-hero-version {
    display: inline-block;
    margin-top: 2px;
    font-size: 11px;
    font-weight: 600;
    color: #93c5fd;
    background: rgba(96,165,250,.15);
    padding: 1px 8px;
    border-radius: 999px;
}
.clusterlane-hero-lastscan { font-size: 12px; color: #94a3b8; padding-top: 6px; }
.clusterlane-hero-body {
    display: grid;
    grid-template-columns: 1.3fr auto 1.4fr;
    gap: 28px;
    align-items: center;
}
@media (max-width: 1000px) {
    .clusterlane-hero-body { grid-template-columns: 1fr; }
}

/* Compact stat grid (left) */
.clusterlane-hero-stats {
    display: grid;
    grid-template-columns: repeat(3, auto);
    gap: 18px 28px;
}
.clusterlane-hero-stat { display: flex; flex-direction: column; gap: 2px; }
.clusterlane-hero-stat-value { font-size: 24px; font-weight: 800; color: #fff; line-height: 1; }
.clusterlane-hero-stat-value--green { color: #34d399; }
.clusterlane-hero-stat-value--amber { color: #fbbf24; }
.clusterlane-hero-stat-value--red { color: #f87171; }
.clusterlane-hero-stat-label {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
}

/* Big health ring (middle) */
.clusterlane-hero-health { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.clusterlane-hero-ring { position: relative; width: 132px; height: 132px; }
.clusterlane-hero-ring svg { transform: rotate(-90deg); }
.clusterlane-hero-ring-bg { fill: none; stroke: rgba(255,255,255,.10); stroke-width: 12; }
.clusterlane-hero-ring-fill { fill: none; stroke-width: 12; stroke-linecap: round; transition: stroke-dashoffset .6s ease; }
.clusterlane-hero-ring-label {
    position: absolute; inset: 0;
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    line-height: 1;
}
.clusterlane-hero-ring-value { font-size: 28px; font-weight: 800; }
.clusterlane-hero-ring-sub { font-size: 10px; text-transform: uppercase; color: #94a3b8; letter-spacing: .06em; margin-top: 4px; }
.clusterlane-hero-health-desc { font-size: 12px; color: #94a3b8; text-align: center; max-width: 160px; }

/* Archetype stacked bar (right) */
.clusterlane-hero-archetypes { display: flex; flex-direction: column; gap: 10px; }
.clusterlane-hero-archetypes-label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #94a3b8;
    font-weight: 700;
}
.clusterlane-arch-stacked-bar {
    display: flex;
    width: 100%;
    height: 10px;
    border-radius: 999px;
    overflow: hidden;
    background: rgba(255,255,255,.08);
}
.clusterlane-arch-seg { height: 100%; transition: width .4s ease; }
.clusterlane-arch-stacked-legend { display: flex; flex-wrap: wrap; gap: 8px 16px; }
.clusterlane-arch-legend-item {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 12px; color: #cbd5e1;
}
.clusterlane-arch-legend-item strong { color: #fff; font-weight: 700; }

/* Row action buttons — small circular icon buttons instead of the
   default WP button/button-small look. */
.clusterlane-row-btn {
    width: 30px; height: 30px;
    display: inline-flex; align-items: center; justify-content: center;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    background: #fff;
    font-size: 13px;
    line-height: 1;
    cursor: pointer;
    transition: transform .12s, box-shadow .12s, background .12s, border-color .12s;
    padding: 0;
}
.clusterlane-row-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(15,23,42,.12);
}
.clusterlane-row-btn--delete:hover { background: #fef2f2; border-color: #fca5a5; }

/* Edit-cluster modal header: title left, cluster stats right. */
.clusterlane-modal-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding-right: 28px; /* clears the absolutely-positioned close (×) button */
}
.clusterlane-modal-title {
    margin: 0;
    font-size: 1.3rem;
    font-weight: 800;
    letter-spacing: -.01em;
    color: #16223a;
}
.clusterlane-modal-stats {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
    padding-top: 5px;
}
.clusterlane-modal-stat {
    font-size: .78rem;
    color: #64748b;
    white-space: nowrap;
}
.clusterlane-modal-stat strong { color: #0f172a; font-weight: 700; }
.clusterlane-modal-stat--type {
    font-weight: 600;
    color: #475569;
    background: #f1f5f9;
    padding: 3px 10px;
    border-radius: 999px;
}

/* Member rows in the modal's "Current members" list. */
.clusterlane-modal-member-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 8px 10px;
    border-bottom: 1px solid #f5f5f5;
}
.clusterlane-modal-member-row:last-child { border-bottom: none; }
.clusterlane-modal-member-title { font-size: .85rem; color: #1e293b; }
.clusterlane-modal-member-row .clusterlane-row-btn { width: 26px; height: 26px; font-size: 12px; flex-shrink: 0; }

/* Expand button overlaid on the graph canvas (top-right corner). */
.clusterlane-graph-expand-btn {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 5;
    background: #1d2327;
    color: #fff;
    border: none;
    border-radius: 999px;
    padding: 6px 14px;
    font-size: .78rem;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(15,23,42,.18);
    transition: background .15s, transform .12s;
}
.clusterlane-graph-expand-btn:hover { background: #16223a; transform: translateY(-1px); }

/* Divider marking where the graph-only stats (Entropy/Gini/Density/Links)
   join the base modal stats (Type/Articles/Health/Archetype) once the
   Graph tab has loaded. */
.clusterlane-modal-stat--graph-first { border-left: 1px solid #e2e8f0; padding-left: 10px; }

/* Status text + legend, in a rounded card below the graph canvas. */
.clusterlane-graph-overlay {
    margin-top: 10px;
    background: #fff;
    border: 1px solid #eef0f3;
    border-radius: 12px;
    padding: 8px 12px;
    box-shadow: 0 4px 14px -6px rgba(15,23,41,.12), 0 1px 4px rgba(15,23,41,.04);
}
.clusterlane-graph-status { font-size: .72rem; color: #7c8592; white-space: nowrap; }
.clusterlane-graph-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 6px;
    padding-top: 6px;
    border-top: 1px solid #f1f3f5;
}
.clusterlane-graph-legend-item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 10.5px;
    color: #475569;
    background: #f8fafc;
    border: 1px solid #eef0f3;
    border-radius: 999px;
    padding: 3px 9px 3px 7px;
    white-space: nowrap;
}

/* ---------------------------------------------------------------------
   Gap Analysis tab
------------------------------------------------------------------- */
.clusterlane-gap-loading {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 24px 8px;
    color: #64748b;
    font-size: .88rem;
}
.clusterlane-gap-spinner {
    width: 15px; height: 15px;
    border: 2px solid #e2e8f0;
    border-top-color: #16223a;
    border-radius: 50%;
    display: inline-block;
    animation: clusterlane-spin .7s linear infinite;
}
@keyframes clusterlane-spin { to { transform: rotate(360deg); } }
.clusterlane-gap-error {
    padding: 12px 14px;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 10px;
    color: #991b1b;
    font-size: .85rem;
    line-height: 1.6;
}
.clusterlane-gap-error a, .clusterlane-gap-retry {
    color: #b91c1c;
    font-weight: 600;
    text-decoration: underline;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    font-size: .85rem;
}
.clusterlane-gap-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}
.clusterlane-gap-badge {
    display: inline-block;
    font-size: .72rem;
    font-weight: 600;
    padding: 3px 10px;
    border-radius: 999px;
}
.clusterlane-gap-badge--cached { background: #f1f5f9; color: #64748b; }
.clusterlane-gap-badge--fresh { background: #dcfce7; color: #15803d; }
.clusterlane-gap-regenerate {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    padding: 5px 12px;
    font-size: .78rem;
    font-weight: 600;
    color: #475569;
    cursor: pointer;
    transition: border-color .15s, color .15s;
}
.clusterlane-gap-regenerate:hover { border-color: #94a3b8; color: #16223a; }
.clusterlane-gap-analysis {
    padding: 12px 14px;
    background: #f0f6fc;
    border-left: 3px solid #2271b1;
    border-radius: 0 10px 10px 0;
    font-size: .87rem;
    color: #1d2327;
    line-height: 1.6;
    margin-bottom: 16px;
}
.clusterlane-gap-suggestions {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 12px;
}
.clusterlane-gap-card {
    border: 1px solid #eef0f3;
    border-radius: 12px;
    padding: 14px;
    background: #fff;
    box-shadow: 0 1px 3px rgba(15,23,41,.04);
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.clusterlane-gap-card-title {
    font-weight: 700;
    font-size: .92rem;
    color: #16223a;
    line-height: 1.35;
}
.clusterlane-gap-card-rationale {
    font-size: .8rem;
    color: #64748b;
    line-height: 1.5;
    flex: 1;
}
.clusterlane-gap-draft-btn {
    align-self: flex-start;
    background: #16223a;
    color: #fff;
    border: none;
    border-radius: 999px;
    padding: 7px 14px;
    font-size: .78rem;
    font-weight: 600;
    cursor: pointer;
    transition: background .15s, transform .12s;
}
.clusterlane-gap-draft-btn:hover { background: #1d2b45; transform: translateY(-1px); }
.clusterlane-gap-draft-btn:disabled { opacity: .6; cursor: default; transform: none; }
.clusterlane-gap-draft-done {
    align-self: flex-start;
    font-size: .78rem;
    font-weight: 600;
    color: #15803d;
    text-decoration: none;
    background: #dcfce7;
    border-radius: 999px;
    padding: 7px 14px;
}
.clusterlane-gap-draft-done:hover { text-decoration: underline; }

/* ---------------------------------------------------------------------
   AI Link Suggestions page
------------------------------------------------------------------- */
.clusterlane-ls-search-results {
    position: relative;
    max-width: 420px;
    margin-top: 6px;
    border: 1px solid #eef0f3;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 8px 20px -6px rgba(15,23,41,.14);
    max-height: 240px;
    overflow-y: auto;
    z-index: 5;
}

/* ---------------------------------------------------------------------
   AI Link Suggestion — Apply modal
------------------------------------------------------------------- */
.clusterlane-ls-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(15,23,41,.55);
    z-index: 100000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}
.clusterlane-ls-modal {
    background: #fff;
    border-radius: 12px;
    width: 100%;
    max-width: 1320px;
    max-height: 92vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-shadow: 0 20px 60px -10px rgba(15,23,41,.35);
}
.clusterlane-ls-modal-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 20px 24px;
    border-bottom: 1px solid #eef0f3;
    flex-shrink: 0;
}
.clusterlane-ls-modal-header h2 { margin: 0 0 2px; font-size: 1.15rem; font-weight: 800; color: #16223a; }
.clusterlane-ls-modal-close {
    background: none;
    border: none;
    font-size: 1.5rem;
    line-height: 1;
    color: #94a3b8;
    cursor: pointer;
    padding: 2px 6px;
}
.clusterlane-ls-modal-close:hover { color: #16223a; }
.clusterlane-ls-modal-body {
    display: flex;
    flex: 1;
    overflow: hidden;
}
.clusterlane-ls-modal-preview-col {
    flex: 1.6;
    min-width: 0;
    padding: 20px 24px;
    overflow-y: auto;
    border-right: 1px solid #eef0f3;
}
.clusterlane-ls-modal-controls-col {
    flex: 1;
    min-width: 300px;
    max-width: 380px;
    padding: 20px 24px;
    overflow-x: hidden;
    overflow-y: auto;
    background: #fafbfc;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
}
.clusterlane-ls-modal-section-label {
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    font-weight: 700;
    color: #94a3b8;
    margin-bottom: 4px;
}
.clusterlane-ls-preview-frame {
    margin-top: 10px;
    border: 1px solid #eef0f3;
    border-radius: 10px;
    overflow: hidden;
    min-height: 500px;
}
.clusterlane-ls-preview-frame .clusterlane-gap-loading, .clusterlane-ls-preview-frame .clusterlane-gap-error {
    margin: 20px 24px;
}
.clusterlane-ls-preview-iframe {
    display: block;
    width: 100%;
    height: 560px;
    border: none;
}
.clusterlane-ls-field-label {
    display: block;
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    font-weight: 700;
    color: #64748b;
    margin: 14px 0 4px;
}
.clusterlane-ls-field-input, .clusterlane-ls-field-textarea {
    width: 100%;
    padding: 7px 11px;
    border: 1.5px solid #cbd5e1;
    border-radius: 6px;
    font-size: 13px;
    font-family: inherit;
    background: #fff;
    box-sizing: border-box;
}
.clusterlane-ls-field-textarea { resize: vertical; }
.clusterlane-ls-field-input:focus, .clusterlane-ls-field-textarea:focus {
    outline: none;
    border-color: #2271b1;
    box-shadow: 0 0 0 2px rgba(34,113,177,.15);
}
.clusterlane-ls-apply-final-btn {
    width: 100%;
    margin-top: auto;
    background: #16223a;
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 11px 16px;
    font-size: .88rem;
    font-weight: 700;
    cursor: pointer;
    transition: background .15s;
}
.clusterlane-ls-apply-final-btn:hover { background: #1d2b45; }
.clusterlane-ls-apply-final-btn:disabled { opacity: .65; cursor: default; }
.clusterlane-ls-apply-status { margin-top: 10px; font-size: .82rem; }
.clusterlane-ls-apply-success { color: #15803d; font-weight: 600; }
.clusterlane-ls-apply-success a { color: #15803d; text-decoration: underline; }

/* ── TMS Category Filters ─────────────────────────────────────── */
.clusterlane-wrap select.clusterlane-tms-select {
    font-size: 12.5px !important;
    font-weight: 500 !important;
    color: #0f172a !important;
    background-color: #fff !important;
    border: 1.5px solid #cbd5e1 !important;
    border-radius: 6px !important;
    padding: 6px 28px 6px 10px !important;
    height: auto !important;
    line-height: 1.4 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 16 16'%3E%3Cpath fill='%2364748b' d='M4 6l4 4 4-4'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 9px center !important;
    cursor: pointer !important;
    min-width: 155px !important;
    box-shadow: 0 1px 2px rgba(15,23,42,.05) !important;
    transition: border-color .15s, box-shadow .15s;
}
.clusterlane-wrap select.clusterlane-tms-select:hover {
    border-color: #94a3b8 !important;
}
.clusterlane-wrap select.clusterlane-tms-select:focus {
    outline: none !important;
    border-color: #16223a !important;
    box-shadow: 0 0 0 3px rgba(15,25,41,.08) !important;
}
.clusterlane-wrap select.clusterlane-tms-select:disabled {
    opacity: .45 !important;
    cursor: default !important;
}

/* ── Settings page form fields ───────────────────────────────── */
.clusterlane-settings-section .form-table { border-collapse: collapse; width: 100%; }
.clusterlane-settings-section .form-table th {
    width: 200px;
    padding: 12px 16px 12px 0;
    font-size: 13px;
    font-weight: 600;
    color: #374151;
    vertical-align: top;
    text-align: left;
}
.clusterlane-settings-section .form-table td {
    padding: 10px 0 14px;
    vertical-align: top;
}
.clusterlane-settings-section .form-table tr + tr th, .clusterlane-settings-section .form-table tr + tr td {
    border-top: 1px solid #f1f5f9;
}

/* Inputs */
.clusterlane-wrap .clusterlane-settings-section input[type="text"], .clusterlane-wrap .clusterlane-settings-section input[type="number"], .clusterlane-wrap .clusterlane-settings-section input[type="password"], .clusterlane-wrap .clusterlane-settings-section select, .clusterlane-wrap .clusterlane-settings-section textarea {
    font-size: 13px !important;
    font-family: inherit !important;
    color: #0f172a !important;
    background: #fff !important;
    border: 1.5px solid #cbd5e1 !important;
    border-radius: 6px !important;
    padding: 7px 11px !important;
    height: 36px !important;
    line-height: 20px !important;
    box-shadow: 0 1px 2px rgba(15,23,42,.04) !important;
    transition: border-color .15s, box-shadow .15s !important;
    box-sizing: border-box !important;
}
.clusterlane-wrap .clusterlane-settings-section input[type="text"]:focus, .clusterlane-wrap .clusterlane-settings-section input[type="number"]:focus, .clusterlane-wrap .clusterlane-settings-section input[type="password"]:focus, .clusterlane-wrap .clusterlane-settings-section select:focus, .clusterlane-wrap .clusterlane-settings-section textarea:focus {
    outline: none !important;
    border-color: #2271b1 !important;
    box-shadow: 0 0 0 2px rgba(34,113,177,.15) !important;
}
.clusterlane-wrap .clusterlane-settings-section select {
    appearance: none !important;
    -webkit-appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 16 16'%3E%3Cpath fill='%2364748b' d='M4 6l4 4 4-4'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 10px center !important;
    padding-right: 28px !important;
}
.clusterlane-wrap .clusterlane-settings-section textarea {
    resize: vertical !important;
    height: auto !important;
    min-height: 80px !important;
}

/* Description text */
.clusterlane-settings-section .description, .clusterlane-settings-section p.description {
    font-size: 12px !important;
    color: #64748b !important;
    margin-top: 5px !important;
    line-height: 1.5 !important;
}

/* Checkbox labels */
.clusterlane-settings-section input[type="checkbox"] {
    margin-right: 5px !important;
    accent-color: #16223a !important;
}

/* Range sliders */
.clusterlane-settings-section input[type="range"] {
    accent-color: #16223a !important;
    height: 4px !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    background: transparent !important;
}
.clusterlane-settings-number { width: 80px !important; }
.clusterlane-settings-number--sm { width: 65px !important; }

/* ── Settings page sections ──────────────────────────────────── */
.clusterlane-settings-section {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    padding: 0;
    margin-bottom: 16px;
    box-shadow: 0 1px 3px rgba(15,23,42,.06), 0 4px 12px rgba(15,23,42,.06);
}
.clusterlane-settings-summary {
    list-style: none;
    display: flex;
    align-items: center;
    padding: 16px 22px;
    cursor: pointer;
    border-radius: 18px;
    user-select: none;
}
.clusterlane-settings-summary::-webkit-details-marker { display: none; }
.clusterlane-settings-summary::after {
    content: "▸";
    margin-left: auto;
    font-size: .95rem;
    color: #94a3b8;
    transition: transform 120ms;
}
details[open] > .clusterlane-settings-summary::after { transform: rotate(90deg); }
details[open] > .clusterlane-settings-summary {
    border-radius: 18px 18px 0 0;
    border-bottom: 1px solid #f1f5f9;
}
.clusterlane-settings-section h2 {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: -.01em;
    color: #0f172a;
}
.clusterlane-section-body { padding: 14px 22px 18px; }

/* ── Link Card Templates ─────────────────────────────────────── */
.clusterlane-lt-row {
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 14px 16px;
    margin-bottom: 12px;
    background: #fff;
}
.clusterlane-lt-card-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}
.clusterlane-lt-name-input {
    flex: 1;
    font-size: 13px;
    font-weight: 600;
}
.clusterlane-lt-preview-area {
    margin: 8px 0 10px;
    font-size: 13px;
    min-height: 20px;
}
.clusterlane-lt-preview-area blockquote {
    margin: 0 !important;
}
.clusterlane-lt-edit-details {
    border-top: 1px solid #f1f5f9;
    padding-top: 10px;
    margin-top: 4px;
}
.clusterlane-lt-edit-details > summary.clusterlane-lt-edit-summary {
    font-size: 12px;
    font-weight: 600;
    color: #64748b;
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: center;
    gap: 5px;
    user-select: none;
}
.clusterlane-lt-edit-details > summary.clusterlane-lt-edit-summary::-webkit-details-marker { display: none; }
.clusterlane-lt-edit-details > summary.clusterlane-lt-edit-summary::before {
    content: "▸";
    font-size: 10px;
    transition: transform 120ms;
}
.clusterlane-lt-edit-details[open] > summary.clusterlane-lt-edit-summary::before {
    transform: rotate(90deg);
}
.clusterlane-lt-controls {
    margin-top: 12px;
}
.clusterlane-lt-control-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 10px;
    align-items: flex-end;
}
.clusterlane-lt-control-label {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 11px;
    font-weight: 600;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.clusterlane-lt-control-label input[type="text"] {
    font-size: 12.5px !important;
    padding: 5px 8px !important;
    width: 140px;
}
.clusterlane-lt-control-label input[type="color"] {
    width: 80px;
    height: 30px;
    padding: 2px !important;
    cursor: pointer;
    border-radius: 5px !important;
}
.clusterlane-lt-control-label input[type="number"] {
    font-size: 12.5px !important;
    padding: 5px 8px !important;
}
.clusterlane-lt-checkbox-label {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12.5px;
    color: #374151;
    margin-bottom: 10px;
    cursor: pointer;
}
.clusterlane-lt-raw-details {
    margin-top: 10px;
    border-top: 1px solid #f1f5f9;
    padding-top: 8px;
}
.clusterlane-lt-raw-summary {
    font-size: 11px;
    font-weight: 600;
    color: #94a3b8;
    cursor: pointer;
    list-style: none;
}
.clusterlane-lt-raw-summary::-webkit-details-marker { display: none; }
.clusterlane-lt-placeholder-hint {
    font-size: 11px;
    color: #94a3b8;
    margin: 6px 0;
    line-height: 1.6;
}
.clusterlane-lt-raw-html {
    width: 100%;
    font-family: monospace;
    font-size: 12px;
    margin-top: 6px;
    resize: vertical;
}
.clusterlane-lt-intro {
    font-size: 13px;
    color: #475569;
    margin-bottom: 14px;
    padding: 10px 14px;
    background: #f8fafc;
    border-radius: 7px;
    border-left: 3px solid #cbd5e1;
}

/* ==========================================================================
   Article Inspector — dropdown result items
   ========================================================================== */
.clusterlane-ls-result-item {
    padding: 10px 14px;
    font-size: .855rem;
    color: #1e293b;
    cursor: pointer;
    border-bottom: 1px solid #f5f5f5;
    line-height: 1.4;
}
.clusterlane-ls-result-item:last-child { border-bottom: none; }
.clusterlane-ls-result-item:hover, .clusterlane-ls-result-item:focus { background: #f0f7ff; outline: none; }
.clusterlane-ls-result-title { display: block; }

/* ==========================================================================
   Article Inspector
   ========================================================================== */

/* Two-column grid */

/* Post header */
.clusterlane-ai-post-meta {
    margin-top: 10px;
}
.clusterlane-ai-tax-pill {
    display: inline-block;
    padding: 2px 9px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 600;
    margin-right: 4px;
    margin-top: 4px;
}
.clusterlane-ai-tax-pill--cat {
    background: #e0f2fe;
    color: #0369a1;
}
.clusterlane-ai-tax-pill--tag {
    background: #f0fdf4;
    color: #166534;
}

/* Section headings */
.clusterlane-ai-section-title {
    font-size: 13px;
    font-weight: 700;
    color: #1e293b;
    margin: 0 0 14px;
    padding-bottom: 8px;
    border-bottom: 1px solid #f1f5f9;
}

/* Metrics grid */

/* No data placeholder */
.clusterlane-ai-no-data {
    color: #94a3b8;
    font-size: 13px;
    margin: 0;
    font-style: italic;
}

/* Links summary KPIs */

/* Expandable link lists */
.clusterlane-ai-links-details {
    margin-top: 8px;
    border: 1px solid #f1f5f9;
    border-radius: 6px;
    overflow: hidden;
}
.clusterlane-ai-links-details + .clusterlane-ai-links-details {
    margin-top: 6px;
}
.clusterlane-ai-links-details > summary {
    cursor: pointer;
    padding: 8px 12px;
    font-size: 12.5px;
    font-weight: 600;
    color: #334155;
    background: #f8fafc;
    display: flex;
    align-items: center;
    gap: 8px;
    list-style: none;
    user-select: none;
}
.clusterlane-ai-links-details > summary::-webkit-details-marker { display: none; }
.clusterlane-ai-links-details > summary::before {
    content: "▶";
    font-size: 9px;
    color: #94a3b8;
    transition: transform .15s;
}
.clusterlane-ai-links-details[open] > summary::before {
    transform: rotate( 90deg );
}
.clusterlane-ai-link-list {
    margin: 0;
    padding: 8px 12px;
    list-style: none;
    max-height: 200px;
    overflow-y: auto;
}
.clusterlane-ai-link-list li + li { border-top: 1px solid #f8fafc; }
.clusterlane-ai-link-list li {
    padding: 4px 0;
    font-size: 12.5px;
}
.clusterlane-ai-link-list a { color: #2563eb; text-decoration: none; }
.clusterlane-ai-link-list a:hover { text-decoration: underline; }

/* Count badge */
.clusterlane-ai-count-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #e2e8f0;
    color: #475569;
    border-radius: 10px;
    font-size: 11px;
    font-weight: 700;
    padding: 1px 6px;
    margin-left: 4px;
}

/* Cluster rows */
.clusterlane-ai-cluster-row {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 8px 10px;
    border-bottom: 1px solid #f1f5f9;
    border-radius: 6px;
    text-decoration: none;
    color: inherit;
    transition: background .1s;
    flex-wrap: nowrap;
    overflow: hidden;
}
.clusterlane-ai-cluster-row:last-child { border-bottom: none; }
.clusterlane-ai-cluster-row:hover { background: #f8fafc; }
.clusterlane-ai-cluster-type { font-size: 13px; flex-shrink: 0; }
.clusterlane-ai-cluster-name {
    font-size: 13px;
    font-weight: 600;
    color: #1e293b;
    flex: 1;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.clusterlane-ai-cluster-health {
    font-size: 12px;
    font-weight: 700;
    flex-shrink: 0;
}
.clusterlane-ai-cluster-pct {
    font-size: 11px;
    color: #94a3b8;
    flex-shrink: 0;
}
.clusterlane-ai-cluster-arrow {
    font-size: 12px;
    color: #cbd5e1;
    flex-shrink: 0;
    margin-left: 2px;
}

/* Role pills */
.clusterlane-ai-role-pill {
    display: inline-block;
    padding: 1px 7px;
    border-radius: 10px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.clusterlane-ai-role-pill--pillar { background: #fdeadf; color: #b4491a; }
.clusterlane-ai-role-pill--support { background: #fdf4d4; color: #86600a; }
.clusterlane-ai-role-pill--light { background: #edf4e4; color: #4a6b2a; }
.clusterlane-ai-role-pill--orphan { background: #e4f0f8; color: #245f84; }

/* TMS section */

/* Article Inspector — ego graph */
.clusterlane-ai-graph-card {
    margin-top: 16px;
}
.clusterlane-ai-graph-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}
.clusterlane-ai-graph-wrap {
    position: relative;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    overflow: hidden;
    background: #fafbfc;
}
#clusterlane-ai-ego-graph {
    width: 100%;
    height: 420px;
}
.clusterlane-ai-graph-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 10px;
    font-size: 11px;
    color: #64748b;
}
.clusterlane-ai-graph-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(250,251,252,.8);
    font-size: 13px;
    color: #64748b;
    pointer-events: none;
}
.clusterlane-ai-graph-overlay.hidden { display: none; }

/* === AI ANALYSIS CARD === */
.clusterlane-ai-analysis-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
}
.clusterlane-ai-analysis-title-row {
    display: flex;
    align-items: center;
    gap: 10px;
}
.clusterlane-ai-analysis-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}
.clusterlane-ai-cache-note {
    font-size: 11px;
    color: #94a3b8;
    font-weight: 400;
    margin-left: 4px;
}
.clusterlane-ai-analysis-section {
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid #e2e8f0;
}
.clusterlane-ai-analysis-section:first-child {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
}
.clusterlane-ai-analysis-section-title {
    font-size: 13px;
    font-weight: 600;
    color: #1e293b;
    margin: 0 0 10px;
}
.clusterlane-ai-analysis-text {
    margin: 0;
    font-size: 13px;
    line-height: 1.65;
    color: #334155;
}
.clusterlane-ai-analysis-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.clusterlane-ai-analysis-item {
    display: grid;
    grid-template-columns: 160px 1fr;
    gap: 10px;
    align-items: baseline;
    background: #f8fafc;
    border-radius: 6px;
    padding: 10px 14px;
    border-left: 3px solid #3b82f6;
}
.clusterlane-ai-analysis-item--sister {
    border-left-color: #10b981;
    grid-template-columns: 1fr;
}
.clusterlane-ai-analysis-item--sister .clusterlane-ai-analysis-item-label {
    font-style: italic;
    color: #0f766e;
}
.clusterlane-ai-analysis-item-label {
    font-size: 12px;
    font-weight: 600;
    color: #1e293b;
    line-height: 1.4;
}
.clusterlane-ai-analysis-item-text {
    font-size: 12px;
    color: #475569;
    line-height: 1.55;
}
@media (max-width: 640px) {
    .clusterlane-ai-analysis-item {
        grid-template-columns: 1fr;
    }
}

/* === RECENT ARTICLES PANEL === */
.clusterlane-ai-recent-list {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.clusterlane-ai-recent-item {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    padding: 8px 12px;
    cursor: pointer;
    text-align: left;
    transition: background .12s, border-color .12s;
    width: 100%;
    max-width: 480px;
}
.clusterlane-ai-recent-item:hover {
    background: #eff6ff;
    border-color: #bfdbfe;
}
.clusterlane-ai-recent-icon {
    font-size: 13px;
    flex-shrink: 0;
    opacity: .6;
}
.clusterlane-ai-recent-title {
    font-size: 13px;
    color: #1e40af;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* === POST HEADER FEATURED IMAGE BANNER === */

/* Title row overlaid on image */

/* Meta row below image */

/* Pill colours adapt on dark banner */

/* === POST HEADER BANNER — FIXES === */

/* 1. Knappar inne i bilden — uppe till höger, glassmorphism */

/* 2. Pills utanför bilden — återställ till normal färg */

/* 3. Meta-text (datum) normal färg utanför bilden */

/* ===================================================================
   CLUSTER INSPECTOR
   =================================================================== */

/* Hero */

/* Shared page hero (slim — no stats) */
.clusterlane-page-hero {
    background: linear-gradient(135deg, #0f172a 0%, #1e3a5f 100%);
    border-radius: 12px;
    padding: 20px 28px;
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 16px;
}
.clusterlane-page-hero h1, .clusterlane-ci-hero-title h1 {
    margin: 0 !important;
    color: #fff !important;
    font-size: 1.6rem !important;
    font-weight: 800 !important;
    letter-spacing: -.01em !important;
    line-height: 1.15 !important;
}
.clusterlane-page-hero-sub {
    color: rgba(255,255,255,.6);
    font-size: .8rem;
    margin-top: 3px;
    display: block;
}
.clusterlane-page-hero + * {
    margin-top: 16px !important;
}
.clusterlane-ci-hero {
    background: linear-gradient(135deg, #0f172a 0%, #1e3a5f 100%);
    border-radius: 12px;
    padding: 24px 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 16px;
}
.clusterlane-ci-hero-title {
    display: flex;
    align-items: center;
    gap: 12px;
}
.clusterlane-ci-hero-stats {
    display: flex;
    gap: 28px;
    flex-wrap: wrap;
}
.clusterlane-ci-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
}
.clusterlane-ci-stat-value {
    font-size: 1.5rem;
    font-weight: 700;
    color: #fff;
    line-height: 1;
}
.clusterlane-ci-stat-label {
    font-size: 10px;
    color: rgba(255,255,255,.55);
    text-transform: uppercase;
    letter-spacing: .05em;
    white-space: nowrap;
}

/* Cluster list rows */
.clusterlane-ci-cluster-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 11px 14px;
    border-radius: 8px;
    cursor: pointer;
    border: 1px solid transparent;
    transition: background .1s, border-color .1s;
    gap: 12px;
}
.clusterlane-ci-cluster-row:hover {
    background: #f8fafc;
    border-color: #e2e8f0;
}
.clusterlane-ci-cluster-row--active {
    background: #eff6ff;
    border-color: #bfdbfe;
}
.clusterlane-ci-cluster-type {
    font-size: 14px;
    flex-shrink: 0;
}

/* Detail panel header */
.clusterlane-ci-detail-header {
    background: linear-gradient(135deg, #1e293b 0%, #334155 100%);
    padding: 20px 24px 16px;
}
.clusterlane-ci-detail-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}
.clusterlane-ci-detail-label {
    margin: 0;
    font-size: 1.1rem;
    color: #fff;
    font-weight: 700;
}
.clusterlane-ci-detail-close {
    background: rgba(255,255,255,.12);
    border: none;
    color: #fff;
    font-size: 1.2rem;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    cursor: pointer;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .12s;
}
.clusterlane-ci-detail-close:hover {
    background: rgba(255,255,255,.25);
}
.clusterlane-ci-detail-stats {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}
.clusterlane-ci-detail-stat {
    font-size: 12px;
    color: rgba(255,255,255,.7);
}
.clusterlane-ci-detail-stat strong {
    color: #fff;
}
.clusterlane-cluster-ai-stale-banner {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    background: #fefce8;
    border: 1px solid #fde047;
    border-radius: 6px;
    padding: 8px 12px;
    margin-bottom: 14px;
    font-size: 12px;
    color: #854d0e;
    line-height: 1.4;
}
.clusterlane-cluster-ai-stale-regen {
    margin-left: auto;
    background: #fff;
    border: 1px solid #fbbf24;
    border-radius: 5px;
    color: #92400e;
    font-size: 11px;
    font-weight: 600;
    padding: 3px 10px;
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
}
.clusterlane-cluster-ai-stale-regen:hover {
    background: #fef9c3;
}

/* ── First-run onboarding modal ─────────────────────────────── */
.clusterlane-onboarding-overlay {
    position: fixed;
    inset: 0;
    z-index: 999999;
    background: rgba(15,23,42,.75);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    box-sizing: border-box;
}
.clusterlane-onboarding-modal {
    background: #fff;
    border-radius: 16px;
    width: 100%;
    max-width: 560px;
    max-height: 90vh;
    overflow-y: auto;
    padding: 40px 40px 28px;
    box-shadow: 0 24px 80px rgba(0,0,0,.35);
    position: relative;
    display: flex;
    flex-direction: column;
}
.clusterlane-ob-icon {
    font-size: 3rem;
    text-align: center;
    margin-bottom: 16px;
    line-height: 1;
}
.clusterlane-ob-title {
    font-size: 1.25rem;
    font-weight: 800;
    color: #0f172a;
    margin: 0 0 12px;
    text-align: center;
    letter-spacing: -.01em;
}
.clusterlane-ob-desc {
    font-size: 14px;
    color: #475569;
    line-height: 1.65;
    margin: 0 0 10px;
    text-align: center;
}
.clusterlane-ob-actions {
    display: flex;
    gap: 10px;
    justify-content: center;
    margin-top: 24px;
    flex-wrap: wrap;
}
.clusterlane-ob-status {
    font-size: 12px;
    color: #ef4444;
    text-align: center;
    min-height: 18px;
    margin-top: 8px;
}

/* Category list */
.clusterlane-ob-category-list {
    max-height: 280px;
    overflow-y: auto;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    margin-top: 12px;
}
.clusterlane-ob-category-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border-bottom: 1px solid #f1f5f9;
    cursor: pointer;
    transition: background .1s;
}
.clusterlane-ob-category-item:last-child { border-bottom: none; }
.clusterlane-ob-category-item:hover { background: #f8fafc; }
.clusterlane-ob-category-item input[type="checkbox"] {
    width: 16px; height: 16px; flex-shrink: 0; cursor: pointer;
    accent-color: #2271b1;
}
.clusterlane-ob-cat-name {
    font-size: 13px;
    font-weight: 600;
    color: #1e293b;
    flex: 1;
}
.clusterlane-ob-cat-count {
    font-size: 11px;
    color: #94a3b8;
    flex-shrink: 0;
}

/* Step 2 (0.98.177): content types, published pages, cluster groups */
.clusterlane-ob-scroll { max-height: 56vh; overflow-y: auto; margin: 4px -6px 0; padding: 0 6px; }
.clusterlane-ob-scroll .clusterlane-ob-category-list { max-height: 220px; margin-top: 8px; }
.clusterlane-ob-sub { font-size: 13px; font-weight: 700; color: #0f172a; margin: 16px 0 2px; text-transform: none; }
.clusterlane-ob-sub:first-child { margin-top: 4px; }
.clusterlane-ob-hint { font-size: 12px; color: #64748b; line-height: 1.5; margin: 0 0 4px; }
.clusterlane-ob-rendered { margin-top: 12px; padding: 10px 12px; border: 1px solid #bfdbfe; background: #eff6ff; border-radius: 8px; }
.clusterlane-ob-rendered label { display: flex; gap: 8px; align-items: flex-start; font-size: 13px; color: #1e293b; cursor: pointer; margin-bottom: 4px; }
.clusterlane-ob-rendered input[type="checkbox"] { margin-top: 2px; accent-color: #2271b1; }
.clusterlane-ob-group { margin-top: 12px; }
.clusterlane-ob-group[hidden], .clusterlane-ob-rendered[hidden], .clusterlane-ob-no-groups[hidden], .clusterlane-ob-hub[hidden] { display: none; }
.clusterlane-ob-group-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.clusterlane-ob-group-head > span { font-size: 12px; font-weight: 700; color: #334155; }
.clusterlane-ob-group-all { background: none; border: 0; padding: 0; color: #2271b1; font-size: 12px; cursor: pointer; text-decoration: underline; }
.clusterlane-ob-group-all:hover { color: #135e96; }
.clusterlane-ob-no-groups { margin-top: 10px; }

/* Settings → Content: read the published pages (0.98.177) */
.clusterlane-rendered-rec { display: inline-block; margin-left: 6px; padding: 1px 7px; border-radius: 10px; background: #dbeafe; color: #1e40af; font-size: 11px; font-weight: 600; }
.clusterlane-rendered-log { margin-top: 8px !important; }
.clusterlane-rendered-log--bad { color: #b45309 !important; }

/* Progress */
.clusterlane-ob-progress-wrap { margin-top: 20px; }
.clusterlane-ob-progress-label {
    font-size: 12px;
    color: #64748b;
    text-align: center;
    margin-top: 8px;
}
.clusterlane-ob-spinner-wrap {
    display: flex;
    justify-content: center;
    margin: 28px 0;
}
.clusterlane-ob-spinner-wrap .clusterlane-spinner {
    width: 36px;
    height: 36px;
    border-width: 3px;
}

/* Step dots */
.clusterlane-ob-steps-indicator {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 28px;
    padding-top: 20px;
    border-top: 1px solid #f1f5f9;
}
.clusterlane-ob-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #e2e8f0;
    transition: background .2s, transform .2s;
}
.clusterlane-ob-dot--active {
    background: #2271b1;
    transform: scale(1.25);
}
.clusterlane-ob-dot--done { background: #93c5fd; }

/* ── Dashboard bottom grid ──────────────────────────────────── */

/* Quick Navigation */
.clusterlane-dash-nav-result {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 9px 12px;
    text-decoration: none;
    color: #1e293b;
    font-size: 13px;
    border-bottom: 1px solid #f1f5f9;
    transition: background .1s;
}
.clusterlane-dash-nav-result:last-child { border-bottom: none; }
.clusterlane-dash-nav-result:hover { background: #f8fafc; }
.clusterlane-dash-nav-result-label {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex: 1;
    min-width: 0;
}

/* Needs Attention */
.clusterlane-dash-cluster-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 5px 0;
    border-bottom: 1px solid rgba(0,0,0,.05);
    text-decoration: none;
    color: #334155;
    font-size: 12px;
    transition: color .1s;
}
.clusterlane-dash-cluster-row:last-child { border-bottom: none; }
.clusterlane-dash-cluster-row:hover { color: #2271b1; }
.clusterlane-dash-cluster-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex: 1; min-width: 0; }

/* Back navigation bar */
.clusterlane-back-bar {
    font-size: 12px;
    color: #64748b;
    margin-bottom: 4px;
    padding: 6px 0 2px;
}
.clusterlane-back-bar-link {
    color: #2271b1;
    text-decoration: none;
    font-weight: 500;
}
.clusterlane-back-bar-link:hover { text-decoration: underline; }

/* TMS empty state */
.clusterlane-tms-empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 48px 24px;
    text-align: center;
    color: #475569;
}
.clusterlane-tms-empty-icon {
    font-size: 2.5rem;
    line-height: 1;
    margin-bottom: 4px;
    display: block;
}
.clusterlane-tms-empty-state strong {
    font-size: 1.1rem;
    color: #1e293b;
}
.clusterlane-tms-empty-state p {
    font-size: 13px;
    color: #64748b;
    margin: 0;
    max-width: 360px;
}

/* Graph info bar */
.clusterlane-graph-infobar {
    display: flex;
    align-items: center;
    gap: 0;
    flex-wrap: wrap;
    font-size: 11px;
    color: #64748b;
    margin-bottom: 8px;
}
.clusterlane-graph-infobar > span {
    padding: 3px 12px;
    position: relative;
    white-space: nowrap;
}
.clusterlane-graph-infobar > span:first-child { padding-left: 0; }
.clusterlane-graph-infobar > span:last-child::after { display: none; }
.clusterlane-graph-infobar > span::after {
    content: "";
    position: absolute;
    right: 0;
    top: 15%;
    height: 70%;
    width: 1px;
    background: linear-gradient(to bottom, transparent, #e2e8f0 25%, #e2e8f0 75%, transparent);
}
.clusterlane-graph-infobar strong { color: #1e293b; }
.clusterlane-graph-infobar-type { font-weight: 600; color: #475569; }
.clusterlane-graph-infobar-arch {
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    padding: 2px 10px !important;
    color: #475569;
    font-weight: 500;
    margin: 0 2px;
}

/* 0.98.150: the archetype pill and its ? travel together (one item, wraps as one). */
.clusterlane-graph-infobar > .clusterlane-gib-arch { display: inline-flex; align-items: center; gap: 2px; }
.clusterlane-graph-infobar > .clusterlane-gib-arch { padding-top: 0; padding-bottom: 0; }
.clusterlane-ci-detail-header .clusterlane-graph-infobar > .clusterlane-gib-arch { padding-left: 0; }

/* Modal/detail-header infobar — lighter text on dark background */
.clusterlane-ci-graph-modal-header .clusterlane-graph-infobar, .clusterlane-ci-detail-header .clusterlane-graph-infobar {
    color: rgba(255,255,255,.55);
    margin-bottom: 0;
}
.clusterlane-ci-graph-modal-header .clusterlane-graph-infobar > span::after, .clusterlane-ci-detail-header .clusterlane-graph-infobar > span::after {
    background: linear-gradient(to bottom, transparent, rgba(255,255,255,.2) 25%, rgba(255,255,255,.2) 75%, transparent);
}
.clusterlane-ci-graph-modal-header .clusterlane-graph-infobar strong, .clusterlane-ci-detail-header .clusterlane-graph-infobar strong { color: rgba(255,255,255,.9); }
.clusterlane-ci-graph-modal-header .clusterlane-graph-infobar-type, .clusterlane-ci-detail-header .clusterlane-graph-infobar-type { color: rgba(255,255,255,.8); }
.clusterlane-ci-graph-modal-header .clusterlane-graph-infobar-arch, .clusterlane-ci-detail-header .clusterlane-graph-infobar-arch {
    background: rgba(255,255,255,.1);
    border-color: rgba(255,255,255,.2) !important;
    color: rgba(255,255,255,.8);
}

/* Graph expand modal */
.clusterlane-ci-graph-modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 99999;
    background: rgba(15,23,42,.7);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    box-sizing: border-box;
}
.clusterlane-ci-graph-modal-inner {
    background: #fff;
    border-radius: 12px;
    width: 100%;
    max-width: 1200px;
    height: 85vh;
    max-height: 860px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-shadow: 0 24px 64px rgba(0,0,0,.3);
}
.clusterlane-ci-graph-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 20px;
    background: linear-gradient(135deg, #0f172a 0%, #1e3a5f 100%);
    flex-shrink: 0;
}
.clusterlane-ci-graph-modal-title {
    font-size: 1rem;
    font-weight: 700;
    color: #fff;
    letter-spacing: -.01em;
}
.clusterlane-ci-graph-modal-body {
    display: flex;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}
.clusterlane-ci-graph-modal-canvas {
    flex: 1;
    min-width: 0;
    min-height: 0;
    background: #fafbfc;
}
.clusterlane-ci-graph-modal-right {
    width: 300px;
    flex-shrink: 0;
    padding: 16px;
    border-left: 1px solid #e2e8f0;
    overflow-y: auto;
    background: #f8fafc;
}

/* 0.98.199 Article panel next to a cluster graph (Cluster Inspector modal + Dashboard expand) */
.clusterlane-np { font-size: 13px; color: #1e293b; }
.clusterlane-np__empty { display: flex; flex-direction: column; align-items: center; gap: 8px; margin: 48px 8px 0; color: #94a3b8; font-size: 12.5px; line-height: 1.5; text-align: center; }
.clusterlane-np__empty .clusterlane-g { width: 28px; height: 28px; opacity: .7; }
.clusterlane-np__img { display: block; width: 100%; height: 120px; object-fit: cover; border-radius: 8px; margin-bottom: 12px; background: #e2e8f0; }
.clusterlane-np__role { display: inline-block; font-size: 10px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; border: 1px solid; border-radius: 999px; padding: 2px 8px; }
.clusterlane-np__title { margin: 6px 0 12px; font-size: 15px; line-height: 1.35; font-weight: 700; color: #0f172a; overflow-wrap: anywhere; }
.clusterlane-np__stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); gap: 6px; margin-bottom: 12px; }
.clusterlane-np__stat { background: #fff; border: 1px solid #e2e8f0; border-radius: 8px; padding: 8px 4px 7px; text-align: center; }
.clusterlane-np__stat b { display: block; font-size: 18px; line-height: 1.2; font-weight: 700; color: #475569; font-variant-numeric: tabular-nums; }
.clusterlane-np__stat b.is-good { color: #15803d; }
.clusterlane-np__stat b.is-ok { color: #b45309; }
.clusterlane-np__stat b.is-low { color: #94a3b8; }
.clusterlane-np__stat b.is-bad { color: #dc2626; }
.clusterlane-np__stat span { display: block; font-size: 10.5px; color: #64748b; margin-top: 1px; }
.clusterlane-np__actions { display: grid; gap: 6px; margin-bottom: 16px; }
.clusterlane-np__btn { display: flex; align-items: center; justify-content: center; gap: 6px; padding: 7px 10px; border-radius: 6px; border: 1px solid #e2e8f0; background: #fff; color: #1e293b; font-size: 12.5px; font-weight: 500; text-decoration: none; }
.clusterlane-np__btn:hover, .clusterlane-np__btn:focus { border-color: #cbd5e1; background: #f1f5f9; color: #0f172a; }
.clusterlane-np__btn--primary { background: #2563eb; border-color: #2563eb; color: #fff; }
.clusterlane-np__btn--primary:hover, .clusterlane-np__btn--primary:focus { background: #1d4ed8; border-color: #1d4ed8; color: #fff; }
.clusterlane-np__btn .clusterlane-g { width: 14px; height: 14px; }
.clusterlane-np__sec { margin-top: 14px; }
.clusterlane-np__h { display: flex; align-items: center; gap: 6px; margin: 0 0 6px; font-size: 10.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: #64748b; }
.clusterlane-np__n { font-size: 10.5px; font-weight: 600; letter-spacing: 0; color: #475569; background: #e2e8f0; border-radius: 999px; padding: 0 7px; line-height: 17px; }
.clusterlane-np__list { list-style: none; margin: 0; padding: 0; background: #fff; border: 1px solid #e2e8f0; border-radius: 8px; overflow: hidden; }
.clusterlane-np__row { display: flex; align-items: center; margin: 0; border-top: 1px solid #f1f5f9; }
.clusterlane-np__row:first-child { border-top: 0; }
.clusterlane-np__row:hover { background: #f8fafc; }
.clusterlane-np__item { flex: 1; min-width: 0; display: flex; align-items: center; gap: 8px; padding: 7px 4px 7px 10px; border: 0; background: none; text-align: left; font: inherit; font-size: 12.5px; line-height: 1.35; color: #1e293b; cursor: pointer; }
.clusterlane-np__item:hover .clusterlane-np__name, .clusterlane-np__item:focus-visible .clusterlane-np__name { color: #2563eb; }
.clusterlane-np__item:focus-visible { outline: 2px solid #2563eb; outline-offset: -2px; border-radius: 6px; }
.clusterlane-np__dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.clusterlane-np__name { flex: 1; min-width: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; }
.clusterlane-np__both { flex-shrink: 0; font-size: 12px; line-height: 1; color: #2563eb; }
.clusterlane-np__open { flex-shrink: 0; display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; margin-right: 4px; border-radius: 6px; color: #94a3b8; opacity: 0; }
.clusterlane-np__row:hover .clusterlane-np__open, .clusterlane-np__open:focus { opacity: 1; }
.clusterlane-np__open:hover, .clusterlane-np__open:focus { color: #2563eb; background: #eff6ff; }
.clusterlane-np__open .clusterlane-g { width: 14px; height: 14px; }
@media (hover: none) { .clusterlane-np__open { opacity: 1; } }
.clusterlane-np__none { margin: 0; padding: 9px 10px; font-size: 12px; color: #94a3b8; background: #fff; border: 1px dashed #e2e8f0; border-radius: 8px; }
.clusterlane-np__key { margin: 12px 0 0; font-size: 11px; color: #94a3b8; }
.clusterlane-np__key .clusterlane-np__both { font-size: 11px; }
@media (max-width: 782px) { .clusterlane-np__img { display: none; } .clusterlane-np__empty { margin-top: 0; flex-direction: row; justify-content: center; } }

/* Cluster AI Analysis card */
.clusterlane-cluster-ai-card {
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1px 4px rgba(0,0,0,.05);
}
.clusterlane-cluster-ai-card-header {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    background: linear-gradient(135deg, #1e293b 0%, #334155 100%);
}
.clusterlane-cluster-ai-card-title {
    font-size: 13px;
    font-weight: 600;
    color: #fff;
}
.clusterlane-cluster-ai-card-body {
    padding: 16px;
}
.clusterlane-cluster-ai-section-heading {
    margin: 0 0 6px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
}

/* Member table */

/* === SUBNAV MOBILE === */

/* === CLUSTER FLOW MAP FILTER BUTTONS === */

/* ===================================================================
   TOOLTIPS
   =================================================================== */
.clusterlane-tip {
    position: relative;
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
    margin-left: 3px;
    cursor: help;
}
.clusterlane-tip-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #e2e8f0;
    color: #64748b;
    font-size: 9px;
    font-weight: 700;
    font-style: normal;
    line-height: 1;
    transition: background .12s, color .12s;
    user-select: none;
}
.clusterlane-tip:hover .clusterlane-tip-icon, .clusterlane-tip:focus .clusterlane-tip-icon {
    background: #3b82f6;
    color: #fff;
}

/* ===================================================================
   HELP PAGE
   =================================================================== */
.clusterlane-help-steps {
    display: flex;
    flex-direction: column;
    gap: 0;
}
.clusterlane-help-step {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    padding: 20px 0;
    border-bottom: 1px solid #f1f5f9;
}
.clusterlane-help-step:last-child {
    border-bottom: none;
    padding-bottom: 0;
}
.clusterlane-help-step:first-child {
    padding-top: 0;
}
.clusterlane-help-step-num {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #16223a;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 2px;
}
.clusterlane-help-step-body h3 {
    margin: 0 0 6px;
    font-size: 14px;
    font-weight: 700;
    color: #1e293b;
}
.clusterlane-help-step-body p {
    margin: 0;
    font-size: 13px;
    color: #475569;
    line-height: 1.6;
}

/* Reference section */
.clusterlane-help-reference {
    padding: 0 !important;
    overflow: hidden;
}
.clusterlane-help-reference-summary {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 16px 24px;
    cursor: pointer;
    user-select: none;
    list-style: none;
}
.clusterlane-help-reference-summary::-webkit-details-marker { display: none; }
.clusterlane-help-reference-summary::after {
    content: "›";
    font-size: 16px;
    color: #94a3b8;
    transition: transform .15s;
    margin-left: auto;
}
details[open] .clusterlane-help-reference-summary::after {
    transform: rotate(90deg);
}
.clusterlane-help-reference-body {
    padding: 0 28px 24px;
    border-top: 1px solid #f1f5f9;
}
.clusterlane-help-term {
    display: grid;
    grid-template-columns: 180px 1fr;
    gap: 8px 16px;
    padding: 10px 0;
    border-bottom: 1px solid #f8fafc;
    align-items: baseline;
}
.clusterlane-help-term:last-child { border-bottom: none; }
.clusterlane-help-term dt {
    font-size: 12px;
    font-weight: 600;
    color: #1e293b;
}
.clusterlane-help-term dd {
    margin: 0;
    font-size: 12px;
    color: #475569;
    line-height: 1.55;
}
@media (max-width: 600px) {
    .clusterlane-help-term { grid-template-columns: 1fr; }
    .clusterlane-help-step { flex-direction: column; gap: 10px; }
}

/* ------------------------------------------------------------------
   Block editor compatibility notice
   Shown in Link Suggest (candidate list + apply modal) and TMS
   when the source article uses Gutenberg block-serialised content.
------------------------------------------------------------------ */
.clusterlane-block-notice {
    background: #fffbeb;
    border: 1px solid #f59e0b;
    border-left: 4px solid #f59e0b;
    border-radius: 4px;
    padding: 10px 14px;
    margin-bottom: 14px;
    font-size: .82rem;
    line-height: 1.5;
    color: #78350f;
}
.clusterlane-block-notice strong {
    color: #92400e;
}

/* Compact variant used inside the apply modal and inline after TMS apply */
.clusterlane-block-notice--inline {
    margin: 8px 0 10px;
    padding: 8px 12px;
    font-size: .78rem;
}

/* vis-network tooltip reset — our nodes use HTMLElement titles with their own
   styling; strip the default white box + border vis wraps around them. */
.vis-tooltip {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
}

/* ── Improve this cluster ───────────────────────────────────────────── */

/* Prominent action panel wrapper — this is where insight becomes action,
   so it gets a distinct treatment that stands out from the rest of the
   detail view. */
.clusterlane-improve-panel {
    margin-bottom: 28px;
    border-radius: 14px;
    overflow: hidden;
    background: linear-gradient(180deg, #f0f7ff 0%, #f8fafc 140px);
    border: 1px solid #d6e4f5;
    box-shadow: 0 4px 20px -8px rgba(34,113,177,.25);
}
.clusterlane-improve-panel-header {
    padding: 16px 20px;
    background: linear-gradient(135deg, #1e2535 0%, #2a3550 100%);
    color: #fff;
}
.clusterlane-improve-panel-title {
    display: flex;
    align-items: center;
    gap: 13px;
}
.clusterlane-improve-panel-icon {
    font-size: 22px;
    line-height: 1;
    flex-shrink: 0;
    filter: drop-shadow(0 2px 4px rgba(0,0,0,.3));
}
.clusterlane-improve-panel-heading {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .01em;
    color: #fff;
}
.clusterlane-improve-panel-sub {
    font-size: 12px;
    color: #b6c6de;
    margin-top: 2px;
    line-height: 1.45;
}
.clusterlane-improve-panel-body {
    padding: 16px 16px 14px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.clusterlane-improve-block {
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    margin-bottom: 0;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1px 3px rgba(15,23,41,.05);
    transition: box-shadow .15s, transform .15s;
}
.clusterlane-improve-block:hover {
    box-shadow: 0 3px 10px rgba(15,23,41,.09);
}
.clusterlane-improve-block-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    cursor: pointer;
    user-select: none;
    background: #fff;
    border-bottom: 1px solid transparent;
    transition: background .15s;
}
.clusterlane-improve-block-header:hover { background: #f8fafc; }
.clusterlane-improve-block-header.is-open { border-bottom-color: #eef2f7; }
.clusterlane-improve-block-label {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 13.5px;
    font-weight: 600;
    color: #1e293b;
}
.clusterlane-improve-block-icon {
    font-size: 17px;
    line-height: 1;
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #f1f5f9;
    border-radius: 8px;
    flex-shrink: 0;
}
.clusterlane-improve-block-meta {
    display: flex;
    align-items: center;
    gap: 8px;
}
.clusterlane-improve-count {
    font-size: 11px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 999px;
}
.clusterlane-improve-count--gap { background: #fef9c3; color: #854d0e; }
.clusterlane-improve-chevron {
    font-size: 13px;
    color: #94a3b8;
    transition: transform .2s;
    display: inline-block;
}
.clusterlane-improve-block-header.is-open .clusterlane-improve-chevron { transform: rotate(180deg); }
.clusterlane-improve-block-body {
    display: none;
    padding: 12px 16px 14px;
}
.clusterlane-improve-block-body.is-open { display: block; }
.clusterlane-improve-loading {
    font-size: 12px;
    color: #94a3b8;
    padding: 6px 0;
}

/* Gap suggestion rows */
.clusterlane-gap-item {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    padding: 9px 0;
    border-bottom: 1px solid #f1f5f9;
}
.clusterlane-gap-item:last-child { border-bottom: none; padding-bottom: 0; }
.clusterlane-gap-item-text {
    flex: 1;
    font-size: 12px;
    color: #1e293b;
    line-height: 1.5;
}
.clusterlane-gap-item-text small {
    display: block;
    color: #64748b;
    font-size: 11px;
    margin-top: 2px;
}

/* TMS-block count pill */
.clusterlane-improve-count--tms { background: #dcfce7; color: #166534; }

/* TMS match rows */

/* AI link suggestions block */
.clusterlane-improve-count--ailink { background: #ede9fe; color: #5b21b6; }

/* Paragraph field hint (explains the [LINK] marker) */
.clusterlane-ls-field-hint {
    margin: 4px 0 10px;
    font-size: .72rem;
    color: #64748b;
    line-height: 1.4;
}
.clusterlane-ls-field-hint code {
    background: #eef2ff;
    color: #4338ca;
    padding: 1px 5px;
    border-radius: 3px;
    font-size: .68rem;
    font-weight: 600;
}

/* ── AI Link modal — context card ─────────────────────────────── */
.clusterlane-ls-context-card {
    background: linear-gradient(135deg, #1e2535 0%, #2a3550 100%);
    border-radius: 10px;
    padding: 14px 16px;
    color: #e2e8f0;
}
.clusterlane-ls-context-flow {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.clusterlane-ls-context-node {
    font-size: .82rem;
    font-weight: 600;
    padding: 5px 11px;
    border-radius: 6px;
    line-height: 1.3;
}
.clusterlane-ls-context-source {
    background: rgba(255,255,255,.12);
    color: #fff;
}
.clusterlane-ls-context-target {
    background: #2271b1;
    color: #fff;
}
.clusterlane-ls-context-arrow {
    font-size: 1.1rem;
    color: #94a3b8;
    flex-shrink: 0;
}
.clusterlane-ls-context-why {
    margin-top: 10px;
    font-size: .78rem;
    line-height: 1.5;
    color: #cbd5e1;
}
.clusterlane-ls-context-why strong { color: #fff; }

/* ── AI Link modal — variant tabs ─────────────────────────────── */
.clusterlane-ls-variant-tabs {
    display: flex;
    gap: 6px;
    margin-bottom: 4px;
    min-width: 0;
}
.clusterlane-ls-variant-tab {
    flex: 1;
    min-width: 0;
    padding: 7px 10px;
    font-size: .78rem;
    font-weight: 600;
    color: #64748b;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 7px;
    cursor: pointer;
    transition: all .15s;
    box-sizing: border-box;
}
.clusterlane-ls-variant-tab:hover {
    border-color: #cbd5e1;
    color: #334155;
}
.clusterlane-ls-variant-tab.is-active {
    background: #2271b1;
    border-color: #2271b1;
    color: #fff;
}

/* Improve-block call-to-action (empty state before AI is invoked) */
.clusterlane-improve-cta {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 4px 2px;
}
.clusterlane-improve-cta-text {
    flex: 1;
    margin: 0;
    font-size: 12.5px;
    color: #475569;
    line-height: 1.5;
}
.clusterlane-improve-cta .clusterlane-action-btn {
    flex-shrink: 0;
}

/* AI link — editable target dropdown */
.clusterlane-ailink-arrow {
    color: #94a3b8;
    font-weight: 600;
}

/* ── Dashboard: article search row ─────────────────────────────────── */

/* ── Dashboard: cluster graph widget ───────────────────────────────── */
#clusterlane-dash-graph-card {
    margin-top: 20px;
}
.clusterlane-dash-graph-details { padding: 0; }
.clusterlane-dash-graph-ci-btn {
    background: #16223a;
    color: #fff !important;
    border-color: #16223a;
    font-size: 13px;
    font-weight: 600;
    padding: 6px 16px;
    border-radius: 8px;
    letter-spacing: .01em;
    transition: background 120ms, border-color 120ms;
}
.clusterlane-dash-graph-ci-btn:hover {
    background: #1e3a5f;
    border-color: #1e3a5f;
    color: #fff !important;
    text-decoration: none;
}
.clusterlane-dash-graph-details > summary { list-style: none; cursor: pointer; }
.clusterlane-dash-graph-details > summary::-webkit-details-marker { display: none; }
.clusterlane-dash-graph-details > div { padding: 0 24px 20px; }
.clusterlane-dash-graph-controls {
    display: flex;
    align-items: center;
    gap: 8px;
}
.clusterlane-dash-graph-controls label {
    font-size: 12px;
    color: #64748b;
    font-weight: 500;
}
#clusterlane-dash-graph-select {
    font-size: 12px;
    font-weight: 600;
    color: #1e293b;
    background: #fff;
    border: 1.5px solid #cbd5e1;
    border-radius: 6px;
    padding: 4px 30px 4px 10px;
    height: 34px;
    min-width: 200px;
    max-width: 320px;
    cursor: pointer;
}
#clusterlane-dash-graph-select:focus {
    outline: none;
    border-color: #2271b1;
    box-shadow: 0 0 0 2px rgba(34,113,177,.15);
}
#clusterlane-dash-graph-container {
    height: 480px;
    position: relative;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    background: #f8fafc;
    overflow: hidden;
}
#clusterlane-dash-graph-container .vis-network { border-radius: 6px; }
.clusterlane-dash-graph-hint, .clusterlane-graph-zoom-hint {
    position: absolute;
    right: 10px;
    bottom: 10px;
    z-index: 5;
    font-size: 11px;
    color: #64748b;
    background: rgba(255,255,255,.9);
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    padding: 4px 10px;
    pointer-events: none;
    transition: opacity .2s;
}
.is-zoom-active .clusterlane-dash-graph-hint, .is-zoom-active .clusterlane-graph-zoom-hint { opacity: 0; }
#clusterlane-dash-graph-container.is-zoom-active, #clusterlane-ci-detail-graph.is-zoom-active, #clusterlane-ci-flow-graph.is-zoom-active, #clusterlane-ai-ego-graph.is-zoom-active { outline: 2px solid rgba(34,113,177,.35); outline-offset: -2px; }

/* hint needs a positioned parent */
#clusterlane-ci-detail-graph, #clusterlane-ci-flow-graph, #clusterlane-ai-ego-graph { position: relative; }
#clusterlane-dash-graph-notice {
    padding: 32px 20px;
    text-align: center;
    color: #64748b;
    font-size: 13px;
    line-height: 1.6;
}
@keyframes clusterlaneGraphFlash {
    0%   { box-shadow: 0 0 0 0 rgba(34,113,177,.45); }
    100% { box-shadow: 0 0 0 12px rgba(34,113,177,0); }
}
.clusterlane-dash-graph-card--flash { animation: clusterlaneGraphFlash .9s ease-out; }

/* ── Dashboard: needs attention, full width ────────────────────────── */
.clusterlane-dash-cluster-row--graph { cursor: pointer; }
.clusterlane-dash-cluster-row--graph:hover .clusterlane-dash-cluster-label { text-decoration: underline; }

/* AI analysis now sits last — give it breathing room */
.clusterlane-site-analysis-card { margin-top: 20px; }

/* ── Collapsible panel cards (Cluster Inspector) ───────────────────── */
details.clusterlane-collapse { padding: 0 !important; margin-top: 16px; }
.clusterlane-collapse-head {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    padding: 16px 24px;
    cursor: pointer;
    list-style: none;
    user-select: none;
    border-radius: 14px;
}
.clusterlane-collapse-head::-webkit-details-marker { display: none; }
.clusterlane-collapse-head::before {
    content: "▸";
    font-size: .9rem;
    color: #94a3b8;
    transition: transform 120ms;
    flex-shrink: 0;
    width: 12px;
}
details.clusterlane-collapse[open] > .clusterlane-collapse-head::before { transform: rotate(90deg); }
details.clusterlane-collapse[open] > .clusterlane-collapse-head { border-bottom: 1px solid #f1f5f9; border-radius: 14px 14px 0 0; }
.clusterlane-collapse-head:hover { background: #fafbfc; }
.clusterlane-collapse-head .clusterlane-ai-section-title { margin: 0; }
.clusterlane-collapse-count { font-size: .8rem; color: #94a3b8; }
.clusterlane-collapse-sub { font-size: 11px; color: #94a3b8; margin-left: auto; }
.clusterlane-collapse-body { padding: 16px 24px 20px; }

/* ── Toolbar strip ─────────────────────────────────────────────────── */
.clusterlane-toolbar {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    padding: 8px 10px;
    margin-bottom: 14px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
}
.clusterlane-toolbar-label {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #94a3b8;
}
.clusterlane-toolbar-sep { width: 1px; height: 22px; background: #e2e8f0; }
.clusterlane-toolbar-search { flex: 1 1 220px; max-width: 360px; }
.clusterlane-toolbar .clusterlane-search-wrap .clusterlane-search-input { height: 32px; box-shadow: none; }
.clusterlane-toolbar .clusterlane-tms-select { height: 32px !important; padding-top: 0 !important; padding-bottom: 0 !important; }

/* Segmented button group inside toolbar */
.clusterlane-seg {
    display: inline-flex;
    gap: 0;
    background: #fff;
    border: 1.5px solid #cbd5e1;
    border-radius: 6px;
    overflow: hidden;
    height: 32px;
    box-sizing: border-box;
}
.clusterlane-seg .clusterlane-seg-btn {
    border: 0;
    border-right: 1px solid #e2e8f0;
    border-radius: 0;
    background: #fff;
    color: #475569;
    font-size: 12px;
    font-weight: 500;
    padding: 0 12px;
    height: 100%;
    cursor: pointer;
    transition: background .1s, color .1s;
}
.clusterlane-seg .clusterlane-seg-btn:last-child { border-right: 0; }
.clusterlane-seg .clusterlane-seg-btn:hover { background: #f1f5f9; color: #1e293b; }
.clusterlane-seg .clusterlane-seg-btn.is-active, .clusterlane-seg .clusterlane-seg-btn.active {
    background: #16223a;
    color: #fff;
    font-weight: 600;
}

/* Gap suggestion actions (Brief + Draft) */
.clusterlane-gap-item-actions { display: flex; gap: 6px; flex-shrink: 0; align-items: center; }

/* ===================================================
   STICKY BAR
   =================================================== */
#clusterlane-sticky-bar {
    position: sticky;
    top: 32px; /* WP admin bar height */
    z-index: 900;
    background: #fff;
    border-bottom: 1px solid #e2e8f0;
    box-shadow: 0 2px 8px rgba(0,0,0,.06);
    padding: 0 16px;
    display: flex;
    align-items: center;
    gap: 12px;
    height: 48px;
    margin: 0 -20px 20px; /* bleed under WP content padding */
}

/* Search results dropdown */
#clusterlane-sticky-search-results {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1.5px solid #e2e8f0;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0,0,0,.10);
    z-index: 9999;
    max-height: 320px;
    overflow-y: auto;
}

/* Responsive */
@media (max-width: 782px) {
    #clusterlane-sticky-bar {
        top: 46px; /* Mobile WP admin bar */
        gap: 8px;
        padding: 0 10px;
    }
}

/* ===================================================
   STICKY BAR — .clusterlane-stickybar  (v2, 0.98.063)
   A floating dark dock in the hero's navy, same width and
   radius as the cards below. One memorable detail: the
   active tab is marked by a glowing graph node, not an
   underline. Row 1: brand mark + tabs. Row 2: search + actions.
   =================================================== */
.clusterlane-stickybar {
    --sb-ink:      #16223a;   /* hero navy = clusterlane.app navy */
    --sb-ink-2:    #1c2b47;   /* row 2 */
    --sb-line:     rgba(255,255,255,.08);
    --sb-text:     #9fb0c8;
    --sb-text-hi:  #f1f5f9;
    --sb-muted:    #7c8ea8;
        --sb-node:     #60a5fa;

    /* The outer bar paints the admin background edge to edge, so content
       scrolling underneath never peeks around the floating dock. */
    position: sticky;
    top: 32px;                /* WP admin bar */
    z-index: 900;
    margin: 0 -20px 10px;
    padding: 8px 20px 12px;
    background: #f0f0f1;      /* wp-admin body */
}

/* The dock itself */
.clusterlane-stickybar__inner {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    background: var(--sb-ink);
    border-radius: 14px;
    box-shadow: 0 6px 18px rgba(15,23,42,.16);
    transition: box-shadow 200ms ease;
}
.clusterlane-stickybar.is-stuck .clusterlane-stickybar__inner { box-shadow: 0 10px 28px rgba(15,23,42,.28); }

/* ---- Row 1: brand + tabs -------------------------------------- */
.clusterlane-stickybar__inner > .clusterlane-stickybar__nav { flex: 0 0 100%; width: 100%; }
.clusterlane-stickybar__nav {
    display: flex;
    align-items: stretch;
    height: 46px;
    padding: 0 14px 0 8px;
    border-bottom: 1px solid var(--sb-line);
    overflow: hidden;          /* tabs that don't fit go into More (0.98.186) */
}
.clusterlane-stickybar__brand {
    display: inline-flex;
    align-items: center;
    padding: 0 10px 0 4px;
    margin-right: 6px;
    border-right: 1px solid var(--sb-line);
    text-decoration: none;
    flex-shrink: 0;
}
.clusterlane-stickybar__brand-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 8px;
}
.clusterlane-stickybar__brand-mark .clusterlane-brand-mark, .clusterlane-stickybar__brand-mark .clusterlane-brand-logo { display: block; }
.clusterlane-hero-mark { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; flex-shrink: 0; }
.clusterlane-hero-mark .clusterlane-brand-mark, .clusterlane-hero-mark .clusterlane-brand-logo { display: block; }
.clusterlane-brand-logo { object-fit: contain; border-radius: 6px; }
.clusterlane-stickybar__brand:focus-visible { outline: 2px solid var(--sb-node); outline-offset: 2px; border-radius: 8px; }
.clusterlane-stickybar__tab {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0 12px;
    margin: 7px 1px;
    border-radius: 8px;
    font-size: 12.5px;
    font-weight: 500;
    color: var(--sb-text);
    text-decoration: none;
    white-space: nowrap;
    transition: color 120ms, background 120ms;
}
.clusterlane-stickybar__tab .dashicons { font-size: 15px; width: 15px; height: 15px; opacity: .7; }
.clusterlane-stickybar__tab:hover, .clusterlane-stickybar__tab:focus { color: var(--sb-text-hi); background: rgba(255,255,255,.05); text-decoration: none; box-shadow: none; }
.clusterlane-stickybar__tab:focus-visible { outline: 2px solid var(--sb-node); outline-offset: -2px; }
.clusterlane-stickybar__tab--active, .clusterlane-stickybar__tab--active:hover {
    color: var(--sb-text-hi);
    font-weight: 600;
    background: rgba(96,165,250,.12);
}
.clusterlane-stickybar__tab--active .dashicons { opacity: 1; color: var(--sb-node); }

/* The node: active page = the lit node in the graph */
.clusterlane-stickybar__tab--active::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -8px;
    width: 7px;
    height: 7px;
    margin-left: -3.5px;
    border-radius: 50%;
    background: var(--sb-node);
    box-shadow: 0 0 0 3px rgba(96,165,250,.20), 0 0 12px 2px rgba(96,165,250,.55);
}

/* Groups (0.98.186): main pages · tools · admin · help, as in the left menu */
.clusterlane-stickybar__tab--group { margin-left: 13px; }
.clusterlane-stickybar__tab--group::before {
    content: ""; position: absolute; left: -8px; top: 8px; bottom: 8px; width: 1px; background: var(--sb-line);
}
/* More: the tabs that don't fit */
.clusterlane-stickybar__more { display: flex; align-items: stretch; margin-left: auto; padding-left: 6px; margin-right: 6px; }
/* Bold (active) and regular labels take the same width, so the row never reflows
   between pages (0.98.192): an invisible bold copy reserves the space. */
.clusterlane-stickybar__tab-label { display: inline-flex; flex-direction: column; }
.clusterlane-stickybar__tab-label::after { content: attr(data-label); height: 0; overflow: hidden; visibility: hidden; font-weight: 600; pointer-events: none; user-select: none; }
.clusterlane-stickybar__more-btn.clusterlane-stickybar__tab--active-in::after {
    content: ""; position: absolute; left: 50%; bottom: -8px; width: 7px; height: 7px; margin-left: -3.5px; border-radius: 50%;
    background: var(--sb-node); box-shadow: 0 0 0 3px rgba(96,165,250,.20), 0 0 12px 2px rgba(96,165,250,.55);
}
.clusterlane-stickybar__more[hidden] { display: none; }
.clusterlane-stickybar__more-btn { border: 0; background: transparent; cursor: pointer; font-family: inherit; }
.clusterlane-stickybar__more-btn.clusterlane-stickybar__tab--active-in { color: var(--sb-text-hi); background: rgba(96,165,250,.12); }
.clusterlane-stickybar__more-menu {
    position: fixed; z-index: 10000; min-width: 210px;
    display: flex; flex-direction: column; padding: 6px;
    background: #fff; border: 1px solid #e2e8f0; border-radius: 10px;
    box-shadow: 0 14px 34px rgba(15,23,42,.22);
}
.clusterlane-stickybar__more-menu[hidden] { display: none; }
.clusterlane-stickybar__more-menu .clusterlane-stickybar__tab { margin: 0; padding: 9px 10px; color: #1e293b; flex-direction: row; justify-content: flex-start; gap: 8px; max-width: none; }
.clusterlane-stickybar__more-menu .clusterlane-stickybar__tab:hover, .clusterlane-stickybar__more-menu .clusterlane-stickybar__tab:focus { color: #0f172a; background: #f1f5f9; }
.clusterlane-stickybar__more-menu .clusterlane-stickybar__tab .dashicons { opacity: .6; }
.clusterlane-stickybar__more-menu .clusterlane-stickybar__tab--active { color: #1d4ed8; background: #eff6ff; }
.clusterlane-stickybar__more-menu .clusterlane-stickybar__tab::after, .clusterlane-stickybar__more-menu .clusterlane-stickybar__tab::before { display: none; }
.clusterlane-stickybar__more-menu .clusterlane-stickybar__tab--group { margin-left: 0; margin-top: 5px; border-top: 1px solid #f1f5f9; padding-top: 12px; }
.clusterlane-stickybar__more-menu .clusterlane-stickybar__tab-label::after { display: none; }
.clusterlane-stickybar__more-menu .clusterlane-stickybar__tab-label { display: inline !important; font-size: 13px !important; white-space: nowrap; text-align: left; line-height: 1.3; }

/* ---- Row 2: search + actions ---------------------------------- */
.clusterlane-stickybar__search-group {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1 1 auto;
    height: 48px;
    padding: 0 14px;
    background: var(--sb-ink-2);
    border-bottom-left-radius: 14px;
}
.clusterlane-stickybar__actions {
    display: flex;
    align-items: center;
    gap: 6px;
    height: 48px;
    padding: 0 14px 0 0;
    margin-left: auto;
    flex-shrink: 0;
    background: var(--sb-ink-2);
    border-bottom-right-radius: 14px;
}

/* Row 2 is two flex items; paint the gap between them too */
.clusterlane-stickybar__inner { background: linear-gradient(to bottom, var(--sb-ink) 46px, var(--sb-ink-2) 46px); }
.clusterlane-stickybar__search-wrap { position: relative; display: flex; align-items: center; }
.clusterlane-stickybar__search-icon {
    position: absolute; left: 10px; top: 50%; transform: translateY(-50%);
    color: var(--sb-muted); font-size: 14px; width: 14px; height: 14px; pointer-events: none;
}
#clusterlane-stickybar .clusterlane-stickybar__search-input, #clusterlane-stickybar input[type="search"].clusterlane-stickybar__search-input, #clusterlane-stickybar .clusterlane-stickybar__cluster-select, #clusterlane-stickybar select.clusterlane-stickybar__cluster-select {
    height: 32px !important;
    min-height: 0 !important;  /* wp-admin forms set 40px */
    border: 1px solid rgba(255,255,255,.10) !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    color: var(--sb-text-hi) !important;
    background-color: rgba(255,255,255,.06) !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    transition: border-color 120ms, background-color 120ms, box-shadow 120ms;
}
#clusterlane-stickybar .clusterlane-stickybar__search-input, #clusterlane-stickybar input[type="search"].clusterlane-stickybar__search-input {
    width: 230px !important;
    padding: 0 10px 0 32px !important;
    line-height: 30px !important;
}
#clusterlane-stickybar .clusterlane-stickybar__search-input::placeholder { color: var(--sb-muted); opacity: 1; }
#clusterlane-stickybar .clusterlane-stickybar__cluster-select, #clusterlane-stickybar select.clusterlane-stickybar__cluster-select {
    min-width: 210px !important;
    padding: 0 30px 0 32px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%237c8ea8'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 11px center !important;
    background-size: 10px 6px !important;   /* wp-admin scales select arrows to 16px */
    line-height: 30px !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    cursor: pointer !important;
}

/* Native option lists open on a light surface — keep them readable */
#clusterlane-stickybar .clusterlane-stickybar__cluster-select option { color: #1e293b; background: #fff; }
#clusterlane-stickybar .clusterlane-stickybar__search-input:hover, #clusterlane-stickybar .clusterlane-stickybar__cluster-select:hover { border-color: rgba(255,255,255,.20) !important; }
#clusterlane-stickybar .clusterlane-stickybar__search-input:focus, #clusterlane-stickybar input[type="search"].clusterlane-stickybar__search-input:focus, #clusterlane-stickybar .clusterlane-stickybar__cluster-select:focus, #clusterlane-stickybar select.clusterlane-stickybar__cluster-select:focus {
    outline: none !important;
    border-color: var(--sb-node) !important;
    background-color: rgba(255,255,255,.10) !important;
    box-shadow: 0 0 0 3px rgba(96,165,250,.22) !important;
}

/* Article search results: a light panel under the dark bar */
.clusterlane-stickybar__dropdown {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    min-width: 100%;
    width: 340px;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    box-shadow: 0 14px 34px rgba(15,23,42,.22);
    z-index: 9999;
    max-height: 340px;
    overflow-y: auto;
    list-style: none;
    margin: 0;
    padding: 4px 0;
}
.clusterlane-stickybar__dropdown li {
    display: flex; align-items: center; gap: 10px;
    padding: 8px 14px; cursor: pointer;
    font-size: 13px; color: #1e293b;
    border-bottom: 1px solid #f1f5f9;
    transition: background 100ms;
}
.clusterlane-stickybar__dropdown li:last-child { border-bottom: 0; }
.clusterlane-stickybar__dropdown li:hover { background: #f1f5f9; }
.clusterlane-stickybar__action-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 32px;
    padding: 0 13px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 8px;
    background: transparent;
    color: var(--sb-text);
    font-size: 12.5px;
    font-weight: 500;
    cursor: pointer;
    white-space: nowrap;
    transition: background 120ms, color 120ms, border-color 120ms;
}
.clusterlane-stickybar__action-btn .dashicons { font-size: 14px; width: 14px; height: 14px; }
.clusterlane-stickybar__action-btn:hover { background: rgba(255,255,255,.07); color: var(--sb-text-hi); border-color: rgba(255,255,255,.22); }
.clusterlane-stickybar__action-btn:focus-visible { outline: 2px solid var(--sb-node); outline-offset: 2px; }
.clusterlane-stickybar__action-btn:disabled { opacity: .55; cursor: progress; }
.clusterlane-stickybar__action-btn--primary {
    background: #fff;
    border-color: #fff;
    color: var(--sb-ink);
    font-weight: 600;
}
.clusterlane-stickybar__action-btn--primary:hover { background: #e2e8f0; border-color: #e2e8f0; color: var(--sb-ink); }

/* PRO badge sits on dark here */
.clusterlane-stickybar .clusterlane-pro-badge--tab { box-shadow: 0 0 0 1px rgba(255,255,255,.15); }

/* Toast */
.clusterlane-stickybar__toast {
    position: absolute;
    bottom: -30px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--sb-ink);
    color: var(--sb-text-hi);
    font-size: 12px;
    padding: 7px 14px;
    border-radius: 8px;
    box-shadow: 0 8px 20px rgba(15,23,42,.25);
    white-space: nowrap;
    pointer-events: none;
    z-index: 1000;
}
@media (prefers-reduced-motion: reduce) {
    .clusterlane-stickybar, .clusterlane-stickybar__tab, .clusterlane-stickybar__action-btn { transition: none; }
}

/* Responsive */
@media (max-width: 782px) {
    /* Phones (0.98.186): the bar scrolls away with the page instead of keeping
       ~200 of 844 px, and every tab says what it is under its icon. */
    .clusterlane-stickybar { position: relative; top: 0; margin: 0 -10px 8px; padding: 6px 10px 10px; }
    .clusterlane-stickybar__inner { border-radius: 12px; background: linear-gradient(to bottom, var(--sb-ink) 54px, var(--sb-ink-2) 54px); }
    .clusterlane-stickybar__nav { height: 54px; padding: 0 4px; }
    .clusterlane-stickybar__brand { padding: 0 6px 0 2px; margin-right: 2px; }
    .clusterlane-stickybar__tab { flex-direction: column; justify-content: center; gap: 3px; padding: 0 6px; margin: 5px 0; max-width: 76px; }
    .clusterlane-stickybar__tab-label { font-size: 10px; line-height: 1.15; white-space: normal; text-align: center; }
    .clusterlane-stickybar__tab--group { margin-left: 9px; }
    .clusterlane-stickybar__tab--group::before { left: -5px; top: 12px; bottom: 12px; }
    .clusterlane-stickybar__nav .clusterlane-pro-badge--tab { display: none; }
    .clusterlane-stickybar__tab--active::after { bottom: -6px; }
    .clusterlane-stickybar__search-group { padding: 0 10px; gap: 6px; flex: 1 1 auto; border-bottom-left-radius: 12px; }
    .clusterlane-stickybar__search-wrap { flex: 1 1 auto; min-width: 0; }
    #clusterlane-stickybar .clusterlane-stickybar__search-input, #clusterlane-stickybar input[type="search"].clusterlane-stickybar__search-input { width: 100% !important; }
    #clusterlane-stickybar .clusterlane-stickybar__cluster-select, #clusterlane-stickybar select.clusterlane-stickybar__cluster-select { min-width: 0 !important; width: 100% !important; }
    .clusterlane-stickybar__actions { padding: 0 10px 0 0; border-bottom-right-radius: 12px; }
    .clusterlane-stickybar__action-btn--primary .clusterlane-stickybar__action-label { display: inline; }
    .clusterlane-stickybar__action-btn { padding: 0 9px; min-width: 34px; justify-content: center; }
}

/* ===================================================
   PRINT / PDF — Site Intelligence Analysis
   =================================================== */
@media print {
    #wpadminbar, #adminmenuwrap, #adminmenuback, #wpfooter, .clusterlane-stickybar, .clusterlane-sa-btn-wrap, #clusterlane-site-analysis-regen, #clusterlane-sa-print, .clusterlane-action-btn, .clusterlane-sa-ai-badge, .update-nag, .notice, .error { display: none !important; }
    html, body { margin: 0 !important; padding: 0 !important; background: #fff !important; }
    #wpcontent, #wpbody, #wpbody-content { margin: 0 !important; padding: 0 !important; float: none !important; }
    .wrap { margin: 0 !important; padding: 12mm 14mm !important; }
    #clusterlane-site-analysis-card { display: block !important; }
    #clusterlane-site-analysis-card > summary { display: none !important; }
    #clusterlane-site-analysis-body { display: block !important; }
    .clusterlane-sa-strength, .clusterlane-sa-opp, .clusterlane-sa-action { break-inside: avoid; }
    .clusterlane-sa-strength-grid, .clusterlane-sa-opp-grid { grid-template-columns: repeat(3, 1fr) !important; }
    .clusterlane-sa-action-list { grid-template-columns: 1fr !important; }
    .clusterlane-site-analysis-header { margin-bottom: 6mm; }
    .clusterlane-site-analysis-title { font-size: 18pt !important; }
    #clusterlane-site-analysis-result::after {
        content: "Generated by Clusterlane · " attr(data-generated);
        display: block;
        margin-top: 8mm;
        font-size: 9pt;
        color: #94a3b8;
        border-top: 1px solid #e2e8f0;
        padding-top: 4mm;
    }
}

/* =========================================================
   Help page — Admin & Support panel (manage_clusterlane only)
   ========================================================= */
.clusterlane-support-panel {
    margin-top: 24px;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 4px 18px rgba(15, 23, 42, .06);
}
.clusterlane-support-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 18px 22px;
    background: linear-gradient(135deg, #1e2535 0%, #2a3550 100%);
    color: #fff;
}
.clusterlane-support-title { display: flex; align-items: center; gap: 13px; }
.clusterlane-support-icon {
    display: inline-flex; align-items: center; justify-content: center;
    width: 40px; height: 40px; border-radius: 10px;
    background: rgba(255, 255, 255, .1); font-size: 20px;
}
.clusterlane-support-title h2 { margin: 0; color: #fff; font-size: 16px; font-weight: 700; }
.clusterlane-support-title p { margin: 2px 0 0; color: #94a3b8; font-size: 12px; }
.clusterlane-support-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.clusterlane-support-badge {
    padding: 4px 10px; border-radius: 999px; font-size: 12px; font-weight: 600;
}
.clusterlane-support-badge--ok { background: rgba(16, 185, 129, .18); color: #6ee7b7; }
.clusterlane-support-badge--warn { background: rgba(245, 158, 11, .18); color: #fcd34d; }
.clusterlane-support-btn {
    height: 34px; padding: 0 14px; border-radius: 8px; cursor: pointer;
    border: 1px solid rgba(255, 255, 255, .25); background: transparent;
    color: #fff; font-size: 13px; font-weight: 600;
}
.clusterlane-support-btn:hover { background: rgba(255, 255, 255, .08); }
.clusterlane-support-btn--primary { background: #fff; color: #0f172a; border-color: #fff; }
.clusterlane-support-btn--primary:hover { background: #e2e8f0; }
.clusterlane-support-btn:disabled { opacity: .8; cursor: default; }
.clusterlane-support-body { padding: 20px 22px 24px; }
.clusterlane-support-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 14px;
}
.clusterlane-support-grid + .clusterlane-support-grid { margin-top: 14px; }
.clusterlane-support-card {
    border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; background: #f8fafc;
    min-width: 0;
}
.clusterlane-support-card--wide { grid-column: 1 / -1; }
.clusterlane-support-card--full { grid-column: 1 / -1; }
.clusterlane-support-card--full .clusterlane-support-table { width: 100%; }
.clusterlane-support-card--full .clusterlane-support-table th { width: 240px; }
.clusterlane-support-card--wide .clusterlane-support-table { columns: 2 320px; display: block; }
.clusterlane-support-card--wide .clusterlane-support-table tr { display: flex; break-inside: avoid; }
.clusterlane-support-card--wide .clusterlane-support-table th { flex: 1 1 auto; }
.clusterlane-support-card h3 {
    margin: 0 0 10px; font-size: 13px; font-weight: 700; color: #0f172a;
    display: flex; align-items: center; gap: 6px;
}
.clusterlane-support-table { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.clusterlane-support-table th {
    text-align: left; font-weight: 500; color: #64748b; padding: 5px 10px 5px 0;
    vertical-align: top; white-space: nowrap;
}
.clusterlane-support-table td { color: #0f172a; padding: 5px 0; word-break: break-word; }
.clusterlane-support-table tr + tr th, .clusterlane-support-table tr + tr td { border-top: 1px solid #e2e8f0; }
.clusterlane-support-row--warn td { color: #92400e; font-weight: 600; }
.clusterlane-support-dot {
    display: inline-block; width: 8px; height: 8px; border-radius: 50%;
    margin-right: 6px; vertical-align: 1px;
}
.clusterlane-support-dot--ok { background: #10b981; }
.clusterlane-support-dot--warn { background: #f59e0b; }
.clusterlane-support-note { margin: 8px 0 6px; font-size: 12.5px; color: #475569; }
.clusterlane-support-code {
    margin: 0 0 8px; padding: 10px 12px; border-radius: 8px;
    background: #0f172a; color: #e2e8f0; font-size: 12px; line-height: 1.5;
    overflow-x: auto; white-space: pre;
}
.clusterlane-support-list { margin: 0; padding-left: 18px; font-size: 12.5px; color: #334155; }
.clusterlane-support-list li { margin-bottom: 6px; }
.clusterlane-support-report {
    position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0;
}
@media (max-width: 600px) {
    .clusterlane-support-header { padding: 16px; }
    .clusterlane-support-body { padding: 16px; }
    .clusterlane-support-grid { grid-template-columns: 1fr; }
    .clusterlane-support-table th { white-space: normal; }
    .clusterlane-support-card--full .clusterlane-support-table th { width: 38%; }
}

/* =========================================================
   Network Admin — Clusterlane Network overview
   ========================================================= */
.clusterlane-network-btn { display: inline-flex; align-items: center; text-decoration: none; }
.clusterlane-network-btn:focus { box-shadow: none; }
.clusterlane-network-table-wrap { overflow-x: auto; border: 1px solid #e2e8f0; border-radius: 10px; }
.clusterlane-network-table { width: 100%; border-collapse: collapse; font-size: 13px; background: #fff; }
.clusterlane-network-table th {
    text-align: left; padding: 10px 12px; background: #f8fafc; color: #64748b;
    font-size: 11.5px; font-weight: 600; text-transform: uppercase; letter-spacing: .03em;
    border-bottom: 1px solid #e2e8f0; white-space: nowrap;
}
.clusterlane-network-table td { padding: 10px 12px; border-bottom: 1px solid #f1f5f9; vertical-align: top; color: #0f172a; }
.clusterlane-network-table tr:last-child td { border-bottom: 0; }
.clusterlane-network-row--inactive td { color: #94a3b8; }
.clusterlane-network-meta { display: block; color: #94a3b8; font-size: 12px; margin-top: 2px; }
.clusterlane-network-pill {
    display: inline-block; padding: 2px 9px; border-radius: 999px; font-size: 11.5px; font-weight: 600;
    background: #eff6ff; color: #1d4ed8;
}
.clusterlane-network-pill--off { background: #f1f5f9; color: #94a3b8; }
.clusterlane-network-actions { white-space: nowrap; }
.clusterlane-network-actions a { margin-right: 10px; font-weight: 600; text-decoration: none; }
.clusterlane-network-pager { margin-top: 14px; }
.clusterlane-network-pager .page-numbers {
    display: inline-block; min-width: 28px; padding: 4px 8px; margin-right: 4px; text-align: center;
    border: 1px solid #e2e8f0; border-radius: 6px; text-decoration: none; color: #0f172a;
}
.clusterlane-network-pager .page-numbers.current { background: #0f172a; color: #fff; border-color: #0f172a; }

/* =========================================================
   Network AI key — Network Admin card + site Settings notice
   ========================================================= */
.clusterlane-network-ai { margin-bottom: 16px; }
.clusterlane-network-ai-grid {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; margin: 10px 0;
}
.clusterlane-network-ai-grid label { display: flex; flex-direction: column; gap: 4px; font-size: 12px; font-weight: 600; color: #475569; }
.clusterlane-network-ai-grid select, .clusterlane-network-ai-grid input { height: 36px; line-height: 20px; border: 1.5px solid #e2e8f0; border-radius: 8px; padding: 0 10px; max-width: 100%; }
.clusterlane-network-ai-key { grid-column: span 2; }
@media (max-width: 600px) {
    .clusterlane-network-ai-key { grid-column: auto; }
}
.clusterlane-network-ai-policy { margin: 10px 0 12px; border: 0; padding: 0; }
.clusterlane-network-ai-policy legend { font-size: 12px; font-weight: 600; color: #475569; margin-bottom: 6px; }
.clusterlane-network-ai-policy label { display: block; font-size: 13px; margin-bottom: 4px; }
.clusterlane-network-ai-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.clusterlane-support-btn--dark { background: #0f172a; color: #fff; border-color: #0f172a; }
.clusterlane-support-btn--dark:hover { background: #1e293b; }
.clusterlane-support-btn--light { background: #fff; color: #0f172a; border-color: #cbd5e1; }
.clusterlane-support-btn--light:hover { background: #f1f5f9; }
.clusterlane-network-ai-saved { margin: 0 0 8px; color: #15803d; font-weight: 600; font-size: 13px; }
.clusterlane-network-ai-notice {
    margin: 4px 0 12px; padding: 10px 14px; border-radius: 8px; font-size: 13px;
    background: #eff6ff; border-left: 4px solid #3b82f6; color: #1e3a8a;
}
.clusterlane-network-ai-notice--locked { background: #f8fafc; border-left-color: #64748b; color: #334155; }
.clusterlane-ai-fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.clusterlane-ai-fieldset[disabled] { opacity: .6; }

/* =========================================================
   AI usage & limits (Settings) + network limit field
   ========================================================= */
.clusterlane-ai-usage { margin-top: 18px; padding-top: 14px; border-top: 1px solid #e2e8f0; }
.clusterlane-ai-usage h3 { margin: 0 0 4px; font-size: 14px; }
.clusterlane-ai-usage-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; margin: 12px 0; }
.clusterlane-ai-usage-stats > div { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 10px; padding: 10px 12px; }
.clusterlane-ai-usage-stats strong { display: block; font-size: 18px; color: #0f172a; }
.clusterlane-ai-usage-stats span { font-size: 12px; color: #64748b; }
.clusterlane-ai-usage-table { border-collapse: collapse; margin: 6px 0 10px; font-size: 13px; min-width: 320px; }
.clusterlane-ai-usage-table th, .clusterlane-ai-usage-table td { text-align: left; padding: 5px 16px 5px 0; border-bottom: 1px solid #f1f5f9; }
.clusterlane-ai-usage-table th { color: #64748b; font-weight: 600; font-size: 12px; }
.clusterlane-network-ai-limit { display: flex; flex-direction: column; gap: 4px; margin: 0 0 12px; font-size: 12px; font-weight: 600; color: #475569; max-width: 520px; }
.clusterlane-network-ai-limit input { width: 120px; height: 36px; border: 1.5px solid #e2e8f0; border-radius: 8px; padding: 0 10px; }
.clusterlane-network-ai-limit .clusterlane-support-note { font-weight: 400; margin: 0; }

/* =========================================================
   Tooltips v2 — shared floating popover (admin/js/clusterlane-tips.js)
   ========================================================= */
.clusterlane-tip { margin-left: 4px; outline: none; }
.clusterlane-tip:focus-visible .clusterlane-tip-icon { box-shadow: 0 0 0 2px #93c5fd; }
.clusterlane-tip-pop {
    position: absolute; z-index: 1000010; display: none;
    width: max-content; max-width: 300px;
    padding: 10px 12px; border-radius: 8px;
    background: #1e293b; color: #e2e8f0;
    font-size: 12px; line-height: 1.5; font-weight: 400; text-align: left; white-space: normal;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .28);
}
.clusterlane-tip-pop.is-open { display: block; }
.clusterlane-tip-pop::after {
    content: ""; position: absolute; left: var(--clusterlane-tip-arrow, 50%); transform: translateX(-50%);
    border: 6px solid transparent; top: 100%; border-top-color: #1e293b;
}
.clusterlane-tip-pop.is-below::after { top: auto; bottom: 100%; border-top-color: transparent; border-bottom-color: #1e293b; }
.clusterlane-tip-pop-title { display: block; color: #fff; font-size: 12.5px; margin-bottom: 4px; }
.clusterlane-tip-pop-text { display: block; }
.clusterlane-tip-pop-row { display: block; margin-top: 6px; padding-top: 6px; border-top: 1px solid rgba(255,255,255,.1); }
.clusterlane-tip-pop-row b { color: #93c5fd; font-weight: 600; }

/* Icons on dark backgrounds (heroes, dark info bars) */
.clusterlane-hero .clusterlane-tip-icon, .clusterlane-ci-hero .clusterlane-tip-icon, .clusterlane-page-hero .clusterlane-tip-icon, .clusterlane-graph-infobar .clusterlane-tip-icon { background: rgba(255,255,255,.18); color: #e2e8f0; }
.clusterlane-hero .clusterlane-tip:hover .clusterlane-tip-icon, .clusterlane-ci-hero .clusterlane-tip:hover .clusterlane-tip-icon, .clusterlane-graph-infobar .clusterlane-tip:hover .clusterlane-tip-icon { background: #3b82f6; color: #fff; }

/* Help page term reference */
.clusterlane-help-term-good, .clusterlane-help-term-fix { display: inline-block; margin-top: 4px; font-size: 12.5px; color: #475569; }
.clusterlane-help-term-good strong { color: #15803d; }
.clusterlane-help-term-fix strong { color: #1d4ed8; }

/* =========================================================
   Editions — Pro badge, example banner, Pro notes (Free edition)
   ========================================================= */
.clusterlane-pro-badge {
    display: inline-block; padding: 1px 7px; border-radius: 999px;
    background: linear-gradient(135deg, #7c3aed, #2563eb); color: #fff;
    font-size: 10px; font-weight: 700; letter-spacing: .04em; line-height: 16px; vertical-align: middle;
}
.clusterlane-pro-badge--tab { margin-left: 5px; font-size: 9px; padding: 0 6px; }
.clusterlane-pro-example-banner {
    display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
    margin: 0 0 12px; padding: 9px 12px; border-radius: 8px;
    background: #f5f3ff; border: 1px dashed #a78bfa; color: #4c1d95; font-size: 12.5px; line-height: 1.45;
}
.clusterlane-pro-example-text { flex: 1 1 260px; }
.clusterlane-pro-example-link { font-weight: 600; color: #6d28d9; text-decoration: none; white-space: nowrap; }
.clusterlane-pro-example-link:hover { text-decoration: underline; }
.clusterlane-pro-example button[disabled], .clusterlane-pro-example select[disabled] { cursor: not-allowed; }
.clusterlane-pro-example-pair { font-size: 13px; margin: 6px 0 10px; color: #334155; }
.clusterlane-pro-example-variants { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; margin-bottom: 12px; }
.clusterlane-pro-example-variant { border: 1px solid #e2e8f0; border-radius: 10px; padding: 10px 12px; background: #fff; }
.clusterlane-pro-example-variant p { margin: 6px 0 0; font-size: 13px; color: #334155; line-height: 1.5; }
.clusterlane-pro-example-variant-head { display: flex; justify-content: space-between; font-size: 11px; font-weight: 700; color: #64748b; text-transform: uppercase; letter-spacing: .03em; }
.clusterlane-pro-example-pos { font-weight: 600; color: #6d28d9; text-transform: none; }
.clusterlane-pro-note {
    display: flex; align-items: flex-start; gap: 12px; padding: 12px 14px; border-radius: 10px;
    background: #f8fafc; border: 1px solid #e2e8f0;
}
.clusterlane-pro-note strong { display: block; font-size: 13px; color: #0f172a; }
.clusterlane-pro-note p { margin: 2px 0 0; font-size: 12.5px; color: #475569; }
.clusterlane-pro-note .clusterlane-pro-example-link { margin-left: auto; align-self: center; }

/* =========================================================
   Inspector heads (0.98.064) — same navy + radius as the dock.
   Article Inspector: one head for search → then the article
   itself becomes the headline; its featured image fades in
   from the right. Cluster Inspector: restyled hero.
   ========================================================= */
.clusterlane-inspector-head {
    --ih-ink: #16223a;
    --ih-ink-2: #22314f;
    --ih-text: #9fb0c8;
    --ih-text-hi: #f1f5f9;
    --ih-muted: #7c8ea8;
    --ih-node: #60a5fa;
    position: relative;
    overflow: visible;
    background: linear-gradient(135deg, var(--ih-ink) 0%, var(--ih-ink-2) 100%);
    border-radius: 14px;
    padding: 18px 24px 22px;
    color: var(--ih-text-hi);
    box-shadow: 0 10px 28px rgba(15,23,42,.18);
    isolation: isolate;
}
.clusterlane-inspector-head__mark {
    display: inline-flex; align-items: center; justify-content: center;
    width: 34px; height: 34px; flex-shrink: 0;
    border-radius: 10px;
    background: linear-gradient(135deg, #22314f, #16223a);
    box-shadow: 0 0 0 1px rgba(255,255,255,.08) inset;
}

/* Row: mark + page name + search */
.clusterlane-inspector-head__bar { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.clusterlane-inspector-head__page { font-size: 13px; font-weight: 600; color: var(--ih-text); }
.clusterlane-inspector-head__search { position: relative; margin-left: auto; width: min(420px, 100%); }
.clusterlane-inspector-head__search-icon { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: var(--ih-muted); pointer-events: none; }
#clusterlane-ai-head .clusterlane-inspector-head__search-input {
    width: 100% !important; height: 38px !important; min-height: 0 !important; margin: 0 !important;
    padding: 0 12px 0 36px !important;
    border: 1px solid rgba(255,255,255,.12) !important; border-radius: 10px !important;
    background: rgba(255,255,255,.07) !important; color: var(--ih-text-hi) !important;
    font-size: 14px !important; box-shadow: none !important;
    transition: border-color 120ms, background 120ms, box-shadow 120ms;
}
#clusterlane-ai-head .clusterlane-inspector-head__search-input::placeholder { color: var(--ih-muted); opacity: 1; }
#clusterlane-ai-head .clusterlane-inspector-head__search-input:focus {
    outline: none !important; border-color: var(--ih-node) !important;
    background: rgba(255,255,255,.11) !important; box-shadow: 0 0 0 3px rgba(96,165,250,.22) !important;
}

/* Results: a light panel over the page */
.clusterlane-inspector-head__results {
    position: absolute !important; top: calc(100% + 6px); left: 0; right: 0; z-index: 50;
    max-width: none !important; margin: 0 !important;
    box-shadow: 0 14px 34px rgba(15,23,42,.25);
}

/* Subject: the article is the headline */
.clusterlane-inspector-head__subject { margin-top: 22px; max-width: 62%; position: relative; z-index: 1; }
#clusterlane-ai-head .clusterlane-inspector-head__title {
    margin: 0 !important; padding: 0 !important;
    font-size: clamp(1.4rem, 1.1rem + 1.1vw, 2rem) !important;
    font-weight: 800 !important; line-height: 1.15 !important; letter-spacing: -.015em !important;
    color: #fff !important; text-wrap: balance;
}
.clusterlane-inspector-head__meta { margin-top: 10px; font-size: 12.5px; color: var(--ih-text); line-height: 1.8; }
.clusterlane-inspector-head__meta span[style*="color:#64748b"] { color: var(--ih-text) !important; }
.clusterlane-inspector-head__meta strong { color: var(--ih-text-hi); font-weight: 600; }
.clusterlane-inspector-head .clusterlane-ai-tax-pill--cat { background: rgba(59,130,246,.22); color: #bfdbfe; border-color: rgba(96,165,250,.35); }
.clusterlane-inspector-head .clusterlane-ai-tax-pill--tag { background: rgba(255,255,255,.08); color: #cbd5e1; border-color: rgba(255,255,255,.14); }
.clusterlane-inspector-head__actions { display: flex; gap: 8px; margin-top: 16px; flex-wrap: wrap; }
.clusterlane-inspector-head__btn {
    display: inline-flex; align-items: center; height: 34px; padding: 0 14px;
    border-radius: 9px; border: 1px solid rgba(255,255,255,.16);
    color: var(--ih-text-hi); font-size: 13px; font-weight: 600; text-decoration: none;
    transition: background 120ms, border-color 120ms;
}
.clusterlane-inspector-head__btn:hover, .clusterlane-inspector-head__btn:focus { background: rgba(255,255,255,.08); color: #fff; border-color: rgba(255,255,255,.26); box-shadow: none; }
.clusterlane-inspector-head__btn:focus-visible { outline: 2px solid var(--ih-node); outline-offset: 2px; }
.clusterlane-inspector-head__btn--primary { background: #fff; border-color: #fff; color: var(--ih-ink); }
.clusterlane-inspector-head__btn--primary:hover, .clusterlane-inspector-head__btn--primary:focus { background: #e2e8f0; border-color: #e2e8f0; color: var(--ih-ink); }

/* Empty state (before an article is chosen) */
.clusterlane-inspector-head__empty { margin-top: 16px; }
.clusterlane-inspector-head__empty > p { margin: 0; max-width: 120ch; color: var(--ih-text); font-size: 13.5px; line-height: 1.6; }
.clusterlane-inspector-head .clusterlane-ai-recent-label { margin: 0 0 8px; font-size: 12px; font-weight: 600; color: var(--ih-muted); }
.clusterlane-inspector-head .clusterlane-ai-recent-item {
    background: rgba(255,255,255,.05) !important; border-color: rgba(255,255,255,.10) !important; color: var(--ih-text-hi) !important;
}
.clusterlane-inspector-head .clusterlane-ai-recent-item:hover { background: rgba(255,255,255,.10) !important; border-color: rgba(96,165,250,.45) !important; }

/* Which part shows: subject once #clusterlane-ai-title has text, otherwise the empty state */
.clusterlane-inspector-head:has(#clusterlane-ai-title:empty) .clusterlane-inspector-head__subject { display: none; }
.clusterlane-inspector-head:not(:has(#clusterlane-ai-title:empty)) .clusterlane-inspector-head__empty { display: none; }

/* Featured image: fades in from the right, behind the text */
.clusterlane-inspector-head--has-image::before {
    content: ""; position: absolute; top: 0; right: 0; bottom: 0; width: 48%; z-index: -1;
    border-radius: 0 14px 14px 0;
    background-image: var(--clusterlane-header-img); background-size: cover; background-position: center;
    -webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.55) 45%, #000 100%);
            mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.55) 45%, #000 100%);
    opacity: .85;
}

/* Cluster Inspector hero — same family */
.clusterlane-ci-hero {
    background: linear-gradient(135deg, #16223a 0%, #22314f 100%) !important;
    border-radius: 14px !important;
    padding: 22px 26px !important;
    box-shadow: 0 10px 28px rgba(15,23,42,.18);
}
.clusterlane-ci-hero-title .clusterlane-page-hero-sub { color: #9fb0c8; }
.clusterlane-ci-stat-label { color: #8ea0ba; }
@media (max-width: 782px) {
    .clusterlane-inspector-head { padding: 16px 16px 18px; }
    .clusterlane-inspector-head__search { width: 100%; margin-left: 0; }
    .clusterlane-inspector-head__subject { max-width: none; margin-top: 18px; }
    .clusterlane-inspector-head--has-image::before { width: 100%; opacity: .28; -webkit-mask-image: none; mask-image: none; border-radius: 14px; }
    .clusterlane-ci-hero { padding: 18px !important; }
}

/* =========================================================
   Page heroes + Cluster Inspector detail head (0.98.065)
   ========================================================= */

/* Every page hero: same navy, radius and SVG tile as the dock */
.clusterlane-page-hero {
    background: linear-gradient(135deg, #16223a 0%, #22314f 100%) !important;
    border-radius: 14px !important;
    padding: 20px 24px !important;
    box-shadow: 0 10px 28px rgba(15,23,42,.16);
}
.clusterlane-page-hero .clusterlane-page-hero-sub { color: #9fb0c8; }

/* Detail head: the selected cluster is the headline */
.clusterlane-ci-detail-header {
    background: linear-gradient(135deg, #16223a 0%, #22314f 100%) !important;
    padding: 20px 24px 16px !important;
}
.clusterlane-ci-detail-title-row { align-items: center !important; gap: 18px; margin-bottom: 14px !important; }
.clusterlane-ci-detail-titles { min-width: 0; flex: 1 1 auto; }
.clusterlane-ci-detail-kind { display: block; font-size: 12.5px; color: #9fb0c8; margin-bottom: 4px; }
#clusterlane-ci-detail-panel .clusterlane-ci-detail-label {
    margin: 0 !important; color: #fff !important; text-transform: none !important; letter-spacing: -.015em !important;
    font-size: clamp(1.3rem, 1.05rem + .9vw, 1.8rem) !important; font-weight: 800 !important; line-height: 1.15 !important;
}
.clusterlane-ci-detail-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.clusterlane-ci-detail-ai-btn { height: 32px !important; font-size: 12.5px !important; cursor: pointer; background: transparent; font-family: inherit; }

/* Health = the lit node (same device as the active tab in the dock) */
.clusterlane-ci-detail-health {
    display: flex; align-items: center; gap: 10px; flex-shrink: 0;
    padding: 6px 14px 6px 12px; border-radius: 999px;
    background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.08);
}
.clusterlane-ci-detail-health[hidden] { display: none; }
.clusterlane-ci-health-node { width: 10px; height: 10px; border-radius: 50%; background: var(--clusterlane-hn); box-shadow: 0 0 0 3px color-mix(in srgb, var(--clusterlane-hn) 25%, transparent), 0 0 14px 2px color-mix(in srgb, var(--clusterlane-hn) 60%, transparent); }
.clusterlane-ci-health-value { font-size: 1.35rem; font-weight: 800; color: #fff; line-height: 1; }
.clusterlane-ci-health-label { font-size: 12px; color: #9fb0c8; }
.clusterlane-ci-detail-health--good { --clusterlane-hn: #22c55e; }
.clusterlane-ci-detail-health--fair { --clusterlane-hn: #f59e0b; }
.clusterlane-ci-detail-health--weak { --clusterlane-hn: #ef4444; }
.clusterlane-ci-detail-health .clusterlane-tip-icon { background: rgba(255,255,255,.18); color: #e2e8f0; }

/* Info bar under the headline: kind/articles/health are in the head now */
.clusterlane-ci-detail-header .clusterlane-gib-head { display: none !important; }
.clusterlane-ci-detail-header .clusterlane-graph-infobar { color: #9fb0c8 !important; font-size: 12px; }
.clusterlane-ci-detail-header .clusterlane-graph-infobar strong { color: #f1f5f9; }
.clusterlane-ci-detail-header .clusterlane-graph-infobar > span:first-of-type:not(.clusterlane-gib-head) { padding-left: 0; }
@media (max-width: 782px) {
    .clusterlane-ci-detail-title-row { flex-wrap: wrap; }
    .clusterlane-ci-detail-titles { flex-basis: 100%; }
    .clusterlane-ci-detail-health { order: 2; }
    .clusterlane-ci-detail-actions { order: 3; margin-left: auto; }
}

/* AI Analysis button in the detail head (outside .clusterlane-inspector-head scope) */
#clusterlane-ci-detail-panel .clusterlane-ci-detail-ai-btn { color: #f1f5f9; border: 1px solid rgba(255,255,255,.16); border-radius: 9px; padding: 0 14px; }
#clusterlane-ci-detail-panel .clusterlane-ci-detail-ai-btn:hover { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.26); }
#clusterlane-ci-detail-panel .clusterlane-ci-detail-ai-btn:focus-visible { outline: 2px solid #60a5fa; outline-offset: 2px; }
#clusterlane-ci-detail-panel .clusterlane-ci-detail-ai-btn:disabled { opacity: .6; cursor: progress; }

/* =========================================================
   Glyphs (0.98.066) — line icons that replace emoji.
   Sized in em, so they follow the font size of whatever they sit in.
   ========================================================= */
.clusterlane-g {
    display: inline-block;
    width: 1.05em;
    height: 1.05em;
    vertical-align: -0.16em;
    margin-right: .38em;
    flex-shrink: 0;
    overflow: visible;
}

/* Icon-only spots: no trailing gap */
.clusterlane-type-icon .clusterlane-g, .clusterlane-ai-recent-icon .clusterlane-g, .clusterlane-ob-icon .clusterlane-g, .clusterlane-tms-empty-icon .clusterlane-g, .clusterlane-site-analysis-icon .clusterlane-g, .clusterlane-support-icon .clusterlane-g, .clusterlane-improve-panel-icon .clusterlane-g, .clusterlane-action-btn__icon .clusterlane-g, .clusterlane-ci-cluster-type .clusterlane-g, .clusterlane-ai-cluster-type .clusterlane-g, .clusterlane-type-filter .clusterlane-g, #clusterlane-sa-print .clusterlane-g { margin-right: 0; }

/* Big feature icons keep their visual weight */
.clusterlane-ob-icon .clusterlane-g, .clusterlane-tms-empty-icon .clusterlane-g { stroke-width: 1.6; color: #16a34a; }
.clusterlane-support-icon .clusterlane-g, .clusterlane-site-analysis-icon .clusterlane-g { color: #fff; }

/* Card title icons (Cluster Graph, Site Intelligence Analysis): the same blue tile as page marks */
.clusterlane-site-analysis-icon {
    display: inline-flex; align-items: center; justify-content: center;
    width: 34px; height: 34px; border-radius: 10px; font-size: 17px !important; color: #fff;
    background: linear-gradient(135deg, #22314f, #16223a);
    box-shadow: 0 0 0 1px rgba(255,255,255,.08) inset;
}

/* Article Inspector head (0.98.067)
   (1) Before an article is chosen, the page name is the headline — same size as other page heroes.
   (3) Recently inspected: light text on the dark head. */
.clusterlane-inspector-head:has(#clusterlane-ai-title:empty) .clusterlane-inspector-head__page {
    font-size: 1.6rem; font-weight: 800; color: #fff; letter-spacing: -.01em; line-height: 1.15;
}
.clusterlane-inspector-head .clusterlane-ai-recent-title { color: #e2e8f0; }
.clusterlane-inspector-head .clusterlane-ai-recent-icon { color: #7c8ea8; opacity: 1; }
.clusterlane-inspector-head .clusterlane-ai-recent-item:hover .clusterlane-ai-recent-title { color: #fff; }
.clusterlane-inspector-head .clusterlane-ai-recent-item:hover .clusterlane-ai-recent-icon { color: #60a5fa; }
.clusterlane-inspector-head .clusterlane-ai-recent-item:focus-visible { outline: 2px solid #60a5fa; outline-offset: 2px; }

/* =========================================================
   Article Inspector — Articles to review (0.98.068)
   Paged on the server; needs-attention first. Role colours
   are the graph's: Pillar orange · Support yellow · Light green · Orphan blue.
   ========================================================= */
.clusterlane-wrap:has(#clusterlane-ai-title:not(:empty)) #clusterlane-ai-browse { display: none; }
.clusterlane-browse { margin-top: 20px; }
.clusterlane-browse__head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; }
.clusterlane-browse__head .clusterlane-ai-section-title { margin: 0; }
/* Summary pill (0.98.123): count · sort order · orphans shortcut */
.clusterlane-browse__summary { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 0; padding: 4px 6px; border-radius: 999px; background: #f1f5f9; font-size: 12.5px; color: #64748b; line-height: 1.4; }
.clusterlane-browse__summary:empty { display: none; }
.clusterlane-browse__sum-part { display: inline-flex; align-items: center; gap: 5px; padding: 2px 8px; }
.clusterlane-browse__sum-part + .clusterlane-browse__sum-part { border-left: 1px solid #e2e8f0; }
.clusterlane-browse__sum-part b { color: #16223a; font-weight: 700; }
.clusterlane-browse__sum-part--sort span { color: #94a3b8; }
.clusterlane-browse__sum-orphans { margin: 0; border: 0; border-radius: 999px; background: #e4f0f8; color: #245f84; font: inherit; cursor: pointer; transition: background 120ms; }
.clusterlane-browse__sum-part + .clusterlane-browse__sum-orphans { border-left: 0; margin-left: 4px; }
.clusterlane-browse__sum-orphans b { color: #245f84; }
.clusterlane-browse__sum-orphans:hover { background: #d3e6f3; }
.clusterlane-browse__sum-orphans:focus-visible { outline: 2px solid #3b82f6; outline-offset: 1px; }
.clusterlane-browse__toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 14px; }
.clusterlane-browse__search { position: relative; flex: 1 1 240px; max-width: 360px; }
.clusterlane-browse__search .clusterlane-g { position: absolute; left: 11px; top: 50%; transform: translateY(-50%); color: #94a3b8; margin: 0; }
#clusterlane-ai-browse .clusterlane-browse__search input, #clusterlane-ai-browse select#clusterlane-ab-cluster, #clusterlane-ai-browse select#clusterlane-ab-meta, #clusterlane-ai-browse select#clusterlane-ab-lang, #clusterlane-seot .clusterlane-browse__search input, #clusterlane-seot select#clusterlane-seot-cluster, #clusterlane-seot select#clusterlane-seot-lang {
    height: 36px; min-height: 0; margin: 0; border: 1.5px solid #e2e8f0; border-radius: 9px;
    font-size: 13px; color: #0f172a; background-color: #fff; box-shadow: none;
}
#clusterlane-ai-browse .clusterlane-browse__search input, #clusterlane-seot .clusterlane-browse__search input { width: 100%; padding: 0 12px 0 34px; }
#clusterlane-ai-browse select#clusterlane-ab-cluster, #clusterlane-ai-browse select#clusterlane-ab-meta, #clusterlane-ai-browse select#clusterlane-ab-lang, #clusterlane-seot select#clusterlane-seot-cluster, #clusterlane-seot select#clusterlane-seot-lang { padding: 0 32px 0 12px; max-width: 260px; }
#clusterlane-ai-browse select#clusterlane-ab-meta.is-active { border-color: #2563eb; background-color: #eff6ff; color: #1e3a8a; font-weight: 600; }
#clusterlane-ai-browse .clusterlane-browse__search input:focus, #clusterlane-ai-browse select#clusterlane-ab-cluster:focus, #clusterlane-ai-browse select#clusterlane-ab-meta:focus, #clusterlane-ai-browse select#clusterlane-ab-lang:focus, #clusterlane-seot .clusterlane-browse__search input:focus, #clusterlane-seot select#clusterlane-seot-cluster:focus, #clusterlane-seot select#clusterlane-seot-lang:focus { outline: none; border-color: #3b82f6; box-shadow: 0 0 0 3px rgba(59,130,246,.15); }
.clusterlane-browse__roles { display: inline-flex; flex-wrap: wrap; gap: 4px; padding: 3px; border-radius: 10px; background: #f1f5f9; }
.clusterlane-browse__roles button {
    display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 11px;
    border: 0; border-radius: 7px; background: transparent; color: #475569;
    font-size: 12.5px; font-weight: 500; cursor: pointer;
}
.clusterlane-browse__roles button em { font-style: normal; color: #94a3b8; font-weight: 600; }
.clusterlane-browse__roles button:hover { color: #0f172a; }
.clusterlane-browse__roles button.is-active { background: #fff; color: #0f172a; font-weight: 600; box-shadow: 0 1px 2px rgba(15,23,42,.08); }
.clusterlane-browse__roles button:focus-visible { outline: 2px solid #3b82f6; outline-offset: 1px; }
.clusterlane-role-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.clusterlane-role-dot--pillar { background: #e76c2e; }
.clusterlane-role-dot--support { background: #f5c842; }
.clusterlane-role-dot--light { background: #90b865; }
.clusterlane-role-dot--orphan { background: #5ba4cf; }
.clusterlane-browse__table-wrap { overflow-x: auto; border: 1px solid #e2e8f0; border-radius: 10px; transition: opacity 150ms; }
.clusterlane-browse.is-loading .clusterlane-browse__table-wrap { opacity: .55; }
.clusterlane-browse__table { width: 100%; border-collapse: collapse; font-size: 13px; }
.clusterlane-browse__table > thead > tr > th {
    position: sticky; top: 0; z-index: 1;
    padding: 9px 12px; background: #f8fafc; border-bottom: 1px solid #e2e8f0;
    text-align: left; font-size: 12px; font-weight: 600; color: #64748b; white-space: nowrap;
}
.clusterlane-browse__table > thead > tr > th.num, .clusterlane-browse__table > tbody > tr > td.num { text-align: right; font-variant-numeric: tabular-nums; }
.clusterlane-browse__table > thead > tr > th button { all: unset; cursor: pointer; }
.clusterlane-browse__table > thead > tr > th button:hover { color: #0f172a; }
.clusterlane-browse__table > thead > tr > th button:focus-visible { outline: 2px solid #3b82f6; outline-offset: 2px; border-radius: 3px; }
.clusterlane-browse__table > thead > tr > th button.is-sorted { color: #0f172a; }
.clusterlane-browse__table > thead > tr > th button.is-sorted::after { content: " ↓"; }
.clusterlane-browse__table > thead > tr > th button.is-sorted[data-dir="asc"]::after { content: " ↑"; }
.clusterlane-browse__table > tbody > tr > td { padding: 10px 12px; border-bottom: 1px solid #f1f5f9; color: #334155; vertical-align: middle; }
.clusterlane-browse__table > tbody > tr { cursor: pointer; transition: background 100ms; }
.clusterlane-browse__table > tbody > tr:hover { background: #f8fafc; }
.clusterlane-browse__table > tbody > tr:last-child > td { border-bottom: 0; }
.clusterlane-browse__col-title { min-width: 240px; }
.clusterlane-browse__open { all: unset; display: block; font-weight: 600; color: #0f172a; cursor: pointer; }
.clusterlane-browse__open:hover, tr:hover .clusterlane-browse__open { color: #1d4ed8; }
.clusterlane-browse__open:focus-visible { outline: 2px solid #3b82f6; outline-offset: 2px; border-radius: 3px; }
.clusterlane-browse__cluster { display: block; margin-top: 2px; font-size: 12px; color: #94a3b8; }
.clusterlane-browse__more { color: #64748b; font-weight: 600; }
.clusterlane-role-pill { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; color: #334155; white-space: nowrap; }
.clusterlane-browse__score { display: inline-block; min-width: 30px; font-weight: 700; }
.clusterlane-browse__score--good { color: #15803d; }
.clusterlane-browse__score--fair { color: #b45309; }
.clusterlane-browse__score--weak { color: #dc2626; }
.clusterlane-browse__table > tbody > tr > td.clusterlane-browse__zero { color: #dc2626; font-weight: 700; }
.clusterlane-browse__muted { color: #94a3b8; font-size: 12.5px; }
.clusterlane-browse__empty { text-align: center; padding: 28px 12px !important; color: #64748b; cursor: default; }
.clusterlane-browse__pager { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 12px; min-height: 20px; }
.clusterlane-browse__pages { display: inline-flex; align-items: center; gap: 10px; font-size: 12.5px; color: #475569; }
.clusterlane-browse__pages button {
    height: 30px; padding: 0 12px; border: 1px solid #e2e8f0; border-radius: 8px;
    background: #fff; color: #0f172a; font-size: 12.5px; font-weight: 600; cursor: pointer;
}
.clusterlane-browse__pages button:hover:not(:disabled) { border-color: #93c5fd; background: #eff6ff; }
.clusterlane-browse__pages button:disabled { opacity: .45; cursor: default; }
.clusterlane-inspector-head__btn--quiet { border-color: transparent; color: #9fb0c8; }
.clusterlane-inspector-head__btn--quiet:hover { color: #fff; }
@media (max-width: 782px) {
    .clusterlane-browse__opt { display: none; }
    .clusterlane-browse__search { max-width: none; flex-basis: 100%; }
    #clusterlane-ai-browse select#clusterlane-ab-cluster, #clusterlane-ai-browse select#clusterlane-ab-meta, #clusterlane-ai-browse select#clusterlane-ab-lang, #clusterlane-seot select#clusterlane-seot-cluster, #clusterlane-seot select#clusterlane-seot-lang { flex: 1 1 auto; max-width: none; }
    .clusterlane-browse__col-title { min-width: 0; }
}

/* Article Inspector list — fixed column widths (0.98.123), so columns don't
   jump when a filter changes what the rows contain. The title takes the rest
   and wraps to at most two lines; on mobile the optional columns are hidden
   and the fixed columns shrink. */
.clusterlane-ai-table { table-layout: fixed; }
.clusterlane-ai-table > thead > tr > th:nth-child(2) { width: 132px; }
.clusterlane-ai-table > thead > tr > th:nth-child(3) { width: 84px; }
.clusterlane-ai-table > thead > tr > th:nth-child(4) { width: 64px; }
.clusterlane-ai-table > thead > tr > th:nth-child(5) { width: 72px; }
.clusterlane-ai-table > thead > tr > th:nth-child(6) { width: 84px; }
.clusterlane-ai-table > thead > tr > th:nth-child(7) { width: 112px; }
.clusterlane-ai-table .clusterlane-browse__col-title { min-width: 0; }
.clusterlane-ai-table .clusterlane-browse__open { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; overflow-wrap: anywhere; }
.clusterlane-ai-table .clusterlane-browse__cluster { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.clusterlane-ai-table .clusterlane-role-pill { max-width: 100%; }
@media (max-width: 782px) {
    /* Role shows only its coloured dot; the header keeps the word for screen readers. */
    .clusterlane-ai-table > thead > tr > th:nth-child(2) { width: 14px; font-size: 0; }
    .clusterlane-ai-table > thead > tr > th:nth-child(2) .clusterlane-tip { display: none; }
    .clusterlane-ai-table .clusterlane-role-pill { font-size: 0; gap: 0; }
    .clusterlane-ai-table > thead > tr > th:nth-child(3) { width: 48px; }
    .clusterlane-ai-table > thead > tr > th:nth-child(4) { width: 34px; }
    .clusterlane-ai-table > thead > tr > th, .clusterlane-ai-table > tbody > tr > td { padding-left: 7px; padding-right: 7px; }
    .clusterlane-ai-table .clusterlane-thumb--md { width: 30px; height: 30px; margin-right: 8px; }
}

/* Article Inspector head — compact empty state (0.98.069)
   The table's filter bar replaces the head search until an article is open;
   the head search comes back with the article (quick switching). */
.clusterlane-inspector-head:has(#clusterlane-ai-title:empty) { padding: 18px 24px 18px; }
.clusterlane-inspector-head:has(#clusterlane-ai-title:empty) .clusterlane-inspector-head__search { display: none; }
.clusterlane-inspector-head:has(#clusterlane-ai-title:empty) .clusterlane-inspector-head__empty { margin-top: 10px; }
.clusterlane-inspector-head__empty > p { margin-left: 46px !important; }

/* align with the title, past the mark */
.clusterlane-inspector-head #clusterlane-ai-recent-slot:not(:empty) { margin: 12px 0 0 46px; }
.clusterlane-inspector-head #clusterlane-ai-recent-slot > div { margin-top: 0 !important; }

/* Recently inspected: one row of chips instead of a stacked list */
.clusterlane-inspector-head .clusterlane-ai-recent-label { display: inline-block; margin: 0 8px 6px 0; }
.clusterlane-inspector-head .clusterlane-ai-recent-list { flex-direction: row; flex-wrap: wrap; gap: 6px; }
.clusterlane-inspector-head .clusterlane-ai-recent-item {
    width: auto; max-width: 260px; padding: 5px 12px 5px 10px; border-radius: 999px; gap: 6px;
}
.clusterlane-inspector-head .clusterlane-ai-recent-title { font-size: 12.5px; }
@media (max-width: 782px) {
    .clusterlane-inspector-head__empty > p, .clusterlane-inspector-head #clusterlane-ai-recent-slot:not(:empty) { margin-left: 0 !important; }
}

/* =========================================================
   Cluster Inspector — cluster table (0.98.072)
   Same component as "Articles to review"; sorted & filtered client-side.
   ========================================================= */
.clusterlane-ci-table tr.clusterlane-ci-cluster-row { display: table-row; padding: 0; border: 0; border-radius: 0; margin: 0; background: transparent; }
.clusterlane-ci-table tr.clusterlane-ci-cluster-row:hover { background: #f8fafc; }
.clusterlane-ci-table tr.clusterlane-ci-cluster-row--active, .clusterlane-ci-table tr.clusterlane-ci-cluster-row--active:hover { background: #eff6ff; box-shadow: inset 3px 0 0 #3b82f6; }
.clusterlane-ci-table .clusterlane-ci-cluster-type { display: inline-flex; color: #94a3b8; margin-right: 8px; vertical-align: -2px; }
.clusterlane-ci-table .clusterlane-browse__open { display: inline-block; max-width: calc(100% - 28px); vertical-align: top; text-align: left; }
.clusterlane-ci-table > tbody > tr > td.clusterlane-browse__zero { color: #dc2626; }
.clusterlane-band-dot--weak { background: #ef4444; }
.clusterlane-band-dot--fair { background: #f59e0b; }
.clusterlane-band-dot--good { background: #22c55e; }

/* Health cell: the lit node + value */
.clusterlane-ci-health-cell { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; color: #0f172a; }
.clusterlane-ci-health-cell .clusterlane-ci-health-node { width: 8px; height: 8px; }
.clusterlane-ci-health-cell.clusterlane-ci-detail-health--good { color: #15803d; }
.clusterlane-ci-health-cell.clusterlane-ci-detail-health--fair { color: #b45309; }
.clusterlane-ci-health-cell.clusterlane-ci-detail-health--weak { color: #dc2626; }
.clusterlane-browse__table > tbody > tr > td.clusterlane-browse__muted { color: #94a3b8; }

/* Inline cluster detail (0.98.073): the open cluster's panel sits in a row
   right under its table row, joined by the blue edge of the active row. */
.clusterlane-ci-table > tbody > tr.clusterlane-ci-detail-row, .clusterlane-ci-table > tbody > tr.clusterlane-ci-detail-row:hover { cursor: default; background: #f1f5f9; }
.clusterlane-ci-table > tbody > tr.clusterlane-ci-detail-row > td { padding: 0 12px 14px 12px; border-bottom: 1px solid #e2e8f0; box-shadow: inset 3px 0 0 #3b82f6; }
.clusterlane-ci-table > tbody > tr.clusterlane-ci-cluster-row--active > td { border-bottom-color: transparent; }
.clusterlane-ci-detail-row #clusterlane-ci-detail-panel { margin-top: 0 !important; }
.clusterlane-ci-detail-row #clusterlane-ci-detail-panel > .clusterlane-panel-card { margin: 0; box-shadow: 0 6px 18px rgba(15,23,42,.10); cursor: auto; }
.clusterlane-improve-block-icon .clusterlane-g { margin-right: 0; }

/* Fixed column widths (0.98.123) for the Cluster Inspector list, its members
   table and the Cluster Admin table — columns no longer jump when a filter or
   sort changes the rows. Titles take the remaining width. The phone rules
   below (and further down) override these widths. */
.clusterlane-ci-table { table-layout: fixed; }
.clusterlane-ci-table > thead > tr > th:nth-child(2) { width: 172px; }
.clusterlane-ci-table > thead > tr > th:nth-child(3) { width: 84px; }
.clusterlane-ci-table > thead > tr > th:nth-child(4) { width: 92px; }
.clusterlane-ci-table > thead > tr > th:nth-child(5) { width: 84px; }
.clusterlane-ci-table > thead > tr > th:nth-child(6) { width: 92px; }
.clusterlane-ci-table > tbody > tr.clusterlane-ci-cluster-row > td.clusterlane-browse__col-title { overflow-wrap: anywhere; }
.clusterlane-ci-members { table-layout: fixed; }
.clusterlane-ci-members > thead > tr > th:nth-child(2) { width: 140px; }
.clusterlane-ci-members > thead > tr > th:nth-child(3) { width: 48px; }
.clusterlane-ci-members > thead > tr > th:nth-child(4) { width: 52px; }
.clusterlane-ci-members > thead > tr > th:nth-child(5) { width: 60px; }
.clusterlane-ci-members > thead > tr > th:nth-child(6) { width: 64px; }
.clusterlane-ci-members > thead > tr > th:nth-child(7) { width: 116px; }
.clusterlane-ci-members .clusterlane-ci-member-link { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; overflow-wrap: anywhere; }
.clusterlane-ci-members .clusterlane-browse__titlecell > .clusterlane-thumb { flex-shrink: 0; }
.clusterlane-ca-table { table-layout: fixed; }
.clusterlane-ca-table > thead > tr > th:nth-child(2) { width: 84px; }
.clusterlane-ca-table > thead > tr > th:nth-child(3) { width: 92px; }
.clusterlane-ca-table > thead > tr > th:nth-child(4) { width: 92px; }
.clusterlane-ca-table > thead > tr > th:nth-child(5) { width: 168px; }
.clusterlane-ca-table .clusterlane-ca-name { overflow-wrap: anywhere; }
@media (max-width: 782px) {
    /* Phones: only 3–4 columns remain, so these two tables go back to
       content-based widths (hidden columns in a fixed-layout table leave
       their width behind in Chrome). */
    .clusterlane-ci-members, .clusterlane-ca-table { table-layout: auto; }
    /* Members: Out, Words and the action buttons are hidden (a tap on the row
       opens the article in Article Inspector; Make pillar and Edit are on
       wider screens). The role shows as its dot, a chosen pillar as a star. */
    .clusterlane-ci-members-wrap .clusterlane-ci-members > thead > tr > th, .clusterlane-ci-members-wrap .clusterlane-ci-members > tbody > tr > td { padding-left: 6px; padding-right: 6px; }
    .clusterlane-ci-members > thead > tr > th:is(:nth-child(4), :nth-child(6), :nth-child(7)),
    .clusterlane-ci-members > tbody > tr > td:is(:nth-child(4), :nth-child(6), :nth-child(7)) { display: none; }
    .clusterlane-ci-members > thead > tr > th:nth-child(2) { font-size: 0; }
    .clusterlane-ci-members > thead > tr > th .clusterlane-tip { display: none; }
    .clusterlane-ci-members > thead > tr > th:not(:first-child) { width: 1%; white-space: nowrap; }
    .clusterlane-ci-members .clusterlane-role-pill { font-size: 0; gap: 0; }
    .clusterlane-ci-members > tbody > tr > td:nth-child(2) { white-space: nowrap; }
    .clusterlane-ci-members .clusterlane-ci-chosen { margin: 0 0 0 2px; padding: 0; background: none; font-size: 0; }
    .clusterlane-ci-members .clusterlane-ci-chosen::before { content: "★"; font-size: 11px; color: #e76c2e; }
    .clusterlane-ci-members .clusterlane-thumb--sm { display: none; }
    /* Cluster Admin: the article count is in the cluster's editor; actions stack. */
    .clusterlane-ca-table > thead > tr > th, .clusterlane-ca-table > tbody > tr > td { padding-left: 7px; padding-right: 7px; }
    .clusterlane-ca-table > thead > tr > th:nth-child(2), .clusterlane-ca-table > tbody > tr.clusterlane-ca-row > td:nth-child(2) { display: none; }
    .clusterlane-ca-table > thead > tr > th .clusterlane-tip { display: none; }
    .clusterlane-ca-table > thead > tr > th:not(:first-child) { width: 1%; white-space: nowrap; }
    .clusterlane-ca-table td.clusterlane-ca-actions .clusterlane-tm-btn { display: flex; justify-content: center; box-sizing: border-box; margin: 0 0 4px; }
}

/* Inline cluster detail on phones (0.98.074): the panel must not widen the
   table. A fixed table layout keeps columns to the screen width, and the
   panel's own content wraps inside its row. */
@media (max-width: 782px) {
    .clusterlane-ci-table { table-layout: fixed; width: 100%; }
    .clusterlane-ci-table > thead > tr > th:is(:nth-child(2), :nth-child(3), :nth-child(5)), .clusterlane-ci-table > tbody > tr.clusterlane-ci-cluster-row > td:is(:nth-child(2), :nth-child(3), :nth-child(5)) {
        display: table-cell !important; width: 0; padding: 0 !important; border: 0;
        overflow: hidden; font-size: 0; visibility: hidden;
    }
    .clusterlane-ci-table > thead > tr > th, .clusterlane-ci-table > tbody > tr > td { padding-left: 8px; padding-right: 8px; }
    .clusterlane-ci-table > thead > tr > th:nth-child(4) { width: 66px; }
    .clusterlane-ci-table > thead > tr > th:nth-child(6) { width: 72px; }
    .clusterlane-ci-table > tbody > tr.clusterlane-ci-cluster-row > td.clusterlane-browse__col-title { overflow-wrap: anywhere; } /* wraps; the name is a button and can't be truncated with an ellipsis */
    .clusterlane-ci-table > tbody > tr.clusterlane-ci-detail-row > td { padding: 0 4px 10px; }
    .clusterlane-ci-detail-row #clusterlane-ci-detail-panel, .clusterlane-ci-detail-row #clusterlane-ci-detail-panel > .clusterlane-panel-card { max-width: 100%; min-width: 0; }
    .clusterlane-ci-detail-row .clusterlane-ci-detail-header { padding: 16px 14px 12px !important; }
    .clusterlane-ci-detail-row .clusterlane-graph-infobar { row-gap: 4px; }
    .clusterlane-ci-detail-row .clusterlane-graph-infobar > span { white-space: normal; }
    .clusterlane-ci-detail-row #clusterlane-ci-detail-panel > .clusterlane-panel-card > div[style*="padding:20px 24px"] { padding: 14px 12px !important; }
    .clusterlane-ci-detail-row #clusterlane-ci-detail-graph { height: 300px !important; }
    .clusterlane-ci-detail-row table { display: block; max-width: 100%; overflow-x: auto; }
    .clusterlane-ci-detail-row .clusterlane-improve-block-head { gap: 8px; }
    .clusterlane-ci-detail-row .clusterlane-improve-block-title { min-width: 0; overflow-wrap: anywhere; }
    .clusterlane-ci-detail-row [class*="clusterlane-tms-"], .clusterlane-ci-detail-row [class*="clusterlane-gap-"] { overflow-wrap: break-word; }
}

/* =========================================================
   Text Match Scanner v2 (0.98.075)
   ========================================================= */
.clusterlane-tm-question { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; font-size: 14px; color: #0f172a; font-weight: 600; }
.clusterlane-tm-question label { font-weight: 600; }
.clusterlane-tm-question .clusterlane-tms-select { height: 36px; min-height: 0; border: 1.5px solid #e2e8f0; border-radius: 9px; padding: 0 30px 0 10px; font-size: 13px; font-weight: 500; }
.clusterlane-tm-hint { margin: 10px 0 16px; font-size: 13px; color: #64748b; }
.clusterlane-tm-actions-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.clusterlane-tm-status { font-size: 13px; color: #64748b; }
.clusterlane-tm-linkbtn { margin-left: auto; background: none; border: 0; padding: 0; color: #64748b; font-size: 12.5px; text-decoration: underline; cursor: pointer; }
.clusterlane-tm-linkbtn:hover { color: #0f172a; }
.clusterlane-tm-progress-label { font-size: 12px; color: #64748b; margin-top: 4px; }

/* Before the first search */
.clusterlane-tm-preview { opacity: .8; }
.clusterlane-tm-preview-label { margin: 0 0 8px; font-size: 12px; font-weight: 600; color: #94a3b8; }
.clusterlane-tm-preview .clusterlane-tm-group { border-style: dashed; }
.clusterlane-tm-preview .clusterlane-tm-btn { pointer-events: none; }
.clusterlane-tm-summary { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin: 0 0 12px; font-size: 13.5px; color: #334155; }
.clusterlane-tm-orphan-count { color: #1d4ed8; font-weight: 600; }
.clusterlane-tm-restore { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 14px; margin-bottom: 14px; border-radius: 10px; background: #eff6ff; border: 1px solid #bfdbfe; color: #1e3a8a; font-size: 13px; }
.clusterlane-tm-group { background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; margin-bottom: 14px; overflow: hidden; }
.clusterlane-tm-group-head { display: flex; align-items: center; gap: 12px; padding: 10px 16px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; font-size: 13px; color: #64748b; }
.clusterlane-tm-group-head a { color: #0f172a; text-decoration: none; }
.clusterlane-tm-group-head a:hover strong { text-decoration: underline; }
.clusterlane-tm-group-count { margin-left: auto; font-size: 12px; color: #94a3b8; }
.clusterlane-tm-row { display: flex; align-items: flex-start; gap: 16px; padding: 12px 16px; border-bottom: 1px solid #f1f5f9; transition: background 150ms; }
.clusterlane-tm-row:last-child { border-bottom: 0; }
.clusterlane-tm-row--orphan { box-shadow: inset 3px 0 0 #5ba4cf; }
.clusterlane-tm-row-main { flex: 1; min-width: 0; }
.clusterlane-tm-sentence { margin: 0 0 4px; font-size: 13.5px; line-height: 1.55; color: #475569; }
.clusterlane-tm-hit { color: #1d4ed8; font-weight: 600; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; background: #eff6ff; border-radius: 3px; padding: 0 2px; }
.clusterlane-tm-target { margin: 0; font-size: 12.5px; color: #64748b; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; }
.clusterlane-tm-target strong { color: #0f172a; }
.clusterlane-tm-target .clusterlane-g { margin-right: 0; color: #94a3b8; }
.clusterlane-tm-note { font-size: 12px; color: #94a3b8; }
.clusterlane-tm-row-actions { display: flex; gap: 6px; flex-shrink: 0; }
.clusterlane-tm-btn { display: inline-flex; align-items: center; height: 30px; padding: 0 12px; border: 1px solid #e2e8f0; border-radius: 8px; background: #fff; color: #334155; font-size: 12.5px; font-weight: 600; cursor: pointer; white-space: nowrap; }
.clusterlane-tm-btn:hover:not(:disabled) { border-color: #cbd5e1; background: #f8fafc; }
.clusterlane-tm-btn:focus-visible { outline: 2px solid #3b82f6; outline-offset: 2px; }
.clusterlane-tm-btn:disabled { opacity: .6; cursor: progress; }
.clusterlane-tm-btn--apply { background: #2563eb; border-color: #2563eb; color: #fff; }
.clusterlane-tm-btn--apply:hover:not(:disabled) { background: #1d4ed8; border-color: #1d4ed8; }
.clusterlane-tm-btn--apply:disabled, .clusterlane-tm-btn--apply[aria-disabled="true"] { background: #e2e8f0; border-color: #e2e8f0; color: #94a3b8; opacity: 1; cursor: not-allowed; }
.clusterlane-tm-apply-all { height: 28px; }
.clusterlane-tm-more { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 12px; margin: 14px 0 0; }
.clusterlane-tm-row--linked { background: #f0fdf4; }
.clusterlane-tm-done { margin: 0; font-size: 13px; color: #166534; display: flex; align-items: center; flex-wrap: wrap; gap: 4px; }
.clusterlane-tm-done .clusterlane-g { color: #16a34a; }
@media (max-width: 782px) {
    .clusterlane-tm-row { flex-direction: column; gap: 10px; }
    .clusterlane-tm-row-actions { align-self: flex-start; }
    .clusterlane-tm-group-head { flex-wrap: wrap; }
    .clusterlane-tm-linkbtn { margin-left: 0; }
}

/* =========================================================
   AI Link Suggestions v2 (0.98.079)
   ========================================================= */
.clusterlane-ls2-modes { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 18px; }
.clusterlane-ls2-modes button {
    display: flex; align-items: flex-start; gap: 12px; text-align: left; padding: 14px 16px;
    border: 1.5px solid #e2e8f0; border-radius: 12px; background: #fff; cursor: pointer; color: #334155;
    transition: border-color 120ms, background 120ms, box-shadow 120ms;
}
.clusterlane-ls2-modes button .clusterlane-g { font-size: 20px; color: #94a3b8; margin: 2px 0 0; }
.clusterlane-ls2-modes button strong { display: block; font-size: 14px; color: #0f172a; }
.clusterlane-ls2-modes button em { display: block; font-style: normal; font-size: 12.5px; color: #64748b; margin-top: 2px; }
.clusterlane-ls2-modes button:hover { border-color: #cbd5e1; }
.clusterlane-ls2-modes button.is-active { border-color: #3b82f6; background: #eff6ff; box-shadow: 0 0 0 3px rgba(59,130,246,.12); }
.clusterlane-ls2-modes button.is-active .clusterlane-g { color: #2563eb; }
.clusterlane-ls2-modes button:focus-visible { outline: 2px solid #3b82f6; outline-offset: 2px; }
.clusterlane-ls2-q { margin: 4px 0 12px; font-size: 13.5px; font-weight: 600; color: #0f172a; }
.clusterlane-ls2-toolbar { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 12px; }
.clusterlane-ls2 .clusterlane-browse__search input { width: 100%; height: 36px; min-height: 0; margin: 0; padding: 0 12px 0 34px; border: 1.5px solid #e2e8f0; border-radius: 9px; font-size: 13px; box-shadow: none; }
.clusterlane-ls2 .clusterlane-browse__search input:focus { outline: none; border-color: #3b82f6; box-shadow: 0 0 0 3px rgba(59,130,246,.15); }
.clusterlane-ls2-search { max-width: 420px; }
.clusterlane-ls2-results { max-width: 420px; margin-top: 6px; border: 1px solid #e2e8f0; border-radius: 10px; background: #fff; box-shadow: 0 10px 24px rgba(15,23,42,.10); overflow: hidden; }
.clusterlane-ls2-results button { display: flex; align-items: center; gap: 10px; width: 100%; text-align: left; padding: 7px 14px; border: 0; border-bottom: 1px solid #f1f5f9; background: #fff; font-size: 13px; color: #0f172a; cursor: pointer; }
.clusterlane-ls2-res-title { flex: 1 1 auto; min-width: 0; }
.clusterlane-ls2-res-note { flex: none; font-size: 11.5px; color: #94a3b8; }
.clusterlane-ls2-results button.is-content .clusterlane-ls2-res-title { color: #475569; }
.clusterlane-ls2-results button:hover { background: #f8fafc; }
.clusterlane-ls2-results p { margin: 0; padding: 10px 14px; }
.clusterlane-ls2-list { display: flex; flex-direction: column; border: 1px solid #e2e8f0; border-radius: 10px; overflow: hidden; }
.clusterlane-ls2-pick {
    display: flex; align-items: center; gap: 14px; padding: 10px 14px; text-align: left;
    border: 0; border-bottom: 1px solid #f1f5f9; background: #fff; cursor: pointer; color: #334155;
}
.clusterlane-ls2-pick:last-child { border-bottom: 0; }
.clusterlane-ls2-pick:hover { background: #f8fafc; }
.clusterlane-ls2-pick:focus-visible { outline: 2px solid #3b82f6; outline-offset: -2px; }
.clusterlane-ls2-pick-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.clusterlane-ls2-pick-main strong { color: #0f172a; font-size: 13.5px; }
.clusterlane-ls2-pick-meta { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.clusterlane-ls2-pick-go { flex-shrink: 0; font-size: 12.5px; font-weight: 600; color: #2563eb; display: inline-flex; align-items: center; gap: 4px; }
.clusterlane-ls2-pick-go .clusterlane-g { margin: 0; }
.clusterlane-ls2-chosen { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 14px; margin-bottom: 14px; border-radius: 10px; background: #16223a; color: #cbd5e1; font-size: 13.5px; }
.clusterlane-ls2-chosen strong { color: #fff; }
.clusterlane-ls2-chosen .clusterlane-role-pill { color: #e2e8f0; }
.clusterlane-ls2-chosen .clusterlane-tm-note { color: #9fb0c8; }
.clusterlane-ls2-row { border: 1px solid #e2e8f0; border-radius: 10px; margin-bottom: 10px; background: #fff; overflow: hidden; }
.clusterlane-ls2-row-head { display: flex; align-items: center; gap: 12px; padding: 10px 14px; }
.clusterlane-ls2-row-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.clusterlane-ls2-row-main strong { color: #0f172a; font-size: 13.5px; }
.clusterlane-ls2-row-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 12px; color: #94a3b8; }
.clusterlane-ls2-row-body:empty { display: none; }
.clusterlane-ls2-row-body { border-top: 1px solid #f1f5f9; padding: 12px 14px; background: #fbfcfe; }
.clusterlane-ls2-options { display: grid; gap: 8px; }
.clusterlane-ls2-option { padding: 10px 12px; border: 1px solid #e2e8f0; border-radius: 9px; background: #fff; }
.clusterlane-ls2-sentence { margin: 0 0 8px; font-size: 13.5px; line-height: 1.55; color: #334155; }
.clusterlane-ls2-option-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.clusterlane-ls2-regen { margin: 10px 0 0; font-size: 12px; color: #94a3b8; }
.clusterlane-ls2-row--linked { border-color: #bbf7d0; }
.clusterlane-ls2-row--linked .clusterlane-ls2-row-body { background: #f0fdf4; }
.clusterlane-ls2-linked { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; font-size: 13px; color: #166534; }
.clusterlane-ls2-linked .clusterlane-g { color: #16a34a; margin: 0; }
.clusterlane-ls2-linked-actions { margin-left: auto; display: flex; gap: 6px; }
.clusterlane-ls2-loading { display: flex; align-items: center; gap: 8px; font-size: 13px; color: #64748b; padding: 6px 0; }
.clusterlane-ls2-empty { margin: 8px 0; padding: 14px; border: 1px dashed #cbd5e1; border-radius: 10px; font-size: 13px; color: #64748b; }
.clusterlane-ls2-other { margin: 12px 0 0; }
@media (max-width: 782px) {
    .clusterlane-ls2-modes { grid-template-columns: 1fr; }
    .clusterlane-ls2-pick { flex-wrap: wrap; }
    .clusterlane-ls2-pick-go { width: 100%; }
    .clusterlane-ls2-row-head { flex-wrap: wrap; }
    .clusterlane-ls2-option-foot { flex-wrap: wrap; }
    .clusterlane-ls2-linked-actions { margin-left: 0; }
}

/* Link Suggestions — why + AI ranking (0.98.081) */
.clusterlane-ls2-why { font-size: 12px; color: #475569; }
.clusterlane-ls2-why:empty, .clusterlane-ls2-ai:empty { display: none; }
.clusterlane-ls2-ai { display: flex; align-items: center; gap: 8px; font-size: 12.5px; color: #1e3a8a; margin-top: 2px; }
.clusterlane-ls2-fit { display: inline-flex; gap: 2px; flex-shrink: 0; }
.clusterlane-ls2-fit i { width: 7px; height: 7px; border-radius: 50%; background: #e2e8f0; display: inline-block; }
.clusterlane-ls2-fit i.on { background: #3b82f6; }
.clusterlane-ls2-row--weak { opacity: .7; }
.clusterlane-ls2-rankbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin: 0 0 10px; }
.clusterlane-ls2-rank-state { display: inline-flex; align-items: center; gap: 6px; }
.clusterlane-ls2-rank-err { color: #b91c1c; }

/* =========================================================
   Cluster Admin v2 (0.98.083)
   ========================================================= */
.clusterlane-ca-card-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.clusterlane-ca-card-head h3 { margin: 0; font-size: 15px; color: #0f172a; display: flex; align-items: center; }
.clusterlane-ca-bulk { font-size: 12.5px; color: #cbd5e1; }
.clusterlane-ca-term { display: grid; grid-template-columns: auto 1fr auto auto; align-items: center; gap: 10px; padding: 8px 4px; border-bottom: 1px solid #f3f4f6; font-size: 13.5px; cursor: pointer; }
.clusterlane-ca-term:last-child { border-bottom: 0; }
.clusterlane-ca-term input { margin: 0; }
.clusterlane-ca-term-name { display: flex; flex-direction: column; gap: 2px; color: #0f172a; min-width: 0; }
.clusterlane-ca-fit { font-size: 11.5px; }
.clusterlane-ca-fit--low { color: #15803d; }
.clusterlane-ca-fit--mid { color: #b45309; }
.clusterlane-ca-fit--high { color: #b91c1c; }
.clusterlane-ca-status { font-size: 12.5px; white-space: nowrap; }
.clusterlane-ca-status--off { color: #94a3b8; font-size: 12px; }
.clusterlane-ca-status .clusterlane-ci-health-cell { font-size: 12.5px; }
.clusterlane-ca-savebar {
    position: sticky; bottom: 12px; z-index: 50; margin-top: 16px;
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px;
    padding: 12px 16px; border-radius: 12px; background: #16223a; color: #e2e8f0; font-size: 13.5px;
    box-shadow: 0 12px 30px rgba(15,23,42,.28);
}
.clusterlane-ca-savebar[hidden] { display: none; }
.clusterlane-ca-savebar strong { color: #fff; }
.clusterlane-ca-savebar .clusterlane-tm-note { color: #9fb0c8; }
.clusterlane-ca-savebar-actions { display: flex; gap: 8px; }
.clusterlane-ca-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 14px 0; }
.clusterlane-ca-toolbar .clusterlane-tm-btn .clusterlane-g { margin-right: 6px; }
.clusterlane-ca-pro-note { flex: 1 1 320px; }
.clusterlane-ca-table td.clusterlane-ca-actions { text-align: right; white-space: nowrap; }
.clusterlane-ca-table td.clusterlane-ca-actions .clusterlane-tm-btn { height: 28px; padding: 0 10px; text-decoration: none; }
.clusterlane-ca-table td.clusterlane-ca-actions .clusterlane-g { margin: 0; }
.clusterlane-ca-table > tbody > tr.clusterlane-ca-row { cursor: default; }
.clusterlane-ca-table > tbody > tr.is-editing { background: #eff6ff; box-shadow: inset 3px 0 0 #3b82f6; }
.clusterlane-ca-table > tbody > tr.clusterlane-ca-editor-row > td { padding: 0 12px 14px; background: #f8fafc; box-shadow: inset 3px 0 0 #3b82f6; }
.clusterlane-ca-table > tbody > tr.clusterlane-ca-editor-row:hover { background: #f8fafc; }
@keyframes clusterlane-ca-new { from { background: #dcfce7; } to { background: transparent; } }
.clusterlane-ca-row--new { animation: clusterlane-ca-new 2.5s ease-out; }
.clusterlane-ca-editor { margin: 4px 0 16px; padding: 16px; border: 1px solid #bfdbfe; border-radius: 12px; background: #fff; max-width: 760px; }
.clusterlane-ca-e-label { display: block; font-size: 12.5px; font-weight: 600; color: #334155; margin: 0 0 6px; }
.clusterlane-ca-e-name { display: block; width: 100%; max-width: 420px; height: 36px; margin: 4px 0 14px; padding: 0 12px; border: 1.5px solid #e2e8f0; border-radius: 9px; font-size: 14px; font-weight: 400; }
.clusterlane-ca-e-name:focus { outline: none; border-color: #3b82f6; box-shadow: 0 0 0 3px rgba(59,130,246,.15); }
.clusterlane-ca-e-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.clusterlane-ca-chip { display: inline-flex; align-items: center; gap: 6px; padding: 4px 4px 4px 10px; border-radius: 999px; background: #eff6ff; border: 1px solid #bfdbfe; color: #1e3a8a; font-size: 12.5px; }
.clusterlane-ca-chip button { width: 20px; height: 20px; border: 0; border-radius: 50%; background: transparent; color: #64748b; font-size: 15px; line-height: 1; cursor: pointer; }
.clusterlane-ca-chip button:hover { background: #dbeafe; color: #b91c1c; }
.clusterlane-ca-e-search { max-width: 420px; }
.clusterlane-ca-editor .clusterlane-browse__search input { width: 100%; height: 36px; min-height: 0; margin: 0; padding: 0 12px 0 34px; border: 1.5px solid #e2e8f0; border-radius: 9px; font-size: 13px; }
.clusterlane-ca-e-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-top: 14px; }
.clusterlane-ca-e-err { color: #b91c1c !important; }
.clusterlane-ca-ideas { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 10px; margin-bottom: 16px; }
.clusterlane-ca-idea { display: flex; flex-direction: column; padding: 14px; border: 1px solid #e2e8f0; border-radius: 12px; background: #fff; }
.clusterlane-ca-idea--dupe { border-color: #fde68a; }
.clusterlane-ca-idea--done { border-color: #bbf7d0; background: #f0fdf4; }
.clusterlane-ca-idea-head { display: flex; justify-content: space-between; gap: 8px; align-items: baseline; }
.clusterlane-ca-idea-head strong { color: #0f172a; font-size: 14px; }
.clusterlane-ca-idea-why { margin: 6px 0; font-size: 12.5px; color: #475569; line-height: 1.5; }
.clusterlane-ca-idea-warn { margin: 0 0 6px; font-size: 12px; color: #92400e; }
.clusterlane-ca-idea-list { margin: 4px 0 12px; padding-left: 18px; font-size: 12.5px; color: #334155; }
.clusterlane-ca-idea-list li { margin: 2px 0; }
.clusterlane-ca-idea-foot { margin-top: auto; }
.clusterlane-ca-idea-ok { color: #15803d; font-size: 13px; font-weight: 600; display: inline-flex; align-items: center; gap: 4px; }
@media (max-width: 782px) {
    .clusterlane-ca-term { grid-template-columns: auto 1fr auto; }
    .clusterlane-ca-term .clusterlane-checkbox-count { display: none; }
    .clusterlane-ca-table td.clusterlane-ca-actions { white-space: normal; }
}
.clusterlane-ca-status--pending { color: #1d4ed8; font-weight: 600; font-size: 12px; }
.clusterlane-ca-idea-spans { margin: 0 0 6px; font-size: 12px; color: #1d4ed8; }
.clusterlane-ca-ideas-hidden { margin: -6px 0 10px; }

/* =========================================================
   Settings v2 — tabs + save bar (0.98.086)
   ========================================================= */
.clusterlane-set-tabs { display: flex; flex-wrap: wrap; gap: 4px; padding: 4px; margin: 0 0 18px; background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; }
.clusterlane-set-tabs button {
    display: inline-flex; align-items: center; gap: 8px; height: 38px; padding: 0 16px;
    border: 0; border-radius: 9px; background: transparent; color: #475569; font-size: 13.5px; font-weight: 600; cursor: pointer;
}
.clusterlane-set-tabs button .clusterlane-g { margin: 0; color: #94a3b8; }
.clusterlane-set-tabs button em { font-style: normal; color: #2563eb; font-size: 18px; line-height: 0; }
.clusterlane-set-tabs button:hover { background: #f8fafc; color: #0f172a; }
.clusterlane-set-tabs button.is-active { background: #16223a; color: #fff; }
.clusterlane-set-tabs button.is-active .clusterlane-g { color: #60a5fa; }
.clusterlane-set-tabs button.is-active em { color: #60a5fa; }
.clusterlane-set-tabs button:focus-visible { outline: 2px solid #3b82f6; outline-offset: 2px; }
.clusterlane-set-panel[hidden] { display: none; }
.clusterlane-set-card { margin-bottom: 16px; }
.clusterlane-set-card-head { padding: 16px 22px 0; }
.clusterlane-set-card-head h2 { display: flex; align-items: center; gap: 2px; margin: 0; font-size: 15px; }
.clusterlane-set-card-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.clusterlane-set-intro { margin: 0 0 14px; font-size: 13.5px; color: #475569; }
.clusterlane-set-note { display: flex; align-items: center; gap: 4px; margin: 0 0 6px; padding: 10px 12px; border-radius: 9px; background: #eff6ff; color: #1e3a8a; font-size: 13px; }
.clusterlane-set-note a { font-weight: 600; }
.clusterlane-ca-mincount { margin: 0 0 14px; font-size: 13px; color: #334155; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.clusterlane-ca-mincount input { width: 64px; height: 30px; min-height: 0; margin: 0 4px; border: 1.5px solid #e2e8f0; border-radius: 8px; }
@media (max-width: 782px) {
    .clusterlane-set-tabs { flex-wrap: nowrap; overflow-x: auto; }
    .clusterlane-set-tabs button { flex-shrink: 0; padding: 0 12px; }
}

/* Same gap under the sticky bar on every page (0.98.087): the Dashboard hero
   and the Article Inspector head had no top margin, so they sat 6 px higher
   than the 16 px every other page hero uses. */
.clusterlane-wrap > .clusterlane-hero, .clusterlane-wrap > .clusterlane-inspector-head { margin-top: 16px; }

/* Sticky bar — clearer feedback for Scan / Sync / Metrics (0.98.088)
   The button shows the state (busy → ✓ / !), and a light card under the
   buttons says what happened, with numbers and an optional Reload. */
.clusterlane-stickybar .dashicons.clusterlane-spin { animation: clusterlane-spin .8s linear infinite; }
.clusterlane-stickybar__action-btn.is-busy { opacity: 1; color: #fff; border-color: rgba(96,165,250,.6); background: rgba(59,130,246,.18); cursor: progress; }
.clusterlane-stickybar__action-btn.is-done, .clusterlane-stickybar__action-btn.is-done:hover { color: #fff; background: #16a34a; border-color: #16a34a; }
.clusterlane-stickybar__action-btn.is-failed, .clusterlane-stickybar__action-btn.is-failed:hover { color: #fff; background: #dc2626; border-color: #dc2626; }
@media (prefers-reduced-motion: reduce) {
    .clusterlane-stickybar .dashicons.clusterlane-spin { animation: none; }
}
.clusterlane-stickybar__toast {
    left: auto; right: 34px; transform: none; bottom: auto; top: calc(100% - 4px);
    display: flex; align-items: flex-start; gap: 10px; max-width: min(460px, calc(100vw - 60px)); white-space: normal;
    padding: 11px 12px 11px 12px; border-radius: 11px;
    background: #fff; color: #0f172a; font-size: 13px; line-height: 1.45;
    border: 1px solid #e2e8f0; border-left: 4px solid #3b82f6;
    box-shadow: 0 14px 34px rgba(15,23,42,.22); pointer-events: auto;
    animation: clusterlane-toast-in .18s ease-out;
}
.clusterlane-stickybar__toast[hidden] { display: none; }
@keyframes clusterlane-toast-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
.clusterlane-stickybar__toast--success { border-left-color: #16a34a; }
.clusterlane-stickybar__toast--error { border-left-color: #dc2626; }
.clusterlane-stickybar__toast-icon { flex-shrink: 0; color: #3b82f6; font-size: 16px; line-height: 1; margin-top: 1px; }
.clusterlane-stickybar__toast--success .clusterlane-stickybar__toast-icon { color: #16a34a; }
.clusterlane-stickybar__toast--error .clusterlane-stickybar__toast-icon { color: #dc2626; }
.clusterlane-stickybar__toast--info .clusterlane-stickybar__toast-icon .clusterlane-g { animation: clusterlane-spin 1s linear infinite; }
.clusterlane-stickybar__toast-icon .clusterlane-g { margin: 0; }
.clusterlane-stickybar__toast-msg { flex: 1; }
.clusterlane-stickybar__toast-link { background: none; border: 0; padding: 0; margin-left: 2px; color: #1d4ed8; font-weight: 600; text-decoration: underline; cursor: pointer; font-size: 13px; }
.clusterlane-stickybar__toast-close { flex-shrink: 0; width: 22px; height: 22px; border: 0; border-radius: 50%; background: transparent; color: #94a3b8; font-size: 16px; line-height: 1; cursor: pointer; }
.clusterlane-stickybar__toast-close:hover { background: #f1f5f9; color: #0f172a; }
@media (max-width: 782px) {
    .clusterlane-stickybar__toast { right: 16px; left: 16px; max-width: none; }
}
@media (prefers-reduced-motion: reduce) {
    .clusterlane-stickybar__toast, .clusterlane-stickybar__toast--info .clusterlane-stickybar__toast-icon .clusterlane-g { animation: none; }
}

/* Scan in the bar (0.98.089): a thin progress line along the dock's bottom
   edge, a Stop button in the card, and a hint on the Dashboard before the
   first scan (the old hero buttons are gone). */
.clusterlane-stickybar.is-scanning .clusterlane-stickybar__inner::after {
    content: ""; position: absolute; left: 14px; right: 14px; bottom: 0; height: 3px; border-radius: 3px;
    background: linear-gradient(90deg, #3b82f6 var(--clusterlane-scan-pct, 0%), rgba(255,255,255,.08) var(--clusterlane-scan-pct, 0%));
    transition: background .3s;
}
.clusterlane-stickybar__toast-stop { flex-shrink: 0; height: 26px; padding: 0 10px; border: 1px solid #e2e8f0; border-radius: 7px; background: #fff; color: #b91c1c; font-size: 12px; font-weight: 600; cursor: pointer; }
.clusterlane-stickybar__toast-stop:hover { background: #fef2f2; border-color: #fecaca; }
.clusterlane-hero-firstscan { display: flex; align-items: center; gap: 6px; margin: 4px 24px 20px; padding: 10px 14px; border-radius: 10px; background: rgba(59,130,246,.15); color: #dbeafe; font-size: 13.5px; }
.clusterlane-hero-firstscan .clusterlane-g { transform: rotate(-90deg); color: #60a5fa; }

/* =========================================================
   Cluster Inspector — Improve this cluster v2 (0.98.090)
   ========================================================= */
.clusterlane-improve-summary:empty { display: none; }
.clusterlane-improve-summary { margin: 0 0 14px; padding: 14px 16px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; }
.clusterlane-improve-first { display: flex; align-items: center; gap: 6px; margin: 0 0 10px; font-size: 14px; font-weight: 600; color: #0f172a; }
.clusterlane-improve-first .clusterlane-g { color: #2563eb; margin: 0; }
.clusterlane-improve-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.clusterlane-improve-chips button { display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 12px; border: 1px solid #e2e8f0; border-radius: 999px; background: #fff; color: #475569; font-size: 12.5px; font-weight: 600; cursor: pointer; }
.clusterlane-improve-chips button.is-todo { border-color: #bfdbfe; background: #eff6ff; color: #1d4ed8; }
.clusterlane-improve-chips button:hover { border-color: #93c5fd; }
.clusterlane-improve-chips button:focus-visible { outline: 2px solid #3b82f6; outline-offset: 2px; }
.clusterlane-improve-block-titles { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.clusterlane-improve-block-title { font-weight: 700; color: #0f172a; }
.clusterlane-improve-block-sub { font-size: 12px; font-weight: 400; color: #64748b; line-height: 1.4; }
.clusterlane-improve-block-header:focus-visible { outline: 2px solid #3b82f6; outline-offset: -2px; border-radius: 10px; }
.clusterlane-ci-tms-list { margin: 0 0 8px; }
.clusterlane-tm-in { font-weight: 600; color: #334155; }
.clusterlane-ci-tms-foot { margin: 6px 2px 0; font-size: 12.5px; color: #94a3b8; }
.clusterlane-ci-al .clusterlane-ls2-row { margin-bottom: 8px; }
.clusterlane-ci-al-from { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 12.5px; color: #64748b; }
.clusterlane-ci-al-from strong { color: #0f172a; }
.clusterlane-ci-al-from select { max-width: 380px; height: 30px; min-height: 0; padding: 0 28px 0 8px; border: 1.5px solid #e2e8f0; border-radius: 8px; font-size: 12.5px; color: #0f172a; }
.clusterlane-gap-help { margin: 0 0 10px; font-size: 12px; color: #64748b; line-height: 1.5; }
.clusterlane-gap-item-actions { display: flex; gap: 6px; flex-wrap: wrap; }
.clusterlane-gap-draft-done { background: #16a34a !important; border-color: #16a34a !important; color: #fff !important; text-decoration: none; }
.clusterlane-gap-draft-done .clusterlane-g { margin-right: 4px; }
.clusterlane-ci-members td.clusterlane-ci-member-actions { text-align: right; white-space: nowrap; }
.clusterlane-ci-members td.clusterlane-ci-member-actions .clusterlane-tm-btn { height: 28px; padding: 0 8px; }
.clusterlane-ci-members td.clusterlane-ci-member-actions .clusterlane-g { margin: 0; }
.clusterlane-ci-member-link { color: #0f172a; font-weight: 600; text-decoration: none; }
.clusterlane-ci-member-link:hover { color: #1d4ed8; text-decoration: underline; }
.clusterlane-ci-members > tbody > tr { cursor: default; }
@media (max-width: 782px) {
    .clusterlane-ci-members th:nth-child(4), .clusterlane-ci-members td:nth-child(4), .clusterlane-ci-members th:nth-child(6), .clusterlane-ci-members td:nth-child(6) { display: none; }
    .clusterlane-ci-al-from select { max-width: 100%; width: 100%; }
}

/* The members table belongs to the OPEN cluster (0.98.092): its own framed box
   with a heading, lighter/compact rows — it must never be mistaken for the
   cluster list around the panel. Rows open the article in Article Inspector. */
.clusterlane-ci-members-box { margin-top: 18px; padding: 14px 16px 16px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; }
.clusterlane-ci-members-title { display: flex; align-items: center; gap: 2px; margin: 0; font-size: 13.5px; font-weight: 700; color: #0f172a; }
.clusterlane-ci-members-title span { color: #94a3b8; font-weight: 600; margin-left: 4px; }
.clusterlane-ci-members-hint { margin: 2px 0 10px; font-size: 12px; color: #64748b; }
.clusterlane-ci-members-wrap { background: #fff; }
.clusterlane-ci-members { font-size: 12.5px; }
.clusterlane-ci-members > thead > tr > th { background: #f1f5f9; font-size: 11.5px; padding: 7px 10px; }
.clusterlane-ci-members > tbody > tr > td { padding: 7px 10px; }
.clusterlane-ci-members > tbody > tr.clusterlane-ci-member-row { cursor: pointer; }
.clusterlane-ci-members > tbody > tr.clusterlane-ci-member-row:hover { background: #eff6ff; }
.clusterlane-ci-members > tbody > tr.clusterlane-ci-member-row:focus-visible { outline: 2px solid #3b82f6; outline-offset: -2px; }
.clusterlane-ci-member-link { font-weight: 500; }

/* ── 0.98.093 Cluster Inspector: Focus next + List | Map ───────────────
   Focus next = three computed "start here" cards above the cluster card.
   The flow map is no longer its own card: it is the Map view of the
   cluster card and follows the same filters. */
.clusterlane-ci-focus { margin-top: 16px; padding: 16px 24px 20px; }
.clusterlane-ci-focus-head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; }
.clusterlane-ci-focus-head .clusterlane-ai-section-title { margin: 0; padding: 0; border: 0; }
.clusterlane-ci-focus-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.clusterlane-ci-focus-card {
    --clusterlane-hn: #94a3b8;
    display: flex; flex-direction: column; align-items: flex-start; gap: 6px;
    padding: 12px 14px 12px 16px; text-align: left; cursor: pointer;
    background: #fff; border: 1px solid #e2e8f0; border-left: 3px solid var(--clusterlane-hn); border-radius: 12px;
    font: inherit; color: #0f172a;
    transition: border-color .12s, box-shadow .12s, transform .12s;
}
.clusterlane-ci-focus-card:hover { border-color: #cbd5e1; border-left-color: var(--clusterlane-hn); box-shadow: 0 4px 14px rgba(15,23,42,.08); transform: translateY(-1px); }
.clusterlane-ci-focus-card:focus-visible { outline: 2px solid #3b82f6; outline-offset: 2px; }
.clusterlane-ci-focus-top { display: flex; align-items: center; gap: 10px; width: 100%; font-size: 12.5px; }
.clusterlane-ci-focus-rank { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 50%; background: #16223a; color: #fff; font-size: 11px; font-weight: 700; }
.clusterlane-ci-focus-size { margin-left: auto; color: #94a3b8; font-size: 12px; }
.clusterlane-ci-focus-name { font-size: 14px; font-weight: 700; line-height: 1.3; }
.clusterlane-ci-focus-why { font-size: 12.5px; color: #475569; line-height: 1.45; }
.clusterlane-ci-focus-go { margin-top: auto; padding-top: 4px; font-size: 12px; font-weight: 600; color: #2563eb; }
.clusterlane-ci-focus-go .clusterlane-g { margin: 0 0 0 2px; }
.clusterlane-ci-focus-done { margin: 0; font-size: 13px; color: #15803d; }
/* Focus next on the Dashboard (0.98.187) — same cards as Cluster Inspector */
.clusterlane-dash-focus { margin-top: 16px; padding: 16px 24px 20px; }
.clusterlane-dash-focus__head { display: flex; align-items: center; gap: 6px 12px; flex-wrap: wrap; margin-bottom: 12px; }
.clusterlane-dash-focus .clusterlane-dash-focus__head h2 { display: flex; align-items: center; gap: 6px; margin: 0; padding: 0; border: 0; font-size: 14px; font-weight: 700; color: #0f172a; text-transform: none; letter-spacing: 0; }
.clusterlane-dash-focus__head .clusterlane-tm-note { margin-left: auto; }
a.clusterlane-ci-focus-card { text-decoration: none; }
a.clusterlane-ci-focus-card:hover, a.clusterlane-ci-focus-card:focus { color: #0f172a; }
@media (max-width: 782px) { .clusterlane-dash-focus { padding: 14px 16px 16px; } .clusterlane-dash-focus__head .clusterlane-tm-note { margin-left: 0; } }
.clusterlane-ci-focus-done .clusterlane-g { color: #16a34a; }
.clusterlane-ci-view .clusterlane-seg-btn { display: inline-flex; align-items: center; }
.clusterlane-ci-view .clusterlane-seg-btn .clusterlane-g { margin-right: .35em; }
.clusterlane-ci-map-note { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 12px; margin: 0 0 8px; font-size: 11.5px; color: #94a3b8; }
#clusterlane-ci-map-cap { color: #b45309; }
@media (max-width: 782px) {
    .clusterlane-ci-focus { padding: 14px 16px 16px; }
    .clusterlane-ci-focus-grid { grid-template-columns: 1fr; }
}

/* Site Analysis: cluster names open that cluster in Cluster Inspector */
a.clusterlane-sa-chip { text-decoration: none; cursor: pointer; transition: filter .12s, box-shadow .12s; }
a.clusterlane-sa-chip:hover { filter: brightness(.96); box-shadow: 0 0 0 2px rgba(15,23,42,.08); }
a.clusterlane-sa-chip:focus-visible { outline: 2px solid #3b82f6; outline-offset: 2px; }
.clusterlane-sa-cluster-link { color: inherit; font-weight: 600; text-decoration: underline; text-decoration-color: #93c5fd; text-underline-offset: 2px; }
.clusterlane-sa-cluster-link:hover { color: #1d4ed8; text-decoration-color: currentColor; }

/* ── 0.98.094 Dashboard: Site map (treemap of all clusters) ───────────
   Area = articles, colour = health or orphan share (--sm-* set per tile).
   Tiles reuse .clusterlane-dash-cluster-row--graph → click loads the Cluster Graph. */
.clusterlane-sm-card { margin-top: 20px; }
.clusterlane-sm-card .clusterlane-site-analysis-title strong + .clusterlane-tip { margin-left: 4px; }
.clusterlane-sm-card .clusterlane-dash-graph-controls { display: flex; align-items: center; gap: 8px; }
.clusterlane-sm-body { position: relative; }
.clusterlane-sm-canvas {
    position: relative; height: 320px; border-radius: 10px; overflow: hidden;
    background: #f8fafc; border: 1px solid #e2e8f0;
}
.clusterlane-sm-empty { margin: 0; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #94a3b8; font-size: 13px; }
.clusterlane-sm-tile {
    position: absolute; box-sizing: border-box; overflow: hidden;
    display: flex; flex-direction: column; justify-content: flex-start; gap: 2px;
    padding: 8px 10px; border: 2px solid #fff; border-radius: 8px;
    background: var(--sm-bg, #f1f5f9); color: var(--sm-text, #334155);
    box-shadow: inset 3px 0 0 var(--sm-edge, #94a3b8);
    text-decoration: none; cursor: pointer;
    transition: filter .12s, box-shadow .12s;
}
.clusterlane-sm-tile:hover, .clusterlane-sm-tile:focus-visible { filter: brightness(.95) saturate(1.1); color: var(--sm-text, #334155); }
.clusterlane-sm-tile:focus-visible { outline: 2px solid #3b82f6; outline-offset: -4px; }
.clusterlane-sm-tile.is-current { box-shadow: inset 3px 0 0 var(--sm-edge), inset 0 0 0 2px #16223a; }
.clusterlane-sm-name { font-size: 12.5px; font-weight: 700; line-height: 1.25; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.clusterlane-sm-meta { margin-top: auto; font-size: 11.5px; opacity: .8; line-height: 1.3; overflow: hidden; }
.clusterlane-sm-tile--md .clusterlane-sm-name { font-size: 13.5px; white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.clusterlane-sm-tile--sm { padding: 5px 7px; }
.clusterlane-sm-tile--sm .clusterlane-sm-name { font-size: 11px; }
.clusterlane-sm-tile--xs { padding: 0; }
.clusterlane-sm-tile--rest { background: #f1f5f9; color: #64748b; box-shadow: none; border-style: solid; justify-content: center; align-items: center; }
.clusterlane-sm-tile--rest .clusterlane-sm-name { font-weight: 600; }
.clusterlane-sm-tip {
    position: absolute; z-index: 5; display: none; pointer-events: none; max-width: 320px;
    background: #1e2535; color: #e2e8f0; border-radius: 7px; padding: 7px 10px;
    font-size: 12px; line-height: 1.4; box-shadow: 0 4px 14px rgba(0,0,0,.3);
}
.clusterlane-sm-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; margin-top: 10px; }
.clusterlane-sm-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; font-size: 11.5px; color: #64748b; }
.clusterlane-sm-legend-title { font-weight: 600; color: #475569; }
.clusterlane-sm-legend-item { display: inline-flex; align-items: center; gap: 6px; }
.clusterlane-sm-swatch { width: 12px; height: 12px; border-radius: 3px; border: 2px solid; box-sizing: border-box; }
.clusterlane-sm-legend-note { color: #94a3b8; }
.clusterlane-sm-takeaway { margin: 0; font-size: 12.5px; font-weight: 600; color: #334155; }
.clusterlane-sm-takeaway .clusterlane-g { color: #64748b; }
@media (max-width: 782px) {
    .clusterlane-sm-canvas { height: 420px; }
    .clusterlane-sm-foot { flex-direction: column; align-items: flex-start; }
}

/* ── 0.98.095 Article Inspector hero: cluster terms + search preview ───
   Only terms that are clusters show; the rest fold into "+N terms".
   The search preview reads SEO title/description via SeoMeta. */
.clusterlane-ai-terms { margin-top: 8px; }
.clusterlane-ai-terms-more {
    display: inline-block; margin-top: 4px; padding: 2px 9px; border-radius: 12px; cursor: pointer;
    font: inherit; font-size: 11px; font-weight: 600; line-height: inherit;
    background: transparent; color: var(--ih-text, #64748b); border: 1px dashed rgba(255,255,255,.22);
}
.clusterlane-ai-terms-more:hover { color: #fff; border-color: rgba(255,255,255,.4); }
.clusterlane-ai-terms-more:focus-visible { outline: 2px solid var(--ih-node, #3b82f6); outline-offset: 2px; }
.clusterlane-ai-terms-rest[hidden] { display: none; }
.clusterlane-serp {
    margin-top: 14px; max-width: 600px; padding: 12px 16px 14px; border-radius: 12px;
    background: rgba(15, 23, 42, .55); border: 1px solid rgba(255,255,255,.12);
    -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
    font-family: Arial, Helvetica, sans-serif; line-height: 1.45;
}
.clusterlane-serp__bar { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-bottom: 10px; font-family: inherit; }
.clusterlane-serp__label { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--ih-muted, #7c8ea8); margin-right: 4px; }
.clusterlane-serp__chip { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 11px; font-weight: 600; padding: 1px 8px; border-radius: 999px; line-height: 18px; }
.clusterlane-serp__chip--ok { background: rgba(34,197,94,.16);  color: #86efac; }
.clusterlane-serp__chip--warn { background: rgba(245,158,11,.18); color: #fcd34d; }
.clusterlane-serp__chip--bad { background: rgba(239,68,68,.2);   color: #fca5a5; }
.clusterlane-serp__src { margin-left: auto; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 11px; color: var(--ih-muted, #7c8ea8); text-decoration: none; }
a.clusterlane-serp__src:hover { color: #fff; text-decoration: underline; }
.clusterlane-serp__site { display: flex; align-items: center; gap: 10px; }
.clusterlane-serp__fav { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 50%; background: #303134; border: 1px solid rgba(255,255,255,.14); color: #e8eaed; font-size: 12px; font-weight: 700; flex-shrink: 0; }
.clusterlane-serp__site > span:last-child { display: flex; flex-direction: column; min-width: 0; }
.clusterlane-serp__name { font-size: 14px; color: #dadce0; line-height: 1.3; }
.clusterlane-serp__url { font-size: 12px; color: #bdc1c6; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Title: one line, cut like a search engine does; description: two lines. */
.clusterlane-serp__title { margin-top: 6px; font-size: 20px; line-height: 1.3; color: #99c3ff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.clusterlane-serp__desc { margin-top: 3px; font-size: 14px; line-height: 1.58; color: #bdc1c6; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.clusterlane-serp__desc--none { font-style: italic; color: #9aa0a6; }

/* Settings: SEO field check */
.clusterlane-seo-check p { margin: 0 0 4px; font-size: 13px; color: #334155; }
.clusterlane-seo-check .clusterlane-g { color: #16a34a; }
.clusterlane-seo-check-icon.is-warn .clusterlane-g { color: #d97706; }
.clusterlane-seo-check-counts strong { color: #b45309; }
@media (max-width: 782px) {
    .clusterlane-serp { max-width: none; }
    .clusterlane-serp__title { font-size: 17px; }
    .clusterlane-serp__src { margin-left: 0; }
}

/* ── 0.98.096 AI suggestions for SEO title & description ─────────────
   Suggest button in the search preview; panel below it in the hero. */
.clusterlane-serp__ai {
    display: inline-flex; align-items: center; gap: 2px; height: 22px; padding: 0 9px; margin-left: 8px;
    border-radius: 999px; border: 1px solid rgba(147,197,253,.35); background: rgba(59,130,246,.18); color: #bfdbfe;
    font: 600 11px/1 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; cursor: pointer;
}
.clusterlane-serp__ai:hover { background: rgba(59,130,246,.32); color: #fff; }
.clusterlane-serp__ai:focus-visible { outline: 2px solid var(--ih-node, #60a5fa); outline-offset: 2px; }
.clusterlane-serp__ai .clusterlane-g { margin-right: 3px; }
.clusterlane-serp__src { margin-left: auto; }
.clusterlane-serp__src + .clusterlane-serp__ai { margin-left: 8px; }
.clusterlane-serp__ai + .clusterlane-serp__ai { margin-left: 6px; }
.clusterlane-serp__ai:disabled { opacity: .6; cursor: progress; }
/* AI review under the search preview (0.98.196) — the dark card's version of SEO Titles' review line */
.clusterlane-serp__review { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin-top: 10px; padding: 8px 10px; border-radius: 8px;
    background: rgba(124,58,237,.16); border: 1px solid rgba(196,181,253,.28); font: 12.5px/1.45 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #e2e8f0; }
.clusterlane-serp__review.is-stale { background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.12); color: #94a3b8; }
.clusterlane-serp__review--err { background: rgba(220,38,38,.16); border-color: rgba(252,165,165,.35); color: #fecaca; }
.clusterlane-serp__rv-tag { display: inline-flex; align-items: center; align-self: center; font-size: 10.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: #c4b5fd; }
.clusterlane-serp__rv-tag .clusterlane-g { width: 12px; height: 12px; margin-right: 4px; }
.clusterlane-serp__rv b { font-weight: 700; color: #86efac; }
.clusterlane-serp__rv--warn b { color: #fcd34d; }
.clusterlane-serp__rv--bad b { color: #fca5a5; }
.clusterlane-serp__rv-stale { font-style: italic; }
.clusterlane-serp__rv-pro { margin: 8px 0 0; }
/* Changed by Clusterlane → Restore original (0.98.197) */
.clusterlane-serp__orig { margin-top: 8px; font: 12px/1.45 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #94a3b8; }
.clusterlane-serp__orig .clusterlane-g { width: 13px; height: 13px; margin-right: 4px; vertical-align: -2px; color: #86efac; }
.clusterlane-serp__orig .clusterlane-seo-ai__link { margin-left: 4px; }
.clusterlane-seot__origchip { background: #eff6ff; color: #1d4ed8; cursor: help; }
.clusterlane-seot__keep { display: flex; align-items: center; gap: 6px; margin: 0 0 10px; font-size: 12.5px; color: #64748b; }
.clusterlane-seot__keep .clusterlane-g { width: 14px; height: 14px; margin: 0; color: #16a34a; flex-shrink: 0; }
.clusterlane-seo-ai[hidden] { display: none; }
.clusterlane-seo-ai {
    margin-top: 10px; max-width: 600px; padding: 12px 14px 14px; border-radius: 12px;
    background: rgba(15,23,42,.72); border: 1px solid rgba(255,255,255,.12);
    -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
    color: var(--ih-text-hi, #f1f5f9); font-size: 13px; line-height: 1.45;
}
.clusterlane-seo-ai .clusterlane-pro-example-banner { margin-bottom: 10px; }
.clusterlane-seo-ai__head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.clusterlane-seo-ai__head strong { display: inline-flex; align-items: center; font-size: 13px; }
.clusterlane-seo-ai__meta { font-size: 11.5px; color: var(--ih-muted, #94a3b8); }
.clusterlane-seo-ai__link { background: none; border: 0; padding: 0; color: #93c5fd; font: inherit; font-size: 12px; font-weight: 600; cursor: pointer; display: inline-flex; align-items: center; }
.clusterlane-seo-ai__link:hover { color: #fff; text-decoration: underline; }
.clusterlane-seo-ai__head .clusterlane-seo-ai__link { margin-left: auto; }
.clusterlane-seo-ai__close { background: none; border: 0; color: var(--ih-muted, #94a3b8); font-size: 18px; line-height: 1; cursor: pointer; padding: 0 2px; }
.clusterlane-seo-ai__head .clusterlane-seo-ai__link + .clusterlane-seo-ai__close { margin-left: 4px; }
.clusterlane-seo-ai__head .clusterlane-seo-ai__meta + .clusterlane-seo-ai__close { margin-left: auto; }
.clusterlane-seo-ai__close:hover { color: #fff; }
.clusterlane-seo-ai__status:empty { display: none; }
.clusterlane-seo-ai__status { margin-top: 8px; padding: 7px 10px; border-radius: 8px; background: rgba(255,255,255,.06); font-size: 12.5px; }
.clusterlane-seo-ai__status--ok { background: rgba(34,197,94,.14); color: #bbf7d0; }
.clusterlane-seo-ai__status--bad { background: rgba(239,68,68,.16); color: #fecaca; }
.clusterlane-seo-ai__status code { background: rgba(255,255,255,.1); color: inherit; padding: 0 4px; border-radius: 4px; font-size: 11.5px; }
.clusterlane-seo-ai__status .clusterlane-g { color: #4ade80; }
.clusterlane-seo-ai__note { margin: 8px 0 0; font-size: 12.5px; color: #fcd34d; }
.clusterlane-seo-ai__note a { color: #93c5fd; }
.clusterlane-seo-ai__cards { display: grid; gap: 10px; margin-top: 10px; }
.clusterlane-seo-ai__card { padding: 10px 12px; border-radius: 10px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); }
.clusterlane-seo-ai__card.is-applied { border-color: rgba(74,222,128,.55); box-shadow: 0 0 0 1px rgba(74,222,128,.25) inset; }
.clusterlane-seo-ai__lbl { display: flex; justify-content: space-between; align-items: center; margin: 2px 0 4px; font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--ih-muted, #94a3b8); }
.clusterlane-seo-ai__lbl + input, .clusterlane-seo-ai__lbl + textarea { margin-bottom: 6px; }
#clusterlane-ai-head .clusterlane-seo-ai__t, #clusterlane-ai-head .clusterlane-seo-ai__d {
    width: 100%; box-sizing: border-box; margin: 0; padding: 6px 9px; border-radius: 8px;
    border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.06); color: #f8fafc;
    font: 14px/1.45 Arial, Helvetica, sans-serif; box-shadow: none; resize: vertical;
}
#clusterlane-ai-head .clusterlane-seo-ai__t { color: #99c3ff; font-size: 16px; height: 34px; min-height: 0; }
#clusterlane-ai-head .clusterlane-seo-ai__d { color: #d1d5db; }
#clusterlane-ai-head .clusterlane-seo-ai__t:focus, #clusterlane-ai-head .clusterlane-seo-ai__d:focus { outline: none; border-color: var(--ih-node, #60a5fa); box-shadow: 0 0 0 3px rgba(96,165,250,.2); }
.clusterlane-seo-ai__count { font-size: 11px; font-weight: 600; letter-spacing: 0; text-transform: none; padding: 0 7px; border-radius: 999px; }
.clusterlane-seo-ai__count--ok { background: rgba(34,197,94,.16);  color: #86efac; }
.clusterlane-seo-ai__count--warn { background: rgba(245,158,11,.18); color: #fcd34d; }
.clusterlane-seo-ai__count--bad { background: rgba(239,68,68,.2);   color: #fca5a5; }
.clusterlane-seo-ai__actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 2px; }
.clusterlane-seo-ai__btn {
    height: 28px; padding: 0 12px; border-radius: 8px; border: 1px solid rgba(255,255,255,.18); background: transparent;
    color: #e2e8f0; font: 600 12px/1 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; cursor: pointer;
}
.clusterlane-seo-ai__btn:hover { background: rgba(255,255,255,.08); color: #fff; }
.clusterlane-seo-ai__btn--primary { background: #fff; border-color: #fff; color: #16223a; }
.clusterlane-seo-ai__btn--primary:hover { background: #e2e8f0; border-color: #e2e8f0; color: #16223a; }
.clusterlane-seo-ai__btn:disabled { opacity: .6; cursor: default; }
.clusterlane-seo-ai__hint { font-size: 11.5px; color: var(--ih-muted, #94a3b8); }
.clusterlane-seo-ai__loading, .clusterlane-seo-ai__error { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--ih-text, #cbd5e1); }
.clusterlane-seo-ai__loading .clusterlane-g { animation: clusterlaneSeoPulse 1.2s ease-in-out infinite; color: #93c5fd; }
.clusterlane-seo-ai__error { color: #fecaca; justify-content: space-between; }
@keyframes clusterlaneSeoPulse { 0%,100% { opacity: .4; } 50% { opacity: 1; } }

/* Settings → SEO card: AI suggestions sub-section */
.clusterlane-seo-ai-settings { margin-top: 14px; padding-top: 12px; border-top: 1px solid #f1f5f9; }
.clusterlane-seo-ai-head { display: flex; align-items: center; margin: 0 0 4px; font-size: 13.5px; font-weight: 700; color: #0f172a; }
#clusterlane-set-seo .clusterlane-pro-note { margin-top: 14px; }
@media (max-width: 782px) {
    .clusterlane-seo-ai { max-width: none; }
}

/* Example banner inside the hero: the hero's white <strong> rule must not apply. */
.clusterlane-inspector-head__meta .clusterlane-pro-example-banner strong { color: inherit; }

/* Dashboard card headers (Site map, Cluster Graph, Site Intelligence Analysis):
   title + subtitle on the left, controls right-aligned before the arrow,
   always on one row on desktop. */
@media (min-width: 783px) {
    #clusterlane-sm-card > .clusterlane-site-analysis-header, #clusterlane-dash-graph-card > .clusterlane-site-analysis-header, #clusterlane-site-analysis-card > .clusterlane-site-analysis-header { flex-wrap: nowrap; }
    #clusterlane-sm-card .clusterlane-site-analysis-title, #clusterlane-dash-graph-card .clusterlane-site-analysis-title, #clusterlane-site-analysis-card .clusterlane-site-analysis-title { flex: 1 1 auto; min-width: 0; }
    #clusterlane-sm-card .clusterlane-dash-graph-controls, #clusterlane-dash-graph-card .clusterlane-dash-graph-controls, #clusterlane-site-analysis-card .clusterlane-site-analysis-actions { margin-left: auto; flex: 0 0 auto; }
}

/* Site map: "?" right after the title, subtitle on its own line. */
.clusterlane-sm-card .clusterlane-site-analysis-title strong { display: inline; }
.clusterlane-sm-card .clusterlane-site-analysis-sub { display: block; }

/* ── 0.98.097 Article Inspector: Improve this article ─────────────────
   One checklist, most important first; the rest of the page is the
   evidence ("The details behind it"). Rows reuse the Text Match rows. */
.clusterlane-ai-improve { margin-bottom: 20px; }
.clusterlane-ai-improve__head { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; }
.clusterlane-ai-improve__head .clusterlane-ai-section-title { margin: 0; padding: 0; border: 0; }
.clusterlane-ai-improve__sum { font-size: 12.5px; color: #64748b; }
.clusterlane-ai-improve__sum strong { color: #0f172a; }
.clusterlane-ai-improve__list { display: grid; gap: 10px; }
.clusterlane-ai-improve__loading { margin: 0; font-size: 13px; color: #94a3b8; }
.clusterlane-ai-improve__done { margin: 0; display: flex; align-items: center; gap: 6px; font-size: 13.5px; color: #15803d; font-weight: 600; }
.clusterlane-ai-improve__done .clusterlane-g { color: #16a34a; }
.clusterlane-ai-improve__item {
    --imp: #94a3b8;
    padding: 12px 14px 12px 16px; border: 1px solid #e2e8f0; border-left: 3px solid var(--imp); border-radius: 12px; background: #fff;
}
.clusterlane-ai-improve__item--high { --imp: #dc2626; }
.clusterlane-ai-improve__item--medium { --imp: #d97706; }
.clusterlane-ai-improve__item--low { --imp: #94a3b8; }
.clusterlane-ai-improve__item-head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.clusterlane-ai-improve__item-head strong { font-size: 14px; color: #0f172a; }
.clusterlane-ai-improve__node { width: 10px; height: 10px; border-radius: 50%; background: var(--imp); box-shadow: 0 0 0 3px color-mix(in srgb, var(--imp) 20%, transparent); flex-shrink: 0; }
.clusterlane-ai-improve__first { font-size: 10.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: #fff; background: #16223a; border-radius: 999px; padding: 2px 8px; }
.clusterlane-ai-improve__why { margin: 4px 0 0 18px; font-size: 12.5px; color: #475569; line-height: 1.5; }
.clusterlane-ai-improve__lead { margin: 10px 0 6px 18px; font-size: 12px; color: #64748b; }
.clusterlane-ai-improve__item .clusterlane-tm-group { margin: 6px 0 0 18px; }
.clusterlane-ai-improve__more { margin: 6px 0 0 18px; font-size: 12px; color: #64748b; }
.clusterlane-ai-improve__actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 0 18px; }
.clusterlane-ai-improve__btn { display: inline-flex; align-items: center; text-decoration: none; }
.clusterlane-ai-improve__btn .clusterlane-g { margin-right: 5px; }
.clusterlane-ai-improve__tips { margin: 6px 0 0 36px; padding: 0; font-size: 12.5px; color: #475569; line-height: 1.55; list-style: disc; }
.clusterlane-ai-improve__tips li { margin: 0 0 3px; }

/* "More ideas from AI" — the AI analysis, now a block at the end of the panel. */
.clusterlane-ai-improve__ai { margin-top: 16px; padding-top: 14px; border-top: 1px solid #f1f5f9; }
.clusterlane-ai-improve__ai .clusterlane-ai-section-title { font-size: 13.5px; }
.clusterlane-ai-details-head { margin: 26px 0 12px; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #94a3b8; }

/* Link Suggestions: the pair opened from Article Inspector */
.clusterlane-ls2-row--focus { box-shadow: 0 0 0 2px #3b82f6; border-radius: 10px; }
@media (max-width: 782px) {
    .clusterlane-ai-improve__why, .clusterlane-ai-improve__lead, .clusterlane-ai-improve__item .clusterlane-tm-group, .clusterlane-ai-improve__more, .clusterlane-ai-improve__actions { margin-left: 0; }
    .clusterlane-ai-improve__tips { margin-left: 18px; }
}
.clusterlane-ai-improve__ai .clusterlane-ai-analysis-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.clusterlane-ai-improve__ai .clusterlane-ai-analysis-title-row { display: flex; align-items: center; gap: 8px; }
.clusterlane-ai-improve__ai .clusterlane-ai-section-title { border: 0; padding: 0; margin: 0; }
.clusterlane-ai-improve__ai .clusterlane-ai-badge { display: none; }
.clusterlane-ai-improve__ai > p { margin: 4px 0 0 !important; }
.clusterlane-ai-improve__ai .clusterlane-action-btn { height: 32px; padding: 0 14px; font-size: 12.5px; }

/* ── 0.98.098 Article Inspector: vitals row + Article map tabs ─────── */
.clusterlane-ai-vitals {
    display: flex; flex-wrap: wrap; align-items: center; gap: 6px 18px;
    margin: 0 0 16px; padding: 12px 18px; border-radius: 14px;
    background: #fff; border: 1px solid #e2e8f0; box-shadow: 0 1px 3px rgba(15,23,42,.05);
}
.clusterlane-ai-vitals[hidden] { display: none; }
.clusterlane-ai-vital { display: inline-flex; align-items: baseline; gap: 5px; font-size: 12.5px; color: #64748b; white-space: nowrap; }
.clusterlane-ai-vital strong { font-size: 17px; font-weight: 800; color: #0f172a; letter-spacing: -.01em; }
.clusterlane-ai-vital--good strong { color: #059669; }
.clusterlane-ai-vital--fair strong { color: #d97706; }
.clusterlane-ai-vital--weak strong { color: #dc2626; }
.clusterlane-ai-vital--role { align-items: center; gap: 7px; white-space: normal; }
.clusterlane-ai-vital--role strong { font-size: 12.5px; font-weight: 700; }
.clusterlane-ai-vital--role em { font-style: normal; color: #94a3b8; }
.clusterlane-ai-vital-sep { width: 1px; height: 18px; background: #e2e8f0; }
.clusterlane-ai-graph-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin: 12px 0 10px; }
.clusterlane-ai-graph-tabs[hidden] { display: none; }
.clusterlane-ai-graph-tabs button {
    display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 12px; border-radius: 999px;
    border: 1px solid #e2e8f0; background: #fff; color: #334155; font: 600 12.5px/1 inherit; cursor: pointer;
}
.clusterlane-ai-graph-tabs button:hover { border-color: #cbd5e1; background: #f8fafc; }
.clusterlane-ai-graph-tabs button.is-active { background: #16223a; border-color: #16223a; color: #fff; }
.clusterlane-ai-graph-tabs button em { font-style: normal; font-weight: 500; opacity: .7; }
.clusterlane-ai-graph-tabs button .clusterlane-g { margin-right: 0; }
.clusterlane-ai-graph-tab-node { width: 8px; height: 8px; border-radius: 50%; background: #94a3b8; }
.clusterlane-ai-graph-tab-node--good { background: #22c55e; box-shadow: 0 0 0 3px rgba(34,197,94,.2); }
.clusterlane-ai-graph-tab-node--fair { background: #f59e0b; box-shadow: 0 0 0 3px rgba(245,158,11,.2); }
.clusterlane-ai-graph-tab-node--weak { background: #ef4444; box-shadow: 0 0 0 3px rgba(239,68,68,.2); }
.clusterlane-ai-graph-tip { background: #1e2535; color: #e2e8f0; border-radius: 7px; padding: 7px 10px; font-size: 12px; line-height: 1.4; max-width: 280px; box-shadow: 0 4px 14px rgba(0,0,0,.3); }
.clusterlane-ai-graph-tip strong { display: block; color: #fff; }
.clusterlane-ai-graph-tip span { color: #94a3b8; }
.clusterlane-ai-graph-ci { margin-left: auto; font-size: 12px; font-weight: 600; color: #2563eb; text-decoration: none; }
.clusterlane-ai-graph-ci:hover { text-decoration: underline; }
@media (max-width: 782px) {
    .clusterlane-ai-vital-sep { display: none; }
    .clusterlane-ai-vitals { gap: 6px 14px; }
}

/* ── 0.98.099 Article Inspector: details = map first, then three even cards ── */
#clusterlane-ai-inspector .clusterlane-ai-graph-card { margin-top: 0; }
.clusterlane-ai-trio { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 16px; align-items: stretch; }
.clusterlane-ai-trio__card { margin: 0; min-width: 0; }
@media (max-width: 1100px) {
    .clusterlane-ai-trio { grid-template-columns: 1fr 1fr; }
    .clusterlane-ai-trio__card:last-child { grid-column: 1 / -1; }
}
@media (max-width: 782px) {
    .clusterlane-ai-trio { grid-template-columns: 1fr; }
}
.clusterlane-ai-facts { display: grid; gap: 0; }
.clusterlane-ai-fact { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid #f1f5f9; font-size: 13px; }
.clusterlane-ai-fact:last-child { border-bottom: 0; }
.clusterlane-ai-fact__label { color: #64748b; }
.clusterlane-ai-fact__value { font-weight: 700; color: #0f172a; display: inline-flex; align-items: center; gap: 6px; text-align: right; }
.clusterlane-ai-fact__value em { font-style: normal; font-weight: 500; color: #94a3b8; font-size: 12px; }
.clusterlane-ai-links-summary:empty { display: none; }
.clusterlane-ai-links-terms { margin: 0 0 10px; font-size: 12px; color: #64748b; line-height: 1.5; }
.clusterlane-ai-trio__card .clusterlane-ai-links-details:first-of-type { margin-top: 2px; }
.clusterlane-ai-cluster-row--stacked { display: block; }
.clusterlane-ai-cluster-line { display: flex; align-items: center; gap: 7px; min-width: 0; }
.clusterlane-ai-cluster-line .clusterlane-ai-cluster-name { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.clusterlane-ai-cluster-line--meta { margin: 5px 0 0 24px; flex-wrap: wrap; gap: 6px; }

/* ── 0.98.100 Article thumbnails (clusterlaneThumb) ───────────────────────────
   Featured image (thumbnail size) or a letter tile in the role colour. */
.clusterlane-thumb { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; overflow: hidden; border-radius: 6px; background: #e2e8f0; vertical-align: middle; }
.clusterlane-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.clusterlane-thumb--xs { width: 22px; height: 22px; border-radius: 5px; margin-right: 6px; }
.clusterlane-thumb--sm { width: 28px; height: 28px; margin-right: 8px; }
.clusterlane-thumb--md { width: 36px; height: 36px; border-radius: 8px; margin-right: 10px; }
.clusterlane-thumb--none { color: #475569; font: 700 11px/1 system-ui, sans-serif; background: #f1f5f9; box-shadow: inset 0 0 0 1px #e2e8f0; }
.clusterlane-thumb--md.clusterlane-thumb--none { font-size: 14px; }
.clusterlane-thumb--pillar { background: #fdeadf; color: #b4491a; box-shadow: inset 0 0 0 1px #f5c3a6; }
.clusterlane-thumb--support { background: #fdf4d4; color: #86600a; box-shadow: inset 0 0 0 1px #f5dc8a; }
.clusterlane-thumb--light { background: #edf4e4; color: #4a6b2a; box-shadow: inset 0 0 0 1px #c8dcb0; }
.clusterlane-thumb--orphan { background: #e4f0f8; color: #245f84; box-shadow: inset 0 0 0 1px #b5d6ea; }
.clusterlane-browse__titlecell { display: flex; align-items: center; min-width: 0; }
.clusterlane-browse__titlecell > div { min-width: 0; }
.clusterlane-ls-result-item { display: flex; align-items: center; }
.clusterlane-ai-recent-item .clusterlane-thumb { margin-right: 8px; }
.clusterlane-ai-link-list li { display: flex; align-items: center; }
.clusterlane-tm-in, .clusterlane-tm-target { align-items: center; }
.clusterlane-tm-in .clusterlane-thumb, .clusterlane-tm-target .clusterlane-thumb { vertical-align: -6px; }
.clusterlane-tm-group-src { display: inline-flex; align-items: center; gap: 5px; }
.clusterlane-ls2-pick .clusterlane-thumb { align-self: center; }
.clusterlane-stickybar__dropdown-item { display: flex !important; align-items: center; }
.clusterlane-stickybar__dropdown-title { min-width: 0; overflow: hidden; text-overflow: ellipsis; }

/* Graph tooltips: thumbnail above the title */
.clusterlane-graph-tip-img { display: block; width: 100%; max-width: 220px; height: 92px; object-fit: cover; border-radius: 5px; margin-bottom: 6px; }
.clusterlane-ai-graph-tip { max-width: 240px; }

/* Vitals: "out" including category pages — explained on hover */
.clusterlane-ai-vital-note { border-bottom: 1px dotted #94a3b8; cursor: help; }

/* 0.98.101 Dock search: larger thumbnail, no underline — the row is the link */
.clusterlane-stickybar__dropdown-item { display: flex; align-items: center; gap: 10px; text-decoration: none !important; }
.clusterlane-stickybar__dropdown-item .clusterlane-thumb { margin-right: 0; width: 40px; height: 40px; border-radius: 7px; }
.clusterlane-stickybar__dropdown-item .clusterlane-stickybar__dropdown-title { text-decoration: none; line-height: 1.35; color: #0f172a; font-weight: 500; }
.clusterlane-stickybar__dropdown-item:hover .clusterlane-stickybar__dropdown-title, .clusterlane-stickybar__dropdown-item:focus-visible .clusterlane-stickybar__dropdown-title { color: #1d4ed8; }

/* 0.98.102 Internal links lists: like the dock search — larger thumb, no
   underline, row opens the article in Article Inspector, arrow = on the site. */
.clusterlane-ai-link-list li { gap: 6px; padding: 5px 4px; }
.clusterlane-ai-link-list a.clusterlane-ai-linkrow { display: flex; align-items: center; gap: 10px; flex: 1 1 auto; min-width: 0; color: #0f172a; text-decoration: none; border-radius: 6px; padding: 2px; }
.clusterlane-ai-link-list a.clusterlane-ai-linkrow .clusterlane-thumb { margin-right: 0; width: 36px; height: 36px; }
.clusterlane-ai-linkrow__title { font-size: 13px; font-weight: 500; line-height: 1.35; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.clusterlane-ai-link-list a.clusterlane-ai-linkrow:hover, .clusterlane-ai-link-list a.clusterlane-ai-linkrow:focus-visible { text-decoration: none; }
.clusterlane-ai-link-list a.clusterlane-ai-linkrow:hover .clusterlane-ai-linkrow__title, .clusterlane-ai-link-list a.clusterlane-ai-linkrow:focus-visible .clusterlane-ai-linkrow__title { color: #1d4ed8; }
.clusterlane-ai-link-list a.clusterlane-ai-linkrow__site { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 6px; color: #94a3b8; text-decoration: none; transform: rotate(-45deg); opacity: 0; transition: opacity .12s, color .12s, background .12s; }
.clusterlane-ai-link-list li:hover a.clusterlane-ai-linkrow__site, .clusterlane-ai-link-list a.clusterlane-ai-linkrow__site:focus-visible { opacity: 1; }
.clusterlane-ai-link-list a.clusterlane-ai-linkrow__site:hover { color: #1d4ed8; background: #eff6ff; text-decoration: none; }
.clusterlane-ai-link-list a.clusterlane-ai-linkrow__site .clusterlane-g { margin: 0; }
@media (hover: none) {
    .clusterlane-ai-link-list a.clusterlane-ai-linkrow__site { opacity: 1; }
}

/* 0.98.105 Settings → Advanced → AI cache */
.clusterlane-aic__table { width: 100%; border-collapse: collapse; font-size: 13px; margin-top: 4px; }
.clusterlane-aic__table th { text-align: left; font-size: 11px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: #94a3b8; padding: 6px 8px; border-bottom: 1px solid #e2e8f0; }
.clusterlane-aic__table td { padding: 8px; border-bottom: 1px solid #f1f5f9; color: #334155; }
.clusterlane-aic__table td.clusterlane-aic__n { font-weight: 700; color: #0f172a; }
.clusterlane-aic__table td.clusterlane-aic__act { text-align: right; }
.clusterlane-aic__table tr.is-cleared td { color: #94a3b8; }
.clusterlane-aic__foot { display: flex; align-items: center; gap: 12px; margin: 12px 0 0; }
.clusterlane-aic__status { font-size: 12.5px; color: #15803d; font-weight: 600; }
.clusterlane-aic__empty { margin: 4px 0 0; color: #64748b; }

/* 0.98.108 Chosen pillar (Cluster Inspector members) */
.clusterlane-ci-chosen { display: inline-block; margin-left: 4px; padding: 0 7px; border-radius: 999px; background: #fff7ed; color: #c2410c; font-size: 10.5px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; line-height: 18px; vertical-align: middle; }
.clusterlane-ci-pillar-btn { opacity: .55; }
.clusterlane-ci-member-row:hover .clusterlane-ci-pillar-btn, .clusterlane-ci-pillar-btn:focus-visible { opacity: 1; }
.clusterlane-ci-pillar-btn.is-chosen { opacity: 1; color: #c2410c; border-color: #fdba74; background: #fff7ed; }

/* 0.98.109 "Mixed" archetype (was "Unclassified" for analysed clusters) */
.clusterlane-archetype-mixed { background: #eef2f7; color: #475569; }
.clusterlane-archetype-unclassified { background: #f8fafc; color: #94a3b8; border: 1px dashed #cbd5e1; }

/* 0.98.110 Site Analysis → "go" buttons to the right Clusterlane tool */
.clusterlane-sa-go-row { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
a.clusterlane-sa-go {
    display: inline-flex; align-items: center; gap: 5px; padding: 4px 10px; border-radius: 999px;
    background: #eff6ff; border: 1px solid #bfdbfe; color: #1d4ed8; font-size: 12px; font-weight: 600; text-decoration: none; line-height: 1.3;
}
a.clusterlane-sa-go:hover, a.clusterlane-sa-go:focus-visible { background: #dbeafe; color: #1e40af; }
a.clusterlane-sa-go .clusterlane-g { margin: 0; width: 13px; height: 13px; }
@keyframes clusterlaneFocusFlash { 0% { box-shadow: 0 0 0 0 rgba(59,130,246,.55); } 100% { box-shadow: 0 0 0 14px rgba(59,130,246,0); } }
.clusterlane-focus-flash { animation: clusterlaneFocusFlash 1.1s ease-out 2; border-radius: 12px; }

/* Example (Free): the "go" buttons are shown but inert */
.clusterlane-sa-go.is-example { display: inline-flex; align-items: center; gap: 5px; padding: 4px 10px; border-radius: 999px; background: #f8fafc; border: 1px dashed #cbd5e1; color: #64748b; font-size: 12px; font-weight: 600; line-height: 1.3; cursor: default; }
.clusterlane-sa-go.is-example .clusterlane-g { margin: 0; width: 13px; height: 13px; }

/* 0.98.118 Cluster Admin: category/tag whose articles aren't a scanned post type */
.clusterlane-ca-unscanned { display: flex; align-items: center; gap: 5px; grid-column: 2 / -1; margin: -4px 0 0; font-size: 12px; color: #b45309; }
.clusterlane-ca-unscanned .clusterlane-g { color: #d97706; margin: 0; }

/* =========================================================
   REPORT PAGE (0.98.125) — .clusterlane-rp
   A calm, printable summary: dark header with period + KPIs,
   then white cards. Charts are inline SVG styled here.
========================================================= */
.clusterlane-rp {
    --clusterlane-rp-ink: #16223a;
    --clusterlane-rp-pillar: #e76c2e; --clusterlane-rp-support: #f5c842; --clusterlane-rp-light: #90b865; --clusterlane-rp-orphan: #5ba4cf;
}
.clusterlane-rp * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.clusterlane-rp-head { margin-top: 16px; padding: 30px 34px; border-radius: 18px; background: var(--clusterlane-rp-ink); color: #fff; }
.clusterlane-rp-head__top { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; flex-wrap: wrap; }
.clusterlane-rp-head__title { display: flex; align-items: center; gap: 16px; min-width: 0; }
.clusterlane-rp-head__mark { display: inline-flex; flex-shrink: 0; }
.clusterlane-rp-head h1 { margin: 2px 0 4px !important; padding: 0 !important; color: #fff !important; font-size: 30px !important; font-weight: 800 !important; line-height: 1.15 !important; letter-spacing: -.01em; }
.clusterlane-rp-eyebrow { font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #9fb0c8; }
.clusterlane-rp-head__sub { font-size: 13.5px; color: #cbd5e1; }
.clusterlane-rp-head__actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.clusterlane-rp-periods { display: inline-flex; gap: 2px; padding: 3px; border-radius: 10px; background: rgba(255,255,255,.08); }
.clusterlane-rp-periods a { display: inline-flex; align-items: center; height: 34px; padding: 0 12px; border-radius: 8px; color: #9fb0c8; font-size: 13px; font-weight: 600; text-decoration: none; }
.clusterlane-rp-periods a:hover { color: #fff; }
.clusterlane-rp-periods a.is-active { background: rgba(255,255,255,.16); color: #fff; }
.clusterlane-rp-periods a:focus-visible, .clusterlane-rp-print:focus-visible { outline: 2px solid #60a5fa; outline-offset: 2px; box-shadow: none; }
.clusterlane-rp-print { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 16px; border: 0; border-radius: 9px; background: #fff; color: var(--clusterlane-rp-ink); font-size: 13px; font-weight: 700; cursor: pointer; }
.clusterlane-rp-print:hover { background: #e2e8f0; }
.clusterlane-rp-print .clusterlane-g { margin: 0; }
.clusterlane-rp-kpis { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin-top: 24px; }
.clusterlane-rp-kpi { padding: 14px 16px; border-radius: 12px; background: rgba(255,255,255,.06); min-width: 0; }
.clusterlane-rp-kpi__label { font-size: 11.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #9fb0c8; }
.clusterlane-rp-kpi__value { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 10px; margin: 6px 0 4px; font-size: 30px; font-weight: 800; line-height: 1.1; }
.clusterlane-rp-kpi__sub { font-size: 12px; color: #9fb0c8; }
.clusterlane-rp-delta { font-size: 13px; font-weight: 700; white-space: nowrap; }
.clusterlane-rp-delta--good { color: #86efac; }
.clusterlane-rp-delta--bad  { color: #fca5a5; }
.clusterlane-rp-delta--flat { color: #9fb0c8; }

.clusterlane-rp-grid { display: grid; gap: 20px; margin-top: 20px; }
.clusterlane-rp-grid--trend { grid-template-columns: minmax(0, 1.9fr) minmax(0, 1fr); }
.clusterlane-rp-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.clusterlane-rp-card { margin-top: 20px; padding: 22px 24px; border: 1px solid #e2e8f0; border-radius: 14px; background: #fff; min-width: 0; box-sizing: border-box; }
.clusterlane-rp-grid > .clusterlane-rp-card { margin-top: 0; }
.clusterlane-rp-card__head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.clusterlane-rp-card__head h2 { margin: 0; padding: 0; font-size: 16px; font-weight: 700; color: #0f172a; }
.clusterlane-rp-card__meta { font-size: 12.5px; color: #64748b; }
.clusterlane-rp-note { margin: 8px 0 0; font-size: 12.5px; color: #64748b; }
.clusterlane-rp-empty { margin: 0; font-size: 14px; color: #475569; }
.clusterlane-rp-legend { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 12.5px; color: #475569; }
.clusterlane-rp-legend span { display: inline-flex; align-items: center; gap: 6px; }
.clusterlane-rp-key { display: inline-block; width: 16px; }
.clusterlane-rp-key--line { height: 3px; border-radius: 2px; background: var(--clusterlane-rp-ink); }
.clusterlane-rp-key--dash { height: 0; border-top: 2px dashed var(--clusterlane-rp-orphan); }

/* Trend chart */
.clusterlane-rp-chart svg { display: block; width: 100%; height: auto; }
.clusterlane-rp-chart text { font-size: 12px; fill: #64748b; }
.clusterlane-rp-grid-lines line { stroke: #eef0f3; stroke-width: 1; }
.clusterlane-rp-area { fill: var(--clusterlane-rp-ink); fill-opacity: .06; }
.clusterlane-rp-line-health { fill: none; stroke: var(--clusterlane-rp-ink); stroke-width: 3; stroke-linejoin: round; stroke-linecap: round; }
.clusterlane-rp-line-orphans { fill: none; stroke: var(--clusterlane-rp-orphan); stroke-width: 2; stroke-dasharray: 5 4; }
.clusterlane-rp-dot-health { fill: var(--clusterlane-rp-ink); stroke: #fff; stroke-width: 2; }
.clusterlane-rp-dot-orphans { fill: var(--clusterlane-rp-orphan); stroke: #fff; stroke-width: 2; }
.clusterlane-rp-chart .clusterlane-rp-end-health { font-size: 13px; font-weight: 700; fill: var(--clusterlane-rp-ink); }
.clusterlane-rp-chart .clusterlane-rp-end-orphans { font-weight: 700; fill: #245f84; }
.clusterlane-rp-version { stroke: #94a3b8; stroke-width: 1; stroke-dasharray: 2 3; }
.clusterlane-rp-chart .clusterlane-rp-version-label { font-size: 11px; }
.clusterlane-rp-building { display: flex; align-items: center; gap: 14px; padding: 26px 22px; border: 1px dashed #cbd5e1; border-radius: 12px; background: #f8fafc; color: #475569; }
.clusterlane-rp-building .clusterlane-g { width: 24px; height: 24px; flex-shrink: 0; color: #94a3b8; margin: 0; }
.clusterlane-rp-building p { margin: 0; font-size: 13.5px; line-height: 1.55; }

/* Work done */
.clusterlane-rp-work__list { margin: 0; }
.clusterlane-rp-work__row { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 9px 0; border-bottom: 1px solid #f1f5f9; }
.clusterlane-rp-work__row dt { font-size: 14px; color: #334155; }
.clusterlane-rp-work__row dd { margin: 0; font-size: 18px; font-weight: 800; color: #0f172a; font-variant-numeric: tabular-nums; }
.clusterlane-rp-work__row--main dd { font-size: 22px; }
.clusterlane-rp-work__row--sub { padding: 5px 0 5px 12px; border-bottom: 0; }
.clusterlane-rp-work__row--sub dt { font-size: 13px; color: #64748b; }
.clusterlane-rp-work__row--sub dd { font-size: 13px; font-weight: 600; color: #334155; }
.clusterlane-rp-work__row--sub + .clusterlane-rp-work__row:not(.clusterlane-rp-work__row--sub) { border-top: 1px solid #f1f5f9; }
.clusterlane-rp-mini-h { margin: 14px 0 6px; font-size: 12px; font-weight: 600; color: #64748b; }
.clusterlane-rp-work__bars svg { display: block; width: 100%; max-width: 340px; height: auto; }
.clusterlane-rp-bar { fill: var(--clusterlane-rp-ink); }
.clusterlane-rp-bars-base { stroke: #e2e8f0; }
.clusterlane-rp-work__bars text { font-size: 11px; fill: #64748b; }
.clusterlane-rp-work__bars .clusterlane-rp-bar-max { font-weight: 700; fill: var(--clusterlane-rp-ink); }

/* Clusters table */
.clusterlane-rp-table-wrap { border: 1px solid #e2e8f0; border-radius: 10px; overflow: hidden; }
.clusterlane-rp-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 13.5px; }
.clusterlane-rp-table th { padding: 10px 14px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; text-align: left; font-size: 12px; font-weight: 600; color: #64748b; }
.clusterlane-rp-table td { padding: 11px 14px; border-bottom: 1px solid #f1f5f9; color: #334155; vertical-align: middle; overflow-wrap: anywhere; }
.clusterlane-rp-table tbody:last-child tr:last-child td { border-bottom: 0; }
.clusterlane-rp-table .num { text-align: right; font-variant-numeric: tabular-nums; }
.clusterlane-rp-table th:nth-child(2) { width: 84px; }
.clusterlane-rp-table th:nth-child(3) { width: 200px; }
.clusterlane-rp-table th:nth-child(4) { width: 84px; }
.clusterlane-rp-table th:nth-child(5) { width: 84px; }
.clusterlane-rp-table th:nth-child(6) { width: 96px; }
.clusterlane-rp-cl-name { font-weight: 700; color: #0f172a; text-decoration: none; }
.clusterlane-rp-cl-name:hover { color: #b4491a; text-decoration: underline; }
.clusterlane-rp-cl-arch { display: block; margin-top: 2px; font-size: 12px; color: #64748b; }
.clusterlane-rp-mix { display: flex; gap: 1px; width: 100%; max-width: 180px; height: 10px; border-radius: 5px; overflow: hidden; background: #f1f5f9; }
.clusterlane-rp-mix__seg { flex-basis: 0; min-width: 3px; }
.clusterlane-rp-mix__seg--pillar { background: var(--clusterlane-rp-pillar); }
.clusterlane-rp-mix__seg--support { background: var(--clusterlane-rp-support); }
.clusterlane-rp-mix__seg--light { background: var(--clusterlane-rp-light); }
.clusterlane-rp-mix__seg--orphan { background: var(--clusterlane-rp-orphan); }
.clusterlane-rp-health { font-weight: 700; }
.clusterlane-rp-health--good { color: #15803d; }
.clusterlane-rp-health--fair { color: #b45309; }
.clusterlane-rp-health--weak { color: #dc2626; }
.clusterlane-rp-health--none { color: #94a3b8; }
.clusterlane-rp-table .clusterlane-rp-delta--good { color: #15803d; }
.clusterlane-rp-table .clusterlane-rp-delta--bad { color: #dc2626; }
.clusterlane-rp-table .clusterlane-rp-delta--flat { color: #94a3b8; font-weight: 600; }
.clusterlane-rp-bad { color: #dc2626; font-weight: 700; }
.clusterlane-rp-muted { color: #94a3b8; }
.clusterlane-rp-table-foot { display: flex; justify-content: space-between; align-items: center; gap: 10px 16px; flex-wrap: wrap; margin-top: 12px; }
.clusterlane-rp-legend--roles { margin-left: auto; }
.clusterlane-rp-link { padding: 0; border: 0; background: none; color: var(--clusterlane-rp-ink); font-size: 13px; font-weight: 600; text-decoration: underline; cursor: pointer; }
.clusterlane-rp-link:hover { color: #b4491a; }
.clusterlane-rp-link:focus-visible { outline: 2px solid #3b82f6; outline-offset: 2px; }

/* Composition */
.clusterlane-rp-comp { display: grid; grid-template-columns: 210px minmax(0, 1fr) 280px; gap: 14px 22px; align-items: center; }
.clusterlane-rp-comp__label strong { display: block; font-size: 14px; color: #0f172a; }
.clusterlane-rp-comp__label span { font-size: 12px; color: #64748b; }
.clusterlane-rp-comp__bar { display: flex; gap: 2px; height: 18px; border-radius: 6px; overflow: hidden; background: #f1f5f9; }
.clusterlane-rp-comp__bar span { flex-basis: 0; min-width: 3px; }
.clusterlane-rp-comp__legend { display: flex; flex-wrap: wrap; gap: 3px 12px; font-size: 12.5px; color: #475569; }
.clusterlane-rp-comp__legend span { display: inline-flex; align-items: center; gap: 5px; }
.clusterlane-rp-comp__legend i { display: inline-block; width: 9px; height: 9px; border-radius: 50%; }
.clusterlane-rp-comp__legend b { font-weight: 700; color: #0f172a; }
.clusterlane-rp-comp__legend em { font-style: normal; color: #94a3b8; }

/* Still to do + summary */
.clusterlane-rp-todo { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 14px; }
.clusterlane-rp-todo li { display: flex; gap: 12px; align-items: flex-start; margin: 0; }
.clusterlane-rp-todo__n { flex-shrink: 0; display: flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background: var(--clusterlane-rp-ink); color: #fff; font-size: 12px; font-weight: 700; }
.clusterlane-rp-todo__title { font-size: 14px; font-weight: 600; color: #0f172a; text-decoration: none; }
.clusterlane-rp-todo__title:hover { text-decoration: underline; }
.clusterlane-rp-todo__detail { margin-top: 2px; font-size: 13px; color: #64748b; line-height: 1.5; }
.clusterlane-rp-todo__detail a { color: #475569; }
.clusterlane-rp-done { display: flex; gap: 8px; align-items: flex-start; margin: 0; font-size: 14px; color: #15803d; }
.clusterlane-rp-ai-badge { padding: 2px 8px; border-radius: 999px; background: var(--clusterlane-rp-ink); color: #fff; font-size: 10.5px; font-weight: 700; letter-spacing: .05em; }
.clusterlane-rp-summary .clusterlane-rp-card__head { justify-content: flex-start; }
.clusterlane-rp-summary__body p { margin: 0 0 10px; font-size: 14px; line-height: 1.65; color: #334155; }
.clusterlane-rp-summary__body p.clusterlane-rp-note { font-size: 12.5px; color: #64748b; }
.clusterlane-rp-summary__actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 6px; }
.clusterlane-rp-error { color: #b32d2e; }
.clusterlane-rp-foot { display: flex; justify-content: space-between; gap: 8px 16px; flex-wrap: wrap; margin: 20px 4px 0; font-size: 12px; color: #64748b; }
.clusterlane-rp-foot a { color: #475569; }

@media (max-width: 1100px) {
    .clusterlane-rp-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .clusterlane-rp-grid--trend { grid-template-columns: minmax(0, 1fr); }
    .clusterlane-rp-comp { grid-template-columns: 180px minmax(0, 1fr); }
    .clusterlane-rp-comp__legend { grid-column: 2; }
}
@media (max-width: 782px) {
    .clusterlane-rp-head { padding: 22px 18px; }
    .clusterlane-rp-head h1 { font-size: 24px !important; }
    .clusterlane-rp-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .clusterlane-rp-kpi__value { font-size: 24px; }
    .clusterlane-rp-grid--two { grid-template-columns: minmax(0, 1fr); }
    .clusterlane-rp-card { padding: 18px 16px; }
    .clusterlane-rp-comp { grid-template-columns: minmax(0, 1fr); gap: 6px; }
    .clusterlane-rp-comp__legend { grid-column: auto; margin-bottom: 10px; }
    /* Phones: content-based widths; the role mix and change columns are left out. */
    .clusterlane-rp-table { table-layout: auto; }
    .clusterlane-rp-table th, .clusterlane-rp-table td { padding: 10px 8px; }
    .clusterlane-rp-table .clusterlane-rp-col-mix, .clusterlane-rp-table .clusterlane-rp-col-change { display: none; }
    .clusterlane-rp-table th:not(:first-child) { width: 1%; white-space: nowrap; }
}

@media print {
    #adminmenumain, #wpadminbar, #wpfooter, #screen-meta-links, .notice, .update-nag, .clusterlane-stickybar,
    .clusterlane-rp-periods, .clusterlane-rp-print, .clusterlane-rp-summary__actions, [data-clusterlane-more], .clusterlane-pro-example-banner,
    .clusterlane-rp-summary:not(.has-text) { display: none !important; }
    html.wp-toolbar { padding-top: 0 !important; }
    #wpcontent, #wpbody-content { margin: 0 !important; padding: 0 !important; }
    body, #wpwrap { background: #fff !important; }
    .clusterlane-wrap.clusterlane-rp { max-width: none; margin: 0; }
    .clusterlane-rp-more { display: table-row-group !important; }
    .clusterlane-rp-card:not(:has(.clusterlane-rp-table)), .clusterlane-rp-head { break-inside: avoid; }
    .clusterlane-rp-card { border-color: #cbd5e1; }
    /* An A4 page is ~700px wide, whatever the screen was: set every layout explicitly. */
    .clusterlane-rp-head { padding: 22px 24px; }
    .clusterlane-rp-kpis { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; gap: 8px; }
    .clusterlane-rp-kpi { padding: 10px 12px; }
    .clusterlane-rp-kpi__value { font-size: 22px !important; }
    .clusterlane-rp-kpi__label { font-size: 10px; }
    .clusterlane-rp-grid--trend { grid-template-columns: minmax(0, 1fr) !important; }
    .clusterlane-rp-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .clusterlane-rp-grid--two:not(:has(.clusterlane-rp-summary.has-text)) { grid-template-columns: minmax(0, 1fr) !important; }
    .clusterlane-rp-comp { grid-template-columns: 150px minmax(0, 1fr) !important; gap: 6px 16px; }
    .clusterlane-rp-comp__legend { grid-column: 2 !important; margin-bottom: 8px; }
    .clusterlane-rp-table { table-layout: auto !important; font-size: 12px; }
    .clusterlane-rp-table th, .clusterlane-rp-table td { padding: 7px 8px !important; }
    .clusterlane-rp-table th:not(:first-child) { width: 1% !important; white-space: nowrap; }
    .clusterlane-rp-table .clusterlane-rp-col-mix, .clusterlane-rp-table .clusterlane-rp-col-change { display: table-cell !important; }
    .clusterlane-rp-table .clusterlane-rp-mix { width: 110px; }
    .clusterlane-rp-table tr { break-inside: avoid; }
    .clusterlane-rp-card { padding: 16px 18px; }
    .clusterlane-rp a { text-decoration: none; color: inherit; }
    @page { margin: 12mm; }
}
/* Report example (Free): the banner above the header; nothing to print */
.clusterlane-rp-example-note { margin-top: 16px; }
.clusterlane-rp-example-note .clusterlane-pro-example-banner { margin: 0; }
.clusterlane-rp-print:disabled { opacity: .45; cursor: not-allowed; }
.clusterlane-rp--example .clusterlane-rp-cl-name, .clusterlane-rp--example .clusterlane-rp-todo__title { cursor: default; }

/* Settings → Title Display: live example (0.98.130) */
.clusterlane-title-preview { margin: 8px 0 0; padding: 7px 10px; max-width: 640px; background: #f6f7fb; border: 1px solid #e3e6ee; border-radius: 6px; font-size: 12.5px; line-height: 1.5; color: #3c434a; overflow-wrap: anywhere; }
.clusterlane-title-preview__label { color: #646970; }
.clusterlane-title-preview__from, .clusterlane-title-preview__same { color: #3c434a; }
.clusterlane-title-preview del { color: #a0a5aa; text-decoration-color: rgba(160,165,170,.7); }
.clusterlane-title-preview__arrow { color: #8c8f94; }
.clusterlane-title-preview strong { color: #16223a; }
.clusterlane-title-preview__note { display: block; margin-top: 2px; color: #646970; font-size: 12px; }

/* Settings → Who can change articles (0.98.132) */
.clusterlane-access-table { border-collapse: collapse; width: 100%; max-width: 640px; font-size: 13px; }
.clusterlane-access-table th, .clusterlane-access-table td { padding: 8px 10px; border-bottom: 1px solid #eef0f4; text-align: center; vertical-align: middle; }
.clusterlane-access-table th:first-child, .clusterlane-access-table td:first-child { text-align: left; }
.clusterlane-access-table thead th { font-weight: 600; color: #3c434a; font-size: 12px; border-bottom-color: #dcdfe6; }
.clusterlane-access-table tr.is-fixed td { color: #646970; }
.clusterlane-access-note { color: #8c8f94; font-size: 12px; }
@media (max-width: 600px) { .clusterlane-access-table th, .clusterlane-access-table td { padding: 8px 6px; } .clusterlane-access-table thead th { font-size: 11px; } }

/* "Your role can look but not write" (0.98.132) */
.clusterlane-no-right { margin: 0 0 10px; padding: 8px 12px; background: #f6f7fb; border: 1px solid #e3e6ee; border-left: 3px solid #8c8f94; border-radius: 6px; font-size: 12.5px; line-height: 1.5; color: #3c434a; }

/* Link Card Templates: HTML the design controls can't express (0.98.133) */
.clusterlane-lt-custom-note { margin: 0 0 10px; padding: 7px 10px; background: #fff8e5; border: 1px solid #f0d99a; border-radius: 6px; font-size: 12.5px; line-height: 1.5; color: #3c434a; }
.clusterlane-lt-use-controls { padding: 0; border: 0; background: none; color: #2271b1; text-decoration: underline; cursor: pointer; font: inherit; }
.clusterlane-lt-row.is-custom-html .clusterlane-lt-control-row, .clusterlane-lt-row.is-custom-html .clusterlane-lt-checkbox-label { opacity: .5; }

/* Settings → Link to the pillar (0.98.134) */
.clusterlane-pillar-preview { margin-top: 10px; max-width: 560px; padding: 12px 14px; background: #fff; border: 1px dashed #dcdfe6; border-radius: 6px; font-size: 14px; line-height: 1.55; color: #1e1e1e; }
.clusterlane-pillar-preview p, .clusterlane-pillar-preview blockquote { margin: 0; }
.clusterlane-pillar-status p { margin: 0 0 6px; }
.clusterlane-auto-pill { flex: none; margin-left: 6px; padding: 1px 7px; border-radius: 999px; background: #eef2f7; color: #475569; font-size: 11px; font-weight: 500; white-space: nowrap; }
.clusterlane-pillar-breakdown { border-collapse: collapse; width: 100%; max-width: 760px; margin: 6px 0 8px; font-size: 13px; }
.clusterlane-pillar-breakdown th, .clusterlane-pillar-breakdown td { padding: 7px 8px; border-bottom: 1px solid #eef0f4; text-align: left; vertical-align: top; }
.clusterlane-pillar-breakdown thead th { font-size: 12px; font-weight: 600; color: #3c434a; border-bottom-color: #dcdfe6; }
.clusterlane-pillar-breakdown .num { white-space: nowrap; }
.clusterlane-pillar-breakdown a { font-size: 12px; }
.clusterlane-pillar-warn { color: #b32d2e; font-size: 12px; }
.clusterlane-pillar-breakdown th:nth-child(2), .clusterlane-pillar-breakdown th:nth-child(3),
.clusterlane-pillar-breakdown td:nth-child(2), .clusterlane-pillar-breakdown td:nth-child(3) { width: 1%; white-space: nowrap; text-align: center; padding-left: 14px; padding-right: 14px; }
.clusterlane-pillar-breakdown td:first-child { width: 42%; }
@media (max-width: 600px) { .clusterlane-pillar-breakdown th:nth-child(2), .clusterlane-pillar-breakdown th:nth-child(3) { white-space: normal; } .clusterlane-pillar-breakdown td:first-child { width: auto; } }

/* Cluster Inspector: what "Make pillar" just did (0.98.137) */
.clusterlane-ci-pillar-notice { display: flex; align-items: flex-start; gap: 8px; margin: 0 0 12px; padding: 9px 12px; background: #fff7ed; border: 1px solid #fed7aa; border-left: 3px solid #e76c2e; border-radius: 6px; font-size: 13px; line-height: 1.5; color: #3c434a; }
.clusterlane-ci-pillar-notice svg { flex: none; width: 16px; height: 16px; margin-top: 2px; color: #e76c2e; }
.clusterlane-ci-pillar-notice span { flex: 1; }
.clusterlane-ci-pillar-notice__close { flex: none; padding: 0 4px; border: 0; background: none; color: #8c8f94; font-size: 18px; line-height: 1; cursor: pointer; }
.clusterlane-ci-pillar-notice__close:hover { color: #3c434a; }

/* ── Cluster Inspector → Split this cluster (0.98.138) ─────────────── */
.clusterlane-improve-count--split { background: #ede9fe; color: #5b21b6; }
.clusterlane-improve-count--pro { background: #f5f3ff; color: #6d28d9; border: 1px dashed #c4b5fd; }
.clusterlane-split-head { display: flex; align-items: flex-start; gap: 12px; margin: 0 0 12px; }
.clusterlane-split-note { flex: 1; display: flex; gap: 8px; margin: 0; font-size: 13.5px; line-height: 1.5; color: #1d2327; }
.clusterlane-split-note svg { flex: none; width: 16px; height: 16px; margin-top: 2px; color: #16223a; }
.clusterlane-split-meta { font-size: 12px; color: #8c8f94; white-space: nowrap; margin-top: 2px; }
/* Regenerate on the light card (0.98.195): a normal small button — the link style was made for the dark SEO panel (light blue, white on hover). */
.clusterlane-split-regen { flex-shrink: 0; height: 28px; padding: 0 10px; gap: 5px; margin-top: -3px; }
.clusterlane-split-regen .clusterlane-g { width: 13px; height: 13px; margin: 0; color: #7c3aed; }
.clusterlane-split-stale { margin: 0 0 12px; padding: 7px 10px; background: #fffbeb; border: 1px solid #f0d99a; border-radius: 6px; font-size: 12.5px; }
.clusterlane-split-error { color: #b32d2e; }
.clusterlane-split-top { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 14px; margin-bottom: 14px; }
.clusterlane-split-graphbox, .clusterlane-split-side > div, .clusterlane-split-card { border: 1px solid #e3e6ee; border-radius: 10px; background: #fff; }
.clusterlane-split-graphbox { padding: 12px 14px; display: flex; flex-direction: column; gap: 8px; }
.clusterlane-split-graph-title, .clusterlane-split-ready-title { font-size: 13.5px; font-weight: 600; color: #1d2327; }
.clusterlane-split-graph { height: 300px; border-radius: 8px; background: #f8fafc; }
.clusterlane-split-legend { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 12px; color: #3c434a; }
.clusterlane-split-legend > span { display: inline-flex; align-items: center; gap: 6px; }
.clusterlane-split-hint { margin: 0; font-size: 11.5px; color: #8c8f94; }
.clusterlane-split-dot { display: inline-block; flex: none; width: 10px; height: 10px; border-radius: 50%; background: var(--c, #94a3b8); }
.clusterlane-split-side { display: flex; flex-direction: column; gap: 12px; }
.clusterlane-split-ready { padding: 12px 14px; display: flex; flex-direction: column; gap: 12px; }
.clusterlane-split-ready-row { display: flex; flex-direction: column; gap: 5px; }
.clusterlane-split-ready-top { display: flex; align-items: center; gap: 8px; font-size: 13px; flex-wrap: wrap; }
.clusterlane-split-ready-top > span:last-child { margin-left: auto; font-size: 12px; color: #646970; }
.clusterlane-split-bar { height: 6px; border-radius: 3px; background: #eef0f4; overflow: hidden; }
.clusterlane-split-bar span { display: block; height: 6px; background: var(--c); }
.clusterlane-split-verdict { font-size: 12px; color: #50575e; }
.clusterlane-split-overlap { margin: 0; padding: 10px 12px; border: 1px solid #f0d99a !important; background: #fffbeb !important; border-radius: 10px; font-size: 12.5px; line-height: 1.5; color: #3c434a; }
.clusterlane-split-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: start; }
.clusterlane-split-card { display: flex; flex-direction: column; overflow: hidden; border-top: 4px solid var(--c); }
.clusterlane-split-card-head { display: flex; align-items: center; gap: 8px; padding: 10px 12px 4px; }
.clusterlane-split-name { flex: 1; min-width: 0; font-size: 14.5px; font-weight: 600; color: #1d2327; border: 1px solid transparent; border-radius: 6px; padding: 3px 6px; margin-left: -6px; background: #fff; box-shadow: none; }
.clusterlane-split-name:hover { border-color: #dcdfe6; }
.clusterlane-split-name:focus { border-color: #2271b1; outline: none; box-shadow: 0 0 0 1px #2271b1; }
.clusterlane-split-stayname { flex: 1; font-size: 14.5px; }
.clusterlane-split-count { font-size: 12px; color: #646970; white-space: nowrap; }
.clusterlane-split-why { margin: 0; padding: 0 12px 10px; font-size: 12.5px; line-height: 1.45; color: #50575e; }
.clusterlane-split-rows { border-top: 1px solid #eef0f4; }
.clusterlane-split-row { display: flex; align-items: center; gap: 8px; padding: 5px 10px 5px 12px; border-bottom: 1px solid #f3f4f7; min-height: 36px; }
.clusterlane-split-title { flex: 1; min-width: 0; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.clusterlane-split-tag { flex: none; max-width: 38%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; padding: 2px 7px; border-radius: 999px; background: #f1f5f9; color: #475569; }
.clusterlane-split-tag--hub { background: #fff7ed; color: #9a3412; }
.clusterlane-split-row .clusterlane-ci-pillar-btn { opacity: 1; flex: none; width: 28px; height: 28px; padding: 0; display: inline-flex; align-items: center; justify-content: center; }
.clusterlane-split-row .clusterlane-ci-pillar-btn:not(.is-chosen) { color: #a7aaad; }
.clusterlane-split-chips { display: inline-flex; gap: 4px; flex: none; }
.clusterlane-split-chip { width: 26px; height: 26px; border-radius: 50%; border: 2px solid var(--c); background: #fff; color: var(--c); font-size: 11px; font-weight: 700; line-height: 1; padding: 0; cursor: pointer; }
.clusterlane-split-chip.is-on { background: var(--c); color: #fff; }
.clusterlane-split-chip:focus-visible { outline: 2px solid #2271b1; outline-offset: 1px; }
.clusterlane-split-empty { margin: 0; padding: 10px 12px; font-size: 12.5px; color: #8c8f94; }
.clusterlane-split-create { display: flex; align-items: center; gap: 8px; padding: 9px 12px; font-size: 12.5px; color: #3c434a; background: #fafbfc; margin-top: auto; cursor: pointer; }
.clusterlane-split-create strong { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.clusterlane-split-card--stay .clusterlane-split-rows { max-height: 420px; overflow-y: auto; }
.clusterlane-split-foot { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 14px; padding-top: 12px; border-top: 1px solid #e3e6ee; }
.clusterlane-split-foot-text { flex: 1; min-width: 200px; font-size: 13px; color: #50575e; }
.clusterlane-split-foot-note { font-size: 12.5px; color: #8c8f94; }
.clusterlane-split-done { flex: 1; display: flex; gap: 8px; align-items: flex-start; margin: 0; padding: 10px 12px; background: #ecfdf5; border: 1px solid #a7f3d0; border-radius: 8px; font-size: 13px; color: #065f46; }
.clusterlane-split-done svg { flex: none; width: 16px; height: 16px; margin-top: 2px; }
@media (max-width: 1100px) { .clusterlane-split-top, .clusterlane-split-cards { grid-template-columns: minmax(0, 1fr); } }
.clusterlane-split-card input.clusterlane-split-name[type="text"] { border: 1px solid #e3e6ee; box-shadow: none; min-height: 32px; }
.clusterlane-split-card input.clusterlane-split-name[type="text"]:hover { border-color: #c3c4c7; }
.clusterlane-split-card input.clusterlane-split-name[type="text"]:focus { border-color: #2271b1; box-shadow: 0 0 0 1px #2271b1; }
@media (max-width: 600px) {
    .clusterlane-split-head { flex-wrap: wrap; }
    .clusterlane-split-tag { display: none; }
    .clusterlane-split-graph { height: 240px; }
    .clusterlane-split-row { flex-wrap: wrap; row-gap: 6px; padding: 8px 10px; }
    .clusterlane-split-title { flex-basis: calc(100% - 40px); white-space: normal; }
    .clusterlane-split-row .clusterlane-ci-pillar-btn { margin-left: 32px; }
    .clusterlane-split-chips { margin-left: auto; }
    .clusterlane-split-create { flex-wrap: wrap; }
    .clusterlane-split-ready-top > span:last-child { margin-left: 18px; width: 100%; }
}

/* Split: a suggestion that won't be created is greyed out; the pillar idea (0.98.140) */
.clusterlane-split-card.is-off { border-top-color: #dcdfe6; background: #fafbfc; }
.clusterlane-split-card.is-off > :not(.clusterlane-split-create) { opacity: .42; filter: grayscale(1); }
.clusterlane-split-card.is-off .clusterlane-split-create { background: #f0f2f5; }
.clusterlane-split-idea { display: flex; gap: 10px; align-items: flex-start; flex-wrap: wrap; margin: 0 12px 10px; padding: 9px 11px; background: #fffbeb; border: 1px solid #f0d99a; border-radius: 8px; font-size: 12.5px; line-height: 1.45; color: #3c434a; }
.clusterlane-split-idea > svg { flex: none; width: 16px; height: 16px; margin-top: 1px; color: #b45309; }
.clusterlane-split-idea-text { flex: 1; min-width: 200px; }
.clusterlane-split-idea-text strong { font-weight: 600; color: #1d2327; }
.clusterlane-split-idea-text small { display: block; margin-top: 3px; font-size: 11.5px; color: #646970; }
.clusterlane-split-idea-actions { display: flex; gap: 6px; flex-wrap: wrap; margin-left: 26px; }

/* Pillar & split check: the whole cluster's main article (0.98.141) */
.clusterlane-split-idea--cluster { margin: 0 0 14px; }
.clusterlane-split-pick { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 0 0 14px; padding: 9px 12px; background: #fff7ed; border: 1px solid #fed7aa; border-radius: 8px; font-size: 13px; line-height: 1.45; color: #3c434a; }
.clusterlane-split-pick > svg { flex: none; width: 16px; height: 16px; color: #e76c2e; }
.clusterlane-split-pick > span { flex: 1; min-width: 200px; }
.clusterlane-split-pick-now { color: #646970; font-size: 12px; }
.clusterlane-split-pick--ok { background: #f0fdf4; border-color: #bbf7d0; }
.clusterlane-split-pick--ok > svg { color: #15803d; }
.clusterlane-split-onetopic { display: flex; gap: 8px; align-items: flex-start; margin: 0; padding: 10px 12px; background: #f6f7fb; border-radius: 8px; font-size: 13px; color: #3c434a; }
.clusterlane-split-onetopic svg { flex: none; width: 16px; height: 16px; margin-top: 2px; color: #15803d; }

/* ── Cluster Admin → Review cluster structure (0.98.141) ───────────── */
.clusterlane-review-card { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin: 18px 0 26px; }
.clusterlane-review-card-icon { flex: none; width: 40px; height: 40px; border-radius: 10px; background: #eef2f7; color: #16223a; display: flex; align-items: center; justify-content: center; }
.clusterlane-review-card-icon svg { width: 20px; height: 20px; }
.clusterlane-review-card-text { flex: 1; min-width: 240px; }
.clusterlane-review-card-text strong { font-size: 14.5px; color: #1d2327; }
.clusterlane-review-card-text p { margin: 3px 0 0; font-size: 13px; color: #50575e; }
.clusterlane-review-dialog { width: min(1080px, calc(100vw - 32px)); max-height: calc(100vh - 48px); padding: 0; border: 0; border-radius: 14px; box-shadow: 0 24px 60px rgba(15, 23, 42, .35); overflow: auto; color: #1d2327; }
.clusterlane-review-dialog::backdrop { background: rgba(15, 23, 42, .55); }
.clusterlane-review-head { position: sticky; top: 0; z-index: 2; display: flex; align-items: flex-start; gap: 12px; padding: 16px 22px; background: #16223a; color: #fff; }
.clusterlane-review-head h2 { margin: 0; font-size: 17px; color: #fff; }
.clusterlane-review-head p { margin: 3px 0 0; font-size: 12.5px; color: #cbd5e1; }
.clusterlane-review-head > div { flex: 1; }
.clusterlane-review-close { flex: none; border: 0; background: none; color: #cbd5e1; font-size: 24px; line-height: 1; cursor: pointer; padding: 0 4px; }
.clusterlane-review-close:hover { color: #fff; }
.clusterlane-review-body { padding: 16px 22px 22px; }
.clusterlane-review-summary { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; padding: 12px 14px; background: #f6f7fb; border: 1px solid #e3e6ee; border-radius: 10px; margin-bottom: 12px; }
.clusterlane-review-summary > div:first-child { flex: 1; min-width: 240px; display: flex; flex-direction: column; gap: 2px; font-size: 13px; color: #50575e; }
.clusterlane-review-summary strong { font-size: 14px; color: #1d2327; }
.clusterlane-review-run { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.clusterlane-review-cost { font-size: 12.5px; color: #50575e; }
.clusterlane-review-alldone { display: inline-flex; gap: 6px; align-items: center; font-size: 13px; color: #15803d; }
.clusterlane-review-alldone svg { width: 16px; height: 16px; }
.clusterlane-review-progress { display: flex; flex-direction: column; gap: 5px; min-width: 220px; font-size: 12.5px; color: #3c434a; }
.clusterlane-review-filters { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 10px; }
.clusterlane-review-filters button { border: 1px solid #dcdfe6; background: #fff; border-radius: 999px; padding: 5px 12px; font-size: 12.5px; color: #3c434a; cursor: pointer; }
.clusterlane-review-filters button em { font-style: normal; color: #8c8f94; margin-left: 2px; }
.clusterlane-review-filters button.is-active { background: #16223a; border-color: #16223a; color: #fff; }
.clusterlane-review-filters button.is-active em { color: #cbd5e1; }
.clusterlane-review-list { border: 1px solid #e3e6ee; border-radius: 10px; overflow: hidden; }
.clusterlane-review-row { display: grid; grid-template-columns: minmax(170px, 1.1fr) minmax(0, 3fr) auto; gap: 14px; align-items: center; padding: 11px 14px; border-bottom: 1px solid #eef0f4; background: #fff; }
.clusterlane-review-row:last-child { border-bottom: 0; }
.clusterlane-review-name { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.clusterlane-review-name strong { font-size: 13.5px; }
.clusterlane-review-name span { font-size: 12px; color: #646970; }
.clusterlane-review-result { display: flex; flex-direction: column; gap: 5px; min-width: 0; font-size: 12.5px; }
.clusterlane-review-line { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.clusterlane-review-tag { display: inline-flex; align-items: center; gap: 4px; flex: none; padding: 2px 8px; border-radius: 999px; font-size: 11.5px; font-weight: 600; }
.clusterlane-review-tag svg { width: 12px; height: 12px; }
.clusterlane-review-tag--split { background: #ede9fe; color: #5b21b6; }
.clusterlane-review-tag--idea { background: #fef3c7; color: #92400e; }
.clusterlane-review-tag--pillar { background: #fff7ed; color: #9a3412; }
.clusterlane-review-tag--ok { background: #dcfce7; color: #166534; }
.clusterlane-review-chip { display: inline-flex; align-items: center; gap: 4px; padding: 2px 8px; border-radius: 999px; background: #f1f5f9; color: #334155; font-size: 12px; }
.clusterlane-review-chip em { font-style: normal; color: #8c8f94; }
.clusterlane-review-chip svg { width: 12px; height: 12px; color: #b45309; }
.clusterlane-review-text { color: #3c434a; }
.clusterlane-review-muted { color: #8c8f94; font-size: 12px; display: inline-flex; gap: 4px; align-items: center; }
.clusterlane-review-muted svg { width: 13px; height: 13px; }
.clusterlane-review-stale { font-style: italic; }
.clusterlane-review-actions { display: flex; gap: 6px; justify-content: flex-end; }
.clusterlane-review-actions a.clusterlane-tm-btn { text-decoration: none; }
.clusterlane-review-small { margin: 10px 2px 0; font-size: 12px; color: #8c8f94; }
@media (max-width: 760px) {
    .clusterlane-review-row { grid-template-columns: minmax(0, 1fr); gap: 8px; }
    .clusterlane-review-actions { justify-content: flex-start; }
    .clusterlane-review-body, .clusterlane-review-head { padding-left: 14px; padding-right: 14px; }
}

/* ── 0.98.147 Phones: tabs, Cluster Admin actions, Dashboard card headers ── */
@media (max-width: 782px) {
    /* Settings tabs: two by two instead of a row that scrolls sideways. */
    .clusterlane-set-tabs { display: grid; grid-template-columns: 1fr 1fr; overflow: visible; }
    .clusterlane-set-tabs button { justify-content: center; min-width: 0; }

    /* Cluster Admin → Your own clusters: the buttons get their own row
       under the name, health and orphans. */
    .clusterlane-ca-table, .clusterlane-ca-table > thead, .clusterlane-ca-table > tbody { display: block; }
    .clusterlane-ca-table > thead > tr, .clusterlane-ca-table > tbody > tr.clusterlane-ca-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; }
    .clusterlane-ca-table > thead > tr > th:nth-child(5) { display: none; }
    .clusterlane-ca-table > thead > tr > th:not(:first-child) { width: auto; }
    .clusterlane-ca-table > tbody > tr.clusterlane-ca-row > td { border-bottom: 0; }
    .clusterlane-ca-table > tbody > tr.clusterlane-ca-row > td.clusterlane-ca-actions { grid-column: 1 / -1; display: flex; gap: 6px; padding-top: 0; border-bottom: 1px solid #eef0f4; }
    .clusterlane-ca-table td.clusterlane-ca-actions .clusterlane-tm-btn { display: inline-flex; margin: 0; }
    .clusterlane-ca-table > tbody > tr.clusterlane-ca-editor-row, .clusterlane-ca-table > tbody > tr.clusterlane-ca-editor-row > td { display: block; }

    /* Dashboard card headers: title and arrow on the first row, the
       controls on a full-width row below. */
    #clusterlane-sm-card > .clusterlane-site-analysis-header, #clusterlane-dash-graph-card > .clusterlane-site-analysis-header, #clusterlane-site-analysis-card > .clusterlane-site-analysis-header { padding: 18px 18px; gap: 12px; }
    #clusterlane-sm-card .clusterlane-site-analysis-title, #clusterlane-dash-graph-card .clusterlane-site-analysis-title, #clusterlane-site-analysis-card .clusterlane-site-analysis-title { flex: 1 1 calc(100% - 40px); min-width: 0; order: 0; }
    #clusterlane-sm-card > .clusterlane-site-analysis-header::after, #clusterlane-dash-graph-card > .clusterlane-site-analysis-header::after, #clusterlane-site-analysis-card > .clusterlane-site-analysis-header::after { order: 1; }
    #clusterlane-sm-card .clusterlane-dash-graph-controls, #clusterlane-dash-graph-card .clusterlane-dash-graph-controls, #clusterlane-site-analysis-card .clusterlane-site-analysis-actions { order: 2; flex: 1 1 100%; min-width: 0; flex-wrap: wrap; }
    #clusterlane-dash-graph-select { flex: 1 1 140px; min-width: 0; max-width: 100%; }
    .clusterlane-dash-graph-ci-btn { flex: 1 1 100%; justify-content: center; text-align: center; box-sizing: border-box; min-height: 36px; padding: 8px 16px; }
    .clusterlane-site-analysis-meta { white-space: nowrap; }
}

/* ── 0.98.148 Phones: Cluster Inspector's inline cluster uses the width ──
   Nine nested frames (page card, table, row, panel, Improve panel, block,
   list, row) left ~180 px of text on a 390 px screen. Keep the frames,
   drop most of the padding between them. */
@media (max-width: 782px) {
    #clusterlane-ci-list-card > .clusterlane-collapse-body { padding: 12px 8px 14px; }
    .clusterlane-ci-table > tbody > tr.clusterlane-ci-detail-row > td { padding: 0 0 8px 3px; }
    .clusterlane-ci-detail-row #clusterlane-ci-detail-panel > .clusterlane-panel-card { border-radius: 10px; }
    .clusterlane-ci-detail-row #clusterlane-ci-detail-panel > .clusterlane-panel-card > div[style*="padding:20px 24px"] { padding: 10px 6px !important; }
    .clusterlane-ci-detail-row .clusterlane-improve-panel { border-radius: 10px; margin-bottom: 18px; }
    .clusterlane-ci-detail-row .clusterlane-improve-panel-header { padding: 14px 12px; }
    .clusterlane-ci-detail-row .clusterlane-improve-panel-body { padding: 8px 6px 10px; gap: 8px; }
    .clusterlane-ci-detail-row .clusterlane-improve-block-body { padding: 10px 8px 12px; }
    .clusterlane-ci-detail-row .clusterlane-tm-group { border-radius: 8px; }
    .clusterlane-ci-detail-row .clusterlane-tm-row { padding: 10px; gap: 10px; }
    /* Link articles that need it: Suggest goes under the row, not beside it. */
    .clusterlane-ci-detail-row .clusterlane-ls2-row-head { flex-direction: column; align-items: stretch; gap: 8px; padding: 10px; }
    .clusterlane-ci-detail-row .clusterlane-ls2-row-main { min-width: 0; }
    .clusterlane-ci-detail-row .clusterlane-ls2-row-actions { align-self: flex-start; }
    .clusterlane-ci-detail-row .clusterlane-ci-al-src { max-width: 100%; }
    /* Block headers: less padding, the count stays on one line. */
    .clusterlane-ci-detail-row .clusterlane-improve-block-header { padding: 10px; gap: 8px; align-items: flex-start; }
    .clusterlane-ci-detail-row .clusterlane-improve-block-label { gap: 8px; min-width: 0; align-items: flex-start; }
    .clusterlane-ci-detail-row .clusterlane-improve-block-meta { gap: 6px; flex: none; padding-top: 4px; }
    .clusterlane-ci-detail-row .clusterlane-improve-count { white-space: nowrap; padding: 3px 8px; }
    .clusterlane-ci-detail-row .clusterlane-improve-summary { padding: 10px 12px; margin-bottom: 10px; }
}

/* ── 0.98.149 Improve this cluster: numbered steps ──────────────────────
   The blocks are a to-do list: 1, 2, 3… in a circle instead of the icon.
   A CSS counter, so hidden blocks (Pillar & split below 6 members, in
   Free) are skipped and the numbers stay in sequence. */
#clusterlane-ci-improve .clusterlane-improve-panel-body { counter-reset: clusterlane-step; }
#clusterlane-ci-improve .clusterlane-improve-block { counter-increment: clusterlane-step; }
#clusterlane-ci-improve .clusterlane-improve-block-icon { width: 28px; height: 28px; border-radius: 50%; background: #16223a; color: #fff; font-size: 13.5px; font-weight: 700; font-variant-numeric: tabular-nums; box-shadow: 0 1px 2px rgba(15,23,42,.25); }
#clusterlane-ci-improve .clusterlane-improve-block-icon > * { display: none; }
#clusterlane-ci-improve .clusterlane-improve-block-icon::before { content: counter(clusterlane-step); line-height: 1; }
#clusterlane-ci-improve .clusterlane-improve-block-header:hover .clusterlane-improve-block-icon { background: #1e3a5f; }

/* ── 0.98.150 Phones: the expanded cluster graph is a full-screen view ──
   The desktop modal (graph + 260 px side panel, header on one row) left the
   graph ~100 px wide on a 390 px screen. On phones: full screen, header as
   title + × / info / legend, the graph on top and the article details in a
   panel below that grows when a node is clicked. */
.clusterlane-ci-graph-modal-header .clusterlane-graph-legend { margin-top: 0; padding-top: 0; border-top: 0; }
@media (max-width: 782px) {
    .clusterlane-ci-graph-modal-overlay { padding: 0; align-items: stretch; }
    .clusterlane-ci-graph-modal-inner { height: 100%; height: 100dvh; max-height: none; border-radius: 0; box-shadow: none; }
    .clusterlane-ci-graph-modal-header {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas: "title close" "info info" "legend legend";
        align-items: center;
        gap: 8px 12px;
        padding: 12px 14px;
    }
    .clusterlane-ci-graph-modal-header > div { display: contents !important; }
    .clusterlane-ci-graph-modal-title { grid-area: title; font-size: 1.05rem; line-height: 1.3; overflow-wrap: anywhere; }
    #clusterlane-ci-graph-modal-close { grid-area: close; }
    #clusterlane-ci-graph-modal-infobar { grid-area: info; }
    #clusterlane-ci-graph-modal-legend { grid-area: legend; }
    .clusterlane-ci-graph-modal-header .clusterlane-graph-infobar { gap: 4px 12px; font-size: 11.5px; }
    .clusterlane-ci-graph-modal-header .clusterlane-graph-infobar > span { padding: 0 !important; white-space: nowrap; }
    .clusterlane-ci-graph-modal-header .clusterlane-graph-infobar > span::after { display: none; }
    .clusterlane-ci-graph-modal-header .clusterlane-graph-infobar .clusterlane-graph-infobar-arch { padding: 1px 9px !important; margin: 0; }
    .clusterlane-ci-graph-modal-body { flex-direction: column; }
    .clusterlane-ci-graph-modal-canvas { flex: 1 1 auto; }
    .clusterlane-ci-graph-modal-right {
        width: auto;
        max-height: 42%;
        flex: 0 0 auto;
        padding: 12px 14px calc(12px + env(safe-area-inset-bottom));
        border-left: 0;
        border-top: 1px solid #e2e8f0;
    }
    .clusterlane-ci-graph-modal-right > p { margin: 0 !important; }
}

/* ── 0.98.151 Phones: the dock sticks to the top once the admin bar is gone ──
   At 600 px and below WordPress makes #wpadminbar position:absolute, so it
   scrolls away with the page; top:46px left an empty strip above the dock.
   601–782 px keeps the fixed 46 px admin bar and the 46 px offset. */
@media screen and (max-width: 600px) {
    .clusterlane-stickybar, #clusterlane-sticky-bar { top: 0; }
}

/* ── 0.98.152 Improve this article: numbered steps ──────────────────────
   Same idea as Improve this cluster (0.98.149): the dot becomes a navy
   circle with 1, 2, 3… (a CSS counter). Severity stays in the left border.
   The title stays beside the circle when it wraps. */
.clusterlane-ai-improve__list { counter-reset: clusterlane-imp; }
.clusterlane-ai-improve__list > .clusterlane-ai-improve__item { counter-increment: clusterlane-imp; }
.clusterlane-ai-improve__item-head { flex-wrap: nowrap; align-items: flex-start; gap: 10px; }
.clusterlane-ai-improve__item-head strong { flex: 0 1 auto; min-width: 0; line-height: 1.4; padding-top: 3px; }
.clusterlane-ai-improve__first { flex: none; margin-top: 4px; }
.clusterlane-ai-improve__node {
    width: 26px; height: 26px; display: inline-flex; align-items: center; justify-content: center;
    background: #16223a; color: #fff; box-shadow: 0 1px 2px rgba(15,23,42,.25);
    font-size: 13px; font-weight: 700; font-variant-numeric: tabular-nums;
}
.clusterlane-ai-improve__node::before { content: counter(clusterlane-imp); line-height: 1; }
.clusterlane-ai-improve__why, .clusterlane-ai-improve__lead, .clusterlane-ai-improve__item .clusterlane-tm-group, .clusterlane-ai-improve__more, .clusterlane-ai-improve__actions { margin-left: 36px; }
.clusterlane-ai-improve__tips { margin-left: 54px; }

/* Phones: the text of an empty Improve block on its own row, the button under it. */
@media (max-width: 782px) {
    .clusterlane-ai-improve__why, .clusterlane-ai-improve__lead, .clusterlane-ai-improve__item .clusterlane-tm-group, .clusterlane-ai-improve__more, .clusterlane-ai-improve__actions { margin-left: 0; }
    .clusterlane-ai-improve__tips { margin-left: 18px; }
    .clusterlane-improve-cta { flex-direction: column; align-items: stretch; gap: 10px; }
    .clusterlane-improve-cta > button, .clusterlane-improve-cta > a { align-self: flex-start; }
}

/* ── 0.98.154 SEO Titles ─────────────────────────────────────────────────
   Every article's SEO title + meta description: a list of cards, each with
   both fields, the AI's suggestion under each field (Use / Keep current),
   a light search preview and Apply. Chips and counters reuse the Article
   Inspector classes, recoloured for a white card. */
.clusterlane-browse__seo-link { margin-left: auto; display: inline-flex; align-items: center; gap: 5px; font-size: 12.5px; font-weight: 600; color: #1d4ed8; text-decoration: none; }
.clusterlane-browse__seo-link .clusterlane-g { width: 14px; height: 14px; }
.clusterlane-browse__seo-link:hover { text-decoration: underline; }
.clusterlane-seot.is-loading .clusterlane-seot__list { opacity: .55; transition: opacity .15s; }
.clusterlane-seot__note { color: #92400e !important; background: #fffbeb; border: 1px solid #fde68a; border-radius: 8px; padding: 8px 12px; margin: 0 0 12px !important; }
.clusterlane-seot__dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 5px; vertical-align: 1px; }
.clusterlane-seot__dot--bad { background: #ef4444; }
.clusterlane-seot__dot--warn { background: #f59e0b; }

.clusterlane-seot__bulk { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin: 14px 0 12px; padding: 10px 14px; border: 1px solid #e2e8f0; border-radius: 10px; background: #f8fafc; }
.clusterlane-seot__all { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; color: #334155; cursor: pointer; }
.clusterlane-seot__bulk-actions { margin-left: auto; display: flex; flex-wrap: wrap; gap: 8px; }
.clusterlane-seot__bulk-actions .clusterlane-tm-btn { display: inline-flex; align-items: center; gap: 6px; }
.clusterlane-seot__bulk-actions [hidden] { display: none !important; }
.clusterlane-seot__run[hidden] { display: none !important; }
.clusterlane-seot__bulk-actions .clusterlane-g { width: 14px; height: 14px; }
.clusterlane-seot__bulk-actions .clusterlane-pro-badge { margin-left: 2px; }
.clusterlane-seot__run { flex: 1 0 100%; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; padding-top: 10px; border-top: 1px solid #e2e8f0; font-size: 13px; color: #334155; }
.clusterlane-seot__run .clusterlane-g { width: 14px; height: 14px; margin-right: 5px; vertical-align: -2px; color: #7c3aed; }
.clusterlane-seot__example { margin-bottom: 18px; }

.clusterlane-seot__list { display: grid; gap: 12px; }
.clusterlane-seot__row { border: 1px solid #e2e8f0; border-left: 3px solid #e2e8f0; border-radius: 12px; background: #fff; padding: 12px 14px; }
.clusterlane-seot__row.is-selected { background: #f8fbff; border-color: #bfdbfe; }
.clusterlane-seot__row.is-changed { border-left-color: #2563eb; }
.clusterlane-seot__row.is-applied { border-left-color: #16a34a; }
/* Compact view (0.98.187): one line per article, Edit opens the card */
.clusterlane-seot--compact #clusterlane-seot-rows { gap: 0; }
.clusterlane-seot__row--compact {
    display: grid; grid-template-columns: 18px 32px minmax(180px, 1.15fr) minmax(0, 1fr) minmax(0, 1.6fr) auto;
    align-items: center; gap: 10px 14px; padding: 9px 14px; border-radius: 0; border-width: 0 0 1px; border-left: 0;
}
.clusterlane-seot--compact #clusterlane-seot-rows > .clusterlane-seot__row:first-child { border-top-left-radius: 12px; border-top-right-radius: 12px; }
.clusterlane-seot--compact #clusterlane-seot-rows > .clusterlane-seot__row--compact { border: 1px solid #e2e8f0; border-top-width: 0; }
.clusterlane-seot--compact #clusterlane-seot-rows > .clusterlane-seot__row--compact:first-child { border-top-width: 1px; }
.clusterlane-seot--compact #clusterlane-seot-rows > .clusterlane-seot__row:last-child { border-bottom-left-radius: 12px; border-bottom-right-radius: 12px; }
.clusterlane-seot--compact #clusterlane-seot-rows > .clusterlane-seot__row:not(.clusterlane-seot__row--compact) { margin: 8px 0; }
.clusterlane-seot__row--compact:hover { background: #f8fafc; }
.clusterlane-seot__row--compact .clusterlane-seot__name { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.clusterlane-seot__row--compact .clusterlane-seot__name a { font-weight: 600; color: #0f172a; text-decoration: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.clusterlane-seot__row--compact .clusterlane-seot__name a:hover { color: #1d4ed8; text-decoration: underline; }
.clusterlane-seot__cchips { display: flex; flex-wrap: wrap; gap: 4px; }
.clusterlane-seot__cchips .clusterlane-serp__chip { font-size: 10.5px; padding: 1px 6px; }
.clusterlane-seot__cval { min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.clusterlane-seot__clbl { font-size: 10px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: #94a3b8; }
.clusterlane-seot__ctext { font-size: 12.5px; color: #334155; line-height: 1.4; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.clusterlane-seot__cval:not(.clusterlane-seot__cval--desc) .clusterlane-seot__ctext { -webkit-line-clamp: 1; }
.clusterlane-seot__cnone, .clusterlane-seot__cnone em { color: #94a3b8; font-style: italic; }
.clusterlane-seot__edit { gap: 5px; }
.clusterlane-seot__edit .clusterlane-g { width: 13px; height: 13px; margin: 0; }
.clusterlane-seot__collapse { margin-left: auto; }
.clusterlane-seot__row--compact.is-changed { box-shadow: inset 3px 0 0 #2563eb; }
.clusterlane-seot__cstate { background: #eff6ff; color: #1d4ed8; }
.clusterlane-seot__cchips .clusterlane-g { width: 11px; height: 11px; margin: 0 3px 0 0; vertical-align: -1px; }
.clusterlane-seot__ai-one { display: inline-flex; flex-wrap: wrap; gap: 6px; margin-right: 6px; }
.clusterlane-seot__ai-one .clusterlane-tm-btn { gap: 5px; height: 28px; padding: 0 10px; }
.clusterlane-seot__ai-one .clusterlane-g { width: 13px; height: 13px; margin: 0; color: #7c3aed; }
.clusterlane-seot__ai-one .clusterlane-pro-badge { margin-left: 2px; }
.clusterlane-seot__view { margin-left: auto; }
.clusterlane-seot__view + .clusterlane-csv-btn { margin-left: 0; }
@media (max-width: 960px) {
    .clusterlane-seot__row--compact { grid-template-columns: 18px 32px minmax(0, 1fr) auto; }
    .clusterlane-seot__row--compact .clusterlane-seot__cval { grid-column: 3 / -1; }
    .clusterlane-seot__row--compact .clusterlane-seot__edit { grid-column: 4; grid-row: 1; }
}
.clusterlane-seot__head { display: flex; align-items: center; gap: 10px; }
.clusterlane-seot__sel { margin: 0 !important; flex: none; }
.clusterlane-seot__name { min-width: 0; flex: 1 1 auto; display: flex; flex-direction: column; }
.clusterlane-seot__name a, .clusterlane-seot__name-text { font-weight: 600; font-size: 14px; color: #0f172a; text-decoration: none; overflow-wrap: anywhere; }
.clusterlane-seot__name a:hover { color: #1d4ed8; text-decoration: underline; }
.clusterlane-seot__chips-row { display: flex; flex-wrap: wrap; gap: 4px; justify-content: flex-end; }
.clusterlane-seot .clusterlane-serp__chip--ok { background: #dcfce7; color: #166534; }
.clusterlane-seot .clusterlane-serp__chip--warn { background: #fef3c7; color: #92400e; }
.clusterlane-seot .clusterlane-serp__chip--bad { background: #fee2e2; color: #991b1b; }

.clusterlane-seot__fields { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 12px; margin-top: 10px; }
.clusterlane-seot__field { min-width: 0; }
.clusterlane-seot .clusterlane-seo-ai__lbl { color: #64748b; }
.clusterlane-seot .clusterlane-seo-ai__count--ok { background: #dcfce7; color: #166534; }
.clusterlane-seot .clusterlane-seo-ai__count--warn { background: #fef3c7; color: #92400e; }
.clusterlane-seot .clusterlane-seo-ai__count--none { background: #f1f5f9; color: #64748b; }
.clusterlane-seot__in { width: 100%; box-sizing: border-box; border: 1px solid #cbd5e1 !important; border-radius: 8px !important; padding: 6px 10px !important; font-size: 13.5px; line-height: 1.45; color: #0f172a; background: #fff; }
textarea.clusterlane-seot__in { resize: vertical; min-height: 58px; }
.clusterlane-seot__in:focus { border-color: #3b82f6 !important; box-shadow: 0 0 0 2px rgba(59,130,246,.2) !important; outline: none; }
.clusterlane-seot__in::placeholder { color: #94a3b8; }
.clusterlane-seot__from { margin: 4px 0 0; font-size: 12px; color: #94a3b8; font-style: italic; }

.clusterlane-seot__ai { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 4px 8px; margin-top: 6px; padding: 7px 10px; border-radius: 8px; background: #f5f3ff; border: 1px dashed #c4b5fd; font-size: 12.5px; line-height: 1.45; color: #312e81; }
.clusterlane-seot__ai.is-used { background: #eef2ff; border-style: solid; border-color: #a5b4fc; }
.clusterlane-seot__ai-tag { display: inline-flex; align-items: center; gap: 3px; font-size: 10.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #6d28d9; padding-top: 1px; }
.clusterlane-seot__ai-tag .clusterlane-g { width: 12px; height: 12px; }
.clusterlane-seot__ai-text { flex: 1 1 200px; min-width: 0; }
.clusterlane-seot__ai-text--used { color: #4338ca; font-style: italic; }
.clusterlane-seot__ai-acts { display: inline-flex; align-items: center; gap: 8px; margin-left: auto; white-space: nowrap; }
.clusterlane-seot__ai-nav { display: inline-flex; align-items: center; gap: 2px; color: #64748b; font-variant-numeric: tabular-nums; }
.clusterlane-seot__ai-nav button { border: 0; background: none; cursor: pointer; color: #4c1d95; font-size: 15px; line-height: 1; padding: 0 4px; }
.clusterlane-seot__use { border: 1px solid #7c3aed; background: #7c3aed; color: #fff; border-radius: 6px; padding: 2px 10px; font-size: 12px; font-weight: 600; cursor: pointer; }
.clusterlane-seot__use:hover { background: #6d28d9; }
.clusterlane-seot__ai-on { display: inline-flex; align-items: center; gap: 3px; font-weight: 600; color: #3730a3; }
.clusterlane-seot__ai-on .clusterlane-g { width: 13px; height: 13px; }

.clusterlane-seot__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin-top: 10px; }
.clusterlane-seot__link { display: inline-flex; align-items: center; gap: 4px; border: 0; background: none; padding: 0; cursor: pointer; color: #1d4ed8; font-size: 12.5px; font-weight: 600; text-decoration: none; }
.clusterlane-seot__link .clusterlane-g { width: 13px; height: 13px; }
.clusterlane-seot__link:hover { text-decoration: underline; }
.clusterlane-seot__foot-state { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 12.5px; }
.clusterlane-seot__state { color: #64748b; display: inline-flex; align-items: center; gap: 4px; }
.clusterlane-seot__state .clusterlane-g { width: 13px; height: 13px; }
.clusterlane-seot__state--ok, .clusterlane-seot__state--ok .clusterlane-g { color: #15803d; }
.clusterlane-seot__state--bad { color: #b91c1c; }
.clusterlane-seot__state--changed { color: #1d4ed8; font-weight: 600; }
.clusterlane-seot__foot-btns { margin-left: auto; display: flex; gap: 8px; }

/* Light search preview (Google-like) on the white card. */
.clusterlane-seot .clusterlane-seot__serp { max-width: 600px; background: #fff; border-color: #e2e8f0; -webkit-backdrop-filter: none; backdrop-filter: none; }
.clusterlane-seot .clusterlane-serp__fav { background: #f1f3f4; border-color: #e2e8f0; color: #202124; }
.clusterlane-seot .clusterlane-serp__name { color: #202124; }
.clusterlane-seot .clusterlane-serp__url { color: #4d5156; }
.clusterlane-seot .clusterlane-serp__title { color: #1a0dab; }
.clusterlane-seot .clusterlane-serp__desc { color: #4d5156; }
.clusterlane-seot .clusterlane-serp__desc--none { color: #70757a; }

@media (max-width: 782px) {
    .clusterlane-browse__seo-link { margin-left: 0; }
    .clusterlane-seot__bulk { padding: 10px; }
    .clusterlane-seot__bulk-actions { margin-left: 0; width: 100%; }
    .clusterlane-seot__bulk-actions .clusterlane-tm-btn { flex: 1 1 auto; justify-content: center; }
    .clusterlane-seot__row { padding: 10px; }
    .clusterlane-seot__head { flex-wrap: wrap; }
    .clusterlane-seot__name { flex-basis: calc(100% - 90px); }
    .clusterlane-seot__chips-row { flex-basis: 100%; justify-content: flex-start; }
    .clusterlane-seot__fields { grid-template-columns: minmax(0, 1fr); gap: 10px; }
    .clusterlane-seot__ai-acts { margin-left: 0; }
    .clusterlane-seot__foot-btns { margin-left: 0; width: 100%; }
    .clusterlane-seot__foot-btns .clusterlane-tm-btn { flex: 1 1 auto; }
}

/* ── 0.98.155 SEO Titles: AI review (Check with AI) and duplicates ─────── */
.clusterlane-seot__dot--ai { background: #7c3aed; }
.clusterlane-seot__aichip.is-stale { opacity: .55; }
.clusterlane-seot__review { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin: 10px 0 0; padding: 7px 10px; border-radius: 8px; background: #faf5ff; border: 1px solid #e9d5ff; font-size: 12.5px; line-height: 1.45; color: #334155; }
.clusterlane-seot__review.is-stale { background: #f8fafc; border-color: #e2e8f0; color: #64748b; }
.clusterlane-seot__review .clusterlane-seot__ai-tag { align-self: center; }
.clusterlane-seot__rv-part b { font-weight: 700; }
.clusterlane-seot__rv-part--bad b { color: #b91c1c; }
.clusterlane-seot__rv-part--warn b { color: #b45309; }
.clusterlane-seot__rv-part--ok b { color: #15803d; }
.clusterlane-seot__rv-stale { font-style: italic; color: #94a3b8; }
@media (max-width: 782px) {
    .clusterlane-seot__review { flex-direction: column; gap: 3px; }
    .clusterlane-seot__review .clusterlane-seot__ai-tag { align-self: flex-start; }
}

/* 0.98.158 AI Link Suggestions: the chosen place was inside a box — the card went to the end. */
.clusterlane-ls-placement-note { display: flex; align-items: center; gap: 6px; margin: 0 0 8px; padding: 7px 10px; border-radius: 8px; background: #fffbeb; border: 1px solid #fde68a; color: #92400e; font-size: 12.5px; }
.clusterlane-ls-placement-note[hidden] { display: none; }
.clusterlane-ls-placement-note .clusterlane-g { width: 14px; height: 14px; flex: none; }

/* 0.98.159 Pillar & split check: one way of dividing per suggestion, a switch between two. */
.clusterlane-split-by { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin: 4px 0 12px; }
.clusterlane-split-by-label { font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #64748b; }
.clusterlane-split-by-btn { border: 1px solid #cbd5e1; background: #fff; color: #334155; border-radius: 999px; padding: 4px 12px; font-size: 12.5px; font-weight: 600; cursor: pointer; }
.clusterlane-split-by-btn em { font-style: normal; color: #94a3b8; font-weight: 600; margin-left: 2px; }
.clusterlane-split-by-btn.is-active { background: #16223a; border-color: #16223a; color: #fff; }
.clusterlane-split-by-btn.is-active em { color: #cbd5e1; }
.clusterlane-split-by-hint { font-size: 12px; color: #94a3b8; }

/* 0.98.160 — cluster sections in Cluster Inspector */
.clusterlane-ci-group{display:flex;align-items:center;gap:8px}
.clusterlane-ci-group[hidden]{display:none!important}
.clusterlane-ci-table tr.clusterlane-ci-section-row td{padding:0;background:#f1f5f9;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0}
.clusterlane-ci-section-toggle{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border:0;background:none;cursor:pointer;font:inherit;text-align:left;color:#16223a}
.clusterlane-ci-section-toggle:hover{background:#e8edf3}
.clusterlane-ci-section-toggle:focus-visible{outline:2px solid #2563eb;outline-offset:-2px}
.clusterlane-ci-section-caret{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid #64748b;transition:transform .15s}
.clusterlane-ci-section-row.is-folded .clusterlane-ci-section-caret{transform:rotate(-90deg)}
.clusterlane-ci-section-name{font-weight:700;font-size:13px;letter-spacing:.02em;text-transform:uppercase}
.clusterlane-ci-section-meta{font-size:12px;color:#64748b;flex:1}
.clusterlane-ci-section-toggle .clusterlane-ci-health-cell{margin-left:auto;font-weight:700;font-size:13px}
.clusterlane-ci-section-pick{display:inline-flex;align-items:center;gap:6px}
.clusterlane-ci-section-pick select{font-size:12px;padding:1px 22px 1px 6px;min-height:26px;border-radius:6px}
@media (max-width:600px){.clusterlane-ci-section-meta{display:none}}
.clusterlane-graph-infobar .clusterlane-ci-section-pick select{height:24px;min-height:24px;line-height:1;padding:0 22px 0 8px;background-color:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.25);background-position:right 4px center;background-size:14px}
.clusterlane-graph-infobar .clusterlane-ci-section-pick select option{color:#16223a;background:#fff}

/* 0.98.161 — your own cluster groups, drag to a section */
.clusterlane-ci-group .clusterlane-seg[hidden]{display:none!important}
.clusterlane-ci-new-group{padding:5px 10px;font-size:12px}
.clusterlane-ci-section-bar{display:flex;align-items:center}
.clusterlane-ci-section-bar .clusterlane-ci-section-toggle{flex:1;min-width:0}
.clusterlane-ci-section-row.is-mine td{background:#eef2ff}
.clusterlane-ci-section-row.is-mine .clusterlane-ci-section-name{color:#3730a3}
.clusterlane-ci-section-acts{display:flex;gap:2px;padding-right:10px}
.clusterlane-ci-section-acts button{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:6px;background:none;color:#475569;cursor:pointer;font-size:14px;line-height:1}
.clusterlane-ci-section-acts button:hover:not(:disabled){background:#dbe3f5;color:#16223a}
.clusterlane-ci-section-acts button:disabled{opacity:.3;cursor:default}
.clusterlane-ci-section-acts button svg{width:13px;height:13px}
.clusterlane-ci-table tr.clusterlane-ci-cluster-row[draggable="true"]{cursor:grab}
.clusterlane-ci-table tr.clusterlane-ci-cluster-row.is-dragging{opacity:.45}
#clusterlane-ci-cluster-list.is-dragging tr.clusterlane-ci-section-row td{outline:1px dashed #94a3b8;outline-offset:-3px}
#clusterlane-ci-cluster-list tr.clusterlane-ci-section-row.is-drop td{background:#dbeafe;outline:2px solid #2563eb;outline-offset:-3px}
/* 0.98.162 — group buttons right after the section text, health lined up with the cluster rows */
.clusterlane-ci-section-bar{cursor:pointer}
.clusterlane-ci-section-bar:hover{background:#e8edf3}
.clusterlane-ci-section-row.is-mine .clusterlane-ci-section-bar:hover{background:#e0e7ff}
.clusterlane-ci-section-bar .clusterlane-ci-section-toggle{flex:0 1 auto;width:auto}
.clusterlane-ci-section-bar .clusterlane-ci-section-toggle:hover{background:none}
.clusterlane-ci-section-meta{flex:none}
.clusterlane-ci-section-acts{padding-right:0}
.clusterlane-ci-section-health{margin-left:auto;padding:0 14px 0 12px;font-weight:700;font-size:13px;white-space:nowrap}
.clusterlane-ci-section-health{padding-right:12px}
@media (max-width:600px){.clusterlane-ci-section-health{padding-right:8px}}
/* 0.98.163 — Cluster Inspector toolbar in two rows: view + grouping, then search + filters */
.clusterlane-toolbar--rows{flex-direction:column;align-items:stretch;gap:8px}
.clusterlane-toolbar-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.clusterlane-toolbar--rows .clusterlane-toolbar-row + .clusterlane-toolbar-row{padding-top:8px;border-top:1px solid #e2e8f0}
.clusterlane-toolbar--rows.is-map .clusterlane-ci-group{display:none!important}

/* 0.98.166 — Export CSV buttons */
.clusterlane-csv-btn{display:inline-flex;align-items:center;gap:6px;margin-left:auto;padding:5px 10px;border:1px solid #e2e8f0;border-radius:7px;background:#fff;color:#334155;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}
.clusterlane-csv-btn:hover{border-color:#94a3b8;color:#16223a}
.clusterlane-csv-btn:disabled{opacity:.5;cursor:wait}
.clusterlane-csv-btn svg{width:14px;height:14px}
.clusterlane-browse__head .clusterlane-browse__seo-link + .clusterlane-csv-btn{margin-left:8px}

/* 0.98.168 — language tag on multilingual sites */
.clusterlane-lang-tag{display:inline-block;margin-left:6px;padding:0 5px;border:1px solid #cbd5e1;border-radius:4px;font-size:10px;font-weight:700;line-height:16px;letter-spacing:.04em;text-transform:uppercase;color:#475569;background:#f8fafc;vertical-align:middle}

#clusterlane-ai-browse select#clusterlane-ab-lang, #clusterlane-seot select#clusterlane-seot-lang { max-width: 160px; }

/* 0.98.169 — big clusters: the graph shows part of them */
.clusterlane-graph-trunc{margin:0 0 8px;padding:7px 10px;border-radius:7px;background:#fef9c3;color:#713f12;font-size:12px;line-height:1.45}
.clusterlane-type-tag{border-color:#c4b5fd;color:#5b21b6;background:#f5f3ff;text-transform:none;letter-spacing:0}
.clusterlane-type-filter__txt { margin-left: 4px; font-size: 12px; }

/* Dashboard: post types with almost no links in their text (0.98.177) */
.clusterlane-low-links { display: flex; gap: 10px; align-items: flex-start; margin: 12px 0 16px; padding: 12px 16px; border: 1px solid #fcd34d; border-left-width: 4px; background: #fffbeb; border-radius: 8px; color: #78350f; font-size: 13px; line-height: 1.55; }
.clusterlane-low-links p { margin: 0; }
.clusterlane-low-links a { font-weight: 600; white-space: nowrap; }

/* Sticky bar: published pages being read in the background (0.98.178) */
.clusterlane-stickybar__pages { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 11px; border-radius: 8px; border: 1px solid rgba(255,255,255,.12); color: var(--sb-text); font-size: 12px; white-space: nowrap; cursor: default;
    background: linear-gradient(90deg, rgba(59,130,246,.35) var(--clusterlane-pages-pct, 0%), transparent var(--clusterlane-pages-pct, 0%)); }
.clusterlane-stickybar__pages[hidden] { display: none; }
.clusterlane-stickybar__pages svg { width: 13px; height: 13px; animation: clusterlane-pages-spin 1.6s linear infinite; }
@keyframes clusterlane-pages-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .clusterlane-stickybar__pages svg { animation: none; } }

/* Cluster Admin: pages as clusters (0.98.180) */
.clusterlane-ca-hub .clusterlane-ca-term-name { display: flex; flex-direction: column; gap: 2px; }
.clusterlane-ca-hub-paths { font-weight: 400; font-size: 12px; color: #64748b; }
.clusterlane-ca-status--on { color: #047857; font-weight: 600; font-size: 12px; }
.clusterlane-ca-hub-list { margin: 0 0 6px 28px; border-left: 2px solid #e2e8f0; padding-left: 10px; }
.clusterlane-ca-hub-item { cursor: default; }

/* Text Match: apply all (0.98.184) */
.clusterlane-tm-bulk { display: inline-flex; align-items: center; gap: 8px; margin-left: auto; }
.clusterlane-tm-bulk-progress { font-size: 12.5px; color: #475569; }
.clusterlane-tm-row--failed { border-left: 3px solid #f59e0b; }
.clusterlane-tm-error { margin: 4px 0 0; font-size: 12px; color: #b45309; display: flex; gap: 5px; align-items: center; }
.clusterlane-tm-error svg { width: 13px; height: 13px; }

/* Cluster info bar: structure figures fold away (0.98.187) */
.clusterlane-gib-tech { display: inline-flex; align-items: center; gap: 14px; }
.clusterlane-gib-tech > summary { cursor: pointer; list-style: none; font-size: 12px; color: inherit; opacity: .75; text-decoration: underline dotted; text-underline-offset: 3px; }
.clusterlane-gib-tech > summary::-webkit-details-marker { display: none; }
.clusterlane-gib-tech > summary::after { content: " ▸"; }
.clusterlane-gib-tech[open] > summary::after { content: " ▾"; }
.clusterlane-gib-tech > summary:focus-visible { outline: 2px solid #60a5fa; outline-offset: 2px; border-radius: 4px; }
.clusterlane-ci-detail-back { margin: 16px 0 0; text-align: center; }
.clusterlane-ci-detail-back .clusterlane-g { transform: rotate(180deg); margin-right: 6px; }
.clusterlane-ls2-regen .clusterlane-tm-linkbtn .clusterlane-g { width: 13px; height: 13px; margin: 0 4px 0 0; vertical-align: -2px; color: #7c3aed; }

/* =========================================================
   CLUSTER QUICK VIEW (0.98.200) — .clusterlane-cq
   Eye button in Report's cluster table and the Cluster Inspector list.
========================================================= */
.clusterlane-rp-table th.clusterlane-rp-col-quick { width: 44px; }
.clusterlane-rp-table td.clusterlane-rp-col-quick { padding-left: 0; padding-right: 10px; text-align: right; }
.clusterlane-rp-quick, .clusterlane-ci-quick { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; padding: 0; border: 1px solid transparent; border-radius: 8px; background: none; color: #64748b; cursor: pointer; }
.clusterlane-rp-quick:hover, .clusterlane-rp-quick:focus-visible, .clusterlane-ci-quick:hover, .clusterlane-ci-quick:focus-visible { color: #2563eb; background: #eff6ff; border-color: #bfdbfe; }
.clusterlane-rp-quick:focus-visible, .clusterlane-ci-quick:focus-visible { outline: 2px solid #2563eb; outline-offset: 1px; }
.clusterlane-rp-quick .clusterlane-g, .clusterlane-ci-quick .clusterlane-g { width: 17px; height: 17px; margin: 0; }
.clusterlane-rp-table tbody tr:hover .clusterlane-rp-quick { color: #2563eb; }
.clusterlane-ci-table .clusterlane-browse__open { max-width: calc(100% - 64px); }
.clusterlane-ci-quick { width: 26px; height: 26px; margin: -4px 0 -4px 6px; vertical-align: top; opacity: 0; }
.clusterlane-ci-cluster-row:hover .clusterlane-ci-quick, .clusterlane-ci-cluster-row--active .clusterlane-ci-quick, .clusterlane-ci-quick:focus-visible { opacity: 1; }
@media (hover: none) { .clusterlane-ci-quick { opacity: 1; } }
@media print { .clusterlane-rp-col-quick { display: none !important; } }

html.clusterlane-cq-lock, html.clusterlane-cq-lock body { overflow: hidden; }
.clusterlane-cq-overlay { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 24px; box-sizing: border-box; background: rgba(15,23,42,.62); }
.clusterlane-cq-overlay[hidden] { display: none; }
.clusterlane-cq { width: 100%; max-width: 860px; height: min(88vh, 900px); display: flex; flex-direction: column; overflow: hidden; background: #f8fafc; border-radius: 14px; box-shadow: 0 24px 64px rgba(0,0,0,.32); outline: none; font-size: 13px; color: #1e293b; }
.clusterlane-cq__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 16px 18px 16px 22px; background: linear-gradient(135deg, #0f172a 0%, #1e3a5f 100%); color: #fff; flex-shrink: 0; }
.clusterlane-cq__headtext { min-width: 0; }
.clusterlane-cq__kicker { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; font-size: 12px; color: rgba(255,255,255,.72); min-height: 18px; }
.clusterlane-cq__kicker .clusterlane-g { width: 14px; height: 14px; margin: 0; }
.clusterlane-cq__kicker .clusterlane-tip-icon { background: rgba(255,255,255,.18); color: #fff; }
.clusterlane-cq__dot { opacity: .5; }
.clusterlane-cq__title { margin: 4px 0 0; font-size: 20px; line-height: 1.25; font-weight: 700; color: #fff; overflow-wrap: anywhere; }
.clusterlane-cq__tools { display: flex; align-items: center; gap: 6px; flex-shrink: 0; }
.clusterlane-cq__pos { font-size: 12px; color: rgba(255,255,255,.6); margin-right: 4px; font-variant-numeric: tabular-nums; }
.clusterlane-cq__navbtn, .clusterlane-cq__close { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; padding: 0; border: 1px solid rgba(255,255,255,.18); border-radius: 8px; background: rgba(255,255,255,.08); color: #fff; font-size: 20px; line-height: 1; cursor: pointer; }
.clusterlane-cq__navbtn[hidden] { display: none; }
.clusterlane-cq__navbtn:hover, .clusterlane-cq__close:hover, .clusterlane-cq__navbtn:focus-visible, .clusterlane-cq__close:focus-visible { background: rgba(255,255,255,.2); outline: none; }
.clusterlane-cq__close { margin-left: 6px; font-size: 22px; }
.clusterlane-cq__body { flex: 1; min-height: 0; overflow-y: auto; padding: 18px 22px 20px; }
.clusterlane-cq__body.is-loading > * { opacity: .45; transition: opacity .15s; pointer-events: none; }
.clusterlane-cq__body.is-loading { cursor: progress; }
.clusterlane-cq__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 22px; border-top: 1px solid #e2e8f0; background: #fff; flex-shrink: 0; }
.clusterlane-cq__keys { font-size: 11.5px; color: #94a3b8; }
.clusterlane-cq__keys kbd { display: inline-block; min-width: 18px; padding: 1px 5px; margin-right: 3px; border: 1px solid #e2e8f0; border-bottom-width: 2px; border-radius: 4px; background: #f8fafc; font: inherit; font-size: 11px; text-align: center; color: #64748b; }
.clusterlane-cq__open { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 8px; background: #2563eb; color: #fff; font-weight: 600; text-decoration: none; }
.clusterlane-cq__open:hover, .clusterlane-cq__open:focus { background: #1d4ed8; color: #fff; }
.clusterlane-cq__open .clusterlane-g { width: 15px; height: 15px; margin: 0; }

.clusterlane-cq__loading, .clusterlane-cq__error { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 260px; margin: 0; color: #64748b; }
.clusterlane-cq__error { color: #b91c1c; }
.clusterlane-cq__spin { width: 18px; height: 18px; border: 2px solid #cbd5e1; border-top-color: #2563eb; border-radius: 50%; animation: clusterlane-cq-spin .8s linear infinite; }
@keyframes clusterlane-cq-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .clusterlane-cq__spin { animation-duration: 2.4s; } }

.clusterlane-cq__label { display: flex; align-items: center; gap: 4px; font-size: 11.5px; font-weight: 600; color: #64748b; }
.clusterlane-cq__top { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 10px; }
.clusterlane-cq__health, .clusterlane-cq__tile { background: #fff; border: 1px solid #e2e8f0; border-radius: 10px; }
.clusterlane-cq__health { padding: 14px 16px 10px; }
.clusterlane-cq__hrow { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px; margin: 2px 0 6px; }
.clusterlane-cq__hval { font-size: 34px; line-height: 1.1; font-weight: 800; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.clusterlane-cq__health--good .clusterlane-cq__hval { color: #15803d; }
.clusterlane-cq__health--fair .clusterlane-cq__hval { color: #b45309; }
.clusterlane-cq__health--weak .clusterlane-cq__hval { color: #dc2626; }
.clusterlane-cq__health--none .clusterlane-cq__hval { color: #94a3b8; }
.clusterlane-cq__delta { font-size: 12.5px; font-weight: 700; padding: 1px 7px; border-radius: 999px; }
.clusterlane-cq__delta--up { color: #15803d; background: #dcfce7; }
.clusterlane-cq__delta--down { color: #b91c1c; background: #fee2e2; }
.clusterlane-cq__delta--flat { color: #64748b; background: #f1f5f9; }
.clusterlane-cq__since { font-size: 12px; color: #94a3b8; }
.clusterlane-cq__spark { display: block; width: 100%; height: 46px; overflow: visible; }
.clusterlane-cq__spark-line { fill: none; stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; }
.clusterlane-cq__spark-area { opacity: .12; }
.clusterlane-cq__spark--good .clusterlane-cq__spark-line { stroke: #16a34a; } .clusterlane-cq__spark--good .clusterlane-cq__spark-area { fill: #16a34a; }
.clusterlane-cq__spark--fair .clusterlane-cq__spark-line { stroke: #d97706; } .clusterlane-cq__spark--fair .clusterlane-cq__spark-area { fill: #d97706; }
.clusterlane-cq__spark--weak .clusterlane-cq__spark-line { stroke: #dc2626; } .clusterlane-cq__spark--weak .clusterlane-cq__spark-area { fill: #dc2626; }
.clusterlane-cq__sparkaxis { display: flex; justify-content: space-between; font-size: 10.5px; color: #94a3b8; margin-top: 2px; }
.clusterlane-cq__nohist { margin: 8px 0 4px; font-size: 12px; color: #94a3b8; }
.clusterlane-cq__tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.clusterlane-cq__tile { padding: 11px 13px; min-width: 0; }
.clusterlane-cq__tval { margin-top: 3px; font-size: 22px; line-height: 1.15; font-weight: 700; color: #0f172a; font-variant-numeric: tabular-nums; }
.clusterlane-cq__tval.is-good { color: #15803d; } .clusterlane-cq__tval.is-fair { color: #b45309; } .clusterlane-cq__tval.is-weak { color: #dc2626; }
.clusterlane-cq__tsub { margin-top: 2px; font-size: 11.5px; color: #94a3b8; }

.clusterlane-cq__focus { display: flex; align-items: flex-start; gap: 10px; margin: 12px 0 0; padding: 11px 14px; border-radius: 10px; background: #eff6ff; border: 1px solid #bfdbfe; color: #1e3a8a; line-height: 1.45; }
.clusterlane-cq__focus .clusterlane-g { width: 18px; height: 18px; margin: 1px 0 0; flex-shrink: 0; color: #2563eb; }
.clusterlane-cq__focus strong { margin-right: 4px; }
.clusterlane-cq__focus--ok { background: #f0fdf4; border-color: #bbf7d0; color: #14532d; }
.clusterlane-cq__focus--ok .clusterlane-g { color: #16a34a; }

.clusterlane-cq__cols { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px 22px; margin-top: 4px; }
.clusterlane-cq__sec { margin-top: 16px; }
.clusterlane-cq__sec h3 { display: flex; align-items: center; gap: 4px; margin: 0 0 8px; font-size: 11px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: #64748b; }
.clusterlane-cq__mix { display: flex; gap: 2px; height: 12px; border-radius: 6px; overflow: hidden; background: #e2e8f0; }
.clusterlane-cq__seg { flex-basis: 0; min-width: 4px; }
.clusterlane-cq__seg--pillar { background: #e76c2e; } .clusterlane-cq__seg--support { background: #f5c842; } .clusterlane-cq__seg--light { background: #90b865; } .clusterlane-cq__seg--orphan { background: #5ba4cf; }
.clusterlane-cq__legend { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 8px 0 0; padding: 0; list-style: none; font-size: 12.5px; color: #475569; }
.clusterlane-cq__legend li { display: inline-flex; align-items: center; gap: 5px; margin: 0; }
.clusterlane-cq__legend b { color: #0f172a; font-variant-numeric: tabular-nums; }
.clusterlane-cq__legend li.is-zero { color: #94a3b8; } .clusterlane-cq__legend li.is-zero b { color: #94a3b8; font-weight: 500; }
.clusterlane-cq__dl { margin: 0; background: #fff; border: 1px solid #e2e8f0; border-radius: 10px; overflow: hidden; }
.clusterlane-cq__dl > div { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 8px 12px; border-top: 1px solid #f1f5f9; }
.clusterlane-cq__dl > div:first-child { border-top: 0; }
.clusterlane-cq__dl dt { color: #475569; }
.clusterlane-cq__dl dt a { color: #2563eb; text-decoration: none; }
.clusterlane-cq__dl dt a:hover { text-decoration: underline; }
.clusterlane-cq__dl dd { margin: 0; font-weight: 700; color: #0f172a; font-variant-numeric: tabular-nums; white-space: nowrap; }
.clusterlane-cq__dl dd.is-weak { color: #dc2626; }
.clusterlane-cq__meta { margin: 0; line-height: 1.6; color: #475569; }
.clusterlane-cq__meta .is-weak { color: #dc2626; font-weight: 600; } .clusterlane-cq__meta .is-fair { color: #b45309; font-weight: 600; }
.clusterlane-cq__meta a { display: inline-flex; align-items: center; gap: 3px; margin-left: 4px; color: #2563eb; font-weight: 600; text-decoration: none; white-space: nowrap; }
.clusterlane-cq__meta a .clusterlane-g { width: 13px; height: 13px; margin: 0; }
.clusterlane-cq__meta--ok { display: flex; align-items: center; gap: 6px; color: #15803d; }
.clusterlane-cq__meta--ok .clusterlane-g { width: 15px; height: 15px; margin: 0; }
.clusterlane-cq__muted { margin: 0; color: #94a3b8; line-height: 1.5; }
.clusterlane-cq__list { background: #fff; border: 1px solid #e2e8f0; border-radius: 10px; overflow: hidden; }
.clusterlane-cq__art { display: flex; align-items: center; gap: 10px; padding: 8px 12px; color: #1e293b; text-decoration: none; border-top: 1px solid #f1f5f9; }
.clusterlane-cq__list .clusterlane-cq__art:first-child { border-top: 0; }
.clusterlane-cq__sec > .clusterlane-cq__art { background: #fff; border: 1px solid #e2e8f0; border-radius: 10px; margin-bottom: 6px; }
.clusterlane-cq__art:hover, .clusterlane-cq__art:focus-visible { background: #f8fafc; color: #1d4ed8; outline: none; }
.clusterlane-cq__art:focus-visible { box-shadow: inset 0 0 0 2px #2563eb; }
.clusterlane-cq__arttext { flex: 1; min-width: 0; }
.clusterlane-cq__artname { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; font-weight: 600; line-height: 1.35; overflow-wrap: anywhere; }
.clusterlane-cq__artwhy { display: flex; align-items: center; gap: 5px; margin-top: 2px; font-size: 11.5px; color: #64748b; }
.clusterlane-cq__go { flex-shrink: 0; color: #cbd5e1; }
.clusterlane-cq__go .clusterlane-g { width: 14px; height: 14px; margin: 0; }
.clusterlane-cq__art:hover .clusterlane-cq__go { color: #2563eb; }
.clusterlane-cq__more { margin: 8px 0 0; font-size: 12px; color: #64748b; }

@media (max-width: 782px) {
    .clusterlane-cq-overlay { padding: 0; align-items: stretch; }
    .clusterlane-cq { max-width: none; max-height: none; height: 100%; border-radius: 0; }
    .clusterlane-cq__head { padding: 12px 12px 12px 16px; }
    .clusterlane-cq__title { font-size: 17px; }
    .clusterlane-cq__pos { display: none; }
    .clusterlane-cq__body { padding: 14px 16px 18px; }
    .clusterlane-cq__top, .clusterlane-cq__cols { grid-template-columns: 1fr; }
    .clusterlane-cq__keys { display: none; }
    .clusterlane-cq__foot { justify-content: flex-end; padding-bottom: calc(12px + env(safe-area-inset-bottom)); }
    .clusterlane-cq__open { flex: 1; justify-content: center; }
}

/* =========================================================
   Phones (1.2.1): Missing content, Pillar & split check and the
   AI Link Suggestion modal stack instead of squeezing the text
   into a narrow column next to the buttons.
   ========================================================= */
@media (max-width: 782px) {
    /* Missing content: text full width, buttons underneath. */
    .clusterlane-gap-item { flex-direction: column; align-items: stretch; gap: 8px; }
    .clusterlane-gap-item-actions { flex-shrink: 1; }

    /* Pillar & split check: the summary gets the full width, Cached + Regenerate below it. */
    .clusterlane-split-head { flex-wrap: wrap; row-gap: 8px; }
    .clusterlane-split-note { flex: 1 1 100%; }

    /* AI Link Suggestion modal: full screen, controls first, the live preview below. */
    .clusterlane-ls-modal-overlay { padding: 0; align-items: stretch; }
    .clusterlane-ls-modal { max-height: none; height: 100%; border-radius: 0; }
    .clusterlane-ls-modal-header { padding: 14px 16px; }
    .clusterlane-ls-modal-body { flex-direction: column; overflow-y: auto; -webkit-overflow-scrolling: touch; }
    .clusterlane-ls-modal-controls-col { order: 1; flex: none; min-width: 0; max-width: none; padding: 14px 16px 18px; overflow: visible; }
    .clusterlane-ls-modal-preview-col { order: 2; flex: none; padding: 14px 16px 20px; overflow: visible; border-right: 0; border-top: 1px solid #eef0f3; }
    .clusterlane-ls-preview-frame { min-height: 0; }
    .clusterlane-ls-preview-iframe { height: 420px; }
    .clusterlane-ls-modal-controls-col .clusterlane-ls-apply-final-btn { margin-top: 18px; }
}

/* ── Moved from an inline <style> in class-cluster-settings-page.php (1.3.0) ── */
.clusterlane-settings-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 8px; }
@media (max-width: 900px) { .clusterlane-settings-grid { grid-template-columns: 1fr; } }
.clusterlane-checkbox-list { max-height: 320px; overflow-y: auto; border: 1px solid #eee; border-radius: 8px; padding: 4px 8px; margin-top: 10px; }
.clusterlane-checkbox-row { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 10px; padding: 7px 4px; border-bottom: 1px solid #f3f3f3; font-size: .88rem; }
.clusterlane-checkbox-row:last-child { border-bottom: none; }
.clusterlane-checkbox-count { color: #94a3b8; font-size: .78rem; white-space: nowrap; }
.clusterlane-settings-actions { margin-top: 10px; display: flex; gap: 8px; }
.clusterlane-overlap-legend { font-size: .78rem; color: #888; margin: 6px 0 4px; }
.clusterlane-overlap-badge { display: inline-block; width: 9px; height: 9px; border-radius: 50%; vertical-align: middle; }
.clusterlane-overlap-low  { background: #10b981; }
.clusterlane-overlap-mid  { background: #f59e0b; }
.clusterlane-overlap-high { background: #ef4444; }

/* Three-type explainer row */
.clusterlane-type-explainer { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 28px; }
@media (max-width: 900px) { .clusterlane-type-explainer { grid-template-columns: 1fr; } }
.clusterlane-type-card {
    display: flex; align-items: flex-start; gap: 12px;
    background: #fff; border: 1px solid #e2e8f0; border-radius: 12px;
    padding: 14px 16px;
}
.clusterlane-type-icon { font-size: 22px; line-height: 1; flex-shrink: 0; margin-top: 2px; }
.clusterlane-type-card strong { display: block; font-size: 13px; color: #0f172a; margin-bottom: 3px; }
.clusterlane-type-card p { margin: 0; font-size: 12px; color: #64748b; line-height: 1.4; }

/* Section headings that own their own save/action button, so the
   two independent cluster-management flows (auto vs. custom)
   read as clearly separate rather than one continuous form. */
.clusterlane-section-heading { font-size: 1.15rem; font-weight: 800; letter-spacing: -.01em; color: #0f172a; margin: 0 0 12px; }
.clusterlane-section-sub { font-size: 12px; font-weight: 400; color: #94a3b8; margin-left: 4px; }
.clusterlane-section-divider { border: none; border-top: 1px solid #e2e8f0; margin: 32px 0 24px; }

/* ── Moved from an inline <style> in class-settings-ai.php (1.3.0) ── */
.clusterlane-lt-row {
                    border: 1px solid #eef0f3; border-radius: 10px; padding: 14px 16px; margin-bottom: 14px;
                }
                .clusterlane-lt-row-top { display: flex; gap: 10px; align-items: center; margin-bottom: 10px; }
                .clusterlane-lt-name-input { flex: 1; font-weight: 600; }
                .clusterlane-lt-remove {
                    background: none; border: 1px solid #e2e8f0; border-radius: 6px;
                    width: 30px; height: 30px; cursor: pointer; color: #94a3b8; flex-shrink: 0;
                }
                .clusterlane-lt-remove:hover { color: #b32d2e; border-color: #fca5a5; background: #fef2f2; }
                .clusterlane-lt-preview-label {
                    font-size: .7rem; text-transform: uppercase; letter-spacing: .04em;
                    font-weight: 700; color: #94a3b8; margin-bottom: 6px;
                }
                .clusterlane-lt-live-preview { margin-bottom: 10px; }
                .clusterlane-lt-live-preview blockquote { margin: 0 !important; }
.clusterlane-lt-transfer { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 16px; padding-top: 14px; border-top: 1px solid #eef0f3; }
                .clusterlane-lt-transfer__label { font-size: 13px; color: #64748b; }
                .clusterlane-lt-transfer__status { font-size: 13px; color: #15803d; }
                .clusterlane-lt-transfer__status.is-error { color: #b32d2e; }
                .clusterlane-lt-row.is-imported { border-color: #86efac; background: #f0fdf4; }
                .clusterlane-lt-edit-toggle {
                    background: none; border: none; color: #2271b1; font-size: .8rem; font-weight: 600;
                    cursor: pointer; padding: 4px 0;
                }
