/* 1. EXTRACTED BACKGROUND FROM SOURCE */
  body, html {
    margin: 0;
    padding: 0;
    min-height: 100%;
    font-family: 'Segoe UI', Arial, sans-serif;
  }

  .bg-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    /* The exact gradient from your provided HTML source */
    background: linear-gradient(#5D96BD, #77ACD1, #94BFDD, #AACAE2, #DADBE0);
  }

  .bg-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.85; /* Allows the gradient to blend with the image */
  }

  /* 2. CONTENT STYLING */
  .page-wrapper {
    position: relative;
    z-index: 1;
    padding: 40px 20px;
    max-width: 1200px;
    margin: 0 auto;
  }

  /* Professional Card Container (Glassmorphism Effect) */
.content-card {
  background: rgba(255, 255, 255, 0.4);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 16px;
  padding: 30px 20px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  margin-bottom: 20px;
}

.btn {
  display: inline-block;
  padding: 12px 24px;
  border: none;
  border-radius: 6px;
  font-weight: bold;
  cursor: pointer;
}

.btn-primary {
  background-color: #0056b3;
  color: #FFF;
}

.btn-primary:hover {
  background-color: #06357a;
}

alert {
  padding: 15px;
  border-radius: 6px;
  margin-bottom: 20px;
  font-weight: bold;
}

.alert-danger {
  background-color: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
}

.alert-success {
  background-color: #d4edda;
  color: #155724;
  border: 1px solid #c3e6cb;
}

/* 5. LOGIN PAGE SPECIFIC */
.login-page {
  display: flex;
  justify-content: center;
  align-items: center;
  height: calc(100vh - 80px); /* Adjust for wrapper padding */
}

.login-card {
  width: 100%;
  max-width: 400px; /* Reduces width of login container (Fix 1) */
}

.login-card h2 {
  text-align: center;
  margin-bottom: 25px;
  border: none;
}

/* Add the VSF logo */
.logo-area {
  text-align: center;
  margin-bottom: 20px;
}

.logo-area img {
  max-width: 150px;
}

/* 6. DASHBOARD PAGE SPECIFIC */
.header-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
  border-bottom: 2px solid #EEE;
  padding-bottom: 10px;
}

.user-info {
  font-size: 1rem;
  color: #303030;
}

.btn-sm {
  padding: 8px 16px;
  font-size: 0.9rem;
}

.btn-outline {
  background-color: transparent;
  color: #303030;
  border: 1px solid #CCC;
}

.btn-outline:hover {
  background-color: #EEE;
}

/* THE FIX: Replaced problematic white section with a proper card style (Fix 2) */
.upload-card {
  display: block; /* Ensures a separate container */
}

.upload-card small {
  color: #666;
  display: block;
  margin-bottom: 10px;
}

/* Styling the file input for professional look */
.file-input-wrapper {
  margin-bottom: 15px;
}

.file-input {
  display: block;
  width: 100%;
  padding: 10px;
  border: 1px solid #CCC;
  border-radius: 4px;
}

/* Professional table styling with separate rows */
.file-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 10px;
}

.file-table thead th {
  color: #06357a;
  padding: 10px;
  font-weight: bold;
  text-align: center;
  font-size: 0.85rem;
}

.file-table tbody td {
  background-color: #225392; /* The specific blue */
  color: #FFFFFF;
  padding: 20px 10px;
  border-top: 1px solid #1a4276;
  border-bottom: 1px solid #1a4276;
  text-align: center;
}

/* Round the LEFT corner of the row */
.file-table tbody td:first-child {
  border-left: 1px solid #1a4276;
  border-top-left-radius: 13px;
  border-bottom-left-radius: 13px;
}

/* Round the RIGHT corner of the row */
.file-table tbody td:last-child {
  border-right: 1px solid #1a4276;
  border-top-right-radius: 13px;
  border-bottom-right-radius: 13px;
}

.file-table .text-uppercase {
  text-transform: uppercase;
}

.link-download {
  color: #FFF;
}

.link-download:hover {
  color: #CCC;
  text-decoration: underline;
}

.empty-msg {
  color: #666;
  font-style: italic;
  text-align: center;
}

  h1 {
    color: #06357a; /* Extracted from meta theme-color */
    font-size: 2.2rem;
    margin-bottom: 30px;
  }

  /* Glassmorphism Table Effect */
  .link-table {
    width: 100%;
    background: rgba(255, 255, 255, 0.4);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 16px;
    padding: 30px 20px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  }

  h2, h3 {
    color: #06357a;
    border-bottom: 1px solid rgba(6, 53, 122, 0.1);
    padding-bottom: 5px;
  }

  a {
    color: #0056b3;
    text-decoration: none;
    font-weight: 500;
  }

  a:hover {
    text-decoration: underline;
    color: #06357a;
  }

  /* Common form elements */
.form-control {
  display: block;
  width: 100%;
  padding: 12px;
  margin-bottom: 15px;
  border: 1px solid #1a4276;
  border-radius: 6px;
  box-sizing: border-box; /* Crucial to fix width issues */
}



  ul {
    list-style: none;
    padding-left: 0;
    line-height: 1.8;
  }

  li::before {
    content: "→ ";
    color: #5D96BD;
    font-weight: bold;
  }

  .footer-text {
    margin-top: 30px;
    color: #06357a;
    font-size: 0.9rem;
    opacity: 0.8;
  }

.forecast-table {
    width: 100%;
    /* Crucial: 'separate' allows spacing and rounding on rows */
    border-collapse: separate;
    border-spacing: 0 10px; /* Adds space between the rows */
  }

  .forecast-table thead th {
    color: #06357a;
    padding: 10px;
    font-weight: bold;
/*     text-transform: uppercase; */
    vertical-align : top;
    font-size: 0.85rem;
  }

  /* Target the table body cells to create the 'row' look */
  .forecast-table tbody td,
  .forecast-table tbody th {
    background-color: #225392; /* The blue from your code */
    color: #FFFFFF;
    padding: 20px 10px;
    border-top: 1px solid #1a4276;
    border-bottom: 1px solid #1a4276;
    text-align: center;
  }

  /* Round the LEFT corner of the row */
  .forecast-table tbody th:first-child,
  .forecast-table tbody td:first-child {
    border-left: 1px solid #1a4276;
    border-top-left-radius: 13px;
    border-bottom-left-radius: 13px;
  }

  /* Round the RIGHT corner of the row */
  .forecast-table tbody td:last-child {
    border-right: 1px solid #1a4276;
    border-top-right-radius: 13px;
    border-bottom-right-radius: 13px;
  }

  /* Ensure the date text is readable */
  .forecast-table .day time {
    font-weight: none;
    color: #FFFFFF;
  }

  .version-text {
  font-size: 0.65rem;
  margin-top: -20px;
  text-align: right;
  color: #303030;
  }


.termsofuse  {
  margin-top : 30pt;
}
