/* Shared neon review-list treatment, based on Buy Credits and Transaction History. */
.review-list-page {
    --reviews-pink: #a52d70;
    --reviews-panel: var(--portal-surface);
    --reviews-border: #d3deeb;
    --reviews-header: #edf2f8;
}
[data-theme="dark"] .review-list-page {
    --reviews-pink: #f15bda;
    --reviews-panel: #0a131c;
    --reviews-border: #20354b;
    --reviews-header: #101e2c;
}
.review-list-page .portal-content {
    container: public-reviews / inline-size;
    background: radial-gradient(ellipse at 45% 20%, color-mix(in srgb, var(--reviews-pink) 4%, transparent), transparent 65%);
}
.review-list-page .portal-page-header { gap: 1.25rem; margin: 1rem 0 2rem; }
.review-list-page .portal-page-header h1 { font-size: clamp(1.85rem, 3vw, 2.8rem); font-weight: 750; letter-spacing: -.03em; }
.review-list-page .portal-page-icon { width: 4.5rem; height: 4.5rem; flex-basis: 4.5rem; font-size: 2.5rem; color: var(--reviews-pink); border-color: color-mix(in srgb, var(--reviews-pink) 45%, transparent); background: color-mix(in srgb, var(--reviews-pink) 10%, var(--reviews-panel)); }
.review-list-page .portal-page-icon > i { text-shadow: 0 0 8px color-mix(in srgb, var(--reviews-pink) 35%, transparent); }
[data-theme="dark"] .review-list-page .portal-page-icon { border-color: color-mix(in srgb, var(--reviews-pink) 65%, transparent); box-shadow: inset 0 0 16px #f15bda2b, 0 0 16px #f15bda40; }
[data-theme="dark"] .review-list-page .portal-page-icon > i { text-shadow: 0 0 3px var(--reviews-pink), 0 0 10px color-mix(in srgb, var(--reviews-pink) 70%, transparent); }
.review-list-page .review-list-clear-filters { color: var(--reviews-pink); border-color: transparent; text-decoration: underline; }
.review-list-page .bp-tabulator-wrap { border-color: var(--reviews-border); }
.review-list-page .review-list-table { padding: 0; background: var(--reviews-panel); }
.review-list-page .review-list-table :is(.tabulator-header, .tabulator-header .tabulator-col) { background: var(--reviews-header); border-color: var(--reviews-border); }
.review-list-page .review-list-table .tabulator-header { padding: 0; }
.review-list-page .review-list-table .tabulator-header .tabulator-col-content { padding: .5rem .85rem; }
.review-list-page .review-list-table .tabulator-header .tabulator-col-title-holder { justify-content: flex-start; }
.review-list-page .review-list-table .tabulator-header .tabulator-col:hover { background: var(--reviews-header); color: var(--app-muted); cursor: default; }
.review-list-page .review-list-table .tabulator-header .tabulator-col:hover .tabulator-col-title { color: inherit; }
.review-list-page .review-list-table .tabulator-row { background: var(--reviews-panel); border-color: var(--reviews-border); }
.review-list-page .review-list-table .tabulator-row:hover { background: color-mix(in srgb, var(--reviews-pink) 5%, var(--reviews-panel)); }
.review-list-page .review-list-table .tabulator-cell { padding: .3rem .85rem; border-color: var(--reviews-border); }
.review-list-page .bp-encounter-copy { min-width: 0; font-weight: 600; }
.review-list-page .bp-encounter-copy > span { display: block; }
.review-list-page .bp-encounter-raid { color: var(--app-muted); font-size: .75rem; font-weight: 400; }
.review-list-page .review-list-table .tabulator-col-title-holder { min-height: 1.75rem; }
.review-list-page .review-list-table .tabulator-tableholder { max-height: none; }
.review-list-page .review-list-table .btn-outline-primary { min-height: 1.9rem; padding: .2rem .8rem; border: 1px solid var(--reviews-pink); border-radius: 6px; color: var(--reviews-pink); background: color-mix(in srgb, var(--reviews-pink) 5%, var(--reviews-panel)); white-space: nowrap; font-size: .8rem; font-weight: 600; }
.review-list-page .review-list-table .btn-outline-primary:hover { background: color-mix(in srgb, var(--reviews-pink) 13%, var(--reviews-panel)); box-shadow: 0 0 12px color-mix(in srgb, var(--reviews-pink) 20%, transparent); }
.review-list-page .review-list-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1.5rem; }
.review-list-page .review-list-count { margin: 0; font-size: .875rem; color: var(--app-muted); }
.review-list-page .review-list-pagination { display: flex; align-items: center; gap: .5rem; margin-left: auto; }
.review-list-page .review-list-pagination :is(.tabulator-paginator, .tabulator-pages) { display: inline-flex; align-items: center; gap: .5rem; }
.review-list-page .review-list-pagination .tabulator-page { display: inline-flex; align-items: center; justify-content: center; min-width: 2.75rem; min-height: 2.75rem; padding: .4rem .65rem; margin: 0; border: 1px solid var(--reviews-border); border-radius: 6px; background: var(--reviews-panel); color: var(--app-text); font: inherit; font-size: .8rem; cursor: pointer; }
.review-list-page .review-list-pagination .tabulator-page:is([data-page="first"], [data-page="last"]) { display: none; }
.review-list-page .review-list-pagination .tabulator-page:not(:disabled):hover { border-color: var(--reviews-pink); background: color-mix(in srgb, var(--reviews-pink) 8%, var(--reviews-panel)); }
.review-list-page .review-list-pagination .tabulator-page.active { color: var(--reviews-pink); border-color: var(--reviews-pink); background: color-mix(in srgb, var(--reviews-pink) 12%, var(--reviews-panel)); box-shadow: inset 0 0 10px color-mix(in srgb, var(--reviews-pink) 10%, transparent), 0 0 8px color-mix(in srgb, var(--reviews-pink) 15%, transparent); }
.review-list-page .review-list-pagination .tabulator-page:disabled { opacity: .4; cursor: default; }
.review-list-page .review-list-pagination .tabulator-page:focus-visible { outline: 2px solid var(--reviews-pink); outline-offset: 3px; }
.review-list-page .portal-empty { padding: 2rem; border: 1px solid var(--reviews-border); border-radius: 6px; background: var(--reviews-panel); }
@container public-reviews (max-width: 480px) {
    .review-list-page .portal-page-header { align-items: flex-start; gap: .85rem; }
    .review-list-page .portal-page-icon { width: 3rem; height: 3rem; flex-basis: 3rem; font-size: 1.8rem; }
}

