/* Mobiele app (rapportage/ONTWERP.md §4). Alleen kleurvariabelen uit app.css. */
.mobile-grid { display: grid; gap: var(--gutter); grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); align-items: start; }
.mobile-grid .panel h2 { display: flex; align-items: center; gap: .5rem; margin-top: 0; }
.mobile-grid .panel table.list { margin-top: .75rem; }
.mobile-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.mobile-installed { display: flex; align-items: center; gap: .5rem; color: var(--success); }
.mobile-grid ol { margin: .5rem 0 0; padding-left: 1.25rem; }

/* balk "2 formulieren wachten op verbinding" */
.mobile-queue {
    display: flex; align-items: center; justify-content: space-between; gap: .75rem; flex-wrap: wrap;
    margin: 0 0 var(--gutter); padding: .6rem .9rem; border-radius: var(--radius);
    background: var(--warning-soft); border: 1px solid var(--warning-line); color: var(--text);
}
.mobile-queue.is-done { background: var(--success-soft); border-color: var(--success-line); }

/* barcode lezen */
.mobile-scan { margin-left: .5rem; }
.mobile-scanner { border: 0; border-radius: var(--radius-lg); padding: .75rem; background: var(--surface); color: var(--text); width: min(92vw, 480px); }
.mobile-scanner::backdrop { background: var(--overlay); }
.mobile-scanner video { display: block; width: 100%; border-radius: var(--radius); background: #000; margin-bottom: .75rem; }

/* offlinepagina */
.mobile-offline { max-width: 32rem; margin: 3rem auto; text-align: center; padding: 0 1rem; }
.mobile-offline img { border-radius: 16px; }
.mobile-offline .mobile-actions { justify-content: center; }
