/**
 * WEAM Product List — Page & Modal Styles
 *
 * Scoped to .weam-plw (page wrap) and .weam-plm-overlay (modal).
 * Body-appended modal avoids WooCommerce CSS scope conflicts.
 */

/* ══════════════════════════════════════════
   PAGE WRAPPER
══════════════════════════════════════════ */
.weam-plw {
    font-family: var(--weam-font);
    font-size: var(--weam-text-md);
    color: var(--weam-slate-800, #1e293b);
    line-height: 1.4;
    margin: 0;
    padding: 0;
}

/* ══════════════════════════════════════════
   PAGE HEADER
══════════════════════════════════════════ */
.weam-plw-header {
    background: #fff;
    border-bottom: 1px solid var(--weam-border, #e2e8f0);
    padding: 12px 16px;
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 0;
}
.weam-plw-wordmark {
    font-size: var(--weam-text-2xl);
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1;
}
.weam-plw-wordmark .weam-logo-we { color: var(--weam-purple-500); font-weight: 400; }
.weam-plw-wordmark .weam-logo-am { color: var(--weam-slate-900, #0f172a); font-weight: 700; }
.weam-plw-vsep {
    width: 1px;
    height: 16px;
    background: var(--weam-border, #e2e8f0);
}
.weam-plw-label {
    font-size: var(--weam-text-md);
    color: var(--weam-slate-500, #64748b);
}
.weam-plw-header-right {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 8px;
}

/* ══════════════════════════════════════════
   TOOLBAR
══════════════════════════════════════════ */
.weam-pl-toolbar {
    background: #fff;
    border-bottom: 1px solid var(--weam-border, #e2e8f0);
    padding: 8px 16px;
    display: flex;
    align-items: center;
    gap: 7px;
    flex-wrap: wrap;
}

.weam-pl-search-wrap {
    position: relative;
    flex-shrink: 0;
    width: 320px;
    display: flex;
    align-items: center;
}
.weam-pl-search-wrap form {
    width: 100%;
    margin: 0;
    display: flex;
    align-items: center;
}
.weam-pl-search-icon {
    position: absolute;
    left: 8px;
    top: 0;
    bottom: 0;
    width: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--weam-slate-400, #94a3b8);
    pointer-events: none;
    z-index: 1;
    background: none;
    border: none;
    padding: 0;
}
.weam-pl-search-icon:hover {
    color: var(--weam-slate-700, #334155);
}
.weam-pl-search-icon svg {
    width: 13px;
    height: 13px;
}
.weam-pl-toolbar .weam-pl-search {
    width: 100%;
    height: 28px;
    padding: 0 8px 0 30px;
    border: 1px solid var(--weam-slate-300, #cbd5e1);
    border-radius: var(--weam-r-md, 6px);
    font-size: var(--weam-text-md);
    font-family: inherit;
    color: var(--weam-slate-800, #1e293b);
    background: #fff;
    outline: none;
    transition: border-color 0.15s, box-shadow 0.15s;
}
.weam-pl-search:focus {
    border-color: var(--weam-slate-400, #94a3b8);
    box-shadow: 0 0 0 1px var(--weam-slate-200, #e2e8f0);
}

/* Toolbar right — Add product + view buttons */
.weam-pl-toolbar-right {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Quick filter chips */
.weam-pl-chips {
    display: flex;
    gap: 5px;
    flex: 1;
    flex-wrap: wrap;
}
.weam-pl-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    height: 28px;
    padding: 0 10px;
    background: #fff;
    border: 1px solid var(--weam-slate-300, #cbd5e1);
    border-radius: 4px;
    font-size: var(--weam-text-base);
    color: var(--weam-slate-600, #475569);
    cursor: pointer;
    white-space: nowrap;
    user-select: none;
    font-family: inherit;
    transition: border-color 0.15s, background 0.15s, color 0.15s;
}
.weam-pl-chip:hover {
    border-color: var(--weam-slate-500, #64748b);
    color: var(--weam-slate-800, #1e293b);
}
.weam-pl-chip.active {
    background: var(--weam-slate-800, #1e293b);
    border-color: var(--weam-slate-800, #1e293b);
    color: #fff;
}
.weam-pl-chip-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--weam-amber-500, #f59e0b);
    flex-shrink: 0;
}

/* Sticky channel pill */
.weam-pl-channel-pill {
    display: none;
    align-items: center;
    gap: 5px;
    height: 28px;
    padding: 0 10px 0 12px;
    border: 1.5px solid var(--weam-amber-500, #f59e0b);
    border-radius: 20px;
    background: var(--weam-amber-100, #fef3c7);
    cursor: pointer;
    font-size: var(--weam-text-base);
    font-weight: 600;
    color: var(--weam-slate-800, #1e293b);
    white-space: nowrap;
    user-select: none;
    transition: background 0.15s;
    font-family: inherit;
}
.weam-pl-channel-pill.visible {
    display: inline-flex;
}
.weam-pl-channel-pill:hover {
    background: #fde68a;
}
.weam-pl-channel-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--weam-amber-500, #f59e0b);
    flex-shrink: 0;
}

/* View button (☰≡) */
.weam-pl-view-btn {
    padding: 5px 14px;
    border: 1px solid var(--weam-slate-300, #cbd5e1);
    border-radius: 999px;
    background: #fff;
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    color: var(--weam-slate-600, #475569);
    font-size: var(--weam-text-base);
    font-weight: 500;
    font-family: inherit;
    flex-shrink: 0;
    margin-left: auto;
    position: relative;
    white-space: nowrap;
    transition: border-color 0.15s, color 0.15s, background 0.15s;
}
.weam-pl-view-btn:hover {
    border-color: var(--weam-slate-500, #64748b);
    color: var(--weam-slate-800, #1e293b);
}
.weam-pl-view-btn.active {
    border-color: var(--weam-amber-500, #f59e0b);
    background: var(--weam-amber-100, #fef3c7);
    color: var(--weam-slate-800, #1e293b);
}
.weam-pl-view-indicator {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--weam-amber-500, #f59e0b);
    display: none;
    flex-shrink: 0;
}
.weam-pl-view-btn.has-custom .weam-pl-view-indicator {
    display: block;
}

/* ══════════════════════════════════════════
   STATS BAR
══════════════════════════════════════════ */
.weam-pl-stats {
    background: #fff;
    border-bottom: 1px solid var(--weam-border, #e2e8f0);
    padding: 6px 16px;
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: var(--weam-text-base);
    color: var(--weam-slate-500, #64748b);
    flex-wrap: wrap;
}
.weam-pl-stats a {
    color: var(--weam-slate-500, #64748b);
    text-decoration: none;
    padding: 1px 0;
}
.weam-pl-stats a:hover {
    color: var(--weam-purple-600, #4f46e5);
    text-decoration: underline;
}
.weam-pl-stats a.current {
    color: var(--weam-slate-800, #1e293b);
    font-weight: 600;
}
.weam-pl-stats a.incomplete { color: var(--weam-warning, #f59e0b); font-weight: 500; }
.weam-pl-stats a.nodata     { color: var(--weam-error, #dc2626); }
.weam-pl-stats-sep {
    color: var(--weam-slate-300, #cbd5e1);
    margin: 0 1px;
}
.weam-pl-stats-right {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: var(--weam-text-base);
    color: var(--weam-slate-400, #94a3b8);
    flex-shrink: 0;
}

/* ══════════════════════════════════════════
   TABLE
══════════════════════════════════════════ */
.weam-pl-table-wrap {
    padding: 12px 16px;
}

.weam-product-table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    border: 1px solid var(--weam-border, #e2e8f0);
    border-radius: 6px;
    overflow: hidden;
}
.weam-product-table th {
    text-align: left;
    font-size: var(--weam-text-sm);
    font-weight: 600;
    color: var(--weam-slate-500, #64748b);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 8px 10px;
    background: var(--weam-slate-50, #f8fafc);
    border-bottom: 1px solid var(--weam-border, #e2e8f0);
    white-space: nowrap;
    user-select: none;
}
.weam-product-table th.weam-col-img { width: 44px; }
.weam-product-table th.sortable     { cursor: pointer; }
.weam-product-table th.sortable:hover { color: var(--weam-slate-800, #1e293b); }
.weam-product-table th .sort-arrow  { margin-left: 3px; opacity: 0.4; }
.weam-product-table th.sorted .sort-arrow { opacity: 1; color: var(--weam-purple-500, #6366f1); }

.weam-product-table td {
    padding: 9px 10px;
    border-bottom: 1px solid var(--weam-slate-100, #f1f5f9);
    vertical-align: middle;
    font-size: var(--weam-text-md);
}
.weam-product-table tbody tr:last-child td { border-bottom: none; }
.weam-product-table tbody tr { cursor: pointer; transition: background 0.1s; }
.weam-product-table tbody tr:hover td { background: #fafbff; }

/* Thumbnail */
.weam-prod-thumb {
    width: 36px;
    height: 36px;
    border-radius: 4px;
    border: 1px solid var(--weam-border, #e2e8f0);
    background: var(--weam-slate-100, #f1f5f9);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex-shrink: 0;
}
.weam-prod-thumb img {
    width: 36px;
    height: 36px;
    object-fit: cover;
}
.weam-prod-thumb-ph {
    width: 16px;
    height: 16px;
    opacity: 0.3;
}

/* Name column */
.weam-prod-name {
    font-weight: 600;
    color: var(--weam-slate-800, #1e293b);
    margin-bottom: 2px;
    display: flex;
    align-items: center;
    gap: 5px;
    flex-wrap: wrap;
}
.weam-prod-type {
    display: inline-block;
    font-size: var(--weam-text-2xs);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 1px 5px;
    border-radius: 3px;
    background: var(--weam-slate-100, #f1f5f9);
    color: var(--weam-slate-500, #64748b);
}
.weam-prod-vars {
    font-size: var(--weam-text-2xs);
    color: var(--weam-slate-400, #94a3b8);
    margin-left: 2px;
}
.weam-prod-sku {
    font-size: var(--weam-text-sm);
    color: var(--weam-slate-400, #94a3b8);
    transition: color 0.15s;
}
.weam-product-table tbody tr:hover .weam-prod-sku { color: var(--weam-slate-600, #475569); }

/* Price column */
.weam-price-regular { font-weight: 500; }
.weam-price-sale    { color: var(--weam-error, #dc2626); font-weight: 600; }
.weam-price-orig    { text-decoration: line-through; color: var(--weam-slate-400, #94a3b8); font-size: var(--weam-text-sm); }
.weam-price-free    { color: #d97706; font-weight: 600; }
.weam-price-warn    { color: #dc2626; font-weight: 500; font-size: var(--weam-text-sm); }

/* Stock column */
.weam-stock-in  { color: var(--weam-success, #16a34a); font-weight: 500; white-space: nowrap; }
.weam-stock-low { color: var(--weam-warning, #f59e0b); font-weight: 500; white-space: nowrap; }
.weam-stock-out { color: var(--weam-error, #dc2626); font-weight: 500; white-space: nowrap; }
.weam-stock-qty { font-size: var(--weam-text-sm); color: var(--weam-slate-400, #94a3b8); }

/* Attributes column */
.weam-attr-names { font-size: var(--weam-text-base); color: var(--weam-slate-600, #475569); }
.weam-attr-sub   { font-size: var(--weam-text-sm); color: var(--weam-slate-400, #94a3b8); }

/* Readiness column */
.weam-readiness-wrap { display: flex; align-items: center; gap: 6px; }
.weam-rbar {
    width: 64px;
    height: 5px;
    background: var(--weam-slate-200, #e2e8f0);
    border-radius: 3px;
    overflow: hidden;
    flex-shrink: 0;
}
.weam-rbar-fill { height: 100%; border-radius: 3px; }
.weam-rpct { font-size: var(--weam-text-base); font-weight: 500; min-width: 28px; }

/* Channel dots column */
.weam-ch-wrap { display: flex; gap: 3px; }
.weam-ch {
    width: 20px;
    height: 20px;
    border-radius: 3px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--weam-text-2xs);
    font-weight: 700;
    border: 1px solid transparent;
    flex-shrink: 0;
}
.weam-ch-ok   { background: #f0fdf4; color: var(--weam-success); border-color: #bbf7d0; }
.weam-ch-warn { background: #fffbeb; color: var(--weam-amber-800); border-color: #fde68a; }
.weam-ch-miss { background: #fef2f2; color: var(--weam-error); border-color: #fecaca; }

/* Empty state */
.weam-pl-empty {
    text-align: center;
    padding: 48px 20px;
    color: var(--weam-slate-400, #94a3b8);
    font-size: var(--weam-text-md);
}
.weam-pl-empty-icon {
    font-size: 32px;
    margin-bottom: 10px;
    opacity: 0.5;
}

/* Muted dash */
.weam-muted { color: var(--weam-slate-300, #cbd5e1); }

/* ══════════════════════════════════════════
   PAGINATION
══════════════════════════════════════════ */
.weam-pl-pagination {
    display: flex;
    align-items: center;
    gap: 3px;
}
.weam-pg-btn {
    width: 26px;
    height: 26px;
    border: 1px solid var(--weam-border, #e2e8f0);
    border-radius: 4px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--weam-text-base);
    cursor: pointer;
    color: var(--weam-slate-500, #64748b);
    text-decoration: none;
    transition: background 0.1s;
}
.weam-pg-btn:hover { background: var(--weam-slate-100, #f1f5f9); color: var(--weam-slate-800, #1e293b); }
.weam-pg-btn.current { background: var(--weam-slate-800, #1e293b); color: #fff; border-color: var(--weam-slate-800, #1e293b); }
.weam-pg-btn.disabled { opacity: 0.35; pointer-events: none; }

/* ══════════════════════════════════════════
   MODAL OVERLAY (body-appended)
══════════════════════════════════════════ */
.weam-plm-overlay {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 99990;
    background: rgba(0, 0, 0, 0.25);
    align-items: flex-start;
    justify-content: flex-end;
    padding-top: 72px;
    padding-right: 20px;
}
.weam-plm-overlay.open {
    display: flex;
}

.weam-plm-modal {
    width: 480px;
    background: #fff;
    border: 1px solid var(--weam-border, #e2e8f0);
    border-radius: 10px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 100px);
    overflow: hidden;
    font-family: var(--weam-font);
    font-size: var(--weam-text-md);
    color: var(--weam-slate-800, #1e293b);
}

/* Header */
.weam-plm-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px 0;
    flex-shrink: 0;
}
.weam-plm-title {
    font-size: var(--weam-text-lg);
    font-weight: 700;
    color: var(--weam-slate-800, #1e293b);
}
.weam-plm-close {
    width: 26px;
    height: 26px;
    border: 1px solid var(--weam-border, #e2e8f0);
    border-radius: 4px;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: var(--weam-text-md);
    color: var(--weam-slate-400, #94a3b8);
    font-family: inherit;
    transition: background 0.1s;
}
.weam-plm-close:hover { background: var(--weam-slate-100, #f1f5f9); }

/* Tabs */
.weam-plm-tabs {
    display: flex;
    padding: 10px 16px 0;
    flex-shrink: 0;
    border-bottom: 1px solid var(--weam-border, #e2e8f0);
}
.weam-plm-tab {
    padding: 7px 14px;
    font-size: var(--weam-text-md);
    font-weight: 500;
    color: var(--weam-slate-500, #64748b);
    cursor: pointer;
    border: none;
    background: transparent;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    transition: color 0.15s, border-color 0.15s;
    white-space: nowrap;
    font-family: inherit;
}
.weam-plm-tab:hover { color: var(--weam-slate-800, #1e293b); }
.weam-plm-tab.active {
    color: var(--weam-slate-900, #0f172a);
    border-bottom-color: var(--weam-slate-800, #1e293b);
    font-weight: 600;
}

/* Tab body */
.weam-plm-body {
    flex: 1;
    overflow-y: auto;
}
.weam-plm-pane {
    display: none;
    padding: 16px;
}
.weam-plm-pane.active { display: block; }

/* Preset grid */
.weam-plm-preset-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}
.weam-plm-preset-card {
    border: 1.5px solid var(--weam-border, #e2e8f0);
    border-radius: 6px;
    padding: 11px 10px 9px;
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s;
    position: relative;
}
.weam-plm-preset-card:hover { border-color: var(--weam-slate-400, #94a3b8); }
.weam-plm-preset-card.selected {
    border-color: var(--weam-amber-500, #f59e0b);
    background: var(--weam-amber-100, #fef3c7);
}
.weam-plm-preset-radio {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    border: 2px solid var(--weam-slate-300, #cbd5e1);
    display: flex;
    align-items: center;
    justify-content: center;
}
.weam-plm-preset-card.selected .weam-plm-preset-radio { border-color: var(--weam-slate-800, #1e293b); }
.weam-plm-preset-radio-dot {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--weam-slate-800, #1e293b);
    display: none;
}
.weam-plm-preset-card.selected .weam-plm-preset-radio-dot { display: block; }
.weam-plm-preset-icon { font-size: 20px; margin-bottom: 5px; }
.weam-plm-preset-name {
    font-size: var(--weam-text-base);
    font-weight: 600;
    color: var(--weam-slate-700, #334155);
}
.weam-plm-preset-card.selected .weam-plm-preset-name { color: var(--weam-slate-900, #0f172a); }
.weam-plm-preset-desc {
    font-size: var(--weam-text-base);
    color: var(--weam-slate-400);
    margin-top: 2px;
    line-height: 1.4;
    transition: color 0.15s;
}
.weam-plm-preset-card:hover .weam-plm-preset-desc { color: var(--weam-slate-600); }

.weam-plm-note {
    font-size: var(--weam-text-sm);
    color: var(--weam-slate-400, #94a3b8);
    margin-top: 12px;
    line-height: 1.6;
    padding: 8px 10px;
    background: var(--weam-slate-50, #f8fafc);
    border-radius: 4px;
}

/* Quick button section */
.weam-plm-section-label {
    font-size: var(--weam-text-sm);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--weam-slate-400, #94a3b8);
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.weam-plm-section-label span {
    font-size: var(--weam-text-xs);
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0;
}

/* Columns + QB rows */
.weam-plm-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 0;
    border-bottom: 1px solid var(--weam-slate-100, #f1f5f9);
}
.weam-plm-row:last-child { border-bottom: none; }
.weam-plm-row-drag {
    color: var(--weam-slate-300, #cbd5e1);
    cursor: grab;
    font-size: var(--weam-text-sm);
    width: 14px;
    text-align: center;
    flex-shrink: 0;
}
.weam-plm-row-name {
    flex: 1;
    font-size: var(--weam-text-md);
    color: var(--weam-slate-700, #334155);
}
.weam-plm-row-sub {
    display: block;
    font-size: var(--weam-text-sm);
    color: var(--weam-slate-400, #94a3b8);
}
.weam-plm-row-note {
    font-size: var(--weam-text-sm);
    color: var(--weam-slate-400, #94a3b8);
    font-style: italic;
}

/* Toggle */
.weam-plm-toggle {
    position: relative;
    width: 34px;
    height: 18px;
    cursor: pointer;
    flex-shrink: 0;
}
.weam-plm-toggle input { opacity: 0; width: 0; height: 0; position: absolute; }
.weam-plm-toggle-track {
    position: absolute;
    inset: 0;
    background: var(--weam-slate-200, #e2e8f0);
    border-radius: 9px;
    transition: background 0.2s;
}
.weam-plm-toggle input:checked + .weam-plm-toggle-track {
    background: var(--weam-slate-800, #1e293b);
}
.weam-plm-toggle-knob {
    position: absolute;
    top: 2px;
    left: 2px;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    transition: left 0.2s, background 0.2s;
    pointer-events: none;
}
.weam-plm-toggle input:checked ~ .weam-plm-toggle-knob {
    left: 18px;
    background: var(--weam-amber-500, #f59e0b);
}

/* Marketplaces grid */
.weam-plm-mkt-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4px;
}
.weam-plm-mkt-row {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 7px 10px;
    border-radius: 4px;
    cursor: pointer;
    transition: background 0.1s;
}
.weam-plm-mkt-row:hover { background: var(--weam-slate-50, #f8fafc); }
.weam-plm-mkt-row input[type=checkbox] {
    width: 14px;
    height: 14px;
    accent-color: var(--weam-slate-800, #1e293b);
    cursor: pointer;
    flex-shrink: 0;
}
.weam-plm-mkt-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 4px;
    font-size: var(--weam-text-2xs);
    font-weight: 700;
    flex-shrink: 0;
}
.weam-plm-mkt-name {
    font-size: var(--weam-text-md);
    color: var(--weam-slate-700, #334155);
}

/* Channel pane */
.weam-plm-ch-section { margin-bottom: 10px; }
.weam-plm-ch-section-label {
    font-size: var(--weam-text-xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--weam-slate-400, #94a3b8);
    margin-bottom: 5px;
}
.weam-plm-ch-row {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 7px 10px;
    border-radius: 4px;
    cursor: pointer;
    transition: background 0.1s;
}
.weam-plm-ch-row:hover { background: var(--weam-slate-50, #f8fafc); }
.weam-plm-ch-row.selected { background: var(--weam-amber-100, #fef3c7); }
.weam-plm-ch-radio {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    border: 2px solid var(--weam-slate-300, #cbd5e1);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.weam-plm-ch-row.selected .weam-plm-ch-radio { border-color: var(--weam-slate-800, #1e293b); }
.weam-plm-ch-radio-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--weam-slate-800, #1e293b);
    display: none;
}
.weam-plm-ch-row.selected .weam-plm-ch-radio-dot { display: block; }
.weam-plm-ch-icon { font-size: var(--weam-text-md); width: 18px; text-align: center; flex-shrink: 0; }
.weam-plm-ch-name {
    font-size: var(--weam-text-md);
    color: var(--weam-slate-700, #334155);
    flex: 1;
}
.weam-plm-ch-row.selected .weam-plm-ch-name { font-weight: 600; color: var(--weam-slate-900, #0f172a); }
.weam-plm-ch-sub { font-size: var(--weam-text-base); color: var(--weam-slate-400); transition: color 0.15s; }
.weam-plm-ch-row:hover .weam-plm-ch-sub { color: var(--weam-slate-600); }
.weam-plm-ch-empty {
    font-size: var(--weam-text-base);
    color: var(--weam-slate-400, #94a3b8);
    padding: 4px 10px 12px;
    line-height: 1.6;
}
.weam-plm-ch-empty a { color: var(--weam-slate-600, #475569); text-decoration: underline; cursor: pointer; }

.weam-plm-lock-strip {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px;
    border-top: 1px solid var(--weam-border, #e2e8f0);
    margin-top: 8px;
    background: var(--weam-slate-50, #f8fafc);
    border-radius: 4px;
}
.weam-plm-lock-label {
    font-size: var(--weam-text-base);
    color: var(--weam-slate-600, #475569);
}

/* Modal footer */
.weam-plm-foot {
    padding: 10px 16px;
    border-top: 1px solid var(--weam-border, #e2e8f0);
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}
.weam-plm-foot-note {
    font-size: var(--weam-text-sm);
    color: var(--weam-slate-400, #94a3b8);
    flex: 1;
}

/* ══════════════════════════════════════════
   LAYOUT GRID — Main + Sidebar
══════════════════════════════════════════ */
.weam-pl-layout { padding: 0; }
.weam-pl-main { min-width: 0; }
.weam-pl-sidebar { position: sticky; top: 32px; padding-top: 6px; padding-bottom: 20px; }
.weam-pl-sb-card {
    background: #fff; border: 1px solid var(--weam-border, #e2e8f0); border-radius: 8px;
    padding: 12px 14px; display: flex; flex-direction: column; gap: 4px;
    transition: border-color 0.15s;
}
.weam-pl-sb-card:hover { border-color: var(--weam-slate-400); }
.weam-pl-sb-title {
    font-size: var(--weam-text-xs); font-weight: 600; text-transform: uppercase; letter-spacing: 0.4px;
    color: var(--weam-slate-400, #94a3b8); margin-bottom: 4px;
}
.weam-pl-sb-filter {
    display: flex; align-items: center; gap: 7px; padding: 5px 8px; border-radius: 6px;
    font-size: var(--weam-text-base); font-weight: 500; color: var(--weam-slate-600, #475569);
    text-decoration: none; transition: background 0.12s;
}
.weam-pl-sb-filter:hover { background: var(--weam-slate-50, #f8fafc); }
.weam-pl-sb-filter.active { background: var(--weam-slate-100, #f1f5f9); color: var(--weam-slate-800, #1e293b); font-weight: 600; }
.weam-pl-sb-dot {
    width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0;
    background: var(--weam-slate-300, #cbd5e1); transition: background 0.12s;
}
.weam-pl-sb-dot.on { background: var(--weam-amber, #f59e0b); }
.weam-pl-sb-cnt {
    font-size: var(--weam-text-xs); font-weight: 600; padding: 1px 5px; border-radius: 9px;
    background: var(--weam-slate-100, #f1f5f9); color: var(--weam-slate-400, #94a3b8);
    margin-left: auto; flex-shrink: 0;
}
.weam-pl-sb-filter.active .weam-pl-sb-cnt { background: var(--weam-slate-200, #e2e8f0); color: var(--weam-slate-600, #475569); }
.weam-pl-sb-filter.disabled { opacity: 0.35; cursor: default; }
.weam-slug { font-size: var(--weam-text-sm); color: var(--weam-slate-500, #64748b); font-family: var(--weam-font-mono); word-break: break-all; }
.weam-desc-cell { font-size: var(--weam-text-base); color: var(--weam-slate-500, #64748b); line-height: 1.4; max-width: 200px; display: block; }
.weam-gallery-thumbs { display: flex; align-items: center; gap: 3px; flex-wrap: nowrap; }
.weam-gallery-thumbs img { width: 28px; height: 28px; object-fit: cover; border-radius: 3px; border: 1px solid var(--weam-slate-200, #e2e8f0); flex-shrink: 0; }
.weam-gallery-more { font-size: var(--weam-text-xs); font-weight: 600; color: var(--weam-slate-400, #94a3b8); padding: 0 4px; white-space: nowrap; }

/* ═══════════════════════════════════════
   BULK ACTIONS — Checkbox column
   ═══════════════════════════════════════ */
.weam-col-cb { width: 36px; text-align: center; }
.weam-col-cb input[type="checkbox"],
.weam-pl-row-cb {
	width: 15px;
	height: 15px;
	accent-color: var(--weam-purple-500, #6366f1);
	cursor: pointer;
	margin: 0;
}
.weam-product-table tbody tr.weam-pl-selected {
	background: var(--weam-purple-50, #eef2ff);
}
.weam-product-table tbody tr.weam-pl-selected:hover {
	background: var(--weam-purple-100, #e0e7ff);
}

/* ═══════════════════════════════════════
   BULK ACTIONS — Floating bar
   ═══════════════════════════════════════ */
.weam-pl-bulk-bar {
	position: fixed;
	bottom: 0;
	left: 160px;
	right: 0;
	width: fit-content;
	max-width: calc(100vw - 192px);
	margin: 0 auto;
	background: var(--weam-slate-800, #1e293b);
	border-radius: 10px 10px 0 0;
	padding: 10px 16px;
	display: flex;
	align-items: center;
	gap: 10px;
	box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.15);
	z-index: 500;
	opacity: 0;
	transform: translateY(100%);
	transition: transform 0.2s ease, opacity 0.2s ease;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}
.weam-pl-bulk-bar.visible {
	display: flex;
	transform: translateY(0);
	opacity: 1;
}

/* Folded WP sidebar */
body.folded .weam-pl-bulk-bar {
	left: 36px;
	max-width: calc(100vw - 68px);
}
@media only screen and (max-width: 960px) {
	body.auto-fold .weam-pl-bulk-bar {
		left: 36px;
		max-width: calc(100vw - 68px);
	}
}
@media only screen and (max-width: 782px) {
	.weam-pl-bulk-bar {
		left: 0;
		max-width: calc(100vw - 16px);
	}
}
.weam-pl-bulk-count {
	display: flex;
	align-items: center;
	gap: 6px;
	color: #fff;
	font-size: var(--weam-text-md);
	font-weight: 500;
	font-family: var(--weam-font);
	white-space: nowrap;
}
.weam-pl-bulk-sep {
	width: 1px;
	height: 20px;
	background: var(--weam-slate-600, #475569);
	flex-shrink: 0;
}
.weam-pl-bulk-btn {
	background: none;
	border: 1px solid var(--weam-slate-600, #475569);
	border-radius: 6px;
	color: var(--weam-slate-100, #f1f5f9);
	font-size: var(--weam-text-base);
	font-weight: 500;
	font-family: var(--weam-font);
	padding: 5px 12px;
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 6px;
	transition: background 0.15s;
	white-space: nowrap;
}
.weam-pl-bulk-btn:hover {
	background: var(--weam-slate-700, #334155);
}
.weam-pl-bulk-spacer { flex: 1; }
.weam-pl-bulk-deselect {
	background: none;
	border: none;
	color: var(--weam-slate-400, #94a3b8);
	font-size: var(--weam-text-base);
	font-family: var(--weam-font);
	cursor: pointer;
	padding: 5px 8px;
	transition: color 0.15s;
	white-space: nowrap;
}
.weam-pl-bulk-deselect:hover {
	color: var(--weam-slate-100, #f1f5f9);
}


/* Bulk action panels — positioned above floating bar */
.weam-bulk-panel {
	position: fixed;
	bottom: 52px;
	background: #fff;
	border: 1px solid var(--weam-border, #e2e8f0);
	border-radius: var(--weam-r-lg, 10px);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
	z-index: 510;
	overflow: hidden;
	max-height: calc(100vh - 100px);
	display: flex;
	flex-direction: column;
}
.weam-bp-head {
	font-size: var(--weam-text-md);
	font-weight: 600;
	color: var(--weam-slate-700, #334155);
	padding: 10px 14px;
	border-bottom: 1px solid var(--weam-slate-100, #f1f5f9);
	background: var(--weam-slate-50, #f8fafc);
}
.weam-bp-body {
	padding: 10px 14px;
	font-size: var(--weam-text-md);
	color: var(--weam-slate-600, #475569);
	overflow-y: auto;
	flex: 1;
}
.weam-bp-count {
	font-size: var(--weam-text-base);
	color: var(--weam-slate-500, #64748b);
	margin-bottom: 8px;
}
.weam-bp-foot {
	border-top: 1px solid var(--weam-slate-100, #f1f5f9);
	padding: 8px 14px;
	display: flex;
	justify-content: flex-end;
	gap: 6px;
	background: var(--weam-slate-50, #f8fafc);
}
.weam-bp-cancel {
	background: #fff;
	border: 1px solid var(--weam-border, #e2e8f0);
	border-radius: 5px;
	padding: 5px 12px;
	font-size: var(--weam-text-base);
	font-weight: 500;
	font-family: var(--weam-font);
	color: var(--weam-slate-600, #475569);
	cursor: pointer;
}
.weam-bp-cancel:hover { background: var(--weam-slate-50, #f8fafc); }
.weam-bp-go {
	border: none;
	border-radius: 5px;
	padding: 5px 12px;
	font-size: var(--weam-text-base);
	font-weight: 500;
	font-family: var(--weam-font);
	color: #fff;
	cursor: pointer;
}
.weam-bp-go:disabled { opacity: 0.6; cursor: default; }
.weam-bp-go--danger { background: var(--weam-error, #dc2626); }
.weam-bp-go--danger:hover { background: var(--weam-error-dark, #991b1b); }
.weam-bp-go--amber { background: var(--weam-amber-500, #f59e0b); }
.weam-bp-go--amber:hover { background: var(--weam-amber-400, #fbbf24); }

/* SKU Automator bulk panel */
.weam-bp-sku-body { display: flex; flex-direction: column; gap: 8px; }
.weam-bp-sku-note { font-size: var(--weam-text-sm, 12px); color: var(--weam-slate-400, #94a3b8); line-height: 1.4; padding: 4px 0 2px; }
.weam-bp-sku-row { display: flex; align-items: center; gap: 8px; }
.weam-bp-sku-label { font-size: var(--weam-text-sm, 12px); color: var(--weam-slate-500, #64748b); min-width: 72px; flex-shrink: 0; }
.weam-bp-sku-input { flex: 1; padding: 5px 8px; border: 1px solid var(--weam-slate-200, #e2e8f0); border-radius: 5px; font-size: var(--weam-text-sm, 12px); font-family: var(--weam-font, inherit); color: var(--weam-slate-800, #1e293b); min-width: 0; }
.weam-bp-sku-pattern { font-family: monospace; font-size: 11px; }
.weam-bp-sku-overwrite { display: flex; align-items: center; gap: 6px; font-size: var(--weam-text-sm, 12px); color: var(--weam-slate-600, #475569); cursor: pointer; padding: 2px 0; }
.weam-bp-sku-ch-note { font-size: var(--weam-text-sm, 12px); color: var(--weam-slate-500, #64748b); margin: 0 0 6px; }
.weam-bp-sku-ch-list { margin: 0; padding-left: 16px; font-size: var(--weam-text-sm, 12px); color: var(--weam-slate-700, #334155); }
.weam-bp-sku-ch-list li { margin-bottom: 3px; }

/* Bulk price result summary panel */
.weam-bp-summary-panel { position: fixed; bottom: auto; top: 50%; transform: translate(-50%, -50%) !important; left: 50% !important; z-index: 520; }
.weam-bp-summary-row { display: flex; align-items: flex-start; gap: 6px; font-size: 13px; padding: 3px 0; }
.weam-bp-summary-ok { color: var(--weam-slate-700); }
.weam-bp-summary-skip { color: #d97706; margin-top: 6px; }
.weam-bp-summary-icon { flex-shrink: 0; font-size: 14px; }
.weam-bp-summary-list { margin: 4px 0 0 20px; padding: 0; list-style: disc; font-size: 12px; color: var(--weam-slate-600); }
.weam-bp-summary-list li { margin-bottom: 3px; line-height: 1.4; }

/* Simple option list */
.weam-bp-opt {
	padding: 8px 14px;
	font-size: var(--weam-text-md);
	color: var(--weam-slate-700, #334155);
	cursor: pointer;
	transition: background 0.1s;
}
.weam-bp-opt:hover { background: var(--weam-slate-50, #f8fafc); }

/* Radio mode selector */
.weam-bp-radios {
	display: flex;
	flex-direction: column;
	gap: 3px;
	margin-bottom: 8px;
}
.weam-bp-radios label {
	font-size: var(--weam-text-base);
	color: var(--weam-slate-600, #475569);
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 5px;
}
.weam-bp-radios input[type="radio"] { accent-color: var(--weam-purple-500, #6366f1); margin: 0; }

/* Form inputs inside panels */
.weam-bp-select {
	width: 100%;
	padding: 5px 8px;
	border: 1px solid var(--weam-border, #e2e8f0);
	border-radius: 5px;
	font-size: var(--weam-text-base);
	font-family: var(--weam-font);
	color: var(--weam-slate-700, #334155);
	background: #fff;
	margin-bottom: 6px;
}
.weam-bp-input {
	width: 100%;
	padding: 5px 8px;
	border: 1px solid var(--weam-border, #e2e8f0);
	border-radius: 5px;
	font-size: var(--weam-text-base);
	font-family: var(--weam-font);
	color: var(--weam-slate-700, #334155);
}
.weam-bp-input:focus { outline: none !important; box-shadow: none !important; border-color: var(--weam-purple-500, #6366f1); }

/* Schedule dates inside price panel */
.weam-bp-price-dates {
	background: var(--weam-slate-50, #f8fafc);
	border: 1px solid var(--weam-slate-100, #f1f5f9);
	border-radius: 5px;
	padding: 6px 8px;
	margin-top: 6px;
	display: flex;
	gap: 8px;
}
.weam-bp-price-dates label {
	flex: 1;
	font-size: var(--weam-text-xs);
	font-weight: 500;
	color: var(--weam-slate-500, #64748b);
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.weam-bp-price-dates input[type="datetime-local"] {
	width: 100%;
	padding: 3px 4px;
	border: 1px solid var(--weam-border, #e2e8f0);
	border-radius: 4px;
	font-size: var(--weam-text-sm);
	font-family: var(--weam-font);
}

.weam-bulk-plist {
	max-height: 220px;
	overflow-y: auto;
	border: 1px solid var(--weam-slate-100, #f1f5f9);
	border-radius: 6px;
	background: var(--weam-slate-50, #f8fafc);
}
.weam-bulk-plist-row {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 6px 10px;
	font-size: var(--weam-text-md);
	color: var(--weam-slate-700, #334155);
	cursor: pointer;
	border-bottom: 1px solid var(--weam-slate-100, #f1f5f9);
	transition: background 0.1s;
	margin: 0;
}
.weam-bulk-plist-row:last-child { border-bottom: none; }
.weam-bulk-plist-row:hover { background: #fff; }
.weam-bulk-plist-cb {
	width: 14px;
	height: 14px;
	accent-color: var(--weam-purple-500, #6366f1);
	cursor: pointer;
	flex-shrink: 0;
	margin: 0;
}
.weam-bulk-plist-name {
	flex: 1;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* Bulk price action panel (v5 design - unified with single editor) */
.weam-pa-seg {
	display: inline-flex;
	border: 1px solid var(--weam-slate-200, #e2e8f0);
	border-radius: 5px;
	overflow: hidden;
	margin-bottom: 8px;
}
.weam-pa-seg-btn {
	padding: 4px 10px;
	font-size: var(--weam-text-sm);
	font-weight: 500;
	color: var(--weam-slate-500, #64748b);
	background: #fff;
	border: none;
	border-right: 1px solid var(--weam-slate-200, #e2e8f0);
	cursor: pointer;
	font-family: var(--weam-font);
}
.weam-pa-seg-btn:last-child { border-right: none; }
.weam-pa-seg-btn:hover { background: var(--weam-slate-50, #f8fafc); }
.weam-pa-seg-btn.on { background: var(--weam-purple-50, #eef2ff); color: var(--weam-purple-700); }
.weam-pa-val-wrap {
	display: flex;
	align-items: center;
	border: 1px solid var(--weam-slate-300, #cbd5e1);
	border-radius: 5px;
	overflow: hidden;
	margin-bottom: 8px;
	height: 30px;
}
.weam-pa-val-single {
	display: flex;
	align-items: center;
	padding: 0 7px;
	background: var(--weam-slate-50, #f8fafc);
	border-right: 1px solid var(--weam-slate-200, #e2e8f0);
	font-size: var(--weam-text-base);
	color: var(--weam-slate-500, #64748b);
	height: 100%;
}
.weam-pa-val-toggle {
	display: flex;
	align-items: center;
	background: var(--weam-slate-50, #f8fafc);
	border-right: 1px solid var(--weam-slate-200, #e2e8f0);
	flex-shrink: 0;
}
.weam-pa-unit {
	padding: 0 7px;
	height: 30px;
	display: flex;
	align-items: center;
	font-size: var(--weam-text-sm);
	font-weight: 500;
	color: var(--weam-slate-400, #94a3b8);
	cursor: pointer;
	border: none;
	background: none;
	font-family: var(--weam-font);
}
.weam-pa-unit:first-child { border-right: 1px solid var(--weam-slate-200, #e2e8f0); }
.weam-pa-unit.on { color: var(--weam-purple-700); background: var(--weam-purple-50, #eef2ff); }
.weam-pa-val-in {
	flex: 1;
	border: none;
	height: 28px;
	padding: 0 8px;
	font-size: var(--weam-text-base);
	text-align: right;
	color: var(--weam-slate-700, #334155);
	font-family: var(--weam-font);
	outline: none;
	min-width: 0;
}
.weam-pa-round {
	display: flex;
	align-items: center;
	gap: 5px;
	margin-bottom: 8px;
}
.weam-pa-round-lbl { font-size: var(--weam-text-sm); color: var(--weam-slate-500, #64748b); }
.weam-pa-round-comma { font-size: var(--weam-text-base); color: var(--weam-slate-400, #94a3b8); }
.weam-pa-round-in {
	border: 1px solid var(--weam-slate-300, #cbd5e1);
	border-radius: 4px;
	height: 24px;
	width: 36px;
	padding: 0 5px;
	font-size: var(--weam-text-sm);
	text-align: center;
	color: var(--weam-slate-700, #334155);
	font-family: var(--weam-font);
	outline: none;
}
.weam-pa-round-in::placeholder { color: var(--weam-slate-300, #cbd5e1); }
.weam-pa-round-hint { font-size: var(--weam-text-xs); color: var(--weam-slate-400, #94a3b8); }
.weam-pa-sched { border-top: 1px solid var(--weam-slate-100, #f1f5f9); padding-top: 8px; margin-top: 2px; }
.weam-pa-sched-tog { display: flex; align-items: center; gap: 5px; cursor: pointer; margin-bottom: 6px; background: none; border: none; padding: 0; font: inherit; width: 100%; text-align: left; }
.weam-pa-sched-tog svg { width: 12px; height: 12px; stroke: var(--weam-slate-400, #94a3b8); }
.weam-pa-sched-tog span { font-size: var(--weam-text-sm); font-weight: 500; color: var(--weam-slate-400, #94a3b8); }
.weam-pa-sched-chev { font-size: var(--weam-text-xs); color: var(--weam-slate-300, #cbd5e1); margin-left: auto; }
.weam-pa-sched-dates { display: flex; gap: 8px; }
.weam-pa-sched-dates label { flex: 1; font-size: var(--weam-text-xs); color: var(--weam-slate-400, #94a3b8); display: flex; flex-direction: column; gap: 2px; }
.weam-pa-sched-dates input { width: 100%; padding: 3px 4px; border: 1px solid var(--weam-slate-200, #e2e8f0); border-radius: 4px; font-size: var(--weam-text-sm); font-family: var(--weam-font); }

/* Bulk category mode radios */
.weam-bulk-cat-mode {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin-bottom: 8px;
}
.weam-bulk-cat-mode label {
	font-size: var(--weam-text-md);
	color: var(--weam-slate-600, #475569);
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 6px;
}
.weam-bulk-cat-mode input[type="radio"] {
	accent-color: var(--weam-purple-500, #6366f1);
	margin: 0;
}
.weam-bulk-cat-row {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 5px 10px;
	font-size: var(--weam-text-md);
	color: var(--weam-slate-700, #334155);
	cursor: pointer;
	border-bottom: 1px solid var(--weam-slate-100, #f1f5f9);
	margin: 0;
}
.weam-bulk-cat-row:last-child { border-bottom: none; }
.weam-bulk-cat-row:hover { background: #fff; }
.weam-bulk-cat-cb {
	width: 14px;
	height: 14px;
	accent-color: var(--weam-purple-500, #6366f1);
	cursor: pointer;
	margin: 0;
}

/* Bulk stock form */
.weam-bulk-stock-form {
	margin-top: 8px;
}
.weam-bulk-stock-qty {
	width: 100%;
	padding: 6px 8px;
	border: 1px solid var(--weam-border, #e2e8f0);
	border-radius: 6px;
	font-size: var(--weam-text-md);
	font-family: var(--weam-font);
	color: var(--weam-slate-700, #334155);
	margin-top: 4px;
}
.weam-bulk-stock-qty:focus {
	outline: none;
	border-color: var(--weam-purple-500, #6366f1);
}
.weam-bulk-stock-status {
	width: 100%;
	padding: 6px 8px;
	border: 1px solid var(--weam-border, #e2e8f0);
	border-radius: 6px;
	font-size: var(--weam-text-md);
	font-family: var(--weam-font);
	color: var(--weam-slate-700, #334155);
	background: #fff;
	margin-top: 4px;
}
