
        /* Variables de color */
        :root {
            --primary-color: #e71012;
            --primary-hover: #b51d2a;
            --secondary-color: #333;
            --light-color: #f8f9fa;
            --dark-color: #212529;
            --gray-color: #6c757d;
            --light-gray: #e9ecef;
        }

        body {
            background-color: var(--light-color);
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
        }
        .main-container {
            max-width: 1400px;
            margin: 0 auto;
            padding: 20px;
        }
        .header {
            background: linear-gradient(135deg, var(--primary-color), var(--primary-hover));
            color: white;
            border-radius: 10px;
            padding: 20px;
            margin-bottom: 20px;
            box-shadow: 0 4px 6px rgba(0,0,0,0.1);
        }
        .form-container {
            background-color: white;
            border-radius: 10px;
            box-shadow: 0 0 10px rgba(0,0,0,0.1);
            padding: 25px;
            margin-bottom: 20px;
        }
        .results-container {
            background-color: white;
            border-radius: 10px;
            box-shadow: 0 0 10px rgba(0,0,0,0.1);
            padding: 25px;
            height: fit-content;
            position: sticky;
            top: 20px;
        }
        .map-container {
            background-color: white;
            border-radius: 10px;
            box-shadow: 0 0 10px rgba(0,0,0,0.1);
            padding: 15px;
            margin-top: 20px;
        }
        .service-option {
            cursor: pointer;
            padding: 15px;
            border: 1px solid var(--light-gray);
            border-radius: 8px;
            margin-bottom: 10px;
            transition: all 0.3s;
        }
        .service-option:hover {
            transform: translateY(-2px);
            box-shadow: 0 4px 8px rgba(0,0,0,0.1);
        }
        .service-option.selected {
            background-color: #ffeaea;
            border-color: var(--primary-color);
            box-shadow: 0 0 0 2px rgba(231, 16, 18, 0.25);
        }
        .summary-item {
            display: flex;
            justify-content: space-between;
            margin-bottom: 10px;
            padding-bottom: 10px;
            border-bottom: 1px solid var(--light-gray);
        }
        .summary-total {
            display: flex;
            justify-content: space-between;
            font-weight: bold;
            font-size: 1.3rem;
            margin-top: 15px;
            padding-top: 15px;
            border-top: 2px solid var(--light-gray);
        }
        .btn-calculate {
            width: 100%;
            padding: 12px;
            font-size: 1.1rem;
            font-weight: bold;
            background-color: var(--primary-color);
            border-color: var(--primary-color);
        }
        .btn-calculate:hover {
            background-color: var(--primary-hover);
            border-color: var(--primary-hover);
        }
        #map {
            height: 400px;
            width: 100%;
            border-radius: 8px;
        }
        .route-info {
            background-color: var(--light-color);
            padding: 15px;
            border-radius: 8px;
            margin-top: 15px;
        }
        .location-card {
            background-color: var(--light-color);
            border-radius: 8px;
            padding: 15px;
            margin-bottom: 15px;
        }
        .location-card h5 {
            color: var(--dark-color);
            margin-bottom: 15px;
            font-size: 1.1rem;
        }
        .badge-price {
            font-size: 0.9rem;
            padding: 5px 10px;
            background-color: var(--primary-color) !important;
        }
        .section-title {
            color: var(--dark-color);
            margin-bottom: 15px;
            padding-bottom: 10px;
            border-bottom: 1px solid var(--light-gray);
            font-size: 1.2rem;
        }
        .form-label {
            font-weight: 500;
            margin-bottom: 8px;
            color: var(--dark-color);
        }
        .form-control, .form-select {
            border-radius: 6px;
            padding: 10px;
            border: 1px solid var(--light-gray);
        }
        .btn-download {
            width: 100%;
            padding: 12px;
            font-size: 1.1rem;
            font-weight: bold;
            margin-top: 15px;
            background-color: #28a745;
            border-color: #28a745;
        }
        .btn-download:hover {
            background-color: #218838;
            border-color: #1e7e34;
        }
        .calculation-details {
            background-color: var(--light-color);
            padding: 15px;
            border-radius: 8px;
            margin-top: 15px;
            font-size: 0.9rem;
        }
        .calculation-details h6 {
            margin-bottom: 10px;
            color: var(--dark-color);
        }
        .truck-info {
            background-color: #ffeaea;
            padding: 15px;
            border-radius: 8px;
            margin-bottom: 20px;
            border-left: 4px solid var(--primary-color);
        }
        .form-check-input:checked {
            background-color: var(--primary-color);
            border-color: var(--primary-color);
        }
        .form-range::-webkit-slider-thumb {
            background-color: var(--primary-color);
        }
        .form-range::-moz-range-thumb {
            background-color: var(--primary-color);
        }
        .btn-primary {
            background-color: var(--primary-color);
            border-color: var(--primary-color);
        }
        .btn-primary:hover {
            background-color: var(--primary-hover);
            border-color: var(--primary-hover);
        }
        .text-primary {
            color: var(--primary-color) !important;
        }
        .route-marker {
            z-index: 1000;
        }
        .truck-image {
            width: 100%;
            max-width: 300px;
            border-radius: 8px;
            margin: 10px auto;
            display: block;
            box-shadow: 0 4px 8px rgba(0,0,0,0.1);
        }
        .truck-image-container {
            text-align: center;
            margin-bottom: 15px;
        }
