/* Diverse Routes — SMS document styles (extends site palette) */
.doc-meta {
  background: #fff; border: 1px solid var(--line); border-left: 5px solid var(--earth);
  border-radius: 4px; padding: 1rem 1.4rem; margin: 1.5rem 0;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 0.4rem 1.6rem;
  font-size: 0.9rem;
}
.doc-meta span { color: var(--muted); display: block; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.08em; }
.doc h2 { font-size: 1.5rem; margin-top: 2.2rem; }
.doc h3 { color: var(--earth-deep); margin-top: 1.6rem; }
.doc table { font-size: 0.95rem; }
.doc table.matrix td { text-align: center; font-weight: 600; }
.m-low { background: #e3ecd8; } .m-med { background: #f8ecc7; } .m-high { background: #f6d7c3; } .m-ext { background: #f3c4c0; }
.callout {
  background: var(--paper-deep); border-left: 5px solid var(--olive);
  padding: 0.9rem 1.2rem; border-radius: 0 4px 4px 0; margin: 1.2rem 0;
}
.controlled-tag {
  display: inline-block; background: var(--earth-deep); color: #fff; font-size: 0.75rem;
  font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
  padding: 0.2rem 0.7rem; border-radius: 3px; margin-left: 0.6rem; vertical-align: middle;
}
.version-table { margin-top: 3rem; }
.doc .uncontrolled { font-size: 0.8rem; color: var(--muted); font-style: italic; }
.swms-table th:nth-child(1) { width: 4%; } .swms-table th:nth-child(2) { width: 22%; }
.swms-table th:nth-child(3) { width: 26%; } .swms-table th:nth-child(5) { width: 10%; }
@media print {
  .site-header, .site-footer, .contact-band, .no-print { display: none !important; }
  body { background: #fff; font-size: 11pt; }
  .doc-meta { break-inside: avoid; }
  .doc h2 { break-after: avoid; }
  table { break-inside: avoid; }
  a { color: inherit; text-decoration: none; }
}

/* Breadcrumb bar (SMS documents) */
.crumbs { background: var(--paper-deep); border-bottom: 1px solid var(--line); padding: 0.55rem 0; font-size: 0.88rem; }
.crumbs .wrap { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.printbtn {
  font-family: "Barlow Condensed", sans-serif; font-size: 0.95rem; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.05em; cursor: pointer;
  background: var(--earth); color: #fff; border: none; border-radius: 3px; padding: 0.35rem 0.9rem;
}
.printbtn:hover { background: var(--earth-deep); }
.crumbs a { text-decoration: none; font-weight: 600; }
.crumbs .sep { color: var(--muted); margin: 0 0.45rem; }
.crumbs .here { color: var(--muted); }

@page { margin: 16mm 15mm; }
@media print {
  .page-hero { padding: 0.6rem 0; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .doc-meta { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}

/* Fillable form fields — type, then print (values print; empty fields print as ruled lines) */
.ff {
  width: 100%; border: none; border-bottom: 1px dashed var(--line); background: #fffdf5;
  font: inherit; color: var(--ink); padding: 0.3rem 0.4rem; resize: none; overflow: hidden;
  display: block; box-sizing: border-box; min-height: 1.9em;
}
.ff:focus { outline: none; background: #fffbe6; border-bottom-color: var(--earth); }
.fcl { display: inline-flex; align-items: center; gap: 0.35rem; margin-right: 1.1rem; white-space: nowrap; }
.fc { width: 1rem; height: 1rem; accent-color: var(--earth); }
@media print {
  .ff { background: transparent; border-bottom: 1px solid #bbb; }
  .fcl { margin-right: 0.9rem; }
}
