.editor-bar { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 74px; }
.public-link { color: #fff; font-size: .88rem; }
.editor-login { max-width: 540px; padding-top: 36px; }
.editor-login h1 { font-size: 2.45rem; }
.editor-login .actions { margin-top: 20px; }
.editor .intro h1 { font-size: clamp(2rem, 5vw, 3.4rem); letter-spacing: -.055em; }
.editor-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, 1fr); gap: 18px; margin-top: 15px; align-items: start; }
.editor form { min-width: 0; }
.editor summary { cursor: pointer; font-weight: 800; font-size: 1.16rem; }
.editor-fields { display: grid; gap: 12px; margin-top: 13px; }
.editor-fields textarea { min-height: 60px; }
.editor-fields .check { display: flex; align-items: center; gap: 8px; }
.editor-fields .check input { width: 18px; min-height: 18px; }
.editor-fields .fine { font-weight: 450; }
.editor .image-controls { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; }
.editor .image-controls img { max-width: 108px; max-height: 72px; object-fit: contain; padding: 4px; border-radius: 6px; background: var(--dark); }
.editor .image-controls img[hidden] + button { display: none; }
.editor-model-hint { margin: 8px 0; }
.model-editor { border-top: 1px solid var(--line); padding: 12px 0; }
.model-editor summary { font-size: .97rem; }
.editor-actions { display: flex; flex-wrap: wrap; gap: 8px; position: sticky; bottom: 0; padding: 12px 0; background: var(--paper); }
.preview-panel { position: sticky; top: 12px; display: grid; gap: 10px; min-width: 0; }
.preview-panel iframe { width: 100%; height: min(73vh, 690px); border: 1px solid var(--line); border-radius: 8px; background: var(--paper); }
.editor .notice.error-state { color: var(--rust); background: #fbe8df; border-color: #e9bfac; }
@media (max-width: 800px) {
  .editor-grid { grid-template-columns: minmax(0, 1fr); }
  .preview-panel { position: static; }
  .preview-panel iframe { height: 65vh; }
}

.editor-login form { margin-top: 16px; }
.editor-login form .actions { margin-top: 2px; }
.editor-nav { align-items: center; justify-content: flex-end; }

/* --- Übergaben & Kunden --- */
.editor-nav .public-link[aria-current] { color: var(--yellow); font-weight: 750; text-decoration: none; }
.kunden-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; margin-top: 15px; align-items: start; }
.kunden h2 { margin-top: 0; }
.kunden .fields { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.search-row { display: flex; gap: 8px; margin: 8px 0 12px; }
.search-row input { flex: 1; }
.kunden-search { margin-top: 18px; }
.customer { border-top: 1px solid var(--line); padding: 14px 0 4px; }
.customer h3 { margin: 0 0 2px; overflow-wrap: anywhere; }
.customer h4 { margin: 0 0 3px; }
.handover .entry-meta, .customer .entry-meta { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; justify-content: flex-end; }
.qr-preview { width: min(260px, 70vw); margin: 10px auto; }
.qr-preview svg, .qr-code svg { display: block; width: 100%; height: auto; }
@media screen { .print-card { display: none !important; } }
@media (max-width: 800px) {
  .kunden-grid, .kunden .fields { grid-template-columns: minmax(0, 1fr); }
}
@media print {
  @page { size: A5 portrait; margin: 12mm; }
  body { background: #fff; }
  .no-print, dialog, .toast { display: none !important; }
  .print-card { display: block !important; }
  .qr-card { text-align: center; color: #000; font-family: Arial, Helvetica, sans-serif; }
  .qr-logo { background: #191c18; padding: 8px 14px; border-radius: 8px; }
  .qr-card h1 { font-size: 22pt; margin: 10mm 0 3mm; letter-spacing: -.02em; }
  .qr-vehicle { font-size: 11pt; margin: 0 0 6mm; }
  .qr-code { width: 62mm; margin: 0 auto 6mm; }
  .qr-steps { text-align: left; font-size: 10.5pt; margin: 0 auto 4mm; max-width: 110mm; padding-left: 6mm; }
  .qr-steps li { margin: 1.5mm 0; }
  .qr-hint { font-size: 9.5pt; color: #333; }
  .qr-footer { font-size: 8.5pt; color: #555; margin-top: 8mm; }
}
.customer-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.danger-text { color: #8f3428; }
.qr-shortcode-preview { text-align: center; font-size: 1.1rem; letter-spacing: .06em; margin: 6px 0 10px; }
.qr-shortcode-preview strong, .qr-shortcode strong { font-family: ui-monospace, 'SF Mono', Menlo, monospace; letter-spacing: .12em; }
.qr-shortcode { text-align: center; font-size: 15pt; margin: 2mm 0 4mm; }