/* External filters share the ledger's restrained surfaces and touch targets. */
.review-list-page .review-list-filters { display: flex; flex-wrap: wrap; align-items: flex-end; gap: .85rem; margin-bottom: 1.5rem; }
.review-list-page .review-list-filters[hidden] { display: none; }
.review-list-page .review-list-filters > div { flex: 1 1 9rem; min-width: 0; }
.review-list-page .review-list-filters > .review-list-search { flex: 2 1 18rem; }
.review-list-page .review-list-filters label { display: block; margin-bottom: .35rem; font-size: .8rem; color: var(--app-muted); }
.review-list-page .review-list-filters :is(.form-control, .form-select) { min-height: 2.75rem; border-color: var(--reviews-border); background-color: var(--reviews-panel); color: var(--app-text); font-size: .875rem; }
.review-list-page .review-list-filters :is(.form-control, .form-select):focus { border-color: var(--reviews-pink); box-shadow: 0 0 0 3px color-mix(in srgb, var(--reviews-pink) 15%, transparent); }
.review-list-page .review-list-search-input { position: relative; }
.review-list-page .review-list-search-input > i { position: absolute; left: .85rem; top: 50%; transform: translateY(-50%); color: var(--app-muted); pointer-events: none; }
.review-list-page .review-list-search-input input { padding-left: 2.5rem; }
.review-list-page .review-list-clear-filters { min-height: 2.75rem; margin-left: auto; }
[data-theme="dark"] .review-list-page .review-list-filters :is(input, select) { color-scheme: dark; }
@container public-reviews (max-width: 480px) {
    .review-list-page .review-list-filters > div { flex-basis: calc(50% - .85rem); }
    .review-list-page .review-list-filters > .review-list-search { flex-basis: 100%; }
}
@container public-reviews (max-width: 320px) {
    .review-list-page .review-list-filters > div { flex-basis: 100%; }
}

/* Difficulty and metric colors stay legible in light mode; glow in dark mode. */
.review-list-page { --reviews-green: #147344; --reviews-blue: #235eaa; --reviews-purple: #7938aa; --reviews-grey: #596579; }
[data-theme="dark"] .review-list-page { --reviews-green: #65e58b; --reviews-blue: #60a5fa; --reviews-purple: #c084fc; --reviews-grey: #a5b4c5; }
.review-list-page .review-list-table [data-review-value] { --review-badge: var(--reviews-grey); color: var(--review-badge); border-color: color-mix(in srgb, var(--review-badge) 70%, transparent); background: color-mix(in srgb, var(--review-badge) 10%, var(--reviews-panel)); }
.review-list-page .review-list-table :is([data-review-value="LFR"], [data-review-value="HPS"], [data-review-value="Public"]) { --review-badge: var(--reviews-green); }
.review-list-page .review-list-table [data-review-value="Normal"] { --review-badge: var(--reviews-blue); }
.review-list-page .review-list-table [data-review-value="Heroic"] { --review-badge: var(--reviews-purple); }
.review-list-page .review-list-table :is([data-review-value="Mythic"], [data-review-value="DPS"]) { --review-badge: var(--reviews-pink); }
[data-theme="dark"] .review-list-page .review-list-table [data-review-value]:not([data-review-value="Unknown"]):not([data-review-value="Private"]):not([data-review-value="—"]) { text-shadow: 0 0 7px color-mix(in srgb, var(--review-badge) 55%, transparent); box-shadow: inset 0 0 8px color-mix(in srgb, var(--review-badge) 10%, transparent), 0 0 7px color-mix(in srgb, var(--review-badge) 22%, transparent); }
.review-list-page .review-list-table .tabulator-placeholder { justify-content: flex-start; }
.review-list-page .review-list-table .tabulator-placeholder-contents { white-space: normal; padding: 1rem; font-size: .9rem; color: var(--app-muted); }
