/* DS-SH-002: Terminal state styles shared across Issue, HITL, and Sandbox views */

/* Terminal badge base */
.badge-terminal {
    font-weight: 600;
    border: 1px solid transparent;
    letter-spacing: 0.01em;
}

/* Terminal badge variants */
.badge-terminal.badge-success {
    background: var(--ds-success-subtle, rgba(63, 185, 80, 0.15));
    color: var(--ds-success, #3fb950);
    border-color: var(--ds-success, #3fb950);
}

.badge-terminal.badge-danger {
    background: var(--ds-danger-subtle, rgba(248, 81, 73, 0.15));
    color: var(--ds-danger, #f85149);
    border-color: var(--ds-danger, #f85149);
}

.badge-terminal.badge-warning {
    background: var(--ds-warning-subtle, rgba(210, 153, 34, 0.15));
    color: var(--ds-warning, #d29922);
    border-color: var(--ds-warning, #d29922);
}

.badge-terminal.badge-neutral {
    background: var(--ds-bg-tertiary, #21262d);
    color: var(--ds-text-secondary, #8b949e);
    border-color: var(--ds-border, #30363d);
}

/* Container-level terminal marker */
.ds-terminal-state {
    position: relative;
}

/* Disabled mutation controls */
.ds-terminal-disabled {
    opacity: 0.5;
    cursor: not-allowed !important;
    pointer-events: none;
}

.ds-terminal-disabled:hover {
    opacity: 0.5;
}

/* Hidden elements in terminal state */
.ds-terminal-hidden {
    display: none !important;
}

/* Terminal state indicator strip */
.ds-terminal-state::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: var(--ds-border, #30363d);
    z-index: 1;
}

.ds-terminal-state[data-terminal-state="closed_verified"]::before,
.ds-terminal-state[data-terminal-state="approved"]::before,
.ds-terminal-state[data-terminal-state="completed"]::before,
.ds-terminal-state[data-terminal-state="overridden_passed"]::before {
    background: var(--ds-success, #3fb950);
}

.ds-terminal-state[data-terminal-state="closed_without_delivery"]::before,
.ds-terminal-state[data-terminal-state="rejected"]::before,
.ds-terminal-state[data-terminal-state="failed"]::before {
    background: var(--ds-danger, #f85149);
}

.ds-terminal-state[data-terminal-state="cancelled"]::before {
    background: var(--ds-warning, #d29922);
}
