/* v0.7 Smart capture & OCR workflow */
.workflow-banner{padding:12px 16px;background:rgba(36,178,156,.09);border:1px solid rgba(36,178,156,.25);border-radius:14px;margin-bottom:18px;display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:.9rem}
.workflow-banner strong{color:var(--primary,#19ad9b)}
.scan-alert{max-width:190px;margin-top:4px;color:#af7418;font-size:.72rem;line-height:1.35}
.receipt-panel,.visual-organizer,.lib-backup-options{border:1px solid var(--border,#d5e0e8);border-radius:15px;padding:16px;margin:14px 0;background:var(--surface,#fff)}
.receipt-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:7px;margin-bottom:12px}
.receipt-heading strong{font-size:1rem}
.receipt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}
.receipt-grid label,.receipt-panel label,.lib-backup-options label{display:flex;flex-direction:column;gap:6px;font-size:.82rem;font-weight:600}
.receipt-grid input,.receipt-panel textarea,.lib-backup-options input{width:100%;min-width:0;padding:10px;border:1px solid #b8c9d8;border-radius:8px;background:var(--surface,#fff);color:var(--text,#1b2b34)}
.receipt-panel textarea{resize:vertical;margin:6px 0 12px}
.lib-backup-options .toggle-label{display:flex;flex-direction:row;align-items:center;gap:9px;margin-bottom:9px}
.lib-backup-options .toggle-label input{width:auto}
.capture-modal[hidden],#receiptForm[hidden]{display:none!important}
body.batch-open{overflow:hidden}
.capture-modal{position:fixed;inset:0;z-index:9999;display:flex;flex-direction:column;padding:16px max(16px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom));gap:10px;background:#0a1524;color:#fff;overflow-y:auto}
.capture-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.capture-head h2{color:#fff;margin:2px 0}.capture-head .mini-label{color:#77ebda}
.capture-video-wrap{width:100%;flex:1;min-height:240px;max-height:75vh;background:#040709;border-radius:18px;overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center}
.capture-video-wrap video{width:100%;height:100%;object-fit:contain}.camera-grid{position:absolute;inset:8%;border:2px solid rgba(115,245,219,.65);border-radius:12px;pointer-events:none}
.capture-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:center}.capture-actions .btn{min-height:45px}
.capture-modal .tiny-status{color:#c4d4df;text-align:center}.capture-modal #captureStatus{text-align:center;margin:2px 0;color:#ddf7ef}
.visual-pages{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin:12px 0}
.visual-page{border:1px solid #c2cfd8;border-radius:12px;padding:8px;background:var(--surface,#fff);min-width:0;text-align:center}
.visual-page.removed{opacity:.55}.visual-page img{width:100%;max-height:145px;object-fit:contain;background:#e7edf0;border-radius:6px}.visual-page .placeholder{height:130px;display:grid;place-items:center;background:#eef4f7;color:#526677;border-radius:7px;font-size:1.3rem}
.visual-page .visual-title{font-size:.78rem;font-weight:650;margin:6px 0}.visual-page .visual-actions{display:flex;gap:3px;justify-content:center;flex-wrap:wrap}
.visual-page button{border:1px solid #bdced8;border-radius:5px;cursor:pointer;background:var(--surface,#fff);color:var(--text,#153042);padding:4px 6px;min-height:30px}
.visual-page button:disabled{opacity:.3}
.legacy-organizer{margin:16px 0}.legacy-organizer summary{cursor:pointer;font-weight:600;margin-bottom:9px}
@media(max-width:430px){.receipt-grid{grid-template-columns:1fr}.capture-head .btn{font-size:.8rem;padding:8px}.visual-pages{grid-template-columns:repeat(2,minmax(0,1fr))}}
