/* Styling rules to add clean borders and padding to tables */
        table#mandatory {
            width: 100%;
            border-collapse: collapse;
            margin-top: 15px;
            margin-bottom: 30px;
            font-family: Arial, sans-serif;
            font-size: 14px;
        }

        table#mandatory th, 
        table#mandatory td {
            border: 1px solid #c0c0c0; /* Visible grey borders */
            padding: 10px 12px;
            text-align: left;
            vertical-align: middle;
        }

        table#mandatory th {
            background-color: #f5f5f5; /* Light header accent background */
            font-weight: bold;
            color: #333;
        }

        table#mandatory tr:nth-child(even) td {
            background-color: #fafafa; /* Subtle zebra striping */
        }

        .section-subtitle {
            font-weight: bold;
            font-size: 16px;
            margin-top: 25px;
            margin-bottom: 5px;
            color: #2c3e50;
        }
        
        table#mandatory a {
            color: #2980b9;
            text-decoration: none;
            font-weight: bold;
        }
        
        table#mandatory a:hover {
            text-decoration: underline;
        }