/* ================================================================
   COMPARE HISTORY — Matches Audit Trail design system
   ================================================================ */

/* ── Page shell ───────────────────────────────────────────────── */
.ch-page {
    display: flex;
    flex-direction: column;
    height: calc(100vh - 60px);
    background: #f1f5f9;
    overflow: hidden;
}

/* ── Header ───────────────────────────────────────────────────── */
.ch-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.6rem 1.75rem;
    background: #fff;
    border-bottom: 1px solid #e2e8f0;
    flex-shrink: 0;
}

.ch-header-left {
    display: flex;
    align-items: center;
    gap: 0.875rem;
}

.ch-header-icon {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    color: #1d4ed8;
    flex-shrink: 0;
}

.ch-title {
    font-size: var(--ds-h2);
    font-weight: var(--ds-fw-semibold);
    line-height: var(--ds-lh-h2);
    color: var(--gray-900);
    margin: 0;
    letter-spacing: -0.015em;
}

.ch-subtitle {
    font-size: var(--ds-label);
    color: var(--gray-500);
    margin: 2px 0 0;
}

.ch-refresh-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 6px 14px;
    background: #fff;
    border: 1px solid var(--gray-200);
    border-radius: 8px;
    font-size: var(--ds-label);
    font-weight: var(--ds-fw-semibold);
    color: var(--gray-700);
    cursor: pointer;
    transition: all 0.15s;
}

