/* Minimal, page-specific CSS to avoid loading Bootstrap */

/* Layout utilities */
.d-flex { display: flex; }
.flex-column { flex-direction: column; }
.flex-wrap { flex-wrap: wrap; }
.justify-content-between { justify-content: space-between; }
.min-vh-100 { min-height: 100vh; }
.flex-grow-1 { flex: 1 1 auto; }
.mt-auto { margin-top: auto; }

/* Spacing utilities */
.mb-0 { margin-bottom: 0; }
.mb-3 { margin-bottom: 1rem; }
.mt-2 { margin-top: .5rem; }
.mt-4 { margin-top: 1.5rem; }
.gap-2 { gap: .5rem; }

/* Simple grid to replace .row/.col-6 */
.row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  align-items: center;
}
.row .col-6 { width: 100%; }
.text-end { text-align: right; }

/* Form styles */
.form-label { display: inline-block; font-weight: 500; }
.form-control, .form-select {
  display: block;
  width: 100%;
  padding: 8px 10px;
  font-size: 1rem;
  line-height: 1.5;
  color: #212529;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  border-radius: 8px;
  transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}
.form-control:focus, .form-select:focus {
  outline: none;
  border-color: #86b7fe;
  box-shadow: 0 0 0 .2rem rgba(13, 110, 253, .15);
}

/* Buttons */
.btn {
  display: inline-block;
  font-weight: 600;
  line-height: 1.5;
  color: #212529;
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  user-select: none;
  background-color: transparent;
  border: 1px solid transparent;
  padding: 8px 14px;
  border-radius: 8px;
  transition: filter .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out;
}
.btn:hover { filter: brightness(.98); }
.btn-primary { color: #fff; background-color: #0d6efd; border-color: #0d6efd; }
.btn-outline-secondary { color: #6c757d; border-color: #6c757d; background-color: transparent; }
.btn-success { color: #fff; background-color: #198754; border-color: #198754; }

/* Helpers */
.p-3 { padding: 1rem; }
.bg-light { background-color: #f8f9fa; }
.rounded { border-radius: 12px; }

/* Result table */
.mini-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .95rem;
}
.mini-table caption {
  caption-side: top;
  font-weight: 700;
  text-align: center;
  margin-bottom: 8px;
}
.mini-table th, .mini-table td {
  border: 1px solid #dee2e6;
  padding: 8px 10px;
  text-align: center;
}
.mini-table th {
  text-align: left;
  background: #f1f3f5;
}

/* Mobile adjustments */
@media (max-width: 576px) {
  .row { grid-template-columns: 1fr; }
  .text-end { text-align: left; }
}


