/* ── Kiosk touch-optimised styles ─────────────────────────────────────────── */ :root { --kiosk-accent: #2563eb; --kiosk-radius: 12px; --kiosk-input-h: 56px; --kiosk-btn-h: 64px; } body.kiosk-body { font-size: 1.125rem; background: #f8fafc; min-height: 100dvh; display: flex; flex-direction: column; } /* ── Inputs ── */ .kiosk-input, .kiosk-body .form-control, .kiosk-body .form-select { min-height: var(--kiosk-input-h); border-radius: var(--kiosk-radius); font-size: 1.125rem; padding: 0.75rem 1rem; border: 2px solid #cbd5e1; transition: border-color 0.15s; } .kiosk-body .form-control:focus, .kiosk-body .form-select:focus { border-color: var(--kiosk-accent); box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15); } .kiosk-body textarea.form-control { min-height: 140px; resize: none; } .kiosk-body .form-check-input { width: 1.5rem; height: 1.5rem; margin-top: 0.15rem; } .kiosk-body .form-check-label { font-size: 1rem; padding-left: 0.5rem; } /* ── Buttons ── */ .kiosk-btn, .kiosk-body .btn-primary, .kiosk-body .btn-success { min-height: var(--kiosk-btn-h); border-radius: var(--kiosk-radius); font-size: 1.2rem; font-weight: 600; width: 100%; } /* Vertically centre content in any tall kiosk button (covers and