/* Light blue page background */
body {
    background-color: #f0f8ff;
}

/* Table header with soft blue tone */
.table thead {
    background-color: #dceeff;
    color: #004080;
}

/* Alternating row color and subtle hover */
.table-striped > tbody > tr:nth-of-type(odd) {
    background-color: #f9fcff;
}
.table-hover > tbody > tr:hover {
    background-color: #e7f3ff;
}

/* Form elements */
input.form-control,
select.form-select,
textarea.form-control {
    border-color: #a0c8f0;
}

input.form-control:focus,
select.form-select:focus,
textarea.form-control:focus {
    border-color: #66aaff;
    box-shadow: 0 0 0 0.2rem rgba(102, 170, 255, 0.25);
}

/* Buttons */
.btn-primary,
.btn-outline-primary:hover {
    background-color: #007bff;
    border-color: #007bff;
}

.btn-outline-primary {
    color: #007bff;
    border-color: #007bff;
}

/* Small header or title */
h1, h2, h3, .h5 {
    color: #0059b3;
}

@keyframes dots {
    0%   { content: ''; }
    33%  { content: '.'; }
    66%  { content: '..'; }
    100% { content: '...'; }
  }
  .dot-anim::after {
    display: inline-block;
    animation: dots 1.2s steps(3, end) infinite;
    content: '';
  }
