/* PKV Assistent custom styles (kept small on purpose) */
.tab-bar { box-shadow: 0 -2px 8px rgba(0,0,0,.06); }

/* Desktop nav: ten labelled items do not fit on one row below ~1280px. Wrapping
   keeps every entry visible - horizontal scrolling would hide half the menu. */
.app-nav { flex-wrap: wrap; min-width: 0; }
.app-nav .nav-link { white-space: nowrap; }
@media (max-width: 1399px) {
  .app-nav .nav-link { padding-left: .5rem; padding-right: .5rem; font-size: .925rem; }
}
.tab-link { font-size: .75rem; }
main { min-height: 70vh; }
.timeline li:last-child { border-bottom: 0 !important; }
@media (max-width: 767px) {
  body { padding-bottom: 4.5rem; }
}

/* Utility classes replacing inline styles, so the Content-Security-Policy
   does not have to allow style attributes in our own markup. */
.doc-preview { height: 520px; }
.doc-preview-sm { height: 420px; }
.code-input { letter-spacing: 0.4em; }
.w-max-170 { max-width: 170px; }
.w-max-220 { max-width: 220px; }
.summary-toggle { cursor: pointer; }
.toast-stack { z-index: 1080; }
.minimal-page { min-height: 100vh; }
.minimal-container { max-width: 560px; }
.w-max-280 { max-width: 280px; }
.preserve-lines { white-space: pre-wrap; }
