/* Diff Highlighting */
.diff-added {
    background-color: #d4edda;
    color: #155724;
}

.diff-removed {
    background-color: #f8d7da;
    color: #721c24;
}

.diff-context {
    background-color: #f8f9fa;
    color: #495057;
}

/* HTMX Spinner */
.htmx-indicator {
    display: none;
}

.htmx-request .htmx-indicator {
    display: inline;
}

.htmx-request.htmx-settling .htmx-indicator {
    display: inline;
}

/* Smooth transitions */
.htmx-swapping {
    opacity: 0;
    transition: opacity 200ms ease-out;
}

.htmx-settling {
    opacity: 1;
    transition: opacity 200ms ease-in;
}

/* Card hover animations */
.bg-white {
    transition: box-shadow 200ms ease;
}

/* Monospace font for paths and diffs */
.font-mono {
    font-family: 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, 'Courier New', monospace;
}

/* Badge styling */
.badge {
    display: inline-block;
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
    font-size: 0.875rem;
    font-weight: 600;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .grid {
        gap: 1rem !important;
    }

    table {
        font-size: 0.875rem;
    }
}
