/* Custom CSS for optimal UI sizing at 100% zoom */

/* Base font sizes - adjusted for 100% zoom */
html {
  font-size: 16px;
}

body {
  font-size: 1rem;
  line-height: 1.5;
}

/* Display elements - adjusted for 100% zoom */
.display-4 {
  font-size: 2rem !important;
  font-weight: 400 !important;
}

/* Card padding - adjusted for 100% zoom */
.card {
  margin-bottom: 1rem;
  transition: box-shadow 0.2s;
}

.card:hover {
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

.card-body {
  padding: 0.75rem;
}

/* Table font sizes - adjusted for 100% zoom */
.table {
  font-size: 0.9rem;
}

/* Button sizes - adjusted for 100% zoom */
.btn {
  padding: 0.375rem 0.75rem;
  font-size: 0.9rem;
}

.btn-sm {
  padding: 0.25rem 0.5rem;
  font-size: 0.8rem;
}

/* Navbar scaling - adjusted for 100% zoom */
.navbar {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
  min-height: 56px;
}

.navbar-brand {
  font-size: 1.1rem;
  padding-top: 0.3rem;
  padding-bottom: 0.3rem;
}

.nav-link {
  font-size: 0.9rem;
  padding: 0.5rem 0.75rem !important;
}

/* Container margins - adjusted for 100% zoom */
.container {
  padding: 0.75rem;
}

.mt-4 {
  margin-top: 1rem !important;
}

/* Heading sizes - adjusted for 100% zoom */
h1, .h1 {
  font-size: 2.25rem !important;
}

h2, .h2 {
  font-size: 1.75rem !important;
}

h3, .h3 {
  font-size: 1.5rem !important;
}

h4, .h4, .card-title {
  font-size: 1.25rem !important;
}

h5, .h5 {
  font-size: 1rem !important;
}

/* Form control sizes - adjusted for 100% zoom */
.form-control, .form-select {
  padding: 0.375rem 0.75rem;
  font-size: 0.9rem;
  min-height: 38px;
}

.form-label {
  font-size: 0.9rem;
  margin-bottom: 0.3rem;
}

/* Badge sizes - adjusted for 100% zoom */
.badge {
  font-size: 0.8rem;
  padding: 0.25em 0.5em;
}

/* Dropdown menu - adjusted for 100% zoom */
.dropdown-menu {
  font-size: 0.9rem;
  min-width: 10rem;
}

.dropdown-item {
  padding: 0.375rem 0.75rem;
}

/* Toast notification size - adjusted for 100% zoom */
.toast {
  min-width: 300px;
}

.toast-header {
  padding: 0.375rem 0.75rem;
}

.toast-body {
  padding: 0.6rem;
}

/* Responsive adjustments - adjusted for 100% zoom */
@media (max-width: 768px) {
  .container {
    padding-left: 10px;
    padding-right: 10px;
  }
  
  .display-4 {
    font-size: 1.5rem !important;
  }
  
  .card-title {
    font-size: 1.1rem;
  }
}

/* Fix for any oversized elements */
img, svg, video, canvas, audio, iframe, embed, object {
  max-width: 100%;
  height: auto;
}

/* Icon sizes - adjusted for 100% zoom */
.fa, .fas, .far, .fab {
  font-size: 1em;
}

/* Spacing between elements - adjusted for 100% zoom */
.mb-4 {
  margin-bottom: 1rem !important;
}

.me-1, .me-2 {
  margin-right: 0.5rem !important;
}

/* Table padding - adjusted for 100% zoom */
.table td, .table th {
  padding: 0.5rem;
}

/* Modal sizes - adjusted for 100% zoom */
.modal-dialog {
  max-width: 500px;
}

.modal-header {
  padding: 1rem;
}

.modal-body {
  padding: 1rem;
}

.modal-footer {
  padding: 1rem;
}

/* Navbar toggler - adjusted for 100% zoom */
.navbar-toggler {
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
}

.navbar-toggler-icon {
  width: 1.5em;
  height: 1.5em;
}

/* Current page indicator - adjusted for 100% zoom */
.current-page::after {
  bottom: -2px;
  height: 3px;
}

/* Remove card hover effect */
.card:hover {
  transform: none !important;
}

/* List groups - adjusted for 100% zoom */
.list-group-item {
  padding: 0.75rem 1rem;
  font-size: 0.9rem;
}

/* Pagination - adjusted for 100% zoom */
.pagination {
  font-size: 0.9rem;
}

.page-link {
  padding: 0.375rem 0.75rem;
}

/* Row spacing - adjusted for 100% zoom */
.row > * {
  padding-right: calc(var(--bs-gutter-x) * .5);
  padding-left: calc(var(--bs-gutter-x) * .5);
}

/* Alert padding - adjusted for 100% zoom */
.alert {
  padding: 0.75rem 1.25rem;
  font-size: 0.9rem;
  margin-bottom: 1rem;
} 