/* Fluid base size: 15px on a phone, 16px on a laptop, up to 18px on a large monitor. Everything else is in rem, so the whole UI scales with it. */
html {
  font-size: clamp(15px, 13.5px + .2vw, 18px);
  position: relative;
  min-height: 100%;
}

body {
  margin: 0;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}
/* rendered Markdown guides */
.guide > :last-child { margin-bottom: 0; }
.guide pre { padding: .5rem; border-radius: .25rem; }
.guide img { max-width: 100%; }

/* Kanban drag and drop */
[data-card-id] { cursor: grab; }
[data-card-id]:active { cursor: grabbing; }

/* ---- Reports: stat tiles, single-hue bar lists (a table with a bar column, so the numbers stay text), print ---- */
.report-tiles .display-6 { font-size: 1.9rem; line-height: 1.1; font-weight: 600; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.report-bars th.report-bar-label { width: 34%; }
.report-bars td.report-bar-cell { padding-top: .55rem; }
.report-bars .report-bar { height: 10px; border-radius: 4px; background: var(--pl-primary); min-width: 2px; }
.report-bars td.report-bar-value { width: 5rem; font-variant-numeric: tabular-nums; }
.audit-details { white-space: pre-wrap; word-break: break-all; max-width: 40rem; }
@media print {
  .navbar, .report-header form, .report-header .btn, .d-print-none { display: none !important; }
  .report-section { break-inside: avoid; }
  body { background: #fff; }
}

