/*
  Global compact UI overrides.
  Loaded after backend.css to reduce overall sizing across pages.
*/

:root {
  --pos-font-size: 0.875rem; /* 14px */
  --pos-line-height: 1.2rem;
  --pos-control-padding-y: 0.25rem;
  --pos-control-padding-x: 0.625rem;
  --pos-control-radius: 0.375rem;
  --pos-btn-padding-y: 0.325rem;
  --pos-btn-padding-x: 0.65rem;
  --pos-table-cell-padding-y: 0.45rem;
  --pos-table-cell-padding-x: 0.65rem;
}

/* Base typography (kept conservative to avoid breaking layouts) */
body {
  font-size: var(--pos-font-size);
  line-height: var(--pos-line-height);
}

/* Form controls */
.form-control,
.form-select,
.form-check-input,
textarea.form-control {
  font-size: var(--pos-font-size);
  line-height: var(--pos-line-height);
  padding: var(--pos-control-padding-y) var(--pos-control-padding-x);
  border-radius: var(--pos-control-radius);
}

/* Reduce textbox height a bit more (inputs/selects only) */
input.form-control,
select.form-select,
.form-control:not(textarea),
.form-select {
  min-height: calc(var(--pos-line-height) + (var(--pos-control-padding-y) * 2) + 2px);
}

/* Large controls → normal */
.form-control-lg,
.form-select-lg,
.input-group-lg > .form-control,
.input-group-lg > .form-select,
.input-group-lg > .input-group-text,
.input-group-lg > .btn {
  font-size: var(--pos-font-size);
  padding: var(--pos-control-padding-y) var(--pos-control-padding-x);
  border-radius: var(--pos-control-radius);
}

/* Some themes force bigger heights for lg controls; override that */
input.form-control-lg,
select.form-select-lg,
.input-group-lg > input.form-control,
.input-group-lg > select.form-select {
  min-height: calc(var(--pos-line-height) + (var(--pos-control-padding-y) * 2) + 2px);
}

/* Buttons */
.btn {
  font-size: var(--pos-font-size);
  padding: var(--pos-btn-padding-y) var(--pos-btn-padding-x);
  border-radius: var(--pos-control-radius);
}

/* Large buttons → normal */
.btn-lg {
  font-size: var(--pos-font-size);
  padding: var(--pos-btn-padding-y) var(--pos-btn-padding-x);
  border-radius: var(--pos-control-radius);
}

/* Small buttons slightly tighter */
.btn-sm {
  padding: 0.25rem 0.5rem;
}

/* Labels and helpers */
.form-label {
  margin-bottom: 0.25rem;
}
.form-text {
  font-size: 0.8125rem;
}

/* Tables */
.table > :not(caption) > * > * {
  padding: var(--pos-table-cell-padding-y) var(--pos-table-cell-padding-x);
}
.table thead th {
  font-size: 0.8125rem;
}

/* Pagination (more compact) */
.pagination .page-link {
  padding: 0.25rem 0.5rem;
  font-size: 0.8125rem;
}

/* Cards (slightly tighter) */
.card .card-header {
  padding: 0.65rem 0.85rem;
}
.card .card-body {
  padding: 0.85rem;
}

