   .main-container {
            max-width: 960px;
            margin: 0 auto;
        }
        
        /* --- Section Styling --- */
        .info-section {
            margin-bottom: 40px;
        }

        .section-header {
            font-size: 2em;
            font-weight: 700;
            color: #2c3e50;
            margin-bottom: 20px;
            padding-bottom: 10px;
            border-bottom: 3px solid #3498db;
        }

        /* --- Panel A, D, G: General Information --- */
        .info-panel {
            background-color: #ffffff;
            border-radius: 12px;
            padding: 30px;
            box-shadow: 0 5px 20px rgba(0, 0, 0, 0.07);
        }

        .info-list {
            display: grid;
            grid-template-columns: max-content 1fr;
            gap: 20px;
        }

        .info-list dt {
            font-weight: 600;
            color: #555;
            grid-column: 1 / 2;
        }

        .info-list dd {
            grid-column: 2 / 3;
            color: #333;
        }
        
        .info-list dd a {
            color: #3498db;
            text-decoration: none;
            font-weight: 600;
            display: block; /* For multiple links */
        }
        .info-list dd a:hover {
            text-decoration: underline;
        }
        
        /* For nested teacher list in Panel D */
        .teacher-breakdown {
            list-style-position: inside;
            padding-left: 5px;
            margin-top: 8px;
        }

        /* --- Panels B & C: Document Lists --- */
        .document-list {
            display: flex;
            flex-direction: column;
            gap: 10px;
        }

        .document-item {
            display: flex;
            justify-content: space-between;
            align-items: center;
            background-color: #ffffff;
            padding: 18px 25px;
            border-radius: 10px;
            box-shadow: 0 3px 10px rgba(0, 0, 0, 0.05);
            transition: transform 0.2s ease, box-shadow 0.2s ease;
        }

        .document-item:hover {
            transform: translateY(-3px);
            box-shadow: 0 6px 15px rgba(0, 0, 0, 0.08);
        }

        .document-title {
            font-size: 1em;
            color: #34495e;
            padding-right: 20px;
        }
        
        .document-links {
            display: flex;
            gap: 10px;
            flex-shrink: 0;
        }

        .view-button {
            display: inline-block;
            background-color: #3498db;
            color: #ffffff;
            padding: 8px 18px;
            border-radius: 6px;
            text-decoration: none;
            font-weight: 600;
            font-size: 0.9em;
            transition: background-color 0.3s ease;
        }

        .view-button:hover {
            background-color: #2980b9;
        }

        /* --- Panels E & F: Result Tables --- */
        .table-container {
            width: 100%;
            overflow-x: auto; /* Enable horizontal scrolling on small screens */
            background-color: #ffffff;
            border-radius: 12px;
            box-shadow: 0 5px 20px rgba(0, 0, 0, 0.07);
        }

        .result-table {
            width: 100%;
            border-collapse: collapse;
        }

        .result-table th, .result-table td {
            padding: 15px;
            text-align: left;
            border-bottom: 1px solid #e9ecef;
        }

        .result-table thead th {
            background-color: #f8f9fa;
            font-weight: 600;
            color: #34495e;
        }

        .result-table tbody tr:hover {
            background-color: #f8f9fa;
        }
        
        .result-table .remarks {
            font-weight: 600;
            color: #27ae60;
        }

        /* --- Responsive Adjustments --- */
        @media (max-width: 768px) {
            body { padding: 15px; }
            .section-header { font-size: 1.6em; }
            
            .info-list {
                grid-template-columns: 1fr; /* Stack into single column */
                gap: 5px;
            }
            .info-list dd { margin-bottom: 15px; } /* Add space between items */

            .document-item {
                flex-direction: column;
                align-items: flex-start;
                gap: 15px;
            }
        }