.bgrai-bulk-wrapper { max-width: 900px; margin: 0 auto; }
.bgrai-bulk-card { background: #fff; border: 1px solid #e2e2e2; border-radius: 12px; padding: 24px; }
.bgrai-dropzone {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    border: 2px dashed #c3c3c3; border-radius: 10px; padding: 30px; cursor: pointer;
    text-align: center; margin: 16px 0;
}
.bgrai-dropzone input[type="file"] { display: none; }
.bgrai-upload-icon { font-size: 28px; margin-bottom: 6px; }

.bgrai-progress { margin: 16px 0; }
.bgrai-progress-bar { background: #eee; border-radius: 6px; height: 8px; overflow: hidden; }
.bgrai-progress-fill { background: #2271b1; height: 100%; width: 0%; transition: width 0.2s ease; }
.bgrai-progress-text { display: block; margin-top: 6px; font-size: 13px; color: #555; }

.bgrai-results-grid {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 14px; margin-top: 20px;
}
.bgrai-result-card { border: 1px solid #eee; border-radius: 8px; padding: 10px; font-size: 12px; }
.bgrai-result-status.bgrai-success { color: #1a7f37; font-weight: 600; }
.bgrai-result-status.bgrai-error { color: #d63638; font-weight: 600; }
.bgrai-result-name { color: #666; word-break: break-all; margin-bottom: 6px; }
.bgrai-result-thumb {
    width: 100%; aspect-ratio: 1/1; object-fit: contain;
    background: repeating-conic-gradient(#f0f0f0 0% 25%, #fff 0% 50%) 50% / 16px 16px;
    border-radius: 6px; margin: 6px 0;
}
.bgrai-result-url-row input { width: 100%; font-size: 11px; }
.bgrai-size-saving { display: block; margin-top: 4px; color: #1a7f37; }

.bgrai-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; }
.bgrai-gallery-item { border: 1px solid #eee; border-radius: 10px; padding: 12px; }
.bgrai-gallery-pair { display: flex; gap: 8px; }
.bgrai-gallery-half { flex: 1; text-align: center; }
.bgrai-gallery-half img {
    width: 100%; aspect-ratio: 1/1; object-fit: contain;
    background: repeating-conic-gradient(#f0f0f0 0% 25%, #fff 0% 50%) 50% / 16px 16px;
    border-radius: 6px;
}
.bgrai-gallery-half span { display: block; font-size: 11px; color: #777; margin-top: 4px; }
.bgrai-gallery-meta { display: flex; justify-content: space-between; align-items: center; margin-top: 8px; font-size: 12px; }

/* ---- Table gallery view (bg_remover_gallery) ---- */
.bgrai-gallery-table-wrapper { width: 100%; overflow-x: auto; }
.bgrai-gallery-table { width: 100%; border-collapse: collapse; font-size: 13px; background: #fff; }
.bgrai-gallery-table th, .bgrai-gallery-table td {
    border: 1px solid #eee; padding: 10px 12px; text-align: left; vertical-align: middle;
}
.bgrai-gallery-table thead th {
    background: #fafafa; font-weight: 600; color: #333;
}
.bgrai-gallery-table tbody tr:hover { background: #fafcff; }

.bgrai-col-thumb { width: 110px; text-align: center; }
.bgrai-col-thumb img {
    width: 90px; height: 90px; object-fit: contain;
    background: repeating-conic-gradient(#f0f0f0 0% 25%, #fff 0% 50%) 50% / 14px 14px;
    border-radius: 6px; border: 1px solid #eee;
}
.bgrai-no-thumb { display: inline-block; width: 90px; height: 90px; line-height: 90px; color: #bbb; }

.bgrai-col-filename { max-width: 220px; word-break: break-all; color: #444; }
.bgrai-col-url { word-break: break-all; }
.bgrai-col-url a { color: #2271b1; text-decoration: none; }
.bgrai-col-url a:hover { text-decoration: underline; }

/* Pagination */
.bgrai-pagination { margin-top: 18px; }
.bgrai-pagination .page-numbers {
    list-style: none; display: flex; flex-wrap: wrap; gap: 6px; padding: 0; margin: 0;
}
.bgrai-pagination .page-numbers li { display: inline-flex; }
.bgrai-pagination a.page-numbers,
.bgrai-pagination span.page-numbers {
    display: inline-block; padding: 6px 12px; border: 1px solid #ddd; border-radius: 6px;
    color: #2271b1; text-decoration: none; font-size: 13px;
}
.bgrai-pagination a.page-numbers:hover { background: #f0f6fc; }
.bgrai-pagination span.page-numbers.current { background: #2271b1; color: #fff; border-color: #2271b1; }
.bgrai-pagination span.page-numbers.dots { border: none; color: #999; padding: 6px 4px; }