.ch-refresh-btn:hover:not(:disabled) { background: #f8fafc; border-color: #94a3b8; color: #0f172a; }
.ch-refresh-btn:disabled             { opacity: 0.5; cursor: not-allowed; }

@keyframes spin { to { transform: rotate(360deg); } }
.spin { animation: spin 0.8s linear infinite; display: inline-block; }

/* ── Stats ────────────────────────────────────────────────────── */
.ch-stats {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 0;
    border-bottom: 1px solid #e2e8f0;
    flex-shrink: 0;
}

.ch-stat {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.45rem 0.875rem;
    background: #fff;
    border-right: 1px solid #e2e8f0;
    position: relative;
    overflow: hidden;
}

.ch-stat::before {
    content: '';
    position: absolute;
    left: 0; top: 0; bottom: 0;
    width: 3px;
}

.ch-stat:last-child { border-right: none; }

.ch-stat--gray::before   { background: #94a3b8; }
.ch-stat--indigo::before { background: #6366f1; }
.ch-stat--sky::before    { background: #0ea5e9; }
.ch-stat--amber::before  { background: #f59e0b; }
.ch-stat--red::before    { background: #ef4444; }
.ch-stat--green::before  { background: #10b981; }

.ch-stat-icon-wrap {
    width: 26px;
    height: 26px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.78rem;
    flex-shrink: 0;
}

.ch-stat--gray   .ch-stat-icon-wrap { background: #f1f5f9; color: #64748b; }
.ch-stat--indigo .ch-stat-icon-wrap { background: #eef2ff; color: #4f46e5; }
.ch-stat--sky    .ch-stat-icon-wrap { background: #e0f2fe; color: #0284c7; }
.ch-stat--amber  .ch-stat-icon-wrap { background: #fffbeb; color: #d97706; }
.ch-stat--red    .ch-stat-icon-wrap { background: #fef2f2; color: #dc2626; }
.ch-stat--green  .ch-stat-icon-wrap { background: #f0fdf4; color: #059669; }

.ch-stat-value {
    font-size: var(--ds-h3);
    font-weight: var(--ds-fw-bold);
    color: var(--gray-900);
    line-height: 1;
    font-variant-numeric: tabular-nums;
}

.ch-stat--red   .ch-stat-value { color: #dc2626; }
.ch-stat--green .ch-stat-value { color: #059669; }

.ch-stat-label {
    font-size: var(--ds-small);
    font-weight: var(--ds-fw-semibold);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--gray-500);
    margin-top: 2px;
}

/* ── Filter bar ───────────────────────────────────────────────── */
.ch-filters {
    display: flex;
    align-items: center;
    gap: 0;
    padding: 0 1.75rem;
    background: #fff;
    border-bottom: 1px solid #e2e8f0;
    flex-shrink: 0;
    height: 44px;
}

.ch-filter-group {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0 1rem;
}

.ch-filter-divider {
    width: 1px;
    height: 24px;
    background: #e2e8f0;
}

.ch-filter-label {
    font-size: var(--ds-small);
    font-weight: var(--ds-fw-bold);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--gray-400);
    white-space: nowrap;
}

.ch-filter-input {
    height: 32px;
    padding: 0 10px;
    font-size: var(--ds-label);
    font-family: var(--ds-font);
    border: 1px solid var(--gray-200);
    border-radius: 6px;
    background: var(--gray-50);
    color: var(--gray-800);
    outline: none;
    transition: all 0.15s;
    cursor: pointer;
}

.ch-filter-input:focus { border-color: #2563eb; background: #fff; box-shadow: 0 0 0 3px rgba(37,99,235,0.08); }

.ch-btn-reset {
    height: 30px;
    padding: 0 0.75rem;
    background: transparent;
    color: #64748b;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    font-size: 0.8rem;
    font-weight: 500;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    transition: all 0.15s;
    margin-left: 0.5rem;
}

.ch-btn-reset:hover { background: #f1f5f9; color: #1e293b; border-color: #cbd5e1; }

.ch-filter-count {
    margin-left: auto;
    font-size: 0.78rem;
    color: #94a3b8;
    font-weight: 600;
    padding-right: 0.5rem;
}

/* ── Table card ───────────────────────────────────────────────── */
.ch-card {
    flex: 1;
    display: flex;
    flex-direction: column;
    margin: 1rem 1.75rem;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
    min-height: 0;
}

/* Count bar */
.ch-count-bar {
    display: flex;
    align-items: center;
    padding: 0.35rem 1.25rem;
    border-bottom: 1px solid #f1f5f9;
    background: #fafbfc;
    flex-shrink: 0;
}

.ch-count-label { font-size: var(--ds-label); color: var(--gray-500); }
.ch-count-label strong { color: var(--gray-800); }

/* Loading / Empty */
.ch-state-loading,
.ch-state-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem 2rem;
    color: #64748b;
    font-size: 0.875rem;
    gap: 0.5rem;
    flex: 1;
}

.ch-state-empty i { font-size: 2.5rem; color: #cbd5e1; }

/* ── Scroll area ──────────────────────────────────────────────── */
.ch-scroll {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    min-height: 0;
}

/* ── Table ────────────────────────────────────────────────────── */
.ch-tbl {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    font-family: var(--ds-font);
    font-size: var(--tbl-body-size);
}

.ch-tbl thead tr {
    position: sticky;
    top: 0;
    z-index: 2;
}

.ch-tbl thead th {
    padding: 0 var(--tbl-cell-px);
    height: var(--tbl-head-h);
    background: var(--gray-50);
    border-bottom: 2px solid var(--gray-200);
    font-size: var(--tbl-head-size);
    font-weight: var(--ds-fw-bold);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--gray-500);
    white-space: nowrap;
    text-align: left;
    user-select: none;
    vertical-align: middle;
}

.ch-tbl thead th.col-right  { text-align: right;  }
.ch-tbl thead th.col-center { text-align: center; }

/* Extra breathing room before Preview column */
.ch-tbl thead th:nth-child(8),
.ch-tbl tbody td:nth-child(8) { padding-left: 24px; }

.ch-tbl tbody tr {
    border-bottom: 1px solid var(--gray-100);
    cursor: pointer;
    transition: background 0.1s;
}

.ch-tbl tbody tr:last-child { border-bottom: none; }
.ch-tbl tbody tr:hover      { background: #f0f9ff; }

.ch-row-selected {
    background: #eff6ff !important;
    box-shadow: inset 3px 0 0 #3b82f6;
}

.ch-tbl td {
    padding: 0 var(--tbl-cell-px);
    height: var(--tbl-row-h);
    vertical-align: middle;
    overflow: hidden;
    color: var(--gray-700);
    font-size: var(--tbl-body-size);
}

.ch-tbl td.col-right  { text-align: right;  }
.ch-tbl td.col-center { text-align: center; }

/* ── Cell types ───────────────────────────────────────────────── */
.ts-date {
    display: block;
    font-size: var(--ds-body);
    font-weight: var(--ds-fw-semibold);
    color: var(--gray-800);
    white-space: nowrap;
}

.ts-time {
    display: block;
    font-size: var(--ds-small);
    color: var(--gray-400);
    font-family: 'Consolas', monospace;
    margin-top: 1px;
}

/* Connection pair */
.env-row {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    overflow: hidden;
}

.env-src {
    font-size: var(--ds-small);
    font-weight: var(--ds-fw-bold);
    background: #eff6ff;
    color: #1d4ed8;
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid #bfdbfe;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 80px;
}

.env-tgt {
    font-size: var(--ds-small);
    font-weight: var(--ds-fw-bold);
    background: #f5f3ff;
    color: #4f46e5;
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid #ddd6fe;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 80px;
}

.env-arrow { color: var(--gray-300); font-size: var(--ds-small); flex-shrink: 0; }

/* Type badges */
.type-badge {
    display: inline-block;
    padding: 0.1rem 0.45rem;
    border-radius: 4px;
    font-size: 0.69rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    white-space: nowrap;
    border: 1px solid transparent;
    line-height: 1.6;
}

.type-schema         { background: #eef2ff; color: #4f46e5; border-color: #c7d2fe; }
.type-tablestructure { background: #e0f2fe; color: #0369a1; border-color: #bae6fd; }
.type-data           { background: #fffbeb; color: #b45309; border-color: #fde68a; }
.type-fulldb         { background: #e0e7ff; color: #3730a3; border-color: #c7d2fe; }
.type-validation     { background: #f0fdf4; color: #166534; border-color: #bbf7d0; }
.type-function       { background: #fdf2f8; color: #9d174d; border-color: #fbcfe8; }
.type-view           { background: #ecfdf5; color: #065f46; border-color: #a7f3d0; }
.type-unknown        { background: #f1f5f9; color: #64748b; border-color: #e2e8f0; }

/* Status badges */
.status-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.1rem 0.45rem;
    border-radius: 4px;
    font-size: 0.69rem;
    font-weight: 700;
    white-space: nowrap;
    border: 1px solid transparent;
    line-height: 1.6;
}

.status-sync  { background: #f0fdf4; color: #15803d; border-color: #bbf7d0; }
.status-drift { background: #fff7ed; color: #c2410c; border-color: #fed7aa; }

/* Number cells */
.num-cell  { font-variant-numeric: tabular-nums; font-weight: 600; color: #475569; font-size: 0.85rem; }
.num-drift { color: #dc2626; font-weight: 700; }
.num-zero  { color: #cbd5e1; font-weight: 400; }

/* Saved by */
.saved-by {
    font-size: 0.78rem;
    color: #64748b;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
    max-width: 190px;
}

/* Eye button */
.ch-eye-btn {
    width: 24px;
    height: 24px;
    border: 1px solid #e2e8f0;
    border-radius: 5px;
    background: #f8fafc;
    color: #64748b;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.72rem;
    transition: all 0.15s;
    padding: 0;
}

.ch-eye-btn:hover  { background: #2563eb; border-color: #2563eb; color: #fff; }
.ch-eye-active     { background: #dbeafe !important; border-color: #93c5fd !important; color: #1d4ed8 !important; }

/* ── Pagination ───────────────────────────────────────────────── */
.ch-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.625rem 1.25rem;
    border-top: 1px solid #f1f5f9;
    background: #fafbfc;
    flex-shrink: 0;
}

.ch-page-info { font-size: 0.78rem; color: #64748b; }
.ch-page-btns { display: flex; gap: 0.25rem; }

.ch-pg-btn {
    min-width: 26px;
    height: 26px;
    padding: 0 0.4rem;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    font-size: 0.8rem;
    color: #475569;
    cursor: pointer;
    transition: all 0.15s;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.ch-pg-btn:hover:not(:disabled) { background: #f1f5f9; border-color: #2563eb; color: #2563eb; }
.ch-pg-btn.is-active            { background: #2563eb; border-color: #2563eb; color: #fff; font-weight: 700; }
.ch-pg-btn:disabled             { opacity: 0.35; cursor: not-allowed; }

/* ══ Slide-over Drawer ═══════════════════════════════════════════ */
.ch-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(15,23,42,0.4);
    z-index: 1000;
    animation: fadeIn 0.2s ease;
}

.ch-drawer {
    position: fixed;
    top: 0; right: 0; bottom: 0;
    width: min(68vw, 900px);
    background: #fff;
    z-index: 1001;
    display: flex;
    flex-direction: column;
    box-shadow: -8px 0 40px rgba(0,0,0,0.18);
    animation: slideInRight 0.25s ease;
}

@keyframes slideInRight {
    from { transform: translateX(100%); opacity: 0; }
    to   { transform: translateX(0);    opacity: 1; }
}

@keyframes fadeIn {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Drawer header */
.ch-drawer-hdr {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.25rem 0.875rem;
    border-bottom: 2px solid #e2e8f0;
    background: #f8fafc;
    flex-shrink: 0;
    gap: 0.75rem;
}

.ch-drawer-hdr-left { display: flex; align-items: center; gap: 0.65rem; }
.ch-drawer-title    { font-size: 1rem; font-weight: 800; color: #1e293b; }
.ch-drawer-sub      { font-size: 0.72rem; color: #94a3b8; margin-top: 0.1rem; }

.ch-drawer-close {
    width: 32px; height: 32px;
    border-radius: 6px;
    border: 1px solid #e2e8f0;
    background: #fff;
    cursor: pointer;
    color: #64748b;
    font-size: 0.85rem;
    flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    transition: all 0.15s;
    padding: 0;
}

.ch-drawer-close:hover { background: #fee2e2; border-color: #fecaca; color: #dc2626; }

.ch-drawer-loading {
    flex: 1;
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
}

/* Drawer meta */
.ch-drawer-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.75rem;
    padding: 0.65rem 1.25rem;
    background: #fff;
    border-bottom: 1px solid #e2e8f0;
    flex-shrink: 0;
}

.ch-meta-envs    { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
.ch-env-pill     { font-size: 0.72rem; font-weight: 700; padding: 0.22rem 0.6rem; border-radius: 5px; }
.ch-env-pill-src { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; }
.ch-env-pill-tgt { background: #f5f3ff; color: #4f46e5; border: 1px solid #ddd6fe; }
.ch-meta-arrow   { color: #94a3b8; font-size: 0.7rem; }

.ch-meta-nums { display: flex; gap: 1.25rem; align-items: center; flex-wrap: wrap; }
.ch-mn        { display: flex; flex-direction: column; align-items: center; line-height: 1.2; }
.ch-mn-v      { font-size: 0.9rem; font-weight: 800; color: #1e293b; font-variant-numeric: tabular-nums; }
.ch-mn-l      { font-size: 0.6rem; font-weight: 600; color: #94a3b8; text-transform: uppercase; letter-spacing: 0.04em; }
.ch-mn-drift .ch-mn-v { color: #dc2626; }
.ch-mn-sync  .ch-mn-v { color: #059669; }
.ch-mn-data  .ch-mn-v { color: #d97706; }
.ch-mn-miss  .ch-mn-v { color: #ea580c; }
.ch-mn-extra .ch-mn-v { color: #ef4444; }

/* Drawer body */
.ch-drawer-body {
    flex: 1;
    overflow-y: auto;
    padding: 1rem 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

/* Report content */
.ch-report-summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
    gap: 0.65rem;
    margin-bottom: 0.75rem;
}

.ch-sumbox {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 7px;
    padding: 0.55rem 0.75rem;
    text-align: center;
    border-left: 3px solid #cbd5e1;
}

.ch-sumbox h3    { font-size: 1.3rem; font-weight: 800; margin: 0 0 0.1rem; color: #1e293b; }
.ch-sumbox label { font-size: 0.65rem; font-weight: 600; color: #64748b; text-transform: uppercase; letter-spacing: 0.04em; }
.ch-sumbox-miss  { border-left-color: #f97316; } .ch-sumbox-miss h3  { color: #c2410c; }
.ch-sumbox-extra { border-left-color: #ef4444; } .ch-sumbox-extra h3 { color: #dc2626; }
.ch-sumbox-warn  { border-left-color: #f59e0b; } .ch-sumbox-warn h3  { color: #d97706; }
.ch-sumbox-sync  { border-left-color: #10b981; } .ch-sumbox-sync h3  { color: #059669; }

.ch-section-hdr {
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.3rem 0.6rem;
    border-radius: 5px;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.ch-section-missing  { background: #fff7ed; color: #c2410c; border-left: 3px solid #f97316; }
.ch-section-extra    { background: #fef2f2; color: #dc2626; border-left: 3px solid #ef4444; }
.ch-section-modified { background: #eff6ff; color: #1d4ed8; border-left: 3px solid #3b82f6; }
.ch-section-sync     { background: #f0fdf4; color: #166534; border-left: 3px solid #10b981; }

.ch-diff-table { width: 100%; border-collapse: collapse; font-size: 0.75rem; }
.ch-diff-table th {
    text-align: left;
    padding: 0.35rem 0.6rem;
    font-size: 0.64rem; font-weight: 700;
    color: #64748b; text-transform: uppercase; letter-spacing: 0.04em;
    background: #f8fafc; border-bottom: 1px solid #e2e8f0;
}
.ch-diff-table td { padding: 0.4rem 0.6rem; border-bottom: 1px solid #f1f5f9; vertical-align: top; }
.ch-diff-table tr:last-child td { border-bottom: none; }
.ch-diff-table tr:hover td { background: #f8fafc; }

.ch-badge-miss { background: #fff7ed; color: #c2410c; border: 1px solid #fed7aa; font-size: 0.65rem; font-weight: 700; padding: 0.1rem 0.4rem; border-radius: 4px; white-space: nowrap; }
.ch-badge-extra{ background: #fef2f2; color: #dc2626; border: 1px solid #fecaca; font-size: 0.65rem; font-weight: 700; padding: 0.1rem 0.4rem; border-radius: 4px; white-space: nowrap; }

.ch-tag-grid { display: flex; flex-wrap: wrap; gap: 0.35rem; padding: 0.5rem 0; }
.ch-tag { font-size: 0.7rem; font-weight: 500; padding: 0.18rem 0.5rem; border-radius: 4px; border: 1px solid #e2e8f0; background: #fff; color: #475569; }

.ch-info-note {
    font-size: 0.75rem; color: #64748b;
    background: #f0f9ff; border: 1px solid #bae6fd;
    border-radius: 6px; padding: 0.5rem 0.75rem;
    display: flex; align-items: center;
}

.ch-table-section { margin-bottom: 1rem; }
.ch-table-section-title {
    font-size: 0.78rem; font-weight: 700; color: #1d4ed8;
    display: flex; align-items: center; gap: 0.4rem;
    margin-bottom: 0.35rem; padding: 0.25rem 0.5rem;
    background: #eff6ff; border-radius: 5px;
}

/* Drawer footer */
.ch-drawer-footer {
    display: flex; align-items: center; gap: 0.5rem;
    padding: 0.65rem 1.25rem;
    border-top: 1px solid #e2e8f0;
    background: #f8fafc;
    flex-shrink: 0;
}

.ch-dl-label { font-size: 0.7rem; font-weight: 600; color: #94a3b8; text-transform: uppercase; letter-spacing: 0.05em; }
.ch-dl-btn {
    display: inline-flex; align-items: center;
    padding: 0.28rem 0.7rem; font-size: 0.72rem; font-weight: 600;
    border-radius: 5px; border: 1px solid; cursor: pointer; transition: all 0.15s;
}
.ch-dl-html { color: #1d4ed8; background: #eff6ff; border-color: #bfdbfe; } .ch-dl-html:hover { background: #dbeafe; }
.ch-dl-csv  { color: #166534; background: #f0fdf4; border-color: #bbf7d0; } .ch-dl-csv:hover  { background: #dcfce7; }
.ch-dl-json { color: #374151; background: #f9fafb; border-color: #d1d5db; } .ch-dl-json:hover { background: #f3f4f6; }

.ch-data-embed {
    display: flex; flex-direction: column;
    flex: 1; min-height: 400px; font-size: 0.8rem;
}

@media (max-width: 768px) {
    .ch-drawer { width: 100vw; }
    .ch-stats  { grid-template-columns: repeat(4, 1fr); }
    .ch-scroll { overflow-x: auto; }
}

@media (max-width: 640px) {
    .ch-stats { grid-template-columns: repeat(2, 1fr); }
    .ch-filters {
        flex-direction: column;
        height: auto;
        padding: 0.5rem 1rem;
        gap: 0.5rem;
        align-items: flex-start;
    }
    .ch-filter-count { margin-left: 0; }
    .ch-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }
}

@media (max-width: 480px) {
    .ch-stats { grid-template-columns: repeat(2, 1fr); }
    .ch-drawer-meta { flex-direction: column; align-items: flex-start; }
    .ch-meta-nums { gap: 0.75rem; }
}


/* Release Validation drawer banner */
.ch-rv-banner {
    display: flex; align-items: center;
    padding: 0.6rem 1rem; border-radius: 7px;
    font-size: 0.82rem; font-weight: 600;
    margin-bottom: 1rem;
}
.ch-rv-banner-ok   { background: #f0fdf4; color: #166534; border: 1px solid #bbf7d0; }
.ch-rv-banner-fail { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }

/* Release Validation approval stamps */
.ch-rv-approved-stamp {
    display: flex; align-items: center;
    padding: 0.45rem 1rem; border-radius: 7px;
    font-size: 0.78rem; font-weight: 600;
    background: #f0fdf4; color: #166534;
    border: 1px solid #bbf7d0;
    margin-bottom: 0.75rem;
}
.ch-rv-pending-stamp {
    display: flex; align-items: center;
    padding: 0.45rem 1rem; border-radius: 7px;
    font-size: 0.78rem; font-weight: 600;
    background: #fffbeb; color: #92400e;
    border: 1px solid #fde68a;
    margin-bottom: 0.75rem;
}
