        /* --- General Reset & Layout --- */
        * { box-sizing: border-box; margin: 0; padding: 0; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; }
        body { display: flex; flex-direction: column; min-height: 100vh; background-color: #f4f4f4; }

        /* --- Header --- */
        header { background-color: #C4F0F2; color: white; padding: 15px; text-align: center; display: flex; justify-content: space-between; align-items: center; }
        header h1 { margin: 0 auto; font-size: 24px; }
        .home-btn { background: #e74c3c; border: none; color: white; padding: 5px 15px; border-radius: 4px; cursor: pointer; font-size: 14px; }
        .home-btn:hover { background: #c0392b; }

        /* --- Menubar --- */
        .menubar { background-color: #000000; overflow: hidden; display: flex; flex-wrap: wrap; }
        .menubar button {
            background-color: inherit; border: none; outline: none; cursor: pointer;
            padding: 8px 20px; transition: 0.3s; font-size: 16px; color: white; flex-grow: 1;
        }
        .menubar button:hover, .menubar button.active { background-color: #A40BFC; }

        /* --- Main Container --- */
        .main-container { display: flex; flex: 1; flex-wrap: wrap; overflow: hidden; height: calc(100vh - 110px); }

        /* Columns */
        .col-left { width: 20%; background-color: #C4F0F2; border-right: 1px solid #ccc; padding: 10px; overflow-y: auto; }
        .col-center { width: 65%; background-color: #C4F0F2; padding: 20px; display: flex; flex-direction: column; overflow-y: auto; position: relative; }
        .col-right { width: 15%; background-color: #C4F0F2; border-left: 1px solid #ccc; padding: 10px; overflow-y: auto; }

        /* --- Footer --- */
        footer { background-color: #2c3e50; color: white; text-align: center; padding: 10px; }

        /* --- Accordion Menu --- */
        .accordion-btn {
            background-color: #F7FB96; color: #060270; cursor: pointer; padding: 10px; width: 100%;
            border: none; text-align: left; outline: none; font-size: 14px; transition: 0.4s;
            margin-bottom: 2px; border-radius: 4px; display: flex; justify-content: space-between; align-items: center;
        }
        .accordion-btn:hover, .accordion-btn.active { background-color: #F5F7C8; }
        
        .panel {
            padding: 0 10px; background-color: white; max-height: 0; overflow: hidden;
            transition: max-height 0.3s ease-out; border-left: 3px solid #1abc9c;
        }
        .panel .accordion-btn { background-color: #FFFFFF; font-size: 13px; padding-left: 15px; }

        /* --- Right Column Elements --- */
        .search-box { margin-bottom: 20px; padding-bottom: 10px; border-bottom: 1px solid #ccc; }
        .search-box input { width: 100%; padding: 8px; margin-bottom: 5px; border: 1px solid #ccc; border-radius: 4px; }
        .search-box button { width: 100%; padding: 8px; background: #2980b9; color: white; border: none; border-radius: 4px; cursor: pointer; }
        
        #notes-display {
            background-color: #fff3cd; color: red; padding: 15px; 
            border: 1px solid #ffeeba; border-radius: 5px; display: none;
            animation: fadeIn 0.3s;
        }

        /* --- NEWS FEED STYLING (NEW) --- */
        #news-container { width: 100%; display: block; }
        .news-card {
            border: 1px solid #e1e1e1; border-radius: 8px; padding: 15px; margin-bottom: 15px;
            background: #C4F0F2; box-shadow: 0 2px 5px rgba(0,0,0,0.05); transition: transform 0.2s;
        }
        .news-card:hover { transform: translateY(-3px); box-shadow: 0 5px 10px rgba(0,0,0,0.1); }
        .news-title { font-size: 16px; font-weight: bold; color: #2c3e50; margin-bottom: 8px; display: block; text-decoration: none; }
        .news-meta { font-size: 12px; color: #777; margin-bottom: 8px; }
        .news-desc { font-size: 14px; color: #555; line-height: 1.5; }

        /* --- Iframe --- */
        .iframe-container { flex-grow: 1; width: 100%; height: 100%; min-height: 500px; border: 1px solid #ddd; display: none; } /* Hidden by default */
        iframe { width: 100%; height: 100%; border: none; }

        /* --- Animations --- */
        @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }

        /* --- Responsive --- */
        @media screen and (max-width: 768px) {
            .main-container { height: auto; display: block; }
            .col-left, .col-center, .col-right { width: 100%; height: auto; max-height: none; }
            .menubar { flex-direction: column; }
        }
