/* KLM v18 printable records and finance documents */
.klm-document-shell {
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 1.25rem;
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.08);
  overflow: hidden;
}
.klm-document-header {
  background: linear-gradient(135deg, #0b1222 0%, #14327a 62%, #0ea5e9 100%);
  color: #fff;
  padding: 2rem;
}
.klm-document-title { font-size: clamp(1.6rem, 2vw, 2.4rem); font-weight: 800; margin: 0; }
.klm-document-subtitle { color: rgba(255,255,255,.78); margin: .35rem 0 0; }
.klm-document-body { padding: 2rem; }
.klm-document-meta {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: .75rem;
  margin-bottom: 1.25rem;
}
.klm-document-meta > div {
  border: 1px solid rgba(15, 23, 42, 0.1);
  border-radius: .9rem;
  padding: .85rem 1rem;
  background: #f8fafc;
}
.klm-document-meta span { display: block; color: #64748b; font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; font-weight: 700; }
.klm-document-meta strong { color: #0f172a; }
.klm-signature-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 2rem; margin-top: 3rem; }
.klm-signature-line { border-top: 1px solid #334155; padding-top: .6rem; color: #334155; }
.klm-document-actions { display: flex; gap: .5rem; flex-wrap: wrap; justify-content: flex-end; margin-bottom: 1rem; }
.klm-watermark { position: relative; }
.klm-watermark::after {
  content: attr(data-watermark);
  position: absolute;
  inset: auto 1rem 1rem auto;
  font-size: clamp(2rem, 8vw, 6rem);
  font-weight: 900;
  opacity: .06;
  color: #0f172a;
  pointer-events: none;
}
.klm-document-badge { display: inline-flex; align-items: center; padding: .35rem .75rem; border-radius: 999px; font-weight: 700; background: rgba(255,255,255,.16); color: #fff; }
.klm-doc-card { transition: transform .15s ease, box-shadow .15s ease; }
.klm-doc-card:hover { transform: translateY(-2px); box-shadow: 0 16px 34px rgba(15,23,42,.10) !important; }
@media print {
  body { background: #fff !important; }
  .kl-navbar, .kl-footer, .klm-ops-nav, .klm-document-actions, .btn, .navbar, footer { display: none !important; }
  .kl-page, .container { padding: 0 !important; margin: 0 !important; max-width: none !important; width: 100% !important; }
  .klm-document-shell, .card { border: none !important; box-shadow: none !important; border-radius: 0 !important; }
  .klm-document-header { background: #0b1222 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .klm-document-body { padding: 1.25rem !important; }
  .table { font-size: 11pt; }
  a[href]::after { content: "" !important; }
}
