<style>
    body {
      min-height: 100vh;
      display: flex;
      flex-direction: column; /* stack header, main, footer vertically */
      background-color: #f8f9fa;
    }

    header, footer {
      width: 100%;
    }

    main {
      flex-grow: 1; /* push footer down */
      display: flex;
      align-items: center;
      justify-content: center;
    }
	.header-logo img {
	  max-height: 40px; /* same across all pages */
	  width: auto;
	}

    .system-card {
      min-height: 705px;  
      width: 100%;
      max-width: 1500px;
    }

    .getting-card {
      min-height: 550px;              
      width: 100%;
      max-width: 1500px;          
    }
    .page-title {
      font-size: 1.75rem;
      font-weight: 700;
      color: #dc3545;
      margin-bottom: 1rem;
    }

    .table thead th {
      background-color: #dc3545;
      color: #fff;
    }

    .header-logo img {
      max-height: 40px;
      width: auto;
    }
    /* ✅ Match login.jsp header menu font */
    .nav-link {
      font-family: "Segoe UI", Arial, sans-serif;  
      font-size: 17px;                     
      font-weight: 600;                         
      color: #ffffff !important;
      transition: color 0.2s, text-decoration 0.2s;
    }
    .nav-link:hover {
      color: #ffc107 !important;
      text-decoration: underline;
    }

    footer {
      padding: 6px 0;
      line-height: 1.2;
      font-size: 12px;
    }
    footer p { margin: 2px 0; }
  </style>