.dashboard-page[data-v-7f1a3196]{padding:1rem 1rem 5rem;max-width:600px;margin:0 auto}.page-title[data-v-7f1a3196]{color:#007bff;font-size:1.75rem;font-weight:800;margin:0}.page-header[data-v-7f1a3196]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.reset-btn[data-v-7f1a3196]{display:flex;align-items:center;gap:4px;background:transparent;border:1px solid #ef4444;color:#ef4444;padding:6px 12px;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.reset-btn[data-v-7f1a3196]:hover{background:#fef2f2}.icon-small[data-v-7f1a3196]{width:16px;height:16px}.dashboard-cards[data-v-7f1a3196]{display:flex;flex-direction:column;gap:16px}.card[data-v-7f1a3196]{background:#fff;border-radius:16px;padding:20px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;border:1px solid #e2e8f0}.card-header[data-v-7f1a3196]{display:flex;align-items:center;gap:8px;margin-bottom:16px}.card-header h2[data-v-7f1a3196]{margin:0;font-size:1.125rem;font-weight:700;color:#141414}.icon[data-v-7f1a3196]{width:24px;height:24px;color:#007bff}.intake-numbers[data-v-7f1a3196]{display:flex;align-items:baseline;gap:8px}.consumed[data-v-7f1a3196]{font-size:3.5rem;font-weight:900;color:#007bff;line-height:1}.danger-text[data-v-7f1a3196]{color:#ef4444!important}.unit[data-v-7f1a3196]{font-size:1.25rem;font-weight:600;margin-left:4px}.divider[data-v-7f1a3196]{font-size:2rem;color:silver;font-weight:300}.limit[data-v-7f1a3196]{font-size:1.25rem;color:#666;font-weight:600}.over-limit-warning[data-v-7f1a3196]{margin-top:12px;margin-bottom:0;padding:8px 12px;background:#fef2f2;color:#b91c1c;border-radius:8px;font-weight:600;font-size:.875rem;border:1px solid #fecaca}.risk-bar-wrapper[data-v-7f1a3196]{margin-top:8px}.risk-gradient[data-v-7f1a3196]{width:100%;height:24px;background:linear-gradient(to right,#4ade80,#facc15,#f87171,#ef4444);border-radius:12px;display:flex;justify-content:flex-end;position:relative;overflow:hidden;box-shadow:inset 0 2px 4px #0000001a}.risk-mask[data-v-7f1a3196]{height:100%;background-color:#e2e8f0;transition:width .5s ease-out}.risk-marker[data-v-7f1a3196]{position:absolute;top:0;bottom:0;width:4px;background:#141414;border-radius:2px;transform:translate(-50%);z-index:10;box-shadow:0 0 0 2px #ffffff80}.risk-labels[data-v-7f1a3196]{display:flex;justify-content:space-between;margin-top:6px;font-size:.75rem;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.05em}.symptom-list[data-v-7f1a3196]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.symptom-item[data-v-7f1a3196]{background:#f8fafc;border:1px solid #e2e8f0;padding:10px 16px;border-radius:8px;font-size:.875rem;font-weight:500;color:#333;display:flex;align-items:center}.symptom-item[data-v-7f1a3196]:before{content:"•";color:#ef4444;font-size:1.5rem;margin-right:8px;line-height:0}.empty-text[data-v-7f1a3196]{color:silver;font-style:italic;margin:0}.period-chart-container[data-v-82c5c222]{padding:16px;background:#fff;border-radius:16px;border:1px solid #e2e8f0;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;margin-bottom:16px}.chart-header[data-v-82c5c222]{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:14px}.chart-title[data-v-82c5c222]{font-size:1.125rem;font-weight:700;color:#141414;margin:0 0 2px}.chart-subtitle[data-v-82c5c222]{font-size:.75rem;color:#64748b;font-weight:500}.mode-toggles[data-v-82c5c222]{display:flex;background:#f1f5f9;border-radius:8px;padding:2px;gap:2px}.mode-btn[data-v-82c5c222]{padding:4px 8px;border:none;background:transparent;font-size:.7rem;font-weight:600;color:#64748b;border-radius:6px;cursor:pointer;transition:all .2s}.mode-btn.active[data-v-82c5c222]{background:#fff;color:#007bff;box-shadow:0 1px 2px #00000014}.metrics-grid[data-v-82c5c222]{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;background:#f8fafc;padding:10px;border-radius:10px;border:1px solid #f1f5f9;margin-bottom:14px}.metric-item[data-v-82c5c222]{display:flex;flex-direction:column;align-items:center;text-align:center}.metric-label[data-v-82c5c222]{font-size:.65rem;font-weight:600;color:#64748b;text-transform:uppercase;margin-bottom:2px;letter-spacing:.03em}.metric-val[data-v-82c5c222]{font-size:.95rem;font-weight:800;color:#0f172a}.metric-val small[data-v-82c5c222]{font-size:.65rem;font-weight:600;color:#64748b}.status-pill[data-v-82c5c222]{font-size:.7rem;padding:2px 6px;border-radius:6px}.pill-good[data-v-82c5c222]{background:#dcfce7;color:#166534}.pill-warning[data-v-82c5c222]{background:#fee2e2;color:#991b1b}.svg-wrapper[data-v-82c5c222]{width:100%;position:relative}.period-svg[data-v-82c5c222]{width:100%;height:auto;overflow:visible}.grid-lines line[data-v-82c5c222]{stroke:#f1f5f9;stroke-width:1}.limit-line[data-v-82c5c222]{stroke:#ef4444;stroke-width:1.5;stroke-dasharray:4 3}.limit-text[data-v-82c5c222]{font-size:8px;fill:#ef4444;font-weight:600}.running-line[data-v-82c5c222]{fill:none;stroke:#007bff;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 2px 4px rgba(0,123,255,.2))}.running-line.dimmed-line[data-v-82c5c222]{stroke:#0284c7;stroke-width:2}.chart-bar[data-v-82c5c222]{cursor:pointer;transition:opacity .2s,transform .2s}.chart-bar[data-v-82c5c222]:hover,.chart-bar.active[data-v-82c5c222]{opacity:.85;filter:brightness(1.1)}.running-point[data-v-82c5c222]{fill:#fff;stroke:#007bff;stroke-width:2;cursor:pointer;transition:r .2s,stroke-width .2s}.running-point[data-v-82c5c222]:hover,.running-point.active[data-v-82c5c222]{stroke:#00cfff;stroke-width:3}.axis-label[data-v-82c5c222]{font-size:8.5px;fill:#64748b;font-family:inherit;font-weight:500}.chart-loading[data-v-82c5c222],.chart-empty[data-v-82c5c222]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:36px 16px;color:#94a3b8;text-align:center;gap:8px}.loading-spinner[data-v-82c5c222]{width:28px;height:28px;border:3px solid #e2e8f0;border-top-color:#007bff;border-radius:50%;animation:spin-82c5c222 .8s linear infinite}@keyframes spin-82c5c222{to{transform:rotate(360deg)}}.day-detail-card[data-v-82c5c222]{margin-top:14px;padding:10px 14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}.detail-header[data-v-82c5c222]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.detail-date[data-v-82c5c222]{font-size:.8rem;font-weight:700;color:#1e293b}.badge[data-v-82c5c222]{font-size:.65rem;font-weight:700;padding:2px 6px;border-radius:4px;text-transform:uppercase}.badge-safe[data-v-82c5c222]{background:#dcfce7;color:#15803d}.badge-danger[data-v-82c5c222]{background:#fee2e2;color:#b91c1c}.detail-stats[data-v-82c5c222]{display:flex;justify-content:space-between;gap:12px}.stat-col[data-v-82c5c222]{display:flex;flex-direction:column}.stat-title[data-v-82c5c222]{font-size:.65rem;color:#64748b;margin-bottom:2px}.stat-number[data-v-82c5c222]{font-size:.95rem;font-weight:800;color:#0f172a}.stat-number small[data-v-82c5c222]{font-size:.65rem;font-weight:600;color:#64748b}.danger-color[data-v-82c5c222]{color:#ef4444!important}.safe-color[data-v-82c5c222]{color:#16a34a!important}.running-color[data-v-82c5c222]{color:#0284c7!important}.chart-legend[data-v-82c5c222]{display:flex;justify-content:center;gap:16px;margin-top:12px;font-size:.7rem;font-weight:600;color:#64748b}.legend-item[data-v-82c5c222]{display:flex;align-items:center;gap:6px}.legend-color-box[data-v-82c5c222]{width:10px;height:10px;border-radius:2px}.bar-color[data-v-82c5c222]{background:linear-gradient(to top,#007bff,#00cfff)}.legend-line[data-v-82c5c222]{width:14px;height:2px;border-radius:1px}.running-color-line[data-v-82c5c222]{background:#007bff}.limit-color-line[data-v-82c5c222]{background:#ef4444;border-top:1px dashed #ef4444;height:0}html.dark .period-chart-container[data-v-82c5c222]{background:#141414;border-color:#333}html.dark .chart-title[data-v-82c5c222]{color:#f8fafc}html.dark .chart-subtitle[data-v-82c5c222]{color:#94a3b8}html.dark .mode-toggles[data-v-82c5c222]{background:#222}html.dark .mode-btn[data-v-82c5c222]{color:#94a3b8}html.dark .mode-btn.active[data-v-82c5c222]{background:#333;color:#00cfff}html.dark .metrics-grid[data-v-82c5c222]{background:#1e1e1e;border-color:#333}html.dark .metric-label[data-v-82c5c222]{color:#94a3b8}html.dark .metric-val[data-v-82c5c222]{color:#f8fafc}html.dark .metric-val small[data-v-82c5c222]{color:#94a3b8}html.dark .grid-lines line[data-v-82c5c222]{stroke:#262626}html.dark .axis-label[data-v-82c5c222]{fill:#94a3b8}html.dark .day-detail-card[data-v-82c5c222]{background:#1e1e1e;border-color:#333}html.dark .detail-date[data-v-82c5c222]{color:#f8fafc}html.dark .stat-title[data-v-82c5c222]{color:#94a3b8}html.dark .stat-number[data-v-82c5c222]{color:#f8fafc}html.dark .stat-number small[data-v-82c5c222],html.dark .chart-legend[data-v-82c5c222]{color:#94a3b8}html.dark .running-point[data-v-82c5c222]{fill:#141414;stroke:#00cfff}html.dark .pill-good[data-v-82c5c222]{background:#064e3b;color:#6ee7b7}html.dark .pill-warning[data-v-82c5c222]{background:#7f1d1d;color:#fca5a5}.detail-events-section[data-v-82c5c222]{margin-top:14px;padding-top:12px;border-top:1px solid #e2e8f0}.detail-events-title[data-v-82c5c222]{font-size:.8rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.04em;margin:0 0 8px}.detail-event-list[data-v-82c5c222]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.detail-event-row[data-v-82c5c222]{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.event-meta[data-v-82c5c222]{display:flex;flex-direction:column;gap:2px}.event-type-badge[data-v-82c5c222]{font-size:.8rem;font-weight:600;color:#1e293b;text-transform:capitalize}.event-timestamp[data-v-82c5c222]{font-size:.7rem;color:#94a3b8}.event-volume-text[data-v-82c5c222]{font-size:.85rem;font-weight:700;color:#007bff}.event-symptom-text[data-v-82c5c222]{font-size:.8rem;font-weight:600;color:#ef4444}.detail-no-events[data-v-82c5c222]{font-size:.8rem;color:#94a3b8;font-style:italic;margin:4px 0 0}html.dark .detail-events-section[data-v-82c5c222]{border-top-color:#333}html.dark .detail-events-title[data-v-82c5c222]{color:#94a3b8}html.dark .detail-event-row[data-v-82c5c222]{background:#262626;border-color:#333}html.dark .event-type-badge[data-v-82c5c222]{color:#f8fafc}html.dark .event-volume-text[data-v-82c5c222]{color:#00cfff}html.dark .badge-safe[data-v-82c5c222]{background:#064e3b;color:#6ee7b7}html.dark .badge-danger[data-v-82c5c222]{background:#7f1d1d;color:#fca5a5}.reports-page[data-v-6732aeaf]{padding:1rem 1rem 5rem;max-width:600px;margin:0 auto}.page-title[data-v-6732aeaf]{color:#007bff;font-size:1.75rem;font-weight:800;margin:0 0 1.25rem}.report-controls[data-v-6732aeaf]{padding:16px;margin-bottom:16px;background:#fff;border-radius:14px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;border:1px solid #e2e8f0}.period-controls-wrapper[data-v-6732aeaf]{display:flex;flex-direction:column;gap:10px}.date-pickers[data-v-6732aeaf]{display:flex;gap:12px}.custom-input-group[data-v-6732aeaf]{display:flex;flex-direction:column;flex:1;gap:4px}.custom-input-group label[data-v-6732aeaf]{font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.custom-input-group input[data-v-6732aeaf]{padding:8px 10px;border:1px solid #cbd5e1;border-radius:8px;font-size:.85rem;color:#333;background:#fff;transition:border-color .2s;width:100%}.custom-input-group input[data-v-6732aeaf]:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff33}.preset-pills[data-v-6732aeaf]{display:flex;gap:6px;flex-wrap:wrap}.preset-pill[data-v-6732aeaf]{padding:4px 10px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:20px;font-size:.72rem;font-weight:600;color:#475569;cursor:pointer;transition:all .2s}.preset-pill[data-v-6732aeaf]:hover{background:#e2e8f0;color:#0f172a;border-color:#cbd5e1}.preset-pill.active[data-v-6732aeaf]{background:#007bff;color:#fff;border-color:#007bff}.report-actions[data-v-6732aeaf]{display:flex;justify-content:flex-end;gap:12px;margin-top:16px}.action-btn[data-v-6732aeaf]{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:#fff;border:1px solid #e2e8f0;border-radius:50%;color:#007bff;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #0000000d}.action-btn[data-v-6732aeaf]:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.action-btn[data-v-6732aeaf]:hover:not(:disabled){background:#f8fafc;transform:translateY(-2px);box-shadow:0 4px 6px #0000001a}.email-btn[data-v-6732aeaf]:hover:not(:disabled){border-color:#007bff;color:#007bff}.pdf-btn[data-v-6732aeaf]:hover:not(:disabled){border-color:#ef4444;color:#ef4444}.excel-btn[data-v-6732aeaf]:hover:not(:disabled){border-color:#107c41;color:#107c41}.btn-spinner[data-v-6732aeaf]{width:16px;height:16px;border:2px solid #e2e8f0;border-top-color:currentColor;border-radius:50%;animation:spin-6732aeaf .7s linear infinite;display:inline-block}@keyframes spin-6732aeaf{to{transform:rotate(360deg)}}.email-modal-overlay[data-v-6732aeaf]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172a8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px}.email-modal-card[data-v-6732aeaf]{width:100%;max-width:520px;background:#fff;border-radius:16px;padding:24px;box-shadow:0 20px 25px -5px #00000026,0 10px 10px -5px #00000014;border:1px solid #e2e8f0;display:flex;flex-direction:column;gap:18px;max-height:90vh;overflow-y:auto}.modal-header[data-v-6732aeaf]{display:flex;justify-content:space-between;align-items:flex-start}.modal-title-wrap[data-v-6732aeaf]{display:flex;gap:12px;align-items:center}.modal-icon-badge[data-v-6732aeaf]{display:flex;align-items:center;justify-content:center;width:38px;height:38px;background:#eff6ff;color:#007bff;border-radius:10px;flex-shrink:0}.modal-title[data-v-6732aeaf]{font-size:1.25rem;font-weight:700;color:#0f172a;margin:0}.modal-subtitle[data-v-6732aeaf]{font-size:.8rem;color:#64748b;margin:2px 0 0}.modal-close-btn[data-v-6732aeaf]{background:transparent;border:none;color:#94a3b8;cursor:pointer;padding:4px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s}.modal-close-btn[data-v-6732aeaf]:hover{background:#f1f5f9;color:#334155}.modal-body[data-v-6732aeaf]{display:flex;flex-direction:column;gap:14px}.pdf-attachment-chip[data-v-6732aeaf]{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;gap:10px}.chip-file-info[data-v-6732aeaf]{display:flex;align-items:center;gap:10px;overflow:hidden}.chip-pdf-icon[data-v-6732aeaf]{color:#ef4444;flex-shrink:0}.chip-text[data-v-6732aeaf]{display:flex;flex-direction:column;overflow:hidden}.chip-filename[data-v-6732aeaf]{font-size:.8rem;font-weight:600;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chip-meta[data-v-6732aeaf]{font-size:.7rem;color:#64748b}.chip-download-btn[data-v-6732aeaf]{background:transparent;border:1px solid #cbd5e1;border-radius:6px;padding:4px 10px;font-size:.72rem;font-weight:600;color:#007bff;cursor:pointer;white-space:nowrap;transition:all .2s}.chip-download-btn[data-v-6732aeaf]:hover{background:#eff6ff;border-color:#93c5fd}.modal-form-group[data-v-6732aeaf]{display:flex;flex-direction:column;gap:5px}.modal-form-group label[data-v-6732aeaf]{font-size:.78rem;font-weight:600;color:#475569}.modal-form-group input[data-v-6732aeaf],.modal-form-group textarea[data-v-6732aeaf]{padding:9px 12px;border:1px solid #cbd5e1;border-radius:8px;font-size:.85rem;color:#1e293b;background:#fff;font-family:inherit;transition:border-color .2s}.modal-form-group input[data-v-6732aeaf]:focus,.modal-form-group textarea[data-v-6732aeaf]:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff33}.modal-actions[data-v-6732aeaf]{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:6px;flex-wrap:wrap}.primary-actions-group[data-v-6732aeaf]{display:flex;gap:8px}.btn-cancel[data-v-6732aeaf]{padding:8px 14px;background:transparent;border:1px solid #cbd5e1;border-radius:8px;font-size:.82rem;font-weight:600;color:#64748b;cursor:pointer;transition:all .2s}.btn-cancel[data-v-6732aeaf]:hover:not(:disabled){background:#f1f5f9;color:#334155}.btn-send[data-v-6732aeaf]{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .2s;border:none}.btn-send[data-v-6732aeaf]:disabled{opacity:.6;cursor:not-allowed}.btn-send-server[data-v-6732aeaf]{background:#007bff;color:#fff}.btn-send-server[data-v-6732aeaf]:hover:not(:disabled){background:#0066d6}.btn-send-app[data-v-6732aeaf]{background:#f1f5f9;color:#334155;border:1px solid #cbd5e1}.btn-send-app[data-v-6732aeaf]:hover:not(:disabled){background:#e2e8f0;color:#0f172a}html.dark .action-btn[data-v-6732aeaf]{background:#141414;border-color:#333;color:#00cfff}html.dark .action-btn[data-v-6732aeaf]:hover:not(:disabled){background:#222}html.dark .email-btn[data-v-6732aeaf]:hover:not(:disabled){border-color:#00cfff;color:#00cfff}html.dark .pdf-btn[data-v-6732aeaf]:hover:not(:disabled){border-color:#f87171;color:#f87171}html.dark .excel-btn[data-v-6732aeaf]:hover:not(:disabled){border-color:#4ade80;color:#4ade80}html.dark .report-controls[data-v-6732aeaf]{background:#141414;border-color:#333}html.dark .custom-input-group label[data-v-6732aeaf]{color:#94a3b8}html.dark .custom-input-group input[data-v-6732aeaf]{background:#1e1e1e;border-color:#333;color:#f8fafc}html.dark .custom-input-group input[data-v-6732aeaf]:focus{border-color:#00cfff;box-shadow:0 0 0 2px #00cfff33}html.dark .preset-pill[data-v-6732aeaf]{background:#222;border-color:#333;color:#94a3b8}html.dark .preset-pill[data-v-6732aeaf]:hover{background:#333;color:#f8fafc;border-color:#444}html.dark .preset-pill.active[data-v-6732aeaf]{background:#00cfff;color:#000;border-color:#00cfff}html.dark .email-modal-card[data-v-6732aeaf]{background:#141414;border-color:#333}html.dark .modal-title[data-v-6732aeaf]{color:#f8fafc}html.dark .modal-subtitle[data-v-6732aeaf]{color:#94a3b8}html.dark .modal-icon-badge[data-v-6732aeaf]{background:#1e293b;color:#00cfff}html.dark .modal-close-btn[data-v-6732aeaf]:hover{background:#222;color:#f8fafc}html.dark .pdf-attachment-chip[data-v-6732aeaf]{background:#1e1e1e;border-color:#333}html.dark .chip-filename[data-v-6732aeaf]{color:#f8fafc}html.dark .chip-meta[data-v-6732aeaf]{color:#94a3b8}html.dark .chip-download-btn[data-v-6732aeaf]{border-color:#444;color:#00cfff}html.dark .chip-download-btn[data-v-6732aeaf]:hover{background:#1e293b}html.dark .modal-form-group label[data-v-6732aeaf]{color:#cbd5e1}html.dark .modal-form-group input[data-v-6732aeaf],html.dark .modal-form-group textarea[data-v-6732aeaf]{background:#1e1e1e;border-color:#333;color:#f8fafc}html.dark .modal-form-group input[data-v-6732aeaf]:focus,html.dark .modal-form-group textarea[data-v-6732aeaf]:focus{border-color:#00cfff;box-shadow:0 0 0 2px #00cfff33}html.dark .btn-cancel[data-v-6732aeaf]{border-color:#333;color:#94a3b8}html.dark .btn-cancel[data-v-6732aeaf]:hover:not(:disabled){background:#222;color:#f8fafc}html.dark .btn-send-server[data-v-6732aeaf]{background:#00cfff;color:#000}html.dark .btn-send-server[data-v-6732aeaf]:hover:not(:disabled){background:#38bdf8}html.dark .btn-send-app[data-v-6732aeaf]{background:#222;border-color:#333;color:#f8fafc}html.dark .btn-send-app[data-v-6732aeaf]:hover:not(:disabled){background:#333}.scanner-modal-backdrop[data-v-f3072e71]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172acc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;display:flex;align-items:center;justify-content:center;padding:1rem}.scanner-modal[data-v-f3072e71]{background:#fff;width:100%;max-width:400px;border-radius:16px;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a}.scanner-header[data-v-f3072e71]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e2e8f0}.scanner-header h3[data-v-f3072e71]{margin:0;font-size:1.125rem;color:#0a0a0a}.close-btn[data-v-f3072e71]{background:transparent;border:none;color:#666;cursor:pointer;padding:4px;border-radius:8px}.close-btn[data-v-f3072e71]:hover{background:#f1f5f9;color:#0a0a0a}.scanner-body[data-v-f3072e71]{padding:20px;display:flex;flex-direction:column;align-items:center}.scanner-container[data-v-f3072e71]{width:100%;max-width:300px;border-radius:12px;overflow:hidden;margin-bottom:16px}.error-text[data-v-f3072e71]{color:#ef4444;font-size:.875rem;text-align:center;margin-bottom:12px}.instruction-text[data-v-f3072e71]{color:#666;font-size:.875rem;text-align:center;margin:0}.enter-layout[data-v-d8affc43]{display:flex;flex-direction:column;min-height:100%}.enter-page[data-v-d8affc43]{display:flex;flex-direction:column;align-items:center;padding:10px;background:#fff;border-radius:12px;box-shadow:0 4px 6px -1px #0284c71a;max-width:500px;width:100%;margin:0 auto auto}.user-greeting[data-v-d8affc43]{font-size:1.125rem;font-weight:600;color:#3b82f6;margin:0;margin-bottom:.25rem;text-align:center;font-style:italic}h1[data-v-d8affc43]{color:#007bff;margin-top:0;margin-bottom:24px}.interactive-area[data-v-d8affc43]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;width:100%;margin-bottom:16px}.cup-section[data-v-d8affc43]{display:flex;flex-direction:column;align-items:center;justify-content:center}.section-title[data-v-d8affc43]{color:#666;font-size:.9rem;font-weight:600;text-align:center;margin-bottom:12px;margin-top:0}.cup-grid[data-v-d8affc43]{display:grid;grid-template-columns:repeat(4,auto);gap:12px 16px;justify-content:center}.small-cup-btn[data-v-d8affc43]{background:transparent;border:none;padding:4px;cursor:pointer;transition:transform .2s}.small-cup-btn[data-v-d8affc43]:hover{transform:translateY(-2px)}.slider-section[data-v-d8affc43]{display:flex;flex-direction:column;align-items:center}.slider-container[data-v-d8affc43]{cursor:grab}.slider-container[data-v-d8affc43]:active{cursor:grabbing}.handle[data-v-d8affc43]{transition:cx .1s,cy .1s;cursor:grab}.oz-display[data-v-d8affc43]{font-size:23.41px;font-weight:700;fill:#007bff;text-shadow:0 0 4px white,0 0 8px white}.slider-actions[data-v-d8affc43]{width:100%;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:16px;margin-top:8px;margin-bottom:4px;padding-left:0}.scan-btn[data-v-d8affc43]{display:flex;align-items:center;gap:6px;background:#f1f5f9;border:1px solid #C0C0C0;color:#333;padding:6px 12px;border-radius:9999px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 1px 2px #0000000d}.scan-btn[data-v-d8affc43]:hover{background:#e2e8f0;color:#0a0a0a;border-color:silver}.instruction[data-v-d8affc43]{color:#666;font-size:.8rem;font-style:italic;text-align:center;margin-top:8px}.submit-section[data-v-d8affc43]{width:100%;position:sticky;bottom:0;background:#fff;padding:10px;z-index:10;margin-top:auto}.submit-btn[data-v-d8affc43]{width:100%;padding:10px;background:silver;color:#0a0a0a;border:none;border-radius:50px;font-size:1.2rem;font-weight:700;cursor:pointer;transition:background .2s}.submit-btn[data-v-d8affc43]:hover:not(:disabled){background:#a0a0a0}.submit-btn[data-v-d8affc43]:disabled{background:silver;cursor:not-allowed}.research-disclaimer[data-v-159a8948]{box-sizing:border-box;font-family:inherit;transition:all .2s ease-in-out}.research-disclaimer.variant-banner[data-v-159a8948]{background:#fffbeb;border-bottom:1px solid #fef3c7;color:#78350f;padding:8px 12px;font-size:.75rem;line-height:1.35;flex-shrink:0;z-index:45;box-shadow:0 1px 2px #0000000a}.research-disclaimer.variant-banner.is-collapsed[data-v-159a8948]{padding:4px 10px;background:#fef3c7;cursor:pointer}.collapsed-bar[data-v-159a8948]{display:flex;align-items:center;justify-content:space-between;width:100%}.collapsed-content[data-v-159a8948]{display:flex;align-items:center;gap:6px}.collapsed-title[data-v-159a8948]{font-size:.72rem;font-weight:600;color:#92400e}.disclaimer-body[data-v-159a8948]{display:flex;flex-direction:column;gap:4px}.disclaimer-header[data-v-159a8948]{display:flex;align-items:center;justify-content:space-between;gap:8px}.header-left[data-v-159a8948]{display:flex;align-items:center;gap:6px}.beta-badge[data-v-159a8948]{background:#d97706;color:#fff;font-size:.65rem;font-weight:800;padding:1px 5px;border-radius:4px;letter-spacing:.5px;text-transform:uppercase;display:inline-block}.prototype-title[data-v-159a8948]{font-size:.78rem;color:#92400e;font-weight:700}.disclaimer-text[data-v-159a8948]{margin:0;color:#78350f;font-size:.72rem;line-height:1.35}.collapse-btn[data-v-159a8948],.expand-btn[data-v-159a8948]{background:transparent;border:none;color:#92400e;padding:2px;display:flex;align-items:center;justify-content:center;border-radius:4px;cursor:pointer;opacity:.8;transition:opacity .2s,background-color .2s}.collapse-btn[data-v-159a8948]:hover,.expand-btn[data-v-159a8948]:hover{opacity:1;background-color:#d9770626}.research-disclaimer.variant-card[data-v-159a8948]{background:#fffbeb;border:1px solid #fde68a;border-radius:12px;padding:14px 16px;margin-top:16px;color:#78350f;box-shadow:0 2px 4px #00000008}.research-disclaimer.variant-card .disclaimer-text[data-v-159a8948]{font-size:.8rem;margin-top:4px;line-height:1.4}html.dark{background:#1c1917;border-bottom:1px solid #292524;color:#fed7aa}html.dark{background:#292524}html.dark{color:#fbd38d}html.dark{color:#fdba74}html.dark{background-color:#fb923c33}html.dark{background:#1c1917;border:1px solid #44403c;color:#fed7aa}.preferences-page[data-v-3c6e3b0b]{padding:.5rem;padding-bottom:0;max-width:600px;margin:0 auto}.page-header[data-v-3c6e3b0b]{margin-bottom:1.5rem}.page-title[data-v-3c6e3b0b]{color:#007bff;font-size:1.75rem;font-weight:800;margin:0}.prefs-card[data-v-3c6e3b0b]{display:flex;flex-direction:column;padding:24px}.pref-item[data-v-3c6e3b0b]{display:flex;justify-content:space-between;align-items:center;padding:12px 0}.pref-info h3[data-v-3c6e3b0b]{margin:0 0 4px;font-size:1.1rem}.pref-info p[data-v-3c6e3b0b]{margin:0;font-size:.85rem;color:#666}.status-badge[data-v-3c6e3b0b]{display:inline-block;margin-top:8px;padding:4px 8px;background:#e0f2fe;color:#007bff;border-radius:4px;font-size:.75rem;font-weight:700}html.dark .status-badge[data-v-3c6e3b0b]{background:#111;color:#00cfff;border:1px solid #333333}.slider-container[data-v-3c6e3b0b]{display:flex;align-items:center;margin-top:12px}.limit-slider[data-v-3c6e3b0b]{flex:1;cursor:pointer;accent-color:#007BFF}.toggle-btn[data-v-3c6e3b0b]{width:50px;height:28px;background:#cbd5e1;border-radius:14px;border:none;position:relative;cursor:pointer;transition:background .3s}.toggle-btn.active[data-v-3c6e3b0b]{background:#007bff}.toggle-knob[data-v-3c6e3b0b]{width:22px;height:22px;background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;transition:transform .3s;box-shadow:0 2px 4px #0003}.toggle-btn.active .toggle-knob[data-v-3c6e3b0b]{transform:translate(22px)}html.dark .toggle-btn[data-v-3c6e3b0b]{background:#444}html.dark .toggle-btn.active[data-v-3c6e3b0b]{background:#007bff}.buy-btn[data-v-3c6e3b0b]{background:linear-gradient(135deg,#007bff,#00cfff);color:#fff;border:none;padding:8px 16px;border-radius:8px;font-weight:700;font-size:.9rem;cursor:pointer;transition:transform .2s,opacity .2s;box-shadow:0 4px 6px #007bff33}.buy-btn[data-v-3c6e3b0b]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 8px #007bff4d}.buy-btn[data-v-3c6e3b0b]:active:not(:disabled){transform:translateY(1px);box-shadow:0 2px 4px #007bff33}.buy-btn[data-v-3c6e3b0b]:disabled{opacity:.7;cursor:not-allowed}html.dark .buy-scans-item[data-v-3c6e3b0b]{border-top-color:#333!important}.auth-wrapper[data-v-a615cc02]{display:flex;align-items:center;justify-content:center;flex:1 1 0;min-height:0;width:100%;padding:20px;background:#f8f9fa;overflow-y:auto}.auth-card[data-v-a615cc02]{background:#fff;padding:32px;border-radius:16px;box-shadow:0 10px 25px #0000001a;width:100%;max-width:400px;text-align:center}.auth-logo[data-v-a615cc02]{height:64px;width:auto;object-fit:contain;margin-bottom:16px}.auth-subtitle[data-v-a615cc02]{color:#666;margin:0 0 24px}.auth-form[data-v-a615cc02]{display:flex;flex-direction:column;gap:16px;text-align:left}.input-group label[data-v-a615cc02]{display:block;font-size:.875rem;font-weight:600;color:#333;margin-bottom:6px}.input-group input[data-v-a615cc02]{width:100%;padding:10px 14px;border:1px solid #C0C0C0;border-radius:8px;font-size:1rem;outline:none;transition:border-color .2s}.input-group input[data-v-a615cc02]:focus{border-color:#007bff;box-shadow:0 0 0 3px #0284c71a}.error-msg[data-v-a615cc02]{color:#ef4444;font-size:.875rem;margin:0;text-align:center}.primary-btn[data-v-a615cc02]{background:#007bff;color:#fff;border:none;border-radius:8px;padding:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.primary-btn[data-v-a615cc02]:hover:not(:disabled){background:#007bff}.primary-btn[data-v-a615cc02]:disabled{background:silver;cursor:not-allowed}.divider[data-v-a615cc02]{display:flex;align-items:center;margin:24px 0;color:silver;font-size:.875rem}.divider[data-v-a615cc02]:before,.divider[data-v-a615cc02]:after{content:"";flex:1;height:1px;background:#e2e8f0}.divider span[data-v-a615cc02]{padding:0 10px}.google-btn[data-v-a615cc02]{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;background:#fff;border:1px solid #C0C0C0;color:#333;border-radius:8px;padding:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.google-btn[data-v-a615cc02]:hover{background:#f8fafc}.toggle-mode[data-v-a615cc02]{margin-top:24px;font-size:.875rem;color:#666}.link-btn[data-v-a615cc02]{background:none;border:none;color:#007bff;font-weight:600;cursor:pointer;padding:0}.link-btn[data-v-a615cc02]:hover{text-decoration:underline}.modal-overlay[data-v-0e8ca973]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:100;animation:fadeIn-0e8ca973 .2s ease-out}@keyframes fadeIn-0e8ca973{0%{opacity:0}to{opacity:1}}.modal-content[data-v-0e8ca973]{background:#fff;width:90%;max-width:320px;max-height:85vh;overflow-y:auto;border-radius:20px;padding:24px;box-shadow:0 10px 25px #0003;animation:scaleUp-0e8ca973 .3s cubic-bezier(.175,.885,.32,1.275)}@keyframes scaleUp-0e8ca973{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.modal-header[data-v-0e8ca973]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-header h2[data-v-0e8ca973]{margin:0;font-size:1.25rem;color:#0a0a0a}.close-btn[data-v-0e8ca973]{background:none;border:none;font-size:1.5rem;color:#666;cursor:pointer}.symptom-list[data-v-0e8ca973]{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.symptom-btn[data-v-0e8ca973]{padding:10px 14px;background:#f1f5f9;border:1px solid #C0C0C0;border-radius:12px;font-size:.95rem;color:#333;text-align:center;transition:all .2s;cursor:pointer}.symptom-btn[data-v-0e8ca973]:hover{background:#e2e8f0}.symptom-btn.active[data-v-0e8ca973]{background:#f8f9fa;border-color:#007bff;color:#007bff;font-weight:600}.custom-input-group[data-v-0e8ca973]{margin-bottom:24px}.custom-input-group label[data-v-0e8ca973]{display:block;font-size:.875rem;color:#666;margin-bottom:8px}.custom-input-group input[data-v-0e8ca973]{width:100%;padding:12px 16px;border:1px solid #C0C0C0;border-radius:12px;font-size:1rem;outline:none;transition:border-color .2s}.custom-input-group input[data-v-0e8ca973]:focus{border-color:#007bff;box-shadow:0 0 0 3px #0284c71a}.submit-btn[data-v-0e8ca973]{width:100%;padding:16px;background:#007bff;color:#fff;border:none;border-radius:12px;font-size:1.125rem;font-weight:700;cursor:pointer;transition:background .2s}.submit-btn[data-v-0e8ca973]:hover:not(:disabled){background:#007bff}.submit-btn[data-v-0e8ca973]:disabled{background:silver;cursor:not-allowed}html.dark .modal-content[data-v-0e8ca973]{background:#141414;color:#fff}html.dark .modal-header h2[data-v-0e8ca973]{color:#fff}html.dark .close-btn[data-v-0e8ca973]{color:silver}html.dark .close-btn[data-v-0e8ca973]:hover{background:#333}html.dark .symptom-btn[data-v-0e8ca973]{background:#111;border-color:#333;color:silver}html.dark .symptom-btn[data-v-0e8ca973]:hover{background:#333}html.dark .symptom-btn.selected[data-v-0e8ca973]{background:#007bff;border-color:#007bff;color:#fff}html.dark .custom-input-group label[data-v-0e8ca973]{color:silver}html.dark .custom-input-group input[data-v-0e8ca973]{background:#111;border-color:#333;color:#fff}html.dark .custom-input-group input[data-v-0e8ca973]:focus{border-color:#00cfff}h1,h2,h3,h4,h5,h6,.brand,.page-title,.section-title{font-family:Montserrat,sans-serif;font-weight:700}:root{font-family:Open Sans,Arial,sans-serif;color:#0a0a0a;background:#f8f9fa;font-synthesis:none;text-rendering:optimizeLegibility;box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}body{min-width:320px;margin:0;display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:#1a1a1a}#app{width:375px;height:667px;background:#f8f9fa;overflow:hidden;box-shadow:0 0 20px #00000080;position:relative;display:flex;flex-direction:column}button{font:inherit;cursor:pointer}.app-shell{width:100%;flex:1 1 0;min-height:0;margin:0;padding:0;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden}.app-main{flex:1 1 0;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding:10px 10px 16px}.app-footer{flex-shrink:0;width:100%;position:relative;background-color:#007bff;border-top:none;z-index:50;box-shadow:0 -4px 6px -1px #0000000d;padding-bottom:env(safe-area-inset-bottom,0px)}.bottom-nav{display:flex;justify-content:space-around;padding:8px 0}.bottom-nav button{display:flex;flex-direction:column;align-items:center;background:transparent;border:none;color:#ffffffb3;font-size:.75rem;gap:4px}.bottom-nav button.active{color:#fff;font-weight:700}.app-header{flex-shrink:0;position:relative;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:0;background-color:#007bff;padding:10px;color:#fff;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.brand{color:inherit;display:flex;align-items:center;text-decoration:none}.header-logo{height:48px;width:auto;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.auth-container{display:flex;align-items:center;position:relative}.user-menu-wrapper{position:relative}.login-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:12px;border:1px solid #e2e8f0;background-color:#f1f5f9;color:#333;font-size:.75rem;font-weight:600;cursor:pointer;box-shadow:0 1px 2px #0000000d;transition:all .2s}.login-btn:hover{background-color:#e2e8f0;border-color:#3b82f680;color:#0a0a0a}.icon-svg{width:14px;height:14px;color:#2563eb}.avatar-btn{display:flex;align-items:center;justify-content:center;padding:2px;border-radius:9999px;background-color:#f1f5f9;border:1px solid #C0C0C0;transition:all .2s;cursor:pointer;box-shadow:0 1px 2px #0000000d}.avatar-btn:hover{border-color:#3b82f680;background-color:#e2e8f0;transform:scale(1.05)}.avatar-btn.menu-open{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f64d;background-color:#eff6ff}.user-avatar{width:35px;height:35px;border-radius:9999px;object-fit:cover;box-shadow:0 0 0 1.5px #60a5fa80}.dropdown-menu{position:absolute;right:0;top:100%;margin-top:8px;width:256px;background-color:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 25px 50px -12px #00000040;padding-top:8px;padding-bottom:8px;z-index:50;color:#0a0a0a}.dropdown-header{padding:10px 16px;border-bottom:1px solid #f1f5f9;display:flex;align-items:center;gap:10px}.dropdown-avatar{width:32px;height:32px;border-radius:9999px;object-fit:cover;box-shadow:0 0 0 1px #60a5fa66}.dropdown-user-info{overflow:hidden}.dropdown-name{font-size:.75rem;font-weight:700;color:#0a0a0a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-email{font-size:.625rem;font-family:monospace;color:#2563eb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-actions{border-top:1px solid #f1f5f9;padding-top:6px;margin-top:6px}.dropdown-action-btn{width:100%;padding:8px 16px;text-align:left;display:flex;align-items:center;gap:10px;background:transparent;border:none;font-size:.75rem;font-weight:500;transition:background-color .2s;cursor:pointer;color:#333}.dropdown-action-btn:hover{background-color:#f1f5f9}.logout-btn{color:#e11d48}.logout-btn:hover{background-color:#fff1f2}.alert-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn .2s}.alert-modal{background:#fff;padding:32px;border-radius:20px;text-align:center;width:90%;max-width:320px;box-shadow:0 10px 25px #0003;animation:scaleUp .3s cubic-bezier(.175,.885,.32,1.275)}.alert-icon{background:#dcfce7;width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.alert-modal h3{margin:0 0 8px;color:#0a0a0a!important;font-size:1.75rem;font-family:Montserrat,sans-serif;font-weight:700}.alert-modal p{color:#666!important;margin:0 0 24px;font-size:1rem}.alert-btn{background:#22c55e;color:#fff;border:none;border-radius:12px;padding:12px 24px;font-size:1rem;font-weight:600;cursor:pointer;width:100%;transition:background .2s}.alert-btn:hover{background:#16a34a}.alert-actions{display:flex;gap:12px}.alert-btn.cancel-btn{background:transparent;color:silver;border:1px solid #C0C0C0}.alert-btn.cancel-btn:hover{background:#c0c0c01a}.alert-btn.confirm-btn{background:#ef4444}.alert-btn.confirm-btn:hover{background:#dc2626}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleUp{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}html.dark body{background-color:#0a0a0a}html.dark #app{background:#0a0a0a;color:#f8fafc}html.dark .app-header,html.dark .app-footer{background-color:#0b1e47}html.dark .dropdown-menu{background-color:#141414;border-color:#333;color:#f8fafc}html.dark .dropdown-header{border-bottom-color:#333}html.dark .dropdown-actions{border-top-color:#333}html.dark .dropdown-name{color:#f8fafc}html.dark .dropdown-action-btn{color:silver}html.dark .dropdown-action-btn:hover{background-color:#333}html.dark .logout-btn{color:#fda4af}html.dark .logout-btn:hover{background-color:#e11d4833}html.dark .alert-modal{background:#141414;box-shadow:0 10px 25px #00000080}html.dark .alert-modal h3{color:#fff!important}html.dark .alert-modal p{color:silver!important}html.dark .card,html.dark .auth-card,html.dark .report,html.dark .enter-page,html.dark .submit-section{background-color:#141414;color:#f8fafc;box-shadow:0 4px 6px #0000004d;border-color:#333}html.dark .submit-section{box-shadow:none}html.dark .page-title,html.dark h1,html.dark h2,html.dark h3{color:#f8f9fa!important}html.dark .section-title,html.dark label,html.dark p{color:silver}html.dark .bottom-nav button{color:#ffffffb3}html.dark .bottom-nav button.active{color:#fff}html.dark .input-group input,html.dark .custom-input-group input,html.dark .symptom-btn{background:#333;border-color:#444;color:#f8fafc}html.dark .symptom-btn.active{background:#0c4a6e;border-color:#007bff;color:#f8f9fa}html.dark .modal-content,html.dark .alert-modal{background:#141414;color:#f8fafc}html.dark .alert-modal p{color:silver}html.dark .oz-display{fill:#f8f9fa;text-shadow:0 0 8px rgba(0,0,0,.8)}html.dark .scan-btn,html.dark .small-cup-btn svg{border-color:#444;color:silver;stroke:#00cfff}html.dark .scan-btn{background:#333}html.dark .empty-text{color:#666}html.dark .risk-bar-wrapper,html.dark .risk-mask{background:#333}html.dark .slider-track{stroke:#333!important}html.dark .limit{color:silver}html.dark .consumed{color:#f8f9fa}html.dark .consumed.danger-text,html.dark .danger-text,html.dark .over-limit-warning{color:#fca5a5}html.dark .reset-btn{border-color:#f87171;color:#f87171}html.dark .reset-btn:hover{background-color:#f871711a}html.dark .symptom-item:before{color:#f87171}@media(max-width:600px),(max-height:500px){body{align-items:stretch;background-color:#f8f9fa;height:100vh;height:100dvh;overflow:hidden}html.dark body{background-color:#0a0a0a}#app{width:100%;max-width:100%;height:100vh;height:100dvh;box-shadow:none;border-radius:0}}
