html {
  font-size: 14px;
  height: 100%;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

body {
  margin: 0;
  padding: 0;
  min-height: 100vh;
  background-color: #f5f5f5;
  color: #2c3e50;
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #6c757d;
}

.btn-primary {
  background-color: #6c757d;
  border-color: #6c757d;
}

.btn-primary:hover {
  background-color: #5a6268;
  border-color: #545b62;
}

.btn-secondary {
  background-color: #e9ecef;
  border-color: #dee2e6;
  color: #495057;
}

.btn-secondary:hover {
  background-color: #dee2e6;
  border-color: #d3d9df;
  color: #495057;
}

.card {
  border-color: #dee2e6;
  box-shadow: 0 1px 3px rgba(0,0,0,0.08);
  background-color: white;
}

.card-header {
  background-color: #f8f9fa;
  border-bottom-color: #dee2e6;
  color: #495057;
}

.form-control, .form-select {
  border-color: #ced4da;
}

.form-control:focus, .form-select:focus {
  border-color: #adb5bd;
  box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.15);
}

.alert-info {
  background-color: #f8f9fa;
  border-color: #dee2e6;
  color: #495057;
}

.alert-danger {
  background-color: #f8d7da;
  border-color: #f5c6cb;
  color: #721c24;
}

.alert-warning {
  background-color: #fff3cd;
  border-color: #ffeaa7;
  color: #856404;
}

.text-success {
  color: #6c757d !important;
}

.text-danger {
  color: #495057 !important;
}

.text-warning {
  color: #6c757d !important;
}

.badge {
  font-weight: 500;
}

.bg-success {
  background-color: #e9ecef !important;
  color: #495057 !important;
}

.bg-warning {
  background-color: #f8f9fa !important;
  color: #6c757d !important;
}

.bg-danger {
  background-color: #dee2e6 !important;
  color: #495057 !important;
}

.table {
  color: #495057;
}

.table-dark {
  background-color: #e9ecef !important;
  color: #495057 !important;
}

.table-dark th {
  border-color: #dee2e6 !important;
}

.table-striped tbody tr:nth-of-type(odd) {
  background-color: #fafafa;
}

.table-hover tbody tr:hover {
  background-color: #f1f3f5;
}

.table-bordered {
  border-color: #dee2e6;
}

.table-bordered td, .table-bordered th {
  border-color: #dee2e6;
}