/* Custom styles for OCPI Simulator */

.workflow-stepper .list-group-item.active {
    border-left: 4px solid #0d6efd;
}

.workflow-stepper .spinner-border {
    width: 1rem;
    height: 1rem;
}

.card {
    box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
    transition: all 0.3s cubic-bezier(.25,.8,.25,1);
}

.card:hover {
    box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);
}

.nav-tabs .nav-link {
    cursor: pointer;
}

.nav-tabs .nav-link.active {
    font-weight: 500;
}

.log-viewer {
    font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
}

.metric {
    transition: background-color 0.3s ease;
}

.metric:hover {
    background-color: #e9ecef !important;
}

.badge {
    font-weight: 500;
    padding: 0.35em 0.65em;
}

.btn-group-sm > .btn, .btn-sm {
    padding: 0.25rem 0.5rem;
    font-size: 0.875rem;
    border-radius: 0.2rem;
}

.progress {
    height: 1.5rem;
}

.progress-bar {
    transition: width 0.6s ease;
}

/* Service status colors */
.bg-cpo { background-color: #17a2b8 !important; }
.bg-emsp { background-color: #28a745 !important; }
.bg-evse { background-color: #ffc107 !important; }

/* Animation for loading states */
@keyframes pulse {
    0% {
        opacity: 1;
    }
    50% {
        opacity: 0.5;
    }
    100% {
        opacity: 1;
    }
}

.loading {
    animation: pulse 1.5s ease-in-out infinite;
}