   * {
       margin: 0;
       padding: 0;
       box-sizing: border-box;
   }

   body {
       font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
       background: #DFE0E1;
       min-height: 100vh;
   }

   /* Login Page Styles */
   .login-section {
       display: flex;
       justify-content: center;
       align-items: center;
       min-height: 100vh;
       padding: 20px;
   }

   .login-container {
       background: white;
       border-radius: 15px;
       box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
       padding: 50px 40px;
       max-width: 400px;
       width: 100%;
   }

   .login-container h2 {
       text-align: center;
       margin-bottom: 10px;
       color: #333;
       font-weight: 600;
   }

   .login-container p {
       text-align: center;
       color: #666;
       margin-bottom: 30px;
       font-size: 14px;
   }

   .form-group {
       margin-bottom: 20px;
   }

   .form-group label {
       display: block;
       margin-bottom: 8px;
       color: #333;
       font-weight: 500;
   }

   .form-group input {
       width: 100%;
       padding: 12px 15px;
       border: 1px solid #000000;
       border-radius: 8px;
       font-size: 14px;
       transition: border-color 0.3s;
   }

   .form-group input:focus {
       outline: none;
       border-color: #f8f8f8;
       box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
   }

   .login-btn {
       width: 100%;
       padding: 12px;
       background: none;
       color: black;
       border: solid 1px black;
       border-radius: 8px;
       font-size: 16px;
       font-weight: 600;
       cursor: pointer;
       transition: transform 0.2s, box-shadow 0.2s;
   }



   .alert-error {
       background-color: #f8d7da;
       border: 1px solid #f5c6cb;
       color: #721c24;
       padding: 12px 15px;
       border-radius: 8px;
       margin-bottom: 20px;
       display: none;
   }

   /* Dashboard Page Styles */
   .document-logo, .calendar-logo a {
       display: flex;
       align-items: center;
       gap: 6px;
       cursor: pointer;
       user-select: none;
       justify-content: center;
       text-decoration: none;
   }

   .document-logo, .calendar-logo h1 {
       font-size: 40px;
       line-height: 50px;
       font-weight: 400;
       color: #161616;
       font-family: 'DMSerifText', serif;
   }

   .document-logo, .calendar-logo a img {
       position: relative;
       height: 47px;
       aspect-ratio: 5 / 3;
   }

   .dashboard-section {
       display: none;
       padding: 40px 20px;
       min-height: 100vh;
   }

   .dashboard-header {
       text-align: center;
       margin-bottom: 50px;
       color: white;
   }

   .dashboard-header h1 {
       font-size: 75px;
       font-weight: 500;
       margin-bottom: 10px;
       color: black;
   }

   .dashboard-header p {
       font-size: 18px;
       opacity: 0.9;
       color: black;
   }

   .logout-btn {
       position: absolute;
       top: 20px;
       right: 20px;
       background: rgba(255, 255, 255, 0.2);
       color: black;
       border: 1px solid black;
       padding: 10px 20px;
       border-radius: 8px;
       cursor: pointer;
       font-weight: 600;
       transition: all 0.3s;
   }

   .logout-btn:hover {
       background: rgba(255, 255, 255, 0.3);
       transform: scale(1.05);
   }

   .cards-container {
       max-width: 1300px;
       margin: 0 auto;
   }

   .card {
       border: none;
       border-radius: 15px;
       overflow: hidden;
       box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
       transition: transform 0.3s, box-shadow 0.3s;
       height: 100%;
       background: white;
   }



   .card-media {
       position: relative;
       width: 100%;
       height: 250px;
       overflow: hidden;
       background: #f0f0f0;
   }

   .card-media img {
       width: 100%;
       height: 100%;
       object-fit: cover;
   }

   .card-media iframe {
       width: 100%;
       height: 100%;
       border: none;
   }

   .card-body {
       padding: 25px;
       display: flex;
       flex-direction: column;
       height: calc(100% - 250px);
   }

   .card-title {
       font-size: 20px;
       font-weight: 700;
       color: #333;
       margin-bottom: 12px;
   }

   .card-text {
       font-size: 14px;
       color: #666;
       line-height: 1.6;
       flex-grow: 1;
       margin-bottom: 20px;
       display: -webkit-box;
       -webkit-line-clamp: 3;
       -webkit-box-orient: vertical;
       overflow: hidden;
   }

   .read-more-btn {
       background: none;
       color: black;
       border: 1px solid black;
       padding: 10px 20px;
       border-radius: 8px;
       cursor: pointer;
       font-weight: 600;
       font-size: 14px;
       transition: transform 0.2s, box-shadow 0.2s;
       width: 100%;
   }
   .download-btn {
       background: none;
       color: black;
       border: 1px solid black;
       padding: 10px 20px;
       border-radius: 8px;
       cursor: pointer;
       font-weight: 600;
       font-size: 14px;
       transition: transform 0.2s, box-shadow 0.2s;
       width: 100%;
           text-decoration: none;
    text-align: center;
   }

   .download-btn:hover {
       transform: scale(1.05);
       box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
       background-color: black;
       color: white;
   }
   .read-more-btn:hover {
       transform: scale(1.05);
       box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
       background-color: black;
       color: white;
   }



   /* Modal Styles */
   .modal-content {
       border-radius: 15px;
       border: none;
       box-shadow: 0 15px 50px rgba(0, 0, 0, 0.3);
   }

   .modal-header {

       border: none;
       color: black;
   }

   .modal-header .btn-close {
       color: black;
   }

   .modal-body {
       padding: 30px;
   }

   .modal-media {
       width: 100%;
       height: 400px;
       margin-bottom: 20px;
       border-radius: 10px;
       overflow: hidden;
       background: #f0f0f0;
   }

   .modal-media img {
       width: 100%;
       height: 100%;
       object-fit: cover;
   }

   .modal-media iframe {
       width: 100%;
       height: 100%;
       border: none;
   }

   .modal-description {
       font-size: 16px;
       line-height: 1.8;
       color: #555;
       margin-bottom: 15px;
   }

   /* Tab Styles */
   .nav-tabs {
       border-bottom: 3px solid #e0e0e0;
       margin-bottom: 30px;
       gap: 10px;
           display: flex;
    justify-content: center;
   }

   .nav-tabs .nav-link {
       color: #666;
       border: none;
       font-weight: 600;
       font-size: 16px;
       padding: 12px 25px;
       border-radius: 8px 8px 0 0;
       transition: all 0.3s ease;
       background-color: transparent;
   }

   .nav-tabs .nav-link i {
       margin-right: 8px;
   }

   .nav-tabs .nav-link:hover {
       background-color: rgba(0, 0, 0, 0.05);
       color: #333;
   }

   .nav-tabs .nav-link.active {
       background: linear-gradient(135deg, #1a1a1a 0%, #333333 100%);
       color: white;
       border-bottom: 3px solid #1a1a1a;
       box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
   }

   .tab-content {
       background-color: transparent;
   }

   .tab-pane {
       animation: fadeIn 0.3s ease-in;
   }

   @keyframes fadeIn {
       from {
           opacity: 0;
       }

       to {
           opacity: 1;
       }
   }

   .card:hover {
       transform: translateY(-10px);
       box-shadow: 0 15px 40px rgba(0, 0, 0, 0.25);
   }

   @media (max-width: 768px) {
       .dashboard-header h1 {
           font-size: 32px;
       }

       .card-media {
           height: 200px;
       }

       .card-body {
           height: calc(100% - 200px);
       }

       .modal-media {
           height: 250px;
       }

       .login-container {
           padding: 30px 25px;
       }

       .nav-tabs .nav-link {
           padding: 10px 15px;
           font-size: 14px;
       }

       .nav-tabs {
           gap: 5px;
       }
   }