/* ─── Kunden-Tablet: Hinweis im Assistenten und Einstellungen ─── */
.cd-banner {
    display: flex; align-items: center; gap: var(--s-3);
    padding: var(--s-3) var(--s-4); margin-bottom: var(--s-4);
    border-radius: var(--r-md); border: 1px solid var(--border); background: var(--surface-2);
    font-size: 14px; color: var(--ink-2);
}
.cd-banner .grow { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.cd-banner strong { color: var(--ink); font-weight: 620; font-size: 15px; }
.cd-banner.is-quiet { color: var(--ink-3); }
.cd-banner.is-quiet .grow { flex-direction: row; }
.cd-banner.is-live { border-color: color-mix(in oklab, var(--st-intake) 40%, var(--border)); background: color-mix(in oklab, var(--st-intake) 7%, var(--surface)); }
.cd-banner.is-done { border-color: color-mix(in oklab, var(--st-ready) 40%, var(--border)); background: color-mix(in oklab, var(--st-ready) 8%, var(--surface)); }
.cd-banner.is-warn { border-color: color-mix(in oklab, var(--st-workshop_in) 40%, var(--border)); background: color-mix(in oklab, var(--st-workshop_in) 7%, var(--surface)); }
.cd-ico { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; flex-shrink: 0; background: var(--surface); }
.cd-banner.is-done .cd-ico { color: var(--st-ready); }
.cd-banner.is-warn .cd-ico { color: var(--st-workshop_in); }
.cd-pulse { width: 12px; height: 12px; margin: 0 9px; border-radius: 50%; background: var(--st-intake); flex-shrink: 0; animation: cd-pulse 1.6s ease-out infinite; }
@keyframes cd-pulse {
    0% { box-shadow: 0 0 0 0 color-mix(in oklab, var(--st-intake) 55%, transparent); }
    100% { box-shadow: 0 0 0 12px transparent; }
}
.no-form-grid.is-locked .form-input { background: var(--bg-inset); cursor: default; }
.no-form-grid.is-locked .form-input:focus { box-shadow: none; }
.form-input.cd-flash { animation: cd-flash .9s ease-out; }
@keyframes cd-flash { from { border-color: var(--st-intake); } to { border-color: var(--border); } }

.cd-device { display: flex; align-items: center; gap: var(--s-3); padding: var(--s-3); margin-top: var(--s-3); border: 1px solid var(--border); border-radius: var(--r-md); background: var(--surface-2); flex-wrap: wrap; }
.cd-device .grow { flex: 1; min-width: 160px; display: flex; flex-direction: column; }
.cd-device-ico { display: inline-grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: color-mix(in oklab, var(--st-intake) 12%, var(--surface)); color: var(--st-intake); }
.cd-device-name { font-weight: 620; font-size: 15px; }
.cd-device-sub { font-size: 13px; color: var(--ink-3); }
.cd-state { color: var(--ink-mute); }
.cd-state.is-on { color: var(--st-ready); font-weight: 600; }
.cd-steps { margin: 0 0 var(--s-3) var(--s-5); font-size: 14px; color: var(--ink-2); line-height: 1.7; }
.cd-url { background: var(--bg-inset); padding: 2px 8px; border-radius: 6px; font-size: 13px; user-select: all; }
.cd-pair { display: flex; gap: var(--s-2); margin-bottom: var(--s-3); max-width: 360px; }
.cd-pair .form-input { flex: 1; font-size: 18px; letter-spacing: .12em; text-align: center; }
@media (max-width: 640px) { .cd-banner { flex-wrap: wrap; } }

/* Unterschrift bei der Abholung: Live-Ansicht an der Kasse */
.cd-sign .grow { gap: 8px; }
.cd-sign-live { position: relative; display: block; background: #fff; border: 1px solid var(--border); border-radius: 10px; overflow: hidden; }
.cd-sign-live canvas { display: block; width: 100%; height: 120px; }
.cd-sign-wait { position: absolute; inset: 0; display: grid; place-items: center; font-size: 13px; color: #85858a; pointer-events: none; }
.cd-sign-live.has-ink .cd-sign-wait { display: none; }
