/* Client consent form page, and the printable sheet (also printed from the crew desk) */
.fp__main { padding-bottom: var(--sect, 96px); }
.fp .head .lead { grid-column: 1 / -1; grid-row: 2; font-size: var(--t-s); }
.cf { margin-top: clamp(24px, 3vw, 40px); }
.cf .step > *:not(legend) { min-width: 0; }
.cf__note { margin: 0; font-size: var(--t-s); color: var(--mute); max-width: 60ch; }
.cf__minor { display: grid; gap: 18px; padding-top: 12px; }
.cf__health { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px var(--gap); }
.cf__health li { display: grid; gap: 6px; align-content: start; }
.cf__detail { min-height: 40px !important; font-size: var(--t-m) !important; padding: 6px 0 8px !important; margin-left: 30px; width: calc(100% - 30px) !important; }
.cf__read { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; max-width: 72ch; font-size: var(--t-s); }
.cf__read b { font-weight: 500; }
.cf__small { margin: 0; font-size: var(--t-s); color: var(--mute); max-width: 72ch; }
.cf__list { padding-left: 1.1em; display: grid; gap: 6px; }
.cf .check { font-size: var(--t-s); }
.sig { display: grid; gap: 8px; max-width: 560px; }
.sig canvas { width: 100%; height: 180px; display: block; background: #fbfbfb; border-bottom: 1px solid var(--ink); touch-action: none; cursor: crosshair; }
.sig__row { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-size: var(--t-xs); color: var(--mute); }
.sig__clear { border: 0; background: none; padding: 8px 0; font: inherit; color: var(--ink); border-bottom: 1px solid currentColor; cursor: pointer; }
.cf__send { display: flex; flex-wrap: wrap; gap: 12px 20px; align-items: center; padding-top: 8px; }
.is-bad input, .is-bad select, .is-bad textarea { border-bottom-color: var(--ink); border-bottom-width: 2px; }
.is-bad canvas { border-bottom-width: 2px; background: #f6efef; }
.cf__err { margin: 2px 0 0; font-size: var(--t-xs); color: #8a1c1c; }
.cf__done { padding-block: clamp(48px, 8vw, 120px); display: grid; gap: 20px; outline: none; max-width: 720px; }
.cf__done .h2 { font-size: var(--t-2xl); }
.cf__acts { display: flex; flex-wrap: wrap; gap: 14px 22px; align-items: center; }
@media (max-width: 620px) {
  .cf__health { grid-template-columns: 1fr; }
  .fp .bar { grid-template-columns: 1fr auto; }
  .fp .bar > span { display: none; }
}

/* The sheet: A4, German, like the paper original */
#printDoc { display: none; }
.doc { font-size: 10.5px; line-height: 1.35; color: #000; background: #fff; }
.doc__head { display: grid; grid-template-columns: auto 1fr; align-items: end; gap: 4px 18px; border-bottom: 1.5px solid #000; padding-bottom: 8px; margin-bottom: 10px; }
.doc__head img { grid-row: span 2; width: 120px; height: auto; }
.doc__head h1 { margin: 0; font-size: 20px; font-weight: 500; letter-spacing: -.02em; }
.doc__head p { margin: 0; font-size: 10px; }
.doc__sec { margin-top: 10px; break-inside: avoid; }
.doc__sec h2 { margin: 0 0 4px; font-size: 11.5px; font-weight: 600; }
.doc__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
.doc__line { display: flex; gap: 8px; align-items: baseline; border-bottom: .5px solid #000; padding: 4px 0 2px; min-height: 20px; }
.doc__line span { flex: none; font-size: 9px; }
.doc__line b { font-weight: 500; flex: 1; }
.doc__line em { font-style: normal; display: inline-flex; gap: 4px; align-items: center; font-size: 9px; }
.doc__box { display: inline-block; width: 9px; height: 9px; border: 1px solid #000; vertical-align: -1px; margin-right: 4px; flex: none; position: relative; }
.doc__box.is-on::after { content: ""; position: absolute; inset: 1px; background: #000; }
.doc__health { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 18px; }
.doc__health li { display: flex; align-items: baseline; padding: 1.5px 0; break-inside: avoid; }
.doc__health b { font-weight: 500; }
.doc__small { font-size: 8.6px; }
.doc__small ol, .doc__small ul { margin: 0; padding-left: 14px; }
.doc__small p { margin: 0 0 4px; }
.doc__opt { display: flex; align-items: baseline; }
.doc__sig { display: grid; gap: 2px; margin-top: 10px; max-width: 300px; }
.doc__sig img { width: 100%; height: 70px; object-fit: contain; object-position: left bottom; border-bottom: .5px solid #000; }
.doc__sig span { font-size: 9px; }
.doc__foot { margin-top: 12px; font-size: 8px; color: #555; }

@media print {
  @page { size: A4; margin: 12mm 14mm; }
  body.is-printing > *:not(#printDoc) { display: none !important; }
  body.is-printing #printDoc { display: block; }
  body.is-printing { background: #fff !important; padding: 0 !important; margin: 0 !important; }
}

/* the sheet inside the crew desk viewer */
.lb .doc { padding: 24px; }
.lb .doc__head img { width: 120px; filter: none; }
.lb .doc__sig img { width: 100%; filter: none; }
.lb__tools { display: flex; flex-wrap: wrap; gap: 12px 18px; align-items: flex-end; padding: 14px 16px; border-bottom: 1px solid var(--rule); }
.lb__tools .field { width: 120px; }

/* design pictures on the client form */
.cf__design { display: grid; gap: 10px; }
.cf__dlab { font-size: var(--t-xs); color: var(--mute); }
.cf__thumbs { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 12px; }
.cf__thumbs li { display: grid; gap: 4px; justify-items: start; }
.cf__thumbs img { width: 96px; aspect-ratio: 4 / 5; object-fit: cover; display: block; background: var(--ph); }
.cf__thumbs .x { border: 0; background: none; padding: 2px 0; cursor: pointer; font-size: var(--t-xs); color: var(--mute); }
.cf__thumbs .x:hover { color: var(--ink); text-decoration: underline; }
.cf__dacts { display: flex; flex-wrap: wrap; gap: 0 28px; }
.cf__dacts[hidden] { display: none; }
.cf__dacts .file { position: relative; }
@media (hover: hover) and (pointer: fine) { .cf__cam { display: none; } }

/* printed sheet */
.doc__designs { display: flex; gap: 8px; margin-top: 8px; }
.doc__designs img { height: 120px; width: auto; max-width: 32%; object-fit: contain; border: .5px solid #000; }
