/* Phase 2/3: Findings cards, Review Inbox, Playbooks */

.analysis-view-tab-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    margin-left: 6px;
    padding: 0 5px;
    border-radius: 999px;
    background: var(--ast-global-color-0, #046bd2);
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
}

.analysis-findings-view {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 16px 20px 24px;
}

.analysis-findings-empty,
.review-inbox-empty {
    padding: 32px 20px;
    color: var(--ast-global-color-3, #666);
    text-align: center;
}

.finding-card {
    border: 1px solid var(--ast-border-color, #e2e4e8);
    border-radius: 8px;
    padding: 14px 16px;
    background: #fff;
}

.finding-card.finding-severity-critical { border-left: 4px solid #cf222e; }
.finding-card.finding-severity-high { border-left: 4px solid #bc4c00; }
.finding-card.finding-severity-medium { border-left: 4px solid #8250df; }
.finding-card.finding-severity-low { border-left: 4px solid #8c959f; }

.finding-card--dismissed {
    opacity: 0.78;
    background: var(--ast-global-color-5, #f6f8fa);
}

.finding-card--dismissed .finding-summary {
    color: var(--ast-global-color-3, #656d76);
}

.finding-card.is-highlighted {
    outline: 2px solid var(--ast-global-color-0, #046bd2);
    outline-offset: 2px;
}

.finding-status-badge--dismissed {
    background: rgba(140, 149, 159, 0.15);
    color: #656d76;
    text-transform: none;
    font-size: 11px;
    font-weight: 500;
    padding: 2px 8px;
    border-radius: 999px;
}

.review-inbox-cards-view {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    max-height: calc(100vh - 220px);
}

.analysis-findings-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 120px;
}

.finding-card-header {
    display: flex;
    gap: 8px;
    align-items: center;
    margin-bottom: 8px;
}

.finding-severity-badge,
.finding-type-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 500;
    text-transform: none;
    letter-spacing: normal;
}

.finding-severity-badge {
    background: rgba(130, 80, 223, 0.12);
    color: #8250df;
}

.finding-type-badge {
    background: var(--ast-global-color-5, #f6f8fa);
    color: var(--ast-global-color-3, #656d76);
}

.finding-summary {
    margin: 0 0 10px;
    font-size: 14px;
    line-height: 1.5;
    color: var(--ast-global-color-2, #24292f);
    white-space: pre-wrap;
    word-break: break-word;
}

.finding-refs,
.finding-entities {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 0;
}

.finding-location-groups {
    display: flex;
    flex-direction: column;
    gap: .55rem;
    margin-bottom: 10px;
}

.finding-location-groups--compact {
    gap: .45rem;
}

.finding-location-group--compact .review-inbox-location-label {
    margin: 0 0 .2rem;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: normal;
    text-transform: none;
    color: var(--ast-global-color-3, #6b7280);
}

.finding-location-group--compact .finding-refs {
    margin: 0;
}

.finding-ref-chip .finding-ref-chip-pnum {
    font-size: 0.82em;
    font-weight: 400;
    opacity: 0.62;
    margin-left: 0.35em;
}

.finding-ref-chip .finding-ref-chip-text + .finding-ref-chip-pnum {
    margin-left: 0.45em;
}

.finding-ref-btn,
.finding-entity-btn,
.finding-ref-chip {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: 999px;
    border: 1px solid var(--ast-border-color, #d0d7de);
    background: var(--ast-global-color-5, #f6f8fa);
    font-size: 12px;
    cursor: pointer;
}

.finding-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.finding-action-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border: 1px solid var(--ast-border-color, #d0d7de);
    border-radius: 6px;
    background: #fff;
    font-size: 12px;
    font-weight: 400;
    text-transform: none !important;
    cursor: pointer;
}

.finding-action-btn:hover {
    border-color: var(--ast-global-color-0, #046bd2);
    color: var(--ast-global-color-0, #046bd2);
}

.finding-action-btn.finding-action-primary,
.finding-action-btn.ast-button.ast-primary,
.review-inbox-btn.ast-button.ast-primary {
    background: var(--ast-global-color-0, #046bd2) !important;
    border-color: var(--ast-global-color-0, #046bd2) !important;
    color: #fff !important;
}

.finding-action-btn.finding-action-primary:hover,
.finding-action-btn.ast-button.ast-primary:hover,
.review-inbox-btn.ast-button.ast-primary:hover {
    background: color-mix(in srgb, var(--ast-global-color-0, #046bd2) 88%, #000) !important;
    border-color: color-mix(in srgb, var(--ast-global-color-0, #046bd2) 88%, #000) !important;
    color: #fff !important;
}

.finding-action-btn.ast-button.ast-outline,
.review-inbox-btn.ast-button.ast-outline {
    background: var(--ast-global-color-5, #fff);
    border-color: var(--ast-border-color, #d0d7de);
    color: var(--ast-global-color-2, #24292f);
}

.finding-action-btn.ast-button.ast-outline:hover,
.review-inbox-btn.ast-button.ast-outline:hover {
    border-color: var(--ast-global-color-0, #046bd2);
    color: var(--ast-global-color-0, #046bd2);
}

.finding-severity-badge.finding-severity-critical { background: rgba(207, 34, 46, 0.12); color: #cf222e; }
.finding-severity-badge.finding-severity-high { background: rgba(188, 76, 0, 0.12); color: #bc4c00; }
.finding-severity-badge.finding-severity-medium { background: rgba(130, 80, 223, 0.12); color: #8250df; }
.finding-severity-badge.finding-severity-low { background: rgba(140, 149, 159, 0.15); color: #656d76; }

.finding-type-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.finding-source-label,
.review-inbox-source {
    margin-left: auto;
    font-size: 11px;
    color: var(--ast-global-color-3, #656d76);
}

.finding-body,
.review-inbox-body {
    margin: 0 0 10px;
    font-size: 13px;
    line-height: 1.45;
    color: var(--ast-global-color-3, #656d76);
    white-space: pre-wrap;
    word-break: break-word;
}

.finding-body-list {
    margin: 0 0 8px;
    padding-left: 1.25rem;
}

.finding-body-list li + li {
    margin-top: 0.35rem;
}

.finding-body-line {
    margin: 0 0 0.5rem;
}

.finding-segment-chip {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: 999px;
    border: 1px dashed var(--ast-border-color, #d0d7de);
    background: var(--ast-global-color-5, #f6f8fa);
    font-size: 11px;
    color: var(--ast-global-color-3, #656d76);
}

.review-inbox-item.is-highlighted {
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--ast-global-color-0, #046bd2) 45%, transparent);
}

.finding-action-btn.finding-action-muted {
    opacity: 0.85;
}

.review-inbox-view {
    padding: 16px 20px 24px;
}

.review-inbox-header h2 {
    margin: 0 0 6px;
    font-size: 18px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.review-inbox-counts {
    margin: 0 0 16px;
    font-size: 12px;
    color: var(--ast-global-color-3, #656d76);
}

.review-playbooks {
    display: none !important;
    margin-bottom: 20px;
}

.review-playbooks h3 {
    margin: 0 0 10px;
    font-size: 14px;
}

.review-playbook-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 10px;
}

.review-playbook-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    padding: 12px;
    border: 1px solid var(--ast-border-color, #d0d7de);
    border-radius: 8px;
    background: #fff;
    text-align: left;
    cursor: pointer;
}

.review-playbook-card:hover {
    border-color: var(--ast-global-color-0, #046bd2);
}

.review-playbook-card i {
    color: var(--ast-global-color-0, #046bd2);
}

.review-playbook-card span {
    font-size: 12px;
    color: var(--ast-global-color-3, #656d76);
}

.review-inbox-items {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.review-inbox-item {
    border: 1px solid var(--ast-border-color, #e2e4e8);
    border-radius: 8px;
    padding: 12px 14px;
    background: #fff;
}

.review-inbox-item-head {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin-bottom: 8px;
}

.review-inbox-kind {
    font-size: 11px;
    font-weight: 500;
    text-transform: none;
    color: var(--ast-global-color-3, #656d76);
}

.review-inbox-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 40px 20px;
    color: var(--ast-global-color-3, #656d76);
}

.sbv-improvement-hints {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px dashed var(--ast-border-color, #d0d7de);
}

.sbv-improvement-hint {
    margin-top: 8px;
    padding: 8px 10px;
    border-radius: 6px;
    background: rgba(130, 80, 223, 0.06);
    border: 1px solid rgba(130, 80, 223, 0.15);
}

.sbv-improvement-hint.is-resolved {
    opacity: 0.65;
    background: var(--ast-global-color-5, #f6f8fa);
    border-style: dashed;
}

.sbv-improvement-hint-text {
    margin: 0 0 4px;
    font-size: 13px;
    line-height: 1.45;
}

.sbv-improvement-hint-badge {
    display: inline-block;
    font-size: 10px;
    font-weight: 500;
    text-transform: none;
    color: #8250df;
}

/* Review / findings UI: override Astra theme uppercase on labels, badges, chips, buttons */
.sbv-review-inbox-panel .review-inbox-location-label,
.finding-location-group .review-inbox-location-label,
.review-inbox-location-label {
    font-size: 11px;
    font-weight: 400;
    letter-spacing: normal;
    text-transform: none !important;
}

.sbv-review-inbox-panel .finding-ref-chip,
.sbv-review-inbox-panel .finding-entity-chip,
.sbv-review-inbox-panel .finding-chapter-chip,
.finding-ref-chip,
.finding-entity-chip,
.finding-chapter-chip,
.finding-ref-btn,
.finding-entity-btn {
    text-transform: none !important;
    font-weight: 400;
}

.sbv-review-inbox-panel .finding-action-btn,
.sbv-review-inbox-panel .review-inbox-btn,
.sbv-review-inbox-panel .review-inbox-bulk-btn,
.sbv-review-inbox-panel .review-inbox-scope-clear,
.sbv-review-inbox-panel .review-inbox-status-tab,
.finding-card .finding-action-btn,
.finding-card .ast-button {
    text-transform: none !important;
}

.sbv-review-inbox-panel .finding-type-badge,
.sbv-review-inbox-panel .finding-severity-badge,
.sbv-review-inbox-panel .finding-status-badge,
.finding-card .finding-type-badge,
.finding-card .finding-severity-badge,
.finding-card .finding-status-badge,
.xray-findings-view .finding-type-badge,
.xray-findings-view .finding-severity-badge {
    text-transform: none !important;
    font-weight: 500;
    letter-spacing: normal;
}
