body {
    background-color: #f4f7f6;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

.container {
    max-width: 600px;
    margin-top: 40px;
}

.brand-header {
    color: #2c3e50;
    font-weight: 800;
    letter-spacing: 2px;
}

.card-eta {
    border: none;
    margin-bottom: 15px;
    transition: transform 0.2s;
}

/* Highlight Active Trips */
.card-active {
    border-left: 6px solid #007bff;
}

/* Dim Completed Trips */
.card-completed {
    border-left: 6px solid #6c757d;
    opacity: 0.8;
    background-color: #fcfcfc;
}

.eta-time {
    font-size: 1.5rem;
    font-weight: bold;
    color: #2c3e50;
}

.card-active .eta-time {
    color: #007bff;
}

.event-type {
    text-transform: uppercase;
    font-size: 0.75rem;
    font-weight: bold;
    letter-spacing: 1px;
    color: #6c757d;
}

.hr-text {
    display: flex;
    align-items: center;
    text-align: center;
    color: #6c757d;
    font-size: 0.8rem;
}

.hr-text::before, .hr-text::after {
    content: '';
    flex: 1;
    border-bottom: 1px solid #dee2e6;
}

.hr-text:not(:empty)::before {
    margin-right: .5em;
}

.hr-text:not(:empty)::after {
    margin-left: .5em;
}

/* Search Summary Header */
.search-summary {
    background: linear-gradient(to right, #ffffff, #f8f9fa);
    border-left: 5px solid #2c3e50 !important;
}

.search-summary h5 {
    color: #2c3e50;
    margin-bottom: 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.badge.bg-light {
    font-size: 0.9rem;
}

/* Helper to ensure results are cleared nicely */
#results {
    min-height: 200px;
}