/* Set list and detail surfaces share paint; catalog and export state stay page-owned. */
@layer set-browsers {
.set-browser {
    --set-surface: #ffffff;
    --set-subtle: #f4f5f6;
    --set-hover: #edf0f2;
    --set-selected: #e5edf5;
    --set-border: #d9dde2;
    --set-ink: #20252b;
    --set-muted: #59636f;
    --set-selection-border: #647b95;
    color: var(--set-ink) !important;
    min-width: 0;
}
html[data-throne-theme="dark"] .set-browser {
    --set-surface: #191919;
    --set-subtle: #222222;
    --set-hover: #282828;
    --set-selected: #303030;
    --set-border: #3c3c3c;
    --set-ink: #eeeeee;
    --set-muted: #b7b7b7;
    --set-selection-border: #858585;
    color-scheme: dark;
}
.set-browser :is(.pokemon-sets-page, .view-container, .detail-title, .detail-actions, .detail-header > div) {
    min-width: 0;
}
.set-browser .pokemon-sets-page {
    padding: 1.5rem 0 !important;
}
.set-browser :is(.pokemon-page-header h1, .throne-page-title, .detail-title h2, .set-name, .stat-value, .throne-stat-value, .card-name, .card-name-cell, .market-price-cell, .price-cell, .export-total-cell, .set-value, .export-total-summary strong) {
    color: var(--set-ink) !important;
}
.set-browser :is(.pokemon-page-header p, .throne-page-subtitle, .detail-meta, .stat-label, .throne-stat-label, .set-date, .set-stats, .muted-cell, .loading, .export-profile-picker, .detail-selected-count, .selected-count, #bulk-selected-count, .export-total-summary, .refetch-status) {
    color: var(--set-muted) !important;
}
.set-browser :is(.stat-card, .throne-stat-card, .detail-stat-card, .set-card, .detail-table-container) {
    background: var(--set-surface) !important;
    border: 1px solid var(--set-border) !important;
    box-shadow: none !important;
    border-radius: 10px !important;
}
.set-browser :is(.controls-bar, .table-action-toolbar) {
    background: var(--set-subtle) !important;
    border: 1px solid var(--set-border) !important;
    border-radius: 10px !important;
    padding: 12px !important;
    gap: 12px !important;
}
.set-browser :is(.last-updated-badge, .throne-last-updated, .select-all-pill, .set-checkbox-container, .set-code-badge) {
    background: var(--set-subtle) !important;
    border: 1px solid var(--set-border) !important;
    color: var(--set-muted) !important;
    box-shadow: none !important;
}
.set-browser :is(.set-card:hover, .set-card:focus-within) {
    background: var(--set-hover) !important;
    border-color: var(--set-selection-border) !important;
    transform: none !important;
}
.set-browser .set-card:has(input:checked) {
    background: var(--set-selected) !important;
    border-color: var(--set-selection-border) !important;
}
.set-browser .detail-table-container {
    max-width: 100%;
    overflow: auto;
    scrollbar-color: var(--set-selection-border) var(--set-subtle);
}
.set-browser :is(.pokemon-table, .throne-table) {
    background: var(--set-surface) !important;
    color: var(--set-ink) !important;
    min-width: 880px;
}
.set-browser :is(.pokemon-table, .throne-table) :is(tbody, tr, td) {
    background: var(--set-surface) !important;
    color: var(--set-ink) !important;
    border-color: var(--set-border) !important;
}
.set-browser :is(.pokemon-table, .throne-table) th {
    background: var(--set-subtle) !important;
    color: var(--set-muted) !important;
    border-color: var(--set-border) !important;
    box-shadow: inset 0 -1px var(--set-border);
    white-space: nowrap;
}
.set-browser :is(.pokemon-table, .throne-table) tbody tr:hover > td {
    background: var(--set-hover) !important;
}
.set-browser :is(.pokemon-table, .throne-table) tbody tr:has(input[type="checkbox"]:checked) > td {
    background: var(--set-selected) !important;
}
.set-browser :is(.pokemon-table, .throne-table) tbody tr:has(input[type="checkbox"]:checked) > td:first-child {
    box-shadow: inset 3px 0 var(--set-selection-border);
}
.set-browser :is(.action-btn, .export-btn, .qty-action-btn, .controls-bar button, .back-btn) {
    min-height: 38px;
    border-radius: 8px !important;
    box-shadow: none !important;
}
.set-browser :is(.detail-header > div, .detail-header-stats, .detail-actions) {
    flex-wrap: wrap;
}
.set-browser :is(.export-total-summary, .refetch-status, .detail-selected-count) {
    white-space: normal !important;
}
.set-browser .export-total-summary {
    margin-left: auto;
    padding: 8px 12px;
    border-radius: 7px;
    background: var(--set-surface) !important;
}
.set-browser .sets-grid {
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)) !important;
    gap: 12px !important;
}
.set-browser .set-card-header {
    flex-wrap: wrap;
    gap: 8px;
}
.set-browser .set-date {
    white-space: nowrap;
}
@media (max-width: 700px) {
    .set-browser :is(.pokemon-page-header, .detail-topbar, .detail-header, .detail-search-bar, .detail-search-row) {
        flex-direction: column;
        align-items: stretch !important;
    }
    .set-browser :is(.search-wrap, .throne-search-wrapper) {
        width: 100%;
        max-width: none !important;
        min-width: 0 !important;
        flex: 1 1 100% !important;
    }
    .set-browser :is(.detail-header-stats, .detail-header > div, .detail-actions, .bulk-actions, .table-action-controls) {
        justify-content: flex-start !important;
        width: 100%;
        gap: 8px !important;
    }
    .mtg-sets-shell .detail-header .throne-stat-card {
        flex: 1 0 max-content !important;
        min-width: max-content !important;
        width: auto !important;
    }
    .mtg-sets-shell .detail-header .export-btn {
        flex: 1 0 100%;
    }
    .set-browser .export-profile-picker {
        flex-wrap: wrap;
        width: 100%;
    }
    .set-browser .export-total-summary {
        margin-left: 0;
    }
}
}
