    body { 
	  background: linear-gradient(to right, #e0f7fa, #ffffff);
	  font-family: 'Montserrat', sans-serif;
	  padding-top: 20px; 
	}
	.logged { 
	  background: linear-gradient(to right, #e0f7fa, #ffffff);
	  font-family: 'Montserrat', sans-serif;
	  padding-top: 5px; 
	}
    h1 {
	  font-family: 'Orbitron', sans-serif;
	  color: #007FFF; 
	}
	h2 {
	  font-family: 'Montserrat', sans-serif;
	  color: black;
	  font-size: 18px;
	  margin-bottom: 0.5rem;
    }
	h3 {
	  font-family: 'Montserrat', sans-serif;
	  color: black;
	  font-size: 20px;
	  margin-bottom: 0.5rem;
    }
	h4 {
	  font-size: 18px;
	}
	h5 {
	  font-family: 'Montserrat', sans-serif;
	  font-size: 15px;
	}
@font-face {
  font-family: 'Orbitron';
  src: url('/fonts/orbitron-v34-latin-regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Orbitron';
  src: url('/fonts/orbitron-v34-latin-700.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Montserrat';
  src: url('/fonts/montserrat-v30-latin-regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Montserrat';
  src: url('/fonts/montserrat-v30-latin-700.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
	p {
	  color: black;
	  font-size: 13px;
	  }
	table td {
	  font-size: 12px;
	}
    .navbar {
	  background-color: #0A192F;
	  padding: 0.8rem 1rem;
	  border-bottom: 1px solid #FAF8F6;
	  min-height: 56px;
	}
    .navbar-brand {
	  font-family: 'Orbitron', sans-serif;
	  color: white;
	  font-size: 28px;
	}
    .nav-link {
	  color: white;
	}
	.nav-link:hover {
	  color: #ffffff;
	  text-shadow: 
		0 0 5px #ffffff, 
		0 0 10px #cccccc, 
		0 0 15px #dddddd;
	}
	.card {
	  border-radius: 11px;
	  overflow: hidden;
	}
	.card-body {
	  background-color: #F5F5F5;
	  border: 1px solid #90B4D6;
	  border-radius: 10px;
	  transition: background-color 0.3s, box-shadow 0.3s;
	}
	.card-title a {
	  color: #001f5b;
	  font-family: 'Montserrat', sans-serif !important;
	  text-decoration: none;
	}
	.card-title a:hover {
	  color: #002b80;
	  text-decoration: none;
	}
	.card-subtitle {
	  background-color: #ffffffcc;
	  padding: 0.25rem;
	  border: 0.5px solid #90B4D6;
	  border-radius: 0.375rem;
	  transition: background-color 0.3s;
	}
	.card:hover .card-body {
	  background-color: #ffffffcc;
	  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	}
	.card:hover .card-subtitle {
	  background-color: #F5F5F5;
	  border: 0.5px solid #90B4D6;
	}
    .star {
	  font-size: 25px;
	  cursor: pointer;
	  color: #ccc;
	  transition: color 0.2s;
	}
    .star.filled {
	  color: gold;
	  text-shadow:
		0 0 1px #000,
		0 0 2px #000,
		0 0 4px #000,
		1px 1px 2px #000;
	}
    .star:hover, .star:hover ~ .star {
	  color: lightgray;
	}
    .rating-form:hover .star {
	  color: gold;
	}
    .rating-form .star:hover ~ .star {
	  color: gray !important;
	}
    .star-rating .stars {
	  color: #FFD700;
	  font-size: 1.2rem;
	  text-shadow:
		0 0 1px #000,
		0 0 2px #000,
		0 0 4px #000,
		1px 1px 2px #000;
	}
	.rating-form {
	  display: flex;
	  justify-content: start;
	}
	.star-group {
	  background-color: #138143;
	  border-radius: 20px;
	  padding: 0px 15px;
	  display: flex;
	  gap: 1px;
	  align-items: center;
	  justify-content: center;
	  line-height: 0px;
	}
	.read-only-rating {
	  display: flex;
	  align-items: center;
	  gap: 15px;
	}
    .read-only-star {
	  font-size: 20px;
	  color: lightgray; 
	  pointer-events: none; 
	  user-select: none;
	}
    .read-only-star.filled {
	  color: gold;
	}
    .rating-value {
	  font-size: 14px;
	  color: #333;
	}
	.text-teal {
	  color: #20c997;
	}
	.text-orange {
	  color: #fd7e14;
	}
	.text-pink {
	  color: #d63384;
	}
	.text-indigo {
	  color: #6610f2;
	}
	.text-brown {
	  color: #795548;
	}
	label {
	  display: inline-block;
	  background-color: #0d6efd;
	  color: #fff;
	  font-weight: 600;
	  font-size: 14px;
	  padding: 6px 10px;
	  border-radius: 6px;
	  margin-bottom: 8px;
	  letter-spacing: 0.3px;
	  transition: background-color 0.3s ease;
	}
	label:hover {
	  background-color: #0b5ed7;
	}
	input {
	  border: 1px solid #0d6efd;
      padding: 10px 12px;
	  font-size: 15px;
      border-radius: 6px;
      transition: all 0.3s ease;
	}
	input:focus {
	  border-color: #0d6efd;
	  box-shadow: 0 0 5px rgba(13, 110, 253, 0.5);
	  outline: none;
	}
	input:hover {
	  border-color: #0b5ed7;
	}
	.message {
      background-color: #f8f9fa;
      color: #333;
      padding: 10px;
      margin-top: 10px;
      border-radius: 5px;
    }
    .btn-custom {
      padding: 10px 20px;
      background-color: #007bff;
      color: white;
      font-size: 16px;
      border: none;
      border-radius: 5px;
      text-decoration: none;
      margin: 0 10px;
	}
	.btn-custom:hover {
      background-color: #0056b3;
	}
	.custom-search input[type="text"] {
      width: 100%;
      margin: auto;
	  border: 1px solid #000000;
	}
	.custom-card {
      background-color: #f8f9fa;
      color: #000;
      padding: 1rem;
	  border: 1.5px solid #000000;
      border-radius: 10px;
      box-shadow: 0 0 10px rgba(0,0,0,0.5);
    }
	.homepage-card {
	height: 100%;
	display: flex;
	flex-direction: column;
	background-color: #E6F2EA;
	color: #002147;
	border: 1.5px solid #000000;
	border-radius: 12px;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
	transition: transform 0.3s, box-shadow 0.3s;
	padding: 1rem;
	margin: 0.5rem;
	min-height: 70px;
	}
	.homepage-card:hover {
      transform: translateY(-6px);
      box-shadow: 0 6px 15px rgba(0, 0, 0, 0.3);
	  background-color: #D3E8DC;
	}
	.homepage-card-body {
      flex-grow: 1;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
	}
	.homepage-card-text {
      font-family: 'Montserrat', sans-serif;
      color: #003B2B !important;
      margin-bottom: 0.5rem;
	}
	.homepage-card-title a {
      font-size: 1rem;
      font-family: 'Montserrat', sans-serif;
      color: #003B2B !important;
	  text-decoration: none;
	}
	.homepage-card-title a:hover,
	.homepage-card-title a:focus {
	  color: #000F3F;
      text-decoration: underline;
	}
	.homepage-card-row {
	  margin-top: 0.75rem;
	}
	.login-failed-page .login-container {
      max-width: 500px;
      margin-top: 10px;
      padding: 5rem;
      background: white;
      border-radius: 8px;
      box-shadow: 0 0 10px rgba(0,0,0,0.15);
      text-align: center;
    }
    .login-failed-page .alert {
      font-family: 'Montserrat', sans-serif;
    }
    .login-failed-page .btn-back {
      margin-top: 20px;
      display: inline-block;
      background-color: #007bff;
      color: white;
      padding: 10px 20px;
      text-decoration: none;
      border-radius: 6px;
      font-weight: 500;
    }
    .login-failed-page .btn-back:hover {
      background-color: #0056b3;
    }
	.visually-hidden {
      position: absolute;
	  left: -10000px;
	  top: auto;
	  width: 1px;
	  height: 1px;
	  overflow: hidden;
}