/* Company letterhead — letters, memos, notices. Same look as the portal's invoices and receipts
   (logo and name on the left, document kind and number on the right in blue, a blue rule, verification footer).
   Used in the portal, on /notices/ and on the private letter page. Prints on A4 with only the document. */
.lh-sheet { position: relative; overflow: hidden; background: var(--bg-surface); color: var(--text); border-radius: 8px; box-shadow: var(--shadow-sm); padding: 36px 40px; max-width: 860px; margin: 0 auto 16px; font-size: 1rem; line-height: 1.6; }
.lh-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; flex-wrap: wrap; border-bottom: 3px solid var(--fb-blue); padding-bottom: 16px; margin-bottom: 24px; }
.lh-brand { display: flex; gap: 12px; align-items: center; min-width: 0; flex: 1 1 320px; }
.lh-brand img { flex: none; border-radius: 6px; }
.lh-brand strong { display: block; font-size: 1.2rem; color: var(--heading); line-height: 1.25; }
.lh-tag, .lh-contact { font-size: 0.82rem; color: var(--text-muted); overflow-wrap: anywhere; line-height: 1.45; }
.lh-title { display: grid; gap: 4px; justify-items: end; text-align: right; min-width: 0; }
.lh-kind { font-size: 1.45rem; font-weight: 800; letter-spacing: 0.08em; color: var(--fb-blue); line-height: 1.1; }
.lh-ref { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 0.86rem; color: var(--text-muted); overflow-wrap: anywhere; }
.lh-conf { display: inline-block; border: 2px solid #c62828; color: #c62828; font-weight: 800; letter-spacing: 0.12em; font-size: 0.74rem; padding: 2px 8px; border-radius: 4px; }
.lh-main { min-width: 0; overflow-wrap: anywhere; }
.lh-main p { margin: 0 0 0.9em; }
.lh-body h3 { font-size: 1.05rem; margin: 1.2em 0 0.4em; color: var(--heading); }
.lh-body ul, .lh-body ol { margin: 0 0 0.9em; padding-left: 1.4em; }
.lh-body a { color: var(--fb-blue); }
.lh-date { margin: 0 0 18px; color: var(--text); }
.lh-to { font-style: normal; margin: 0 0 20px; line-height: 1.5; }
.lh-subject { margin: 0 0 1em !important; }
.lh-subject strong { text-decoration: underline; text-underline-offset: 3px; }
.lh-heading { font-size: 1.35rem; margin: 0 0 4px; color: var(--heading); line-height: 1.3; }
.lh-heading + .lh-date { color: var(--text-muted); font-size: 0.92rem; }
.lh-memo { border-collapse: collapse; margin: 0 0 20px; width: 100%; border-bottom: 1px solid var(--border); }
.lh-memo th { text-align: left; vertical-align: top; padding: 4px 16px 6px 0; width: 6.5rem; color: var(--text-muted); font-weight: 700; white-space: nowrap; }
.lh-memo td { padding: 4px 0 6px; color: var(--heading); font-weight: 600; overflow-wrap: anywhere; }
.lh-sign { margin: 28px 0 8px; break-inside: avoid; }
.lh-closing { margin-bottom: 30px; }
.lh-sigline { width: 220px; max-width: 70%; border-bottom: 1px solid var(--text-muted); margin-bottom: 6px; }
.lh-signame { font-weight: 700; color: var(--heading); }
.lh-sigtitle { font-size: 0.9rem; color: var(--text-muted); }
.lh-sign-memo { margin-top: 32px; }
.lh-cc { font-size: 0.9rem; color: var(--text-muted); margin-top: 14px !important; }
.lh-foot { display: flex; gap: 16px; align-items: center; border-top: 1px solid var(--border); margin-top: 28px; padding-top: 14px; break-inside: avoid; }
.lh-legal { font-size: 0.8rem; color: var(--text-muted); font-weight: 600; }
.lh-verify { font-size: 0.8rem; color: var(--text-muted); margin-top: 4px; }
.lh-qr { width: 92px; height: 92px; flex: none; background: #fff; padding: 4px; border-radius: 4px; }
.lh-qr:empty { display: none; }
.lh-qr svg { width: 100%; height: auto; display: block; }
.lh-watermark { position: absolute; inset: 0; display: grid; place-items: center; pointer-events: none; font-size: clamp(3rem, 12vw, 7.5rem); font-weight: 900; letter-spacing: 0.1em; color: var(--text); opacity: 0.06; transform: rotate(-24deg); }
.lh-withdrawn { border: 1px solid #c62828; background: rgba(198, 40, 40, 0.08); color: var(--text); border-radius: 8px; padding: 10px 14px; margin: 0 0 18px; }
@media (max-width: 640px) {
  .lh-sheet { padding: 20px 16px; border-radius: 6px; font-size: 0.96rem; }
  .lh-title { justify-items: start; text-align: left; }
  .lh-kind { font-size: 1.2rem; }
  .lh-memo th { width: 4.8rem; padding-right: 10px; }
  .lh-qr { width: 76px; height: 76px; }
}
@media print {
  .lh-sheet { box-shadow: none !important; border-radius: 0; padding: 0 !important; max-width: none; margin: 0; background: #fff !important; color: #000 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .lh-sheet .lh-brand strong, .lh-sheet .lh-memo td, .lh-sheet .lh-signame, .lh-sheet .lh-heading { color: #000 !important; }
  .lh-sheet .lh-kind { color: #1464d4 !important; }
  .lh-top { border-bottom-color: #1464d4 !important; }
  @page { size: A4; margin: 16mm 16mm 14mm; }
}
/* website pages that show one document: print only the document */
@media print {
  body.lh-print .main-header, body.lh-print header.site-header, body.lh-print .site-footer, body.lh-print footer.main-footer, body.lh-print .crumbs, body.lh-print .no-print,
  body.lh-print .cta-band, body.lh-print #consent, body.lh-print .wa-float, body.lh-print .assist-fab, body.lh-print .mobile-drawer, body.lh-print .skip-link { display: none !important; }
  body.lh-print, body.lh-print main { background: #fff !important; padding: 0 !important; margin: 0 !important; }
  body.lh-print .section, body.lh-print .container { padding: 0 !important; margin: 0 !important; max-width: none !important; }
}
/* /notices/ list */
.notice-list { display: grid; gap: 0; border-top: 1px solid var(--border); }
.notice-row { display: grid; grid-template-columns: 9.5rem minmax(0, 1fr); gap: 6px 20px; padding: 18px 0; border-bottom: 1px solid var(--border); }
.notice-row time { color: var(--text-muted); font-size: 0.92rem; padding-top: 3px; }
.notice-row .notice-kind { font-size: 0.78rem; font-weight: 700; color: var(--fb-blue); letter-spacing: 0.04em; }
.notice-row h2 { font-size: 1.15rem; margin: 2px 0 4px; line-height: 1.35; }
.notice-row h2 a { color: var(--heading); text-decoration: none; }
.notice-row h2 a:hover, .notice-row h2 a:focus-visible { color: var(--fb-blue); text-decoration: underline; }
.notice-row p { margin: 0; color: var(--text-muted); }
.notice-ref { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 0.8rem; color: var(--text-muted); }
@media (max-width: 640px) { .notice-row { grid-template-columns: minmax(0, 1fr); gap: 2px; } }
.lh-tools { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; margin: 0 auto 14px; max-width: 860px; }
.lh-foot > div { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 360px) { .lh-foot { flex-direction: column; align-items: flex-start; } }
