/* /Components/Pages/AdminCampaignTests.razor.rz.scp.css */
/* TikTok review studio. Colors come from the --ls-* tokens in app.css; the page heading and metrics reuse the shared admin and workspace classes. */
.review-guidance[b-vgau0f9h6o] { align-items: flex-start; background: var(--ls-surface); border: 1px solid var(--ls-line); border-radius: 14px; box-shadow: inset 4px 0 0 var(--ls-primary); color: var(--ls-primary); display: flex; gap: 12px; margin: 0 0 24px; padding: 14px 18px; }
.review-guidance p[b-vgau0f9h6o] { color: var(--ls-ink); display: grid; font-size: .9rem; gap: 2px; line-height: 1.5; margin: 0; }
.review-guidance span[b-vgau0f9h6o] { color: var(--ls-muted); }
.review-auto-refresh[b-vgau0f9h6o] { align-items: center; color: var(--ls-muted); display: inline-flex; font-size: .8rem; gap: 5px; }

/* Test suite */
.review-suite[b-vgau0f9h6o] { background: var(--ls-surface); border: 1px solid var(--ls-line); border-radius: 16px; margin-bottom: 32px; padding: 24px; }
.review-suite-intro p[b-vgau0f9h6o] { color: var(--ls-muted); font-size: .9rem; line-height: 1.6; margin: 6px 0 0; max-width: 52rem; }
.review-suite-start[b-vgau0f9h6o] { align-items: flex-end; display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
.review-property-choice[b-vgau0f9h6o] { display: grid; flex: 1; gap: 6px; max-width: 32rem; min-width: min(100%, 20rem); }
.review-property-choice label[b-vgau0f9h6o] { color: var(--ls-ink); font-size: .8rem; font-weight: 650; }
.review-property-choice select[b-vgau0f9h6o] { background: var(--ls-surface); border: 1px solid var(--ls-line-strong); border-radius: 10px; color: var(--ls-ink); font: inherit; font-size: .9rem; padding: 9px 12px; width: 100%; }
.review-property-choice select:focus[b-vgau0f9h6o] { border-color: var(--ls-primary); box-shadow: 0 0 0 3px rgba(var(--ls-primary-rgb), .12); outline: none; }
.review-suite-runs[b-vgau0f9h6o] { border-top: 1px solid var(--ls-line); display: grid; gap: 14px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); margin-top: 22px; padding-top: 22px; }
.review-suite-run[b-vgau0f9h6o] { background: var(--ls-surface-muted); border: 1px solid var(--ls-line); border-radius: 14px; padding: 16px; }
.review-suite-run-title[b-vgau0f9h6o] { align-items: flex-start; display: flex; flex-wrap: wrap; gap: 8px 12px; justify-content: space-between; }
.review-suite-run-title strong[b-vgau0f9h6o] { font-size: .95rem; }
.review-suite-run-title > div > span[b-vgau0f9h6o] { color: var(--ls-subtle); display: block; font-size: .76rem; margin-top: 2px; }
.review-case-list[b-vgau0f9h6o] { list-style: none; margin: 12px 0 4px; padding: 0; }
.review-case-list li[b-vgau0f9h6o] { align-items: center; border-top: 1px solid var(--ls-line); display: flex; font-size: .86rem; gap: 10px; padding: 9px 0; }
.review-case-list li:first-child[b-vgau0f9h6o] { border-top: 0; }
.review-case-list strong[b-vgau0f9h6o] { flex: 1; font-weight: 600; min-width: 0; }
.review-case-number[b-vgau0f9h6o] { align-items: center; background: var(--ls-surface); border: 1px solid var(--ls-line-strong); border-radius: 50%; color: var(--ls-subtle); display: inline-flex; flex: none; font-size: .72rem; font-weight: 700; height: 24px; justify-content: center; width: 24px; }
.review-case-list li.started .review-case-number[b-vgau0f9h6o] { background: var(--ls-primary); border-color: var(--ls-primary); color: #fff; }
.review-case-list a[b-vgau0f9h6o] { font-size: .82rem; white-space: nowrap; }
.review-case-waiting[b-vgau0f9h6o] { color: var(--ls-subtle); font-size: .8rem; }

/* Status pills */
.review-status[b-vgau0f9h6o] { align-self: flex-start; background: var(--ls-surface-muted); border-radius: 999px; color: var(--ls-muted); flex-shrink: 0; font-size: .72rem; font-weight: 700; padding: 4px 10px; white-space: nowrap; }
.review-status.approved[b-vgau0f9h6o] { background: var(--ls-success-soft); color: var(--ls-success); }
.review-status.changes[b-vgau0f9h6o] { background: var(--ls-accent-soft); color: var(--ls-accent-strong); }
.review-status.awaiting[b-vgau0f9h6o], .review-status.running[b-vgau0f9h6o] { background: var(--ls-primary-soft); color: var(--ls-primary); }
.review-status.failed[b-vgau0f9h6o] { background: var(--ls-error-soft); color: var(--ls-error); }

/* Gallery */
.review-gallery-heading[b-vgau0f9h6o] { align-items: baseline; flex-wrap: wrap; gap: 4px 16px; }
.review-gallery-heading span[b-vgau0f9h6o] { color: var(--ls-muted); font-size: .85rem; }
.review-grid[b-vgau0f9h6o] { align-items: start; display: grid; gap: 20px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); }
.review-card[b-vgau0f9h6o] { background: var(--ls-surface); border: 1px solid var(--ls-line); border-radius: 16px; min-width: 0; overflow: hidden; scroll-margin-top: 96px; }
.review-card:target[b-vgau0f9h6o] { border-color: var(--ls-accent); box-shadow: 0 0 0 3px var(--ls-accent-soft); }
.review-card-heading[b-vgau0f9h6o] { align-items: flex-start; display: flex; gap: 12px; justify-content: space-between; padding: 18px 18px 14px; }
.review-card-heading > div[b-vgau0f9h6o] { flex: 1 1 auto; min-width: 0; }
.review-kicker[b-vgau0f9h6o] { color: var(--ls-accent-strong); display: block; font-size: .66rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.review-card-heading h3[b-vgau0f9h6o] { font-family: var(--ls-font-display); font-size: 1.15rem; font-weight: 600; line-height: 1.3; margin: 4px 0 6px; overflow-wrap: anywhere; }
.review-card-heading p[b-vgau0f9h6o] { color: var(--ls-subtle); font-size: .78rem; margin: 0; }
.review-card-heading .review-card-address[b-vgau0f9h6o] { color: var(--ls-ink); font-size: .9rem; font-weight: 600; margin-bottom: 2px; }

/* The media area is the same height whether it holds a video or a progress state, so cards line up. */
.review-player[b-vgau0f9h6o], .review-pending[b-vgau0f9h6o] { height: 500px; }
.review-player[b-vgau0f9h6o] { align-items: center; background: var(--ls-night); display: flex; justify-content: center; padding: 14px; }
.review-player video[b-vgau0f9h6o] { aspect-ratio: 9 / 16; background: #000; border-radius: 8px; display: block; height: 100%; max-width: 100%; object-fit: contain; }
.review-pending[b-vgau0f9h6o] { align-items: center; background: var(--ls-surface-muted); border-block: 1px solid var(--ls-line); display: flex; flex-direction: column; gap: 6px; justify-content: center; padding: 24px; text-align: center; }
.review-pending strong[b-vgau0f9h6o] { font-size: 1rem; margin-top: 8px; }
.review-pending span[b-vgau0f9h6o] { color: var(--ls-muted); font-size: .88rem; }
.review-pending p[b-vgau0f9h6o] { color: var(--ls-subtle); font-size: .8rem; line-height: 1.5; margin: 8px 0 0; max-width: 18rem; }
.review-pending-icon[b-vgau0f9h6o] { align-items: center; background: var(--ls-error-soft); border-radius: 50%; color: var(--ls-error); display: flex; height: 56px; justify-content: center; width: 56px; }
.review-video-links[b-vgau0f9h6o] { align-items: center; border-bottom: 1px solid var(--ls-line); display: flex; flex-wrap: wrap; font-size: .82rem; gap: 8px; justify-content: space-between; padding: 10px 18px; }
.review-video-links span[b-vgau0f9h6o] { color: var(--ls-muted); }
.review-video-links a[b-vgau0f9h6o] { align-items: center; display: inline-flex; gap: 4px; }
.review-card-content[b-vgau0f9h6o] { padding: 16px 18px 18px; }
.review-settings[b-vgau0f9h6o] { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0 0 12px; padding: 0; }
.review-settings li[b-vgau0f9h6o] { background: var(--ls-surface-muted); border: 1px solid var(--ls-line); border-radius: 999px; color: var(--ls-muted); font-size: .74rem; padding: 3px 9px; }
.review-property-link[b-vgau0f9h6o] { font-size: .84rem; }
.review-decision[b-vgau0f9h6o] { border-top: 1px solid var(--ls-line); margin-top: 16px; padding-top: 16px; }
.review-decision h4[b-vgau0f9h6o] { font-size: .95rem; font-weight: 700; margin: 0 0 2px; }
.review-decision p[b-vgau0f9h6o] { color: var(--ls-muted); font-size: .82rem; line-height: 1.5; margin: 0 0 12px; }
.review-decision-actions[b-vgau0f9h6o] { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.review-history[b-vgau0f9h6o] { border-top: 1px solid var(--ls-line); font-size: .84rem; margin-top: 14px; padding-top: 12px; }
.review-history summary[b-vgau0f9h6o] { color: var(--ls-ink); cursor: pointer; font-weight: 650; }
.review-history ol[b-vgau0f9h6o] { list-style: none; margin: 8px 0 0; padding: 0; }
.review-history li[b-vgau0f9h6o] { border-bottom: 1px solid var(--ls-line); padding: 10px 0; }
.review-history li:last-child[b-vgau0f9h6o] { border-bottom: 0; }
.review-history time[b-vgau0f9h6o] { color: var(--ls-subtle); display: block; font-size: .74rem; margin: 2px 0; }
.review-history p[b-vgau0f9h6o] { color: var(--ls-muted); margin: 6px 0 0; overflow-wrap: anywhere; white-space: pre-wrap; }
.review-empty[b-vgau0f9h6o] { align-items: center; background: var(--ls-surface); border: 1px dashed var(--ls-line-strong); border-radius: 16px; color: var(--ls-primary); display: flex; flex-direction: column; padding: 48px 24px; text-align: center; }
.review-empty h3[b-vgau0f9h6o] { color: var(--ls-ink); font-family: var(--ls-font-display); font-size: 1.3rem; font-weight: 600; margin: 12px 0 0; }
.review-empty p[b-vgau0f9h6o] { color: var(--ls-muted); margin: 8px 0 20px; max-width: 26rem; }

@media (max-width: 600px) {
    .review-suite[b-vgau0f9h6o] { padding: 18px; }
    .review-player[b-vgau0f9h6o], .review-pending[b-vgau0f9h6o] { height: 440px; }
    .review-card-heading[b-vgau0f9h6o], .review-card-content[b-vgau0f9h6o] { padding-inline: 16px; }
    .review-video-links[b-vgau0f9h6o] { padding-inline: 16px; }
}

/* Every test run owns its campaign cards and remains controllable while collapsed. */
.review-archive-filter[b-vgau0f9h6o] { display:flex; align-items:center; gap:8px; margin:0 0 16px; font-size:.9rem; }
.review-session[b-vgau0f9h6o] { border:1px solid var(--ls-line-strong); border-radius:16px; margin:0 0 24px; overflow:hidden; background:var(--ls-surface); }
.review-session-header[b-vgau0f9h6o] { display:flex; align-items:center; flex-wrap:wrap; gap:12px; padding:16px; background:var(--ls-surface-muted); }
.review-session-toggle[b-vgau0f9h6o] { display:flex; align-items:center; gap:12px; flex:1 1 300px; min-width:0; border:0; background:transparent; color:var(--ls-ink); font:inherit; text-align:left; cursor:pointer; padding:4px; }
.review-session-toggle:focus-visible[b-vgau0f9h6o] { outline:2px solid var(--ls-primary); outline-offset:4px; border-radius:4px; }
.review-session-toggle strong[b-vgau0f9h6o] { display:block; font-size:1.1rem; }
.review-session-chevron[b-vgau0f9h6o] { font-size:1.4rem; flex:none; }
.review-session-meta[b-vgau0f9h6o] { display:block; font-size:.8rem; color:var(--ls-muted); overflow-wrap:anywhere; margin-top:4px; }
.review-session-actions[b-vgau0f9h6o] { display:flex; flex-wrap:wrap; gap:8px; }
.review-session-body[b-vgau0f9h6o] { border-top:1px solid var(--ls-line); padding:20px; }
.review-session-help[b-vgau0f9h6o] { color:var(--ls-muted); font-size:.85rem; margin-bottom:12px; }
.review-session-body > .review-case-list[b-vgau0f9h6o] { border-bottom:1px solid var(--ls-line); padding-bottom:12px; margin:0 0 20px; }
.review-player video[b-vgau0f9h6o] { max-width:400px; }
@media (max-width:600px) { .review-session-body[b-vgau0f9h6o] { padding:12px; } .review-session-header[b-vgau0f9h6o] { padding:12px; } .review-case-list li[b-vgau0f9h6o] { flex-wrap:wrap; } }
