@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap";html{touch-action:manipulation;overflow-x:hidden;overscroll-behavior-x:none;width:100%}body{margin:0;min-height:100vh;overflow-x:hidden;overscroll-behavior-x:none;width:100%}.auth-screen[data-v-11a94a0b]{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:radial-gradient(ellipse at top,rgba(168,85,247,.12) 0%,transparent 50%),radial-gradient(ellipse at bottom right,rgba(34,211,238,.08) 0%,transparent 50%),var(--bg-base)}.auth-container[data-v-11a94a0b]{width:100%;max-width:380px;background:var(--bg-raised);border-radius:16px;padding:2.5rem 2rem;border:1px solid var(--border);box-shadow:0 20px 60px #0000004d}.auth-header[data-v-11a94a0b]{text-align:center;margin-bottom:2rem}.auth-title[data-v-11a94a0b]{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem;letter-spacing:-.5px}.auth-subtitle[data-v-11a94a0b]{color:var(--text-muted);font-size:.9rem}.mode-toggle[data-v-11a94a0b]{display:flex;gap:.5rem;margin-bottom:1.5rem;padding:4px;background:var(--bg-base);border-radius:10px}.mode-btn[data-v-11a94a0b]{flex:1;padding:.6rem 1rem;border:none;background:transparent;color:var(--text-muted);font-size:.9rem;font-weight:500;font-family:inherit;border-radius:8px;cursor:pointer;transition:all .2s}.mode-btn[data-v-11a94a0b]:hover:not(:disabled){color:var(--text-secondary)}.mode-btn.active[data-v-11a94a0b]{background:var(--bg-elevated);color:var(--text-primary)}.mode-btn[data-v-11a94a0b]:disabled{cursor:not-allowed;opacity:.6}.auth-form[data-v-11a94a0b]{display:flex;flex-direction:column;gap:1.25rem}.form-group[data-v-11a94a0b]{display:flex;flex-direction:column;gap:.4rem}.form-label[data-v-11a94a0b]{font-size:.85rem;font-weight:500;color:var(--text-secondary)}.form-input[data-v-11a94a0b]{padding:.5rem .7rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-base);color:var(--text-primary);font-size:.9rem;font-family:inherit;transition:all .2s}.form-input[data-v-11a94a0b]::placeholder{color:var(--text-muted)}.form-input[data-v-11a94a0b]:focus{outline:none;border-color:var(--purple);box-shadow:0 0 0 3px #a855f726}.form-input[data-v-11a94a0b]:disabled{opacity:.6;cursor:not-allowed}.form-hint[data-v-11a94a0b]{font-size:.8rem;color:var(--text-muted);margin-top:.25rem}.form-hint.error[data-v-11a94a0b]{color:var(--rose)}.error-message[data-v-11a94a0b]{padding:.75rem 1rem;background:#fb71851a;border:1px solid rgba(251,113,133,.2);border-radius:8px;color:var(--rose);font-size:.85rem}.submit-btn[data-v-11a94a0b]{margin-top:.5rem;padding:.85rem 1.5rem;border:none;border-radius:10px;background:var(--purple);color:#fff;font-size:1rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.5rem}.submit-btn[data-v-11a94a0b]:hover:not(:disabled){background:#9333ea;transform:translateY(-1px)}.submit-btn[data-v-11a94a0b]:disabled{opacity:.6;cursor:not-allowed;transform:none}.spinner[data-v-11a94a0b]{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-11a94a0b .8s linear infinite}@keyframes spin-11a94a0b{to{transform:rotate(360deg)}}.switch-mode[data-v-11a94a0b]{text-align:center;margin-top:1.5rem;color:var(--text-muted);font-size:.9rem}.switch-btn[data-v-11a94a0b]{background:none;border:none;color:var(--purple);font-size:.9rem;font-weight:500;font-family:inherit;cursor:pointer;padding:0;margin-left:.25rem}.switch-btn[data-v-11a94a0b]:hover:not(:disabled){text-decoration:underline}.switch-btn[data-v-11a94a0b]:disabled{cursor:not-allowed;opacity:.6}.verification-pending[data-v-11a94a0b]{text-align:center;padding:1rem 0}.verification-icon[data-v-11a94a0b]{font-size:3rem;margin-bottom:1rem}.verification-title[data-v-11a94a0b]{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem}.verification-text[data-v-11a94a0b]{color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin-bottom:.75rem}.verification-text strong[data-v-11a94a0b]{color:var(--text-primary)}.verification-hint[data-v-11a94a0b]{color:var(--text-muted);font-size:.85rem;margin-bottom:1.5rem}.resend-btn[data-v-11a94a0b]{width:100%;padding:.75rem 1rem;border:1px solid var(--border);border-radius:10px;background:var(--bg-base);color:var(--text-secondary);font-size:.9rem;font-family:inherit;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.5rem}.resend-btn[data-v-11a94a0b]:hover:not(:disabled){background:var(--bg-elevated);color:var(--text-primary);border-color:var(--purple)}.resend-btn[data-v-11a94a0b]:disabled{opacity:.6;cursor:not-allowed}.back-btn[data-v-11a94a0b]{margin-top:1rem;padding:.5rem;background:none;border:none;color:var(--text-muted);font-size:.9rem;font-family:inherit;cursor:pointer}.back-btn[data-v-11a94a0b]:hover{color:var(--text-secondary)}.secret-key-display[data-v-11a94a0b]{text-align:center;padding:1rem 0}.secret-key-icon[data-v-11a94a0b]{font-size:3rem;margin-bottom:1rem}.secret-key-title[data-v-11a94a0b]{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem}.secret-key-warning[data-v-11a94a0b]{color:var(--amber);font-size:.9rem;line-height:1.6;margin-bottom:1.5rem;padding:1rem;background:#fbbf241a;border:1px solid rgba(251,191,36,.2);border-radius:10px}.secret-key-box[data-v-11a94a0b]{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:var(--bg-base);border:1px solid var(--border);border-radius:10px;margin-bottom:1rem}.secret-key-value[data-v-11a94a0b]{font-variant-numeric:tabular-nums;font-size:1.1rem;font-weight:500;color:var(--cyan);letter-spacing:1px;word-break:break-all}.copy-btn[data-v-11a94a0b]{padding:.6rem 1rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated);color:var(--text-secondary);font-size:.9rem;font-family:inherit;cursor:pointer;transition:all .2s}.copy-btn[data-v-11a94a0b]:hover{background:var(--bg-raised);color:var(--text-primary);border-color:var(--purple)}.secret-key-hint[data-v-11a94a0b]{color:var(--text-muted);font-size:.85rem;margin-bottom:1.5rem}.acknowledge-btn[data-v-11a94a0b]{width:100%;padding:.85rem 1.5rem;border:none;border-radius:10px;background:var(--emerald);color:#fff;font-size:1rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s}.acknowledge-btn[data-v-11a94a0b]:hover{background:#22c55e;transform:translateY(-1px)}.secret-key-input[data-v-11a94a0b]{text-align:center;padding:1rem 0}.secret-key-text[data-v-11a94a0b]{color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin-bottom:1.5rem}.secret-key-input-field[data-v-11a94a0b]{font-variant-numeric:tabular-nums;letter-spacing:1px;text-transform:uppercase}.version-indicator[data-v-11a94a0b]{position:fixed;bottom:8px;right:12px;font-size:.7rem;color:var(--text-muted);opacity:.6;font-variant-numeric:tabular-nums;user-select:none;z-index:9999}.verification-screen[data-v-3b88ece9]{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:radial-gradient(ellipse at top,rgba(168,85,247,.12) 0%,transparent 50%),radial-gradient(ellipse at bottom right,rgba(34,211,238,.08) 0%,transparent 50%),var(--bg-base)}.verification-container[data-v-3b88ece9]{width:100%;max-width:400px;background:var(--bg-raised);border-radius:16px;padding:2.5rem 2rem;border:1px solid var(--border);box-shadow:0 20px 60px #0000004d;text-align:center}.verification-icon[data-v-3b88ece9]{font-size:4rem;margin-bottom:1.5rem}.verification-title[data-v-3b88ece9]{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem}.verification-text[data-v-3b88ece9]{color:var(--text-secondary);font-size:1rem;line-height:1.6;margin-bottom:.75rem}.verification-text strong[data-v-3b88ece9]{color:var(--text-primary)}.verification-hint[data-v-3b88ece9]{color:var(--text-muted);font-size:.9rem;margin-bottom:2rem}.verification-actions[data-v-3b88ece9]{display:flex;flex-direction:column;gap:.75rem}.verify-btn[data-v-3b88ece9]{width:100%;padding:.85rem 1.5rem;border-radius:10px;font-size:1rem;font-weight:500;font-family:inherit;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.5rem}.verify-btn.primary[data-v-3b88ece9]{background:var(--purple);color:#fff;border:none}.verify-btn.primary[data-v-3b88ece9]:hover:not(:disabled){background:#9333ea}.verify-btn.secondary[data-v-3b88ece9]{background:var(--bg-base);color:var(--text-secondary);border:1px solid var(--border)}.verify-btn.secondary[data-v-3b88ece9]:hover:not(:disabled){background:var(--bg-elevated);color:var(--text-primary);border-color:var(--purple)}.verify-btn[data-v-3b88ece9]:disabled{opacity:.6;cursor:not-allowed}.spinner[data-v-3b88ece9]{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-3b88ece9 .8s linear infinite}@keyframes spin-3b88ece9{to{transform:rotate(360deg)}}.error-message[data-v-3b88ece9]{margin-top:1rem;padding:.75rem 1rem;background:#fb71851a;border:1px solid rgba(251,113,133,.2);border-radius:8px;color:var(--rose);font-size:.85rem}.logout-btn[data-v-3b88ece9]{margin-top:1.5rem;padding:.5rem;background:none;border:none;color:var(--text-muted);font-size:.85rem;font-family:inherit;cursor:pointer}.logout-btn[data-v-3b88ece9]:hover{color:var(--text-secondary);text-decoration:underline}.auto-unlock-status[data-v-3b88ece9]{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem;background:#a855f71a;border:1px solid rgba(168,85,247,.25);border-radius:10px;color:var(--purple);font-size:.95rem;font-weight:500}.version-indicator[data-v-3b88ece9]{position:fixed;bottom:8px;right:12px;font-size:.7rem;color:var(--text-muted);opacity:.6;font-variant-numeric:tabular-nums;user-select:none}.substance-btn[data-v-cd43b3b3]{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.375rem;width:100%;min-width:0;min-height:90px;padding:.75rem;border:none;border-radius:18px;background:var(--bg-raised);color:var(--text-primary);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);overflow:hidden;-webkit-tap-highlight-color:transparent}.substance-btn[data-v-cd43b3b3]:before{content:"";position:absolute;inset:0;border-radius:18px;background:radial-gradient(ellipse at 10% 50%,var(--accent) 0%,transparent 55%);opacity:.08;transition:opacity .3s ease;pointer-events:none}.substance-btn[data-v-cd43b3b3]:hover:before{opacity:.15}.substance-btn[data-v-cd43b3b3]:hover{background:var(--bg-elevated);transform:translateY(-2px)}.substance-btn[data-v-cd43b3b3]:active,.substance-btn.pressed[data-v-cd43b3b3]{transform:scale(.97)}.substance-btn.reorder-mode[data-v-cd43b3b3]{outline:2px dashed var(--purple);outline-offset:-2px}.substance-btn.reorder-mode[data-v-cd43b3b3]:hover{transform:translateY(-2px)}.substance-btn.reorder-mode[data-v-cd43b3b3]:active{transform:scale(.98)}.dark-accent[data-v-cd43b3b3]:before{opacity:.15;background:radial-gradient(ellipse at 10% 50%,var(--accent) 0%,rgba(255,255,255,.08) 30%,transparent 55%)}.zone-left[data-v-cd43b3b3],.zone-middle[data-v-cd43b3b3],.zone-right[data-v-cd43b3b3]{display:flex;flex-direction:column;gap:.2rem;min-width:0}.zone-middle[data-v-cd43b3b3],.zone-right[data-v-cd43b3b3]{overflow:hidden}.zone-left[data-v-cd43b3b3]{align-items:flex-start;min-width:2.75rem;overflow:visible}.zone-middle[data-v-cd43b3b3]{align-items:center;text-align:center}.zone-right[data-v-cd43b3b3]{min-width:3.5rem;align-items:flex-end;text-align:right}.code[data-v-cd43b3b3]{font-family:IBM Plex Mono,monospace;font-size:1.6rem;font-weight:600;color:var(--accent);text-shadow:0 0 20px var(--accent)}.dark-accent .code[data-v-cd43b3b3]{-webkit-text-stroke:1px rgba(255,255,255,.5);text-shadow:0 0 10px var(--accent),0 0 20px var(--accent),0 0 40px var(--accent),0 0 60px var(--accent),0 0 2px rgba(255,255,255,.8)}.defaults[data-v-cd43b3b3]{display:flex;flex-direction:column;gap:.1rem}.dose[data-v-cd43b3b3]{font-variant-numeric:tabular-nums;font-size:.8rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.method[data-v-cd43b3b3]{font-variant-numeric:tabular-nums;font-size:.65rem;color:var(--text-muted);text-transform:lowercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zone-header[data-v-cd43b3b3]{font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.period-header[data-v-cd43b3b3]{font-size:.55rem;color:var(--text-muted);margin-top:.15rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.blood-level[data-v-cd43b3b3]{font-variant-numeric:tabular-nums;font-weight:500;font-size:.95rem;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.blood-levels-grid[data-v-cd43b3b3]{display:grid;grid-template-columns:auto auto;column-gap:.2em;justify-content:center;row-gap:.05rem}.blood-value[data-v-cd43b3b3]{font-variant-numeric:tabular-nums;font-weight:500;font-size:.95rem;color:var(--text-primary);text-align:right;white-space:nowrap}.blood-unit[data-v-cd43b3b3]{font-size:.7rem;color:var(--text-secondary);text-align:left;align-self:center;white-space:nowrap}.trend-badge[data-v-cd43b3b3]{font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;padding:.12rem .35rem;border-radius:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.last-taken[data-v-cd43b3b3]{font-variant-numeric:tabular-nums;font-size:.75rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.total-amount[data-v-cd43b3b3]{font-variant-numeric:tabular-nums;font-size:.7rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.total-spent[data-v-cd43b3b3]{font-variant-numeric:tabular-nums;font-size:.65rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.placeholder[data-v-cd43b3b3]{visibility:hidden;min-height:1em}.allowance-header[data-v-cd43b3b3]{margin-top:.15rem;white-space:nowrap}.allowance-denom[data-v-cd43b3b3]{opacity:.7}.allowance-amount[data-v-cd43b3b3]{font-variant-numeric:tabular-nums;font-size:.7rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.allowance-ok[data-v-cd43b3b3]{color:#22c55e}.allowance-warn[data-v-cd43b3b3]{color:#f97316}.allowance-over[data-v-cd43b3b3]{color:#ef4444}.modal-overlay[data-v-0cb0453d]{position:fixed;inset:0;background:#000c;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal[data-v-0cb0453d]{background:var(--bg-raised);border-radius:16px;width:100%;max-width:440px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-sizing:border-box}.modal-header[data-v-0cb0453d]{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.25rem 1rem;border-bottom:1px solid var(--border)}.modal-title[data-v-0cb0453d]{display:flex;align-items:center;gap:.75rem;font-weight:600;font-size:1.15rem;color:var(--text-primary)}.substance-code[data-v-0cb0453d]{font-family:IBM Plex Mono,monospace;font-size:.9rem;padding:.3rem .55rem;border-radius:6px;background:var(--purple);color:#fff}.close-btn[data-v-0cb0453d]{background:none;border:none;color:var(--text-muted);font-size:1.25rem;cursor:pointer;padding:.25rem;line-height:1}.close-btn[data-v-0cb0453d]:hover{color:var(--text-primary)}.modal-body[data-v-0cb0453d]{padding:1.25rem;display:flex;flex-direction:column;gap:1rem;overflow-y:auto;overflow-x:hidden}.presets[data-v-0cb0453d]{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.presets-label[data-v-0cb0453d]{font-size:.85rem;color:var(--text-muted)}.preset-btn[data-v-0cb0453d]{font-variant-numeric:tabular-nums;font-size:.8rem;background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-secondary);padding:.35rem .65rem;border-radius:6px;cursor:pointer;transition:all .15s}.preset-btn[data-v-0cb0453d]:hover{background:var(--purple);border-color:var(--purple);color:#fff}.field[data-v-0cb0453d]{display:flex;flex-direction:column;gap:.5rem}.field-row[data-v-0cb0453d]{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;min-width:0}.field-row .field[data-v-0cb0453d]{min-width:0}.field label[data-v-0cb0453d]{font-size:.9rem;font-weight:500;color:var(--text-secondary)}.required[data-v-0cb0453d]{color:#ef4444}.field input[type=text][data-v-0cb0453d],.field input[type=number][data-v-0cb0453d]{font-variant-numeric:tabular-nums;font-size:.9rem;padding:.5rem .7rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-base);color:var(--text-primary);outline:none;transition:border-color .15s}.field input[data-v-0cb0453d]:focus{border-color:var(--purple)}.hint[data-v-0cb0453d]{font-size:.75rem;color:var(--text-muted)}.warn-hint[data-v-0cb0453d]{font-size:.75rem;color:#f97316}.checkbox-field[data-v-0cb0453d]{padding-top:.5rem}.checkbox-label[data-v-0cb0453d]{display:flex;align-items:center;gap:.75rem;cursor:pointer}.checkbox-label input[type=checkbox][data-v-0cb0453d]{width:18px;height:18px;accent-color:var(--purple);cursor:pointer}.checkbox-label span[data-v-0cb0453d]{font-size:.95rem;color:var(--text-secondary)}.field select[data-v-0cb0453d]{font-variant-numeric:tabular-nums;font-size:.9rem;padding:.5rem .7rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-base);color:var(--text-primary);cursor:pointer;outline:none}.field select[data-v-0cb0453d]:focus{border-color:var(--purple)}.modal-footer[data-v-0cb0453d]{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.25rem 1.25rem;border-top:1px solid var(--border)}.btn-cancel[data-v-0cb0453d],.btn-save[data-v-0cb0453d]{font-family:Space Grotesk,sans-serif;font-size:1rem;font-weight:500;padding:.75rem 1.4rem;border-radius:9px;border:none;cursor:pointer;transition:all .15s}.btn-cancel[data-v-0cb0453d]{background:transparent;color:var(--text-secondary)}.btn-cancel[data-v-0cb0453d]:hover{color:var(--text-primary)}.btn-save[data-v-0cb0453d]{background:var(--purple);color:#fff}.btn-save[data-v-0cb0453d]:hover{background:#9333ea}.btn-save[data-v-0cb0453d]:disabled{opacity:.5;cursor:not-allowed}.modal-enter-active[data-v-0cb0453d],.modal-leave-active[data-v-0cb0453d],.modal-enter-active .modal[data-v-0cb0453d],.modal-leave-active .modal[data-v-0cb0453d]{transition:all .2s ease}.modal-enter-from[data-v-0cb0453d],.modal-leave-to[data-v-0cb0453d]{opacity:0}.modal-enter-from .modal[data-v-0cb0453d],.modal-leave-to .modal[data-v-0cb0453d]{transform:scale(.95);opacity:0}.unit-modal-overlay[data-v-0cb0453d]{position:fixed;inset:0;background:#000000b3;backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:1100;padding:1rem}.unit-modal[data-v-0cb0453d]{background:var(--bg-raised);border-radius:12px;width:100%;max-width:320px;box-shadow:0 8px 32px #0006}.unit-modal-header[data-v-0cb0453d]{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border);font-weight:600;color:var(--text-primary)}.unit-modal-body[data-v-0cb0453d]{padding:1.25rem}.unit-modal-body .unit-input[data-v-0cb0453d]{width:100%;font-variant-numeric:tabular-nums;font-size:.9rem;padding:.5rem .7rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-base);color:var(--text-primary);outline:none;transition:border-color .15s}.unit-modal-body .unit-input[data-v-0cb0453d]:focus{border-color:var(--purple)}.unit-modal-footer[data-v-0cb0453d]{display:flex;justify-content:flex-end;gap:.75rem;padding:.75rem 1.25rem 1.25rem}.unit-modal-enter-active[data-v-0cb0453d],.unit-modal-leave-active[data-v-0cb0453d],.unit-modal-enter-active .unit-modal[data-v-0cb0453d],.unit-modal-leave-active .unit-modal[data-v-0cb0453d]{transition:all .15s ease}.unit-modal-enter-from[data-v-0cb0453d],.unit-modal-leave-to[data-v-0cb0453d]{opacity:0}.unit-modal-enter-from .unit-modal[data-v-0cb0453d],.unit-modal-leave-to .unit-modal[data-v-0cb0453d]{transform:scale(.95);opacity:0}.cost-row[data-v-0cb0453d]{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap}.cost-currency[data-v-0cb0453d],.cost-separator[data-v-0cb0453d],.cost-unit[data-v-0cb0453d]{font-variant-numeric:tabular-nums;font-size:.9rem;color:var(--text-secondary)}.cost-input[data-v-0cb0453d]{font-variant-numeric:tabular-nums;font-size:.9rem;padding:.5rem .7rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-base);color:var(--text-primary);outline:none;width:70px;box-sizing:border-box}.cost-input[data-v-0cb0453d]:focus{border-color:var(--purple)}.warning-modal[data-v-0cb0453d]{max-width:380px}.warning-header[data-v-0cb0453d]{color:#f59e0b}.warning-text[data-v-0cb0453d]{font-size:.95rem;color:var(--text-secondary);margin:0 0 .75rem;line-height:1.5}.warning-danger[data-v-0cb0453d]{color:#ef4444;font-weight:500}.btn-danger[data-v-0cb0453d]{font-family:Space Grotesk,sans-serif;font-size:1rem;font-weight:500;padding:.75rem 1.4rem;border-radius:9px;border:none;cursor:pointer;background:#ef4444;color:#fff;transition:all .15s}.btn-danger[data-v-0cb0453d]:hover{background:#dc2626}.swipe-cell[data-v-7fb764eb]{height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;cursor:pointer;user-select:none;border-radius:6px;transition:background .15s;touch-action:none}.swipe-cell[data-v-7fb764eb]:hover{background:#8b5cf614}.swipe-cell[data-v-7fb764eb]:active{background:#8b5cf626}.swipe-cell[data-v-7fb764eb]:focus{outline:none;background:#8b5cf61f;box-shadow:0 0 0 2px #8b5cf64d}.cell-value[data-v-7fb764eb]{font-size:1.05rem;font-variant-numeric:tabular-nums;color:var(--text-primary);line-height:1}.cell-arrow[data-v-7fb764eb]{font-size:.45rem;line-height:1;color:var(--text-muted);opacity:.45;padding:2px 10px;transition:opacity .15s,color .15s}.swipe-cell:hover .cell-arrow[data-v-7fb764eb]{opacity:.75}.cell-arrow[data-v-7fb764eb]:hover{opacity:1!important;color:var(--purple)}.swipe-cell.compact[data-v-7fb764eb]{position:relative;flex-direction:row;height:auto;min-height:35px;gap:0;padding:.5rem .7rem;background:var(--bg-base);border:1px solid var(--border);border-radius:8px;direction:ltr;transition:background .15s,border-color .15s,box-shadow .15s}.swipe-cell.compact[data-v-7fb764eb]:hover{background:var(--bg-base);border-color:#a855f766}.swipe-cell.compact[data-v-7fb764eb]:focus{background:var(--bg-base);border-color:var(--purple);box-shadow:0 0 0 2px #a855f733}.swipe-cell.compact.active[data-v-7fb764eb]{border-color:var(--purple);box-shadow:0 0 0 2px #a855f733}.swipe-cell.compact.borderless[data-v-7fb764eb]{background:transparent;border:none;border-radius:0;padding:0 .25rem}.swipe-cell.compact.borderless[data-v-7fb764eb]:hover,.swipe-cell.compact.borderless[data-v-7fb764eb]:focus,.swipe-cell.compact.borderless.active[data-v-7fb764eb]{background:transparent;border:none;box-shadow:none}.swipe-cell.compact .cell-value[data-v-7fb764eb]{flex:1;text-align:center;font-size:.9rem;font-variant-numeric:tabular-nums;color:var(--text-primary);line-height:1.2;min-width:2ch}.swipe-cell.compact .cell-arrow[data-v-7fb764eb]{position:absolute;left:50%;transform:translate(-50%);font-size:.5rem;line-height:1;padding:0 8px;color:var(--text-muted);opacity:.55;cursor:pointer;user-select:none;transition:opacity .15s,color .15s}.swipe-cell.compact .cell-arrow.up[data-v-7fb764eb]{bottom:100%}.swipe-cell.compact .cell-arrow.down[data-v-7fb764eb]{top:100%}.swipe-cell.compact:hover .cell-arrow[data-v-7fb764eb]{opacity:.85}.swipe-cell.compact .cell-arrow[data-v-7fb764eb]:hover{opacity:1;color:var(--purple)}.swipe-cell.disabled[data-v-7fb764eb]{cursor:default;opacity:.55}.swipe-cell.disabled .cell-arrow[data-v-7fb764eb]{cursor:default;pointer-events:none}.swipe-strip[data-v-7fb764eb]{background:var(--bg-raised);border:1px solid var(--border);border-radius:10px;overflow:hidden;box-shadow:0 8px 28px #00000073;pointer-events:none;display:flex;flex-direction:column}.swipe-strip-val[data-v-7fb764eb]{height:34px;display:flex;align-items:center;justify-content:center;font-size:1.05rem;font-variant-numeric:tabular-nums;color:var(--text-muted);opacity:.45;user-select:none;transition:opacity .05s}.swipe-strip-val.current[data-v-7fb764eb]{color:var(--text-primary);opacity:1;font-weight:600;background:#8b5cf626}.swipe-strip-val.empty[data-v-7fb764eb]{opacity:.1}.swipe-strip-val[data-v-7fb764eb]:first-child,.swipe-strip-val[data-v-7fb764eb]:last-child{opacity:.2}.swipe-strip-val.current[data-v-7fb764eb]:first-child,.swipe-strip-val.current[data-v-7fb764eb]:last-child{opacity:1}.swipe-strip-val.empty[data-v-7fb764eb]:first-child,.swipe-strip-val.empty[data-v-7fb764eb]:last-child{opacity:.05}.strip-enter-active[data-v-7fb764eb],.strip-leave-active[data-v-7fb764eb]{transition:opacity .1s ease,transform .1s ease}.strip-enter-from[data-v-7fb764eb],.strip-leave-to[data-v-7fb764eb]{opacity:0;transform:scaleY(.85)}.time-hhmm-picker[data-v-95aa9fcb]{display:flex;align-items:stretch;gap:.5rem;direction:ltr;overflow:visible}.time-parts[data-v-95aa9fcb]{flex:1;min-width:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;background:var(--bg-base);border:1px solid var(--border);border-radius:8px;overflow:visible;transition:border-color .15s,box-shadow .15s}.time-parts[data-v-95aa9fcb]:focus-within{border-color:var(--purple);box-shadow:0 0 0 2px #a855f733}.time-cell[data-v-95aa9fcb]{min-width:0}.time-colon[data-v-95aa9fcb]{display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.85rem;line-height:1;user-select:none;padding:0 .05rem;flex-shrink:0}.period-cell[data-v-95aa9fcb]{flex:0 0 auto;min-width:2.8rem}.modal-overlay[data-v-fcc29bed]{position:fixed;inset:0;background:#000c;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal[data-v-fcc29bed]{background:var(--bg-raised);border-radius:16px;width:100%;max-width:440px;max-height:85vh;overflow:hidden;display:flex;flex-direction:column}.modal-header[data-v-fcc29bed]{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.25rem 1rem;border-bottom:1px solid var(--border)}.modal-title-row[data-v-fcc29bed]{display:flex;align-items:center;gap:.75rem}.color-preview[data-v-fcc29bed]{width:32px;height:32px;border-radius:8px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums;font-size:.8rem;font-weight:700}.modal-title[data-v-fcc29bed]{font-weight:600;font-size:1.15rem;color:var(--text-primary)}.close-btn[data-v-fcc29bed]{background:none;border:none;color:var(--text-muted);font-size:1.25rem;cursor:pointer;padding:.25rem;line-height:1}.close-btn[data-v-fcc29bed]:hover{color:var(--text-primary)}.modal-body[data-v-fcc29bed]{padding:1.25rem;display:flex;flex-direction:column;gap:1.5rem;overflow-y:auto}.section[data-v-fcc29bed]{display:flex;flex-direction:column;gap:1rem}.section-header[data-v-fcc29bed]{display:flex;align-items:center;justify-content:space-between;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.section-title[data-v-fcc29bed]{font-size:.85rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0}.add-method-btn[data-v-fcc29bed]{font-variant-numeric:tabular-nums;font-size:.8rem;font-weight:500;padding:.3rem .6rem;border-radius:6px;border:none;background:var(--purple);color:#fff;cursor:pointer;transition:background .15s}.add-method-btn[data-v-fcc29bed]:hover{background:#9333ea}.field[data-v-fcc29bed]{display:flex;flex-direction:column;gap:.5rem}.field label[data-v-fcc29bed]{font-size:.9rem;font-weight:500;color:var(--text-secondary)}.required[data-v-fcc29bed]{color:#ef4444}.field input[data-v-fcc29bed]{font-variant-numeric:tabular-nums;font-size:.9rem;padding:.5rem .7rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-base);color:var(--text-primary);outline:none;transition:border-color .15s}.field input[data-v-fcc29bed]:focus{border-color:var(--purple)}.hint[data-v-fcc29bed]{font-size:.8rem;color:var(--text-muted)}.warn-hint[data-v-fcc29bed]{font-size:.8rem;color:#f97316}.color-grid[data-v-fcc29bed]{display:flex;flex-wrap:wrap;gap:.5rem}.color-btn[data-v-fcc29bed]{width:28px;height:28px;border-radius:6px;border:2px solid transparent;cursor:pointer;transition:all .15s}.color-btn[data-v-fcc29bed]:hover{transform:scale(1.1)}.color-btn.selected[data-v-fcc29bed]{border-color:#fff;box-shadow:0 0 0 2px var(--purple)}.color-btn.custom-btn[data-v-fcc29bed]{background:var(--bg-elevated);color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:600}.color-btn.custom-btn[data-v-fcc29bed]:hover,.color-btn.custom-btn.selected[data-v-fcc29bed]{background:var(--bg-base);color:var(--text-primary)}.color-btn.clear-btn[data-v-fcc29bed]{background:var(--bg-elevated);color:var(--text-muted);font-size:.85rem}.color-btn.clear-btn[data-v-fcc29bed]:hover{background:#ef444433;color:#ef4444}.custom-color-row[data-v-fcc29bed]{display:flex;gap:.5rem;margin-top:.5rem}.custom-color-input[data-v-fcc29bed]{flex:1;font-variant-numeric:tabular-nums;font-size:.9rem;padding:.5rem .7rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-base);color:var(--text-primary);outline:none}.custom-color-input[data-v-fcc29bed]:focus{border-color:var(--purple)}.color-preview-mini[data-v-fcc29bed]{width:32px;height:32px;border-radius:6px;flex-shrink:0;border:1px solid var(--border)}.methods-section[data-v-fcc29bed]{border-top:1px solid var(--border);padding-top:1rem}.empty-methods[data-v-fcc29bed]{text-align:center;padding:1rem;color:var(--text-muted)}.empty-methods p[data-v-fcc29bed]{margin:0 0 .25rem}.methods-list[data-v-fcc29bed]{display:flex;flex-direction:column;gap:.5rem}.method-card[data-v-fcc29bed]{display:flex;align-items:center;justify-content:space-between;padding:.75rem .875rem;background:var(--bg-base);border-radius:10px;border:1px solid var(--border);transition:all .15s}.method-card.is-default[data-v-fcc29bed]{border-color:var(--purple);background:#8b5cf60d}.method-main[data-v-fcc29bed]{flex:1;min-width:0}.method-name-row[data-v-fcc29bed]{display:flex;align-items:center;gap:.4rem}.method-name[data-v-fcc29bed]{font-weight:600;font-size:.9rem;color:var(--text-primary)}.default-star[data-v-fcc29bed]{color:var(--purple);font-size:.85rem}.method-details[data-v-fcc29bed]{display:flex;align-items:center;gap:.35rem;margin-top:.2rem;font-size:.75rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.sep[data-v-fcc29bed]{opacity:.5}.method-actions[data-v-fcc29bed]{display:flex;gap:.2rem;margin-left:.5rem}.action-btn[data-v-fcc29bed]{width:26px;height:26px;border-radius:5px;border:none;background:transparent;cursor:pointer;font-size:.85rem;transition:all .15s;display:flex;align-items:center;justify-content:center}.star-btn[data-v-fcc29bed]{color:var(--text-muted)}.star-btn[data-v-fcc29bed]:hover{background:#8b5cf626;color:var(--purple)}.edit-btn[data-v-fcc29bed]{color:var(--text-muted)}.edit-btn[data-v-fcc29bed]:hover{background:#3b82f626;color:var(--blue)}.delete-btn[data-v-fcc29bed]{color:var(--text-muted)}.delete-btn[data-v-fcc29bed]:hover{background:#ef444426;color:var(--red)}.deleted-methods[data-v-fcc29bed]{margin-top:.75rem;display:flex;flex-direction:column;gap:.5rem}.deleted-methods-title[data-v-fcc29bed]{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.method-card-deleted[data-v-fcc29bed]{opacity:.6}.restore-btn[data-v-fcc29bed]{font-family:Space Grotesk,sans-serif;font-size:.78rem;font-weight:500;padding:.35rem .7rem;border-radius:6px;border:1px solid var(--purple);background:transparent;color:var(--purple);cursor:pointer;transition:all .15s;white-space:nowrap}.restore-btn[data-v-fcc29bed]:hover{background:#8b5cf626}.group-section[data-v-fcc29bed]{border-top:1px solid var(--border);padding-top:1rem}.group-chips[data-v-fcc29bed]{display:flex;flex-wrap:wrap;gap:.4rem}.group-chip[data-v-fcc29bed]{font-variant-numeric:tabular-nums;font-size:.8rem;font-weight:600;padding:.3rem .65rem;border-radius:6px;border:1.5px solid;cursor:pointer;transition:all .15s;line-height:1}.group-chip[data-v-fcc29bed]:hover:not(:disabled){opacity:.85}.group-chip.is-self[data-v-fcc29bed]{opacity:.45;cursor:default;pointer-events:none}.group-chip.not-in-group[data-v-fcc29bed]{opacity:.6}.group-chip.not-in-group[data-v-fcc29bed]:hover{opacity:.8}.modal-footer[data-v-fcc29bed]{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem 1.25rem;border-top:1px solid var(--border)}.footer-spacer[data-v-fcc29bed]{flex:1}.btn-delete[data-v-fcc29bed]{font-family:Space Grotesk,sans-serif;font-size:.9rem;font-weight:500;padding:.6rem 1rem;border-radius:9px;border:1px solid rgba(239,68,68,.3);background:#ef44441a;color:#ef4444;cursor:pointer;transition:all .15s}.btn-delete[data-v-fcc29bed]:hover{background:#ef444433;border-color:#ef444480}.btn-delete[data-v-fcc29bed]:disabled{opacity:.5;cursor:not-allowed}.btn-cancel[data-v-fcc29bed],.btn-save[data-v-fcc29bed]{font-family:Space Grotesk,sans-serif;font-size:.95rem;font-weight:500;padding:.7rem 1.25rem;border-radius:9px;border:none;cursor:pointer;transition:all .15s}.btn-cancel[data-v-fcc29bed]{background:transparent;color:var(--text-secondary)}.btn-cancel[data-v-fcc29bed]:hover{color:var(--text-primary)}.btn-save[data-v-fcc29bed]{background:var(--purple);color:#fff}.btn-save[data-v-fcc29bed]:hover{background:#9333ea}.btn-save[data-v-fcc29bed]:disabled{opacity:.5;cursor:not-allowed}.modal-enter-active[data-v-fcc29bed],.modal-leave-active[data-v-fcc29bed],.modal-enter-active .modal[data-v-fcc29bed],.modal-leave-active .modal[data-v-fcc29bed]{transition:all .2s ease}.modal-enter-from[data-v-fcc29bed],.modal-leave-to[data-v-fcc29bed]{opacity:0}.modal-enter-from .modal[data-v-fcc29bed],.modal-leave-to .modal[data-v-fcc29bed]{transform:scale(.95);opacity:0}.goal-section[data-v-fcc29bed]{border-top:1px solid var(--border);padding-top:1rem}.goal-row[data-v-fcc29bed]{display:flex;align-items:center;gap:.35rem}.goal-date-input[data-v-fcc29bed]{flex:1;min-width:0;max-width:48%}.goal-amount-input[data-v-fcc29bed]{width:70px;flex-shrink:0}.goal-row-sep[data-v-fcc29bed],.goal-row-unit[data-v-fcc29bed]{font-size:.9rem;color:var(--text-secondary);white-space:nowrap;flex-shrink:0}.goal-section select[data-v-fcc29bed]{font-variant-numeric:tabular-nums;font-size:.9rem;padding:.5rem .7rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-base);color:var(--text-primary);outline:none;width:100%;transition:border-color .15s}.goal-section select[data-v-fcc29bed]:focus{border-color:var(--purple)}.goal-date-input[data-v-fcc29bed],.goal-amount-input[data-v-fcc29bed]{font-variant-numeric:tabular-nums;font-size:.9rem;padding:.5rem .7rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-base);color:var(--text-primary);outline:none;color-scheme:dark;transition:border-color .15s;box-sizing:border-box}.goal-date-input[data-v-fcc29bed]:focus,.goal-amount-input[data-v-fcc29bed]:focus{border-color:var(--purple)}.clear-goal-btn[data-v-fcc29bed]{font-size:.75rem;font-weight:500;padding:.25rem .55rem;border-radius:6px;border:1px solid rgba(239,68,68,.3);background:#ef444414;color:#ef4444;cursor:pointer;transition:all .15s}.clear-goal-btn[data-v-fcc29bed]:hover{background:#ef44442e;border-color:#ef444480}.empty-goal-hint[data-v-fcc29bed]{padding:.5rem 0}.goal-time-row[data-v-fcc29bed]{display:flex;align-items:center;max-width:140px;padding:10px 0;overflow:visible}.checkpoint-row[data-v-fcc29bed]{display:flex;align-items:center;gap:.4rem;margin-top:.6rem;padding:10px 0;overflow:visible}.checkpoint-label[data-v-fcc29bed]{font-size:.85rem;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.checkpoint-time[data-v-fcc29bed]{width:100px;flex-shrink:0;overflow:visible}.checkpoint-pct-input[data-v-fcc29bed]{font-variant-numeric:tabular-nums;font-size:.9rem;padding:.5rem .4rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-base);color:var(--text-primary);outline:none;transition:border-color .15s;width:62px;flex-shrink:0;box-sizing:border-box;text-align:center}.checkpoint-pct-input[data-v-fcc29bed]:focus{border-color:var(--purple)}.checkpoint-unit[data-v-fcc29bed]{font-size:.85rem;color:var(--text-secondary);flex-shrink:0}.checkpoint-clear-btn[data-v-fcc29bed]{background:none;border:none;color:var(--text-muted);font-size:.8rem;cursor:pointer;padding:.2rem .3rem;border-radius:4px;line-height:1;flex-shrink:0;transition:color .15s}.checkpoint-clear-btn[data-v-fcc29bed]:hover{color:#ef4444}.goal-warning[data-v-fcc29bed]{font-size:.78rem;color:#f97316;padding:.4rem .6rem;border-radius:6px;background:#f9731614;border:1px solid rgba(249,115,22,.2)}.dtspicker[data-v-114d5068]{flex:1;min-width:0;display:flex;align-items:stretch;gap:.5rem;flex-wrap:wrap;direction:ltr;overflow:visible}.date-input[data-v-114d5068]{flex:1;min-width:0;font-variant-numeric:tabular-nums;font-size:.9rem;padding:.5rem .7rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-base);color:var(--text-primary);outline:none;transition:border-color .15s,box-shadow .15s;color-scheme:dark;line-height:1.2}.date-input[data-v-114d5068]:hover{border-color:#a855f766}.date-input[data-v-114d5068]:focus{border-color:var(--purple);box-shadow:0 0 0 2px #a855f733}.time-parts[data-v-114d5068]{flex:1;min-width:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;background:var(--bg-base);border:1px solid var(--border);border-radius:8px;overflow:visible;transition:border-color .15s,box-shadow .15s}.time-parts[data-v-114d5068]:focus-within{border-color:var(--purple);box-shadow:0 0 0 2px #a855f733}.time-cell[data-v-114d5068]{min-width:0}.period-cell[data-v-114d5068]{flex:0 0 auto;min-width:2.8rem}.time-colon[data-v-114d5068]{display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.85rem;line-height:1;user-select:none;padding:0 .05rem;flex-shrink:0}.period-stack[data-v-053c4b19]{flex:1;min-width:0;display:flex;flex-direction:column;gap:0;direction:ltr}.mode-row[data-v-053c4b19]{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;min-width:0;overflow:visible}.period-mode-select[data-v-053c4b19]{width:max-content;max-width:100%;font-variant-numeric:tabular-nums;font-size:.9rem;padding:.5rem .7rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-base);color:var(--text-primary);cursor:pointer;line-height:1.2}.period-mode-select[data-v-053c4b19]:hover{border-color:#a855f766}.period-mode-select[data-v-053c4b19]:focus{outline:none;border-color:var(--purple);box-shadow:0 0 0 2px #a855f733}.cell-n[data-v-053c4b19]{flex:0 0 auto;min-width:3rem}.cell-unit[data-v-053c4b19]{flex:0 0 auto;min-width:5rem}.custom-rows[data-v-053c4b19]{display:flex;flex-direction:column;gap:0;overflow:visible}.dt-line[data-v-053c4b19]{display:flex;align-items:center;min-width:0;padding:8px 0;overflow:visible}.substance-section[data-v-d6968f51]{width:100%}.section-header[data-v-d6968f51]{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;padding:0 .25rem}.section-title[data-v-d6968f51]{font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-secondary)}.edit-mode-badge[data-v-d6968f51]{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:.2rem .5rem;border-radius:4px;background:#a855f733;color:var(--purple)}.settings-toggle[data-v-d6968f51]{margin-left:auto;background:var(--bg-elevated);border:none;outline:none;color:var(--text-muted);width:28px;height:28px;border-radius:6px;cursor:pointer;font-size:.9rem;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;transition:all .15s;display:flex;align-items:center;justify-content:center;padding:0}.settings-toggle[data-v-d6968f51]:hover{color:var(--text-primary);background:var(--bg-raised)}.settings-toggle[data-v-d6968f51]:focus{outline:none}.section-settings[data-v-d6968f51]{background:var(--bg-raised);border-radius:10px;padding:1rem;margin-bottom:1rem;display:flex;flex-direction:column;gap:1rem}.settings-group[data-v-d6968f51]{display:flex;flex-direction:column;gap:.5rem}.settings-group-title[data-v-d6968f51]{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);padding-bottom:.25rem;border-bottom:1px solid var(--border)}.setting-row[data-v-d6968f51]{display:flex;align-items:center;gap:1rem}.setting-row label[data-v-d6968f51]{font-size:.85rem;font-weight:500;color:var(--text-secondary);min-width:50px}.period-row[data-v-d6968f51]{align-items:flex-start}.period-row>label[data-v-d6968f51]{padding-top:.45rem}.checkbox-row[data-v-d6968f51]{padding:.15rem 0}.checkbox-label[data-v-d6968f51]{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.85rem;color:var(--text-secondary)}.checkbox-label input[type=checkbox][data-v-d6968f51]{width:16px;height:16px;accent-color:var(--purple);cursor:pointer}.period-select[data-v-d6968f51]{font-variant-numeric:tabular-nums;font-size:.9rem;padding:.5rem .7rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-base);color:var(--text-primary);cursor:pointer}.settings-hint[data-v-d6968f51]{font-size:.75rem;color:var(--text-muted);text-align:center;padding-top:.5rem;border-top:1px solid var(--border)}.button-filter-chips[data-v-d6968f51]{display:flex;flex-wrap:wrap;gap:.4rem}.filter-chip[data-v-d6968f51]{font-variant-numeric:tabular-nums;font-size:.8rem;font-weight:600;padding:.3rem .65rem;border-radius:6px;border:1.5px solid;cursor:pointer;transition:all .15s;line-height:1}.filter-chip[data-v-d6968f51]:hover{opacity:.85}.filter-chip.hidden[data-v-d6968f51]{opacity:.5}.filter-chip.hidden[data-v-d6968f51]:hover{opacity:.7}.visible-buttons-empty[data-v-d6968f51]{font-size:.8rem;color:var(--text-muted);margin:0}.deleted-dropdown[data-v-d6968f51]{position:relative;margin-top:.75rem}.deleted-dropdown-trigger[data-v-d6968f51]{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:fit-content;max-width:100%;font-family:inherit;font-size:.9rem;padding:.5rem .7rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-base);color:var(--text-primary);cursor:pointer;transition:border-color .15s}.deleted-dropdown-trigger[data-v-d6968f51]:hover{border-color:var(--purple)}.deleted-dropdown-caret[data-v-d6968f51]{font-size:.7rem;color:var(--text-muted);transition:transform .15s}.deleted-dropdown-caret.open[data-v-d6968f51]{transform:rotate(180deg)}.deleted-dropdown-panel[data-v-d6968f51]{display:grid;grid-template-columns:max-content max-content;align-items:center;gap:.4rem .6rem;width:max-content;max-width:100%;margin-top:.4rem;padding:.4rem .5rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-base)}.deleted-dropdown-row[data-v-d6968f51]{display:contents}.deleted-substance-code[data-v-d6968f51]{justify-self:start;font-variant-numeric:tabular-nums;font-size:.8rem;font-weight:600;padding:.3rem .65rem;border-radius:6px;line-height:1}.restore-btn[data-v-d6968f51]{justify-self:start;min-width:6.5rem;text-align:center;font-family:Space Grotesk,sans-serif;font-size:.78rem;font-weight:500;padding:.35rem .7rem;border-radius:6px;border:1px solid var(--purple);background:transparent;color:var(--purple);cursor:pointer;transition:all .15s;white-space:nowrap}.restore-btn[data-v-d6968f51]:hover{background:#a855f726}.restore-btn.restoring[data-v-d6968f51]{opacity:.6;background:#a855f726}.restore-btn[data-v-d6968f51]:disabled{cursor:default}.hidden-hint[data-v-d6968f51]{font-size:.75rem;color:var(--text-muted);text-align:center;padding:.25rem 0 .5rem}.hidden-hint-link[data-v-d6968f51]{background:none;border:none;color:var(--purple);cursor:pointer;font-size:inherit;font-family:inherit;padding:0;text-decoration:underline;text-underline-offset:2px}.hidden-hint-link[data-v-d6968f51]:hover{opacity:.8}.substances-grid[data-v-d6968f51]{display:grid;grid-template-columns:1fr;gap:.5rem}.substance-item[data-v-d6968f51]{transition:transform .15s,opacity .15s;position:relative;min-width:0;overflow:hidden}.substance-item.dragging[data-v-d6968f51]{opacity:.5;transform:scale(.98)}.substance-item.drag-over[data-v-d6968f51]{transform:scale(1.01)}.substance-item.drag-over[data-v-d6968f51]:before{content:"";position:absolute;inset:0;border:2px dashed var(--purple);border-radius:14px;pointer-events:none;z-index:1}.add-substance-btn[data-v-d6968f51]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;min-height:90px;border-radius:18px;background:var(--bg-raised);border:2px dashed var(--border);cursor:pointer;transition:all .2s}.add-substance-btn[data-v-d6968f51]:hover{border-color:var(--purple);background:var(--bg-elevated)}.add-icon[data-v-d6968f51]{font-size:1.5rem;color:var(--text-muted)}.add-text[data-v-d6968f51]{font-size:.85rem;color:var(--text-muted)}.loading[data-v-d6968f51]{display:flex;justify-content:center;padding:3rem}.spinner[data-v-d6968f51]{width:24px;height:24px;border:2px solid var(--bg-elevated);border-top-color:var(--purple);border-radius:50%;animation:spin-d6968f51 .8s linear infinite}@keyframes spin-d6968f51{to{transform:rotate(360deg)}}.empty[data-v-d6968f51]{text-align:center;padding:3rem;color:var(--text-muted);display:flex;flex-direction:column;gap:1rem;align-items:center}.add-btn[data-v-d6968f51]{background:var(--bg-raised);border:1px solid var(--border);color:var(--text-secondary);padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .15s}.add-btn[data-v-d6968f51]:hover{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--purple)}.reorder-button-row[data-v-d6968f51]{display:flex;justify-content:center;padding-top:.5rem}.reorder-toggle-btn[data-v-d6968f51]{background:var(--bg-elevated);border:none;outline:none;color:var(--text-muted);width:32px;height:32px;border-radius:8px;cursor:pointer;font-size:1rem;transition:all .15s;display:flex;align-items:center;justify-content:center;padding:0}.reorder-toggle-btn[data-v-d6968f51]:hover{color:var(--text-primary);background:var(--bg-raised)}.reorder-toggle-btn[data-v-d6968f51]:focus{outline:none}.reorder-toggle-btn.active[data-v-d6968f51]{background:#a855f726;color:var(--purple)}.toast-container[data-v-19d96533]{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);z-index:9999;display:flex;flex-direction:column;gap:.5rem;pointer-events:none}.toast[data-v-19d96533]{display:flex;align-items:center;gap:.6rem;padding:.9rem 1.2rem;border-radius:12px;font-size:1rem;font-weight:500;cursor:pointer;pointer-events:auto;white-space:nowrap;backdrop-filter:blur(12px);box-shadow:0 8px 32px #0006}.toast-icon[data-v-19d96533]{font-size:.95rem;font-weight:700}.toast-action[data-v-19d96533]{margin-left:.6rem;padding:.3rem .6rem;background:#fff3;border-radius:5px;font-size:.9rem;font-weight:600}.toast-success[data-v-19d96533]{background:#22c55ee6;color:#fff}.toast-error[data-v-19d96533]{background:#ef4444e6;color:#fff}.toast-info[data-v-19d96533]{background:#3b82f6e6;color:#fff}.toast-warning[data-v-19d96533]{background:#f59e0be6;color:#fff}.toast-undo[data-v-19d96533]{background:#27272af2;color:#fff;border:1px solid rgba(255,255,255,.1)}.toast-enter-active[data-v-19d96533],.toast-leave-active[data-v-19d96533]{transition:all .3s cubic-bezier(.4,0,.2,1)}.toast-enter-from[data-v-19d96533]{opacity:0;transform:translateY(20px) scale(.9)}.toast-leave-to[data-v-19d96533]{opacity:0;transform:translateY(-10px) scale(.9)}.modal-overlay[data-v-e206d0ff]{position:fixed;inset:0;background:#000c;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal[data-v-e206d0ff]{background:var(--bg-raised);border-radius:16px;width:100%;max-width:400px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-header[data-v-e206d0ff]{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.25rem 1rem;border-bottom:1px solid var(--border)}.modal-title[data-v-e206d0ff]{font-weight:600;font-size:1.2rem;color:var(--text-primary)}.close-btn[data-v-e206d0ff]{background:none;border:none;color:var(--text-muted);font-size:1.25rem;cursor:pointer;padding:.25rem;line-height:1}.close-btn[data-v-e206d0ff]:hover{color:var(--text-primary)}.modal-body[data-v-e206d0ff]{padding:1.25rem;display:flex;flex-direction:column;gap:1.5rem;overflow-y:auto}.section[data-v-e206d0ff]{display:flex;flex-direction:column;gap:.75rem}.section-title[data-v-e206d0ff]{font-size:.9rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0}.currency-select[data-v-e206d0ff]{font-variant-numeric:tabular-nums;font-size:.9rem;padding:.5rem .7rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-base);color:var(--text-primary);cursor:pointer;outline:none}.currency-select[data-v-e206d0ff]:focus{border-color:var(--purple)}.hint[data-v-e206d0ff]{font-size:.75rem;color:var(--text-muted)}.account-info[data-v-e206d0ff]{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;background:var(--bg-base);border-radius:8px;border:1px solid var(--border)}.account-email[data-v-e206d0ff]{font-size:.9rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-logout[data-v-e206d0ff]{font-family:Space Grotesk,sans-serif;font-size:.85rem;font-weight:500;padding:.5rem 1rem;border-radius:6px;border:1px solid rgba(251,113,133,.3);background:#fb71851a;color:var(--rose);cursor:pointer;transition:all .15s;white-space:nowrap}.btn-logout[data-v-e206d0ff]:hover{background:#fb718533;border-color:#fb718580}.modal-footer[data-v-e206d0ff]{display:flex;justify-content:flex-end;padding:1rem 1.25rem 1.25rem;border-top:1px solid var(--border)}.btn-done[data-v-e206d0ff]{font-family:Space Grotesk,sans-serif;font-size:1rem;font-weight:500;padding:.75rem 1.4rem;border-radius:9px;border:none;cursor:pointer;background:var(--purple);color:#fff;transition:all .15s}.btn-done[data-v-e206d0ff]:hover{background:#9333ea}.modal-enter-active[data-v-e206d0ff],.modal-leave-active[data-v-e206d0ff],.modal-enter-active .modal[data-v-e206d0ff],.modal-leave-active .modal[data-v-e206d0ff]{transition:all .2s ease}.modal-enter-from[data-v-e206d0ff],.modal-leave-to[data-v-e206d0ff]{opacity:0}.modal-enter-from .modal[data-v-e206d0ff],.modal-leave-to .modal[data-v-e206d0ff]{transform:scale(.95);opacity:0}.btn-danger[data-v-e206d0ff]{font-family:Space Grotesk,sans-serif;font-size:.9rem;font-weight:500;padding:.75rem 1rem;border-radius:8px;border:1px solid rgba(239,68,68,.3);background:#ef44441a;color:#ef4444;cursor:pointer;transition:all .15s;width:100%;text-align:left}.btn-danger[data-v-e206d0ff]:hover{background:#ef444433;border-color:#ef444480}.clear-data-modal[data-v-e206d0ff]{max-width:420px}.warning-title[data-v-e206d0ff]{color:#f59e0b}.warning-text[data-v-e206d0ff]{color:var(--text-secondary);font-size:.95rem;line-height:1.5;margin:0 0 1.25rem}.checkbox-group[data-v-e206d0ff]{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.25rem}.checkbox-label[data-v-e206d0ff]{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;font-size:.9rem;color:var(--text-secondary)}.checkbox-label input[type=checkbox][data-v-e206d0ff]{margin-top:.15rem;width:18px;height:18px;accent-color:var(--purple);cursor:pointer}.confirm-section[data-v-e206d0ff]{display:flex;flex-direction:column;gap:.5rem}.confirm-label[data-v-e206d0ff]{font-size:.9rem;color:var(--text-secondary)}.confirm-label strong[data-v-e206d0ff]{color:#ef4444}.confirm-input[data-v-e206d0ff]{font-variant-numeric:tabular-nums;font-size:.9rem;padding:.5rem .7rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-base);color:var(--text-primary);outline:none}.confirm-input[data-v-e206d0ff]:focus{border-color:#ef4444}.confirm-input[data-v-e206d0ff]::placeholder{color:var(--text-muted);opacity:.5}.btn-cancel[data-v-e206d0ff]{font-family:Space Grotesk,sans-serif;font-size:.95rem;font-weight:500;padding:.75rem 1.25rem;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s}.btn-cancel[data-v-e206d0ff]:hover{background:var(--bg-elevated);color:var(--text-primary)}.btn-clear[data-v-e206d0ff]{font-family:Space Grotesk,sans-serif;font-size:.95rem;font-weight:500;padding:.75rem 1.25rem;border-radius:8px;border:none;background:#ef4444;color:#fff;cursor:pointer;transition:all .15s}.btn-clear[data-v-e206d0ff]:hover:not(:disabled){background:#dc2626}.btn-clear[data-v-e206d0ff]:disabled{background:#6b7280;cursor:not-allowed;opacity:.6}.modal-footer[data-v-e206d0ff]{gap:.75rem}.password-modal[data-v-e206d0ff]{max-width:400px}.btn-secondary[data-v-e206d0ff]{font-family:Space Grotesk,sans-serif;font-size:.9rem;font-weight:500;padding:.75rem 1rem;border-radius:8px;border:1px solid var(--border);background:var(--bg-base);color:var(--text-secondary);cursor:pointer;transition:all .15s;width:100%;text-align:left}.btn-secondary[data-v-e206d0ff]:hover{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--text-muted)}.form-group[data-v-e206d0ff]{display:flex;flex-direction:column;gap:.5rem}.form-label[data-v-e206d0ff]{font-size:.9rem;font-weight:500;color:var(--text-secondary)}.form-input[data-v-e206d0ff]{font-variant-numeric:tabular-nums;font-size:.9rem;padding:.5rem .7rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-base);color:var(--text-primary);outline:none;transition:border-color .15s}.form-input[data-v-e206d0ff]:focus{border-color:var(--purple)}.form-input[data-v-e206d0ff]::placeholder{color:var(--text-muted);opacity:.6}.form-input.input-error[data-v-e206d0ff]{border-color:#ef4444}.field-hint[data-v-e206d0ff]{font-size:.75rem;color:var(--text-muted)}.field-hint.error[data-v-e206d0ff]{color:#ef4444}.error-message[data-v-e206d0ff]{padding:.75rem 1rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#ef4444;font-size:.9rem}.btn-primary[data-v-e206d0ff]{font-family:Space Grotesk,sans-serif;font-size:.95rem;font-weight:500;padding:.75rem 1.25rem;border-radius:8px;border:none;background:var(--purple);color:#fff;cursor:pointer;transition:all .15s}.btn-primary[data-v-e206d0ff]:hover:not(:disabled){background:#9333ea}.btn-primary[data-v-e206d0ff]:disabled{background:#6b7280;cursor:not-allowed;opacity:.6}.import-export-grid[data-v-e206d0ff]{display:flex;flex-direction:column;gap:.75rem}.import-export-group[data-v-e206d0ff]{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--bg-base);border-radius:8px;border:1px solid var(--border)}.ie-label[data-v-e206d0ff]{font-size:.9rem;color:var(--text-secondary);font-weight:500}.ie-buttons[data-v-e206d0ff]{display:flex;gap:.5rem}.btn-ie[data-v-e206d0ff]{font-family:Space Grotesk,sans-serif;font-size:.8rem;font-weight:500;padding:.4rem .8rem;border-radius:6px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;transition:all .15s}.btn-ie[data-v-e206d0ff]:hover{background:var(--purple);border-color:var(--purple);color:#fff}.import-modal[data-v-e206d0ff]{max-width:500px}.form-select[data-v-e206d0ff]{font-variant-numeric:tabular-nums;font-size:.9rem;padding:.5rem .7rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-base);color:var(--text-primary);cursor:pointer;outline:none;width:100%}.form-select[data-v-e206d0ff]:focus{border-color:var(--purple)}.file-input-wrapper[data-v-e206d0ff]{position:relative}.file-input[data-v-e206d0ff]{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer}.file-input-label[data-v-e206d0ff]{display:block;font-variant-numeric:tabular-nums;font-size:.9rem;padding:.75rem 1rem;border:1px dashed var(--border);border-radius:8px;background:var(--bg-base);color:var(--text-muted);cursor:pointer;text-align:center;transition:all .15s}.file-input-label[data-v-e206d0ff]:hover{border-color:var(--purple);color:var(--text-secondary)}.parse-errors[data-v-e206d0ff]{padding:.75rem 1rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px}.error-header[data-v-e206d0ff]{font-size:.85rem;font-weight:500;color:#ef4444;margin-bottom:.5rem}.error-list[data-v-e206d0ff]{margin:0;padding-left:1.25rem;font-size:.8rem;color:var(--text-secondary)}.error-list li[data-v-e206d0ff]{margin-bottom:.25rem}.error-list li.error-with-preview[data-v-e206d0ff]{white-space:pre-wrap;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:.75rem;line-height:1.4;margin-bottom:.75rem;padding:.25rem 0;border-bottom:1px dashed var(--border-color)}.scrollable-errors[data-v-e206d0ff]{max-height:150px;overflow-y:auto}.scrollable-errors.expanded[data-v-e206d0ff]{max-height:300px}.btn-expand-errors[data-v-e206d0ff]{background:transparent;border:none;color:var(--primary);font-size:.75rem;cursor:pointer;padding:.25rem 0;margin-top:.25rem}.btn-expand-errors[data-v-e206d0ff]:hover{text-decoration:underline}.preview-section[data-v-e206d0ff]{border:1px solid var(--border);border-radius:8px;overflow:hidden}.preview-header[data-v-e206d0ff]{font-size:.85rem;font-weight:500;color:var(--text-secondary);padding:.5rem .75rem;background:var(--bg-elevated);border-bottom:1px solid var(--border)}.preview-table-wrapper[data-v-e206d0ff]{overflow-x:auto}.preview-table[data-v-e206d0ff]{width:100%;border-collapse:collapse;font-size:.75rem}.preview-table th[data-v-e206d0ff],.preview-table td[data-v-e206d0ff]{padding:.4rem .5rem;text-align:left;border-bottom:1px solid var(--border)}.preview-table th[data-v-e206d0ff]{background:var(--bg-base);color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.preview-table td[data-v-e206d0ff]{color:var(--text-secondary);font-variant-numeric:tabular-nums}.preview-table tr:last-child td[data-v-e206d0ff]{border-bottom:none}.results-modal[data-v-e206d0ff]{max-width:400px}.results-summary[data-v-e206d0ff]{display:flex;flex-direction:column;gap:.5rem}.result-row[data-v-e206d0ff]{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;border-radius:6px;font-size:.9rem}.result-row.success[data-v-e206d0ff]{background:#22c55e1a;color:#22c55e}.result-row.neutral[data-v-e206d0ff]{background:var(--bg-base);color:var(--text-muted)}.result-icon[data-v-e206d0ff]{font-weight:600;width:1.25rem;text-align:center}.results-errors[data-v-e206d0ff]{margin-top:1rem;padding:.75rem 1rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px}.chart-container[data-v-e780dbfd]{background:var(--bg-raised);border-radius:14px;padding:1.25rem}.chart-subtitle[data-v-e780dbfd]{font-size:.8rem;color:var(--text-muted);text-align:center;margin-bottom:.75rem;font-variant-numeric:tabular-nums}.filter-chips[data-v-e780dbfd]{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-bottom:.75rem}.filter-chip-group[data-v-e780dbfd]{display:flex;flex-direction:column;align-items:center;gap:.2rem}.filter-chip[data-v-e780dbfd]{font-variant-numeric:tabular-nums;font-size:.8rem;font-weight:600;padding:.3rem .65rem;border-radius:6px;border:1.5px solid;cursor:pointer;transition:all .15s;line-height:1}.filter-chip[data-v-e780dbfd]:hover{opacity:.85}.filter-chip.hidden[data-v-e780dbfd]{opacity:.5}.filter-chip.hidden[data-v-e780dbfd]:hover{opacity:.7}.chip-values[data-v-e780dbfd]{display:flex;flex-direction:column;align-items:center}.chip-value[data-v-e780dbfd]{font-variant-numeric:tabular-nums;font-size:.8rem;font-weight:500;white-space:nowrap}.chart-wrapper[data-v-e780dbfd]{position:relative}.section-header[data-v-4bb261b2]{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;padding:0 .25rem}.section-title[data-v-4bb261b2]{font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-secondary)}.settings-toggle[data-v-4bb261b2]{margin-left:auto;background:var(--bg-elevated);border:none;outline:none;color:var(--text-muted);width:28px;height:28px;border-radius:6px;cursor:pointer;font-size:.9rem;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;transition:all .15s;display:flex;align-items:center;justify-content:center;padding:0}.settings-toggle[data-v-4bb261b2]:hover{color:var(--text-primary);background:var(--bg-raised)}.settings-toggle[data-v-4bb261b2]:focus{outline:none}.chart-settings[data-v-4bb261b2]{background:var(--bg-raised);border-radius:10px;padding:1rem;margin-bottom:1rem;display:flex;flex-direction:column;gap:.75rem}.setting-row[data-v-4bb261b2]{display:flex;align-items:center;gap:1rem}.setting-row label[data-v-4bb261b2]{font-size:.9rem;font-weight:500;color:var(--text-secondary);min-width:55px}.peak-label-selects[data-v-4bb261b2]{display:flex;gap:.5rem;flex-wrap:wrap}.peak-mode-select[data-v-4bb261b2]{font-size:.85rem;color:var(--text-secondary);background:var(--bg-elevated);border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:.2rem .4rem;cursor:pointer}.peak-mode-select[data-v-4bb261b2]:focus{outline:none;border-color:var(--purple)}.setting-input[data-v-4bb261b2]{display:flex;align-items:center;gap:.5rem}.slider-input[data-v-4bb261b2]{flex:1}.slider-input input[type=range][data-v-4bb261b2]{flex:1;height:6px;accent-color:var(--purple);cursor:pointer}.setting-input .unit[data-v-4bb261b2]{font-size:.9rem;color:var(--text-secondary)}.chart-container[data-v-4bb261b2]{margin:0 auto;transition:width .2s ease;touch-action:none;cursor:grab;user-select:none}.chart-container[data-v-4bb261b2]:active{cursor:grabbing}.anchor-indicator[data-v-4bb261b2]{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:.75rem;padding:.5rem}.anchor-label[data-v-4bb261b2]{font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:500;color:var(--text-secondary)}.now-btn[data-v-4bb261b2]{font-variant-numeric:tabular-nums;font-size:.8rem;font-weight:600;padding:.35rem .75rem;border-radius:6px;border:none;background:var(--purple);color:#fff;cursor:pointer;transition:background .15s}.now-btn[data-v-4bb261b2]:hover{background:#9333ea}.activity-item[data-v-e569ab61]{display:flex;align-items:center;gap:1rem;padding:.875rem 1rem;background:var(--bg-raised);border-bottom:1px solid var(--border);transition:background .15s;cursor:pointer}.activity-item[data-v-e569ab61]:first-child{border-radius:12px 12px 0 0}.activity-item[data-v-e569ab61]:last-child{border-radius:0 0 12px 12px;border-bottom:none}.activity-item[data-v-e569ab61]:only-child{border-radius:12px}.activity-item[data-v-e569ab61]:hover{background:var(--bg-elevated)}.activity-deleted[data-v-e569ab61]{opacity:.5}.activity-item[data-v-e569ab61]:active{background:var(--bg-elevated)}.activity-badge[data-v-e569ab61]{font-family:IBM Plex Mono,monospace;font-weight:600;font-size:.9rem;width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:10px;flex-shrink:0}.activity-info[data-v-e569ab61]{flex:1;display:flex;align-items:baseline;gap:.5rem}.activity-dose[data-v-e569ab61]{font-variant-numeric:tabular-nums;font-weight:500;font-size:1.1rem;color:var(--text-primary)}.activity-dose .unit[data-v-e569ab61]{font-size:.85rem;color:var(--text-secondary);margin-left:2px}.activity-method[data-v-e569ab61]{font-size:.95rem;color:var(--text-secondary)}.activity-price[data-v-e569ab61]{font-variant-numeric:tabular-nums;font-size:.85rem;color:var(--text-muted);margin-left:auto;padding-left:.5rem}.activity-time[data-v-e569ab61]{font-variant-numeric:tabular-nums;font-size:.85rem;color:var(--text-secondary);white-space:nowrap}.modal-overlay[data-v-c9dc05bf]{position:fixed;inset:0;background:#000c;backdrop-filter:blur(4px);display:flex;align-items:flex-end;justify-content:center;z-index:1000;padding:1rem}@media(min-height:600px){.modal-overlay[data-v-c9dc05bf]{align-items:center}}.modal[data-v-c9dc05bf]{background:var(--bg-raised);border-radius:16px;width:100%;max-width:400px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-header[data-v-c9dc05bf]{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.25rem 1rem;border-bottom:1px solid var(--border)}.modal-title[data-v-c9dc05bf]{display:flex;align-items:center;gap:.75rem;font-weight:600;font-size:1.2rem}.substance-code[data-v-c9dc05bf]{font-family:IBM Plex Mono,monospace;font-size:.95rem;padding:.35rem .6rem;border-radius:7px}.substance-code.orphaned[data-v-c9dc05bf]{opacity:.7}.deleted-banner[data-v-c9dc05bf]{display:flex;flex-direction:column;gap:.6rem;padding:.85rem 1.25rem;background:#ef444414;border-bottom:1px solid var(--border)}.deleted-banner-text[data-v-c9dc05bf]{font-size:.85rem;color:var(--text-secondary)}.deleted-banner-actions[data-v-c9dc05bf]{display:flex;flex-wrap:wrap;gap:.5rem}.restore-btn[data-v-c9dc05bf]{font-family:inherit;font-size:.85rem;font-weight:500;padding:.4rem .8rem;border-radius:8px;border:1px solid var(--purple);background:#a855f71f;color:var(--purple);cursor:pointer;transition:background .15s}.restore-btn[data-v-c9dc05bf]:hover{background:#a855f738}.modal-body.view-only .field input[data-v-c9dc05bf],.modal-body.view-only .field select[data-v-c9dc05bf],.modal-body.view-only .datetime-row[data-v-c9dc05bf]{opacity:.55;pointer-events:none}.close-btn[data-v-c9dc05bf]{background:none;border:none;color:var(--text-muted);font-size:1.25rem;cursor:pointer;padding:.25rem;line-height:1}.close-btn[data-v-c9dc05bf]:hover{color:var(--text-primary)}.modal-body[data-v-c9dc05bf]{padding:1.25rem;display:flex;flex-direction:column;gap:1rem;overflow-y:auto}.field[data-v-c9dc05bf]{display:flex;flex-direction:column;gap:.6rem}.field label[data-v-c9dc05bf]{font-size:.9rem;font-weight:500;color:var(--text-secondary)}.field input[data-v-c9dc05bf],.field select[data-v-c9dc05bf]{font-variant-numeric:tabular-nums;font-size:.9rem;padding:.5rem .7rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-base);color:var(--text-primary);outline:none;transition:border-color .15s}.field input[data-v-c9dc05bf]:focus,.field select[data-v-c9dc05bf]:focus{border-color:var(--purple)}.field select[data-v-c9dc05bf]{cursor:pointer}.modal-footer[data-v-c9dc05bf]{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem 1.25rem;border-top:1px solid var(--border)}.spacer[data-v-c9dc05bf]{flex:1}.btn-delete[data-v-c9dc05bf],.btn-cancel[data-v-c9dc05bf],.btn-save[data-v-c9dc05bf]{font-family:Space Grotesk,sans-serif;font-size:1rem;font-weight:500;padding:.75rem 1.4rem;border-radius:9px;border:none;cursor:pointer;transition:all .15s}.btn-delete[data-v-c9dc05bf]{background:transparent;color:#ef4444}.btn-delete[data-v-c9dc05bf]:hover{background:#ef44441a}.btn-cancel[data-v-c9dc05bf]{background:transparent;color:var(--text-secondary)}.btn-cancel[data-v-c9dc05bf]:hover{color:var(--text-primary)}.btn-save[data-v-c9dc05bf]{background:var(--purple);color:#fff}.btn-save[data-v-c9dc05bf]:hover{background:#9333ea}.btn-save[data-v-c9dc05bf]:disabled{opacity:.5;cursor:not-allowed}.modal-enter-active[data-v-c9dc05bf],.modal-leave-active[data-v-c9dc05bf],.modal-enter-active .modal[data-v-c9dc05bf],.modal-leave-active .modal[data-v-c9dc05bf]{transition:all .2s ease}.modal-enter-from[data-v-c9dc05bf],.modal-leave-to[data-v-c9dc05bf]{opacity:0}.modal-enter-from .modal[data-v-c9dc05bf],.modal-leave-to .modal[data-v-c9dc05bf]{transform:translateY(20px);opacity:0}.price-field-row[data-v-c9dc05bf]{display:flex;align-items:center;gap:.75rem}.price-field-row input[type=number][data-v-c9dc05bf]{flex:1}.auto-calc-label[data-v-c9dc05bf]{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--text-muted);cursor:pointer;white-space:nowrap}.auto-calc-label input[type=checkbox][data-v-c9dc05bf]{width:16px;height:16px;accent-color:var(--purple);cursor:pointer}.auto-calc-label span[data-v-c9dc05bf]{color:var(--text-secondary)}.price-hint[data-v-c9dc05bf]{font-size:.75rem;color:var(--text-muted);margin-top:.25rem}.dose-auto-updated[data-v-c9dc05bf]{border-color:var(--purple)!important;box-shadow:0 0 0 2px #a855f740;animation:dose-glow-fade-c9dc05bf 2s ease forwards}@keyframes dose-glow-fade-c9dc05bf{0%{box-shadow:0 0 0 3px #a855f773}to{box-shadow:0 0 0 2px #a855f71a}}.dose-hint[data-v-c9dc05bf]{font-size:.75rem;color:var(--text-muted);margin-top:.1rem}.dose-hint-updated[data-v-c9dc05bf]{color:var(--purple)}.datetime-row[data-v-c9dc05bf]{display:flex;align-items:stretch;gap:.5rem;padding:10px 0;overflow:visible}.datetime-row .date-input[data-v-c9dc05bf]{flex:1;min-width:0}.time-parts[data-v-c9dc05bf]{flex:1;min-width:0;display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:stretch;background:var(--bg-base);border:1px solid var(--border);border-radius:8px;overflow:visible;transition:border-color .15s,box-shadow .15s}.time-parts[data-v-c9dc05bf]:focus-within{border-color:var(--purple);box-shadow:0 0 0 2px #a855f733}.time-cell[data-v-c9dc05bf]{min-width:0}.period-cell[data-v-c9dc05bf]{flex:0 0 auto;min-width:2.8rem}.time-colon[data-v-c9dc05bf]{display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-weight:600;font-size:.95rem;line-height:1;text-align:center;user-select:none;padding:0 .05rem}.section-header[data-v-e24040fa]{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;padding:0 .25rem}.section-title[data-v-e24040fa]{font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-secondary)}.section-count[data-v-e24040fa]{font-variant-numeric:tabular-nums;font-size:.85rem;color:var(--text-secondary);background:var(--bg-elevated);padding:.25rem .6rem;border-radius:5px}.settings-toggle[data-v-e24040fa]{margin-left:auto;background:var(--bg-elevated);border:none;outline:none;color:var(--text-muted);width:28px;height:28px;border-radius:6px;cursor:pointer;font-size:.9rem;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;transition:all .15s;display:flex;align-items:center;justify-content:center;padding:0}.settings-toggle[data-v-e24040fa]:hover{color:var(--text-primary);background:var(--bg-raised)}.settings-toggle[data-v-e24040fa]:focus{outline:none}.section-settings[data-v-e24040fa]{background:var(--bg-raised);border-radius:10px;padding:1rem;margin-bottom:1rem;display:flex;flex-direction:column;gap:1rem}.settings-group[data-v-e24040fa]{display:flex;flex-direction:column;gap:.5rem}.settings-group-title[data-v-e24040fa]{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);padding-bottom:.25rem;border-bottom:1px solid var(--border)}.setting-row[data-v-e24040fa]{display:flex;align-items:center;gap:1rem}.checkbox-row[data-v-e24040fa]{padding:.15rem 0}.checkbox-label[data-v-e24040fa]{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.85rem;color:var(--text-secondary)}.checkbox-label input[type=checkbox][data-v-e24040fa]{width:16px;height:16px;accent-color:var(--purple);cursor:pointer}.button-filter-chips[data-v-e24040fa]{display:flex;flex-wrap:wrap;gap:.4rem}.filter-chip[data-v-e24040fa]{font-variant-numeric:tabular-nums;font-size:.8rem;font-weight:600;padding:.3rem .65rem;border-radius:6px;border:1.5px solid;cursor:pointer;transition:all .15s;line-height:1;touch-action:none;user-select:none}.filter-chip[data-v-e24040fa]:hover{opacity:.85}.filter-chip.filtered[data-v-e24040fa]{opacity:.5}.filter-chip.filtered[data-v-e24040fa]:hover{opacity:.7}.hidden-hint[data-v-e24040fa]{font-size:.75rem;color:var(--text-muted);text-align:center;padding:.25rem 0 .5rem}.hidden-hint-link[data-v-e24040fa]{background:none;border:none;color:var(--purple);cursor:pointer;font-size:inherit;font-family:inherit;padding:0;text-decoration:underline;text-underline-offset:2px}.hidden-hint-link[data-v-e24040fa]:hover{opacity:.8}.chip-action-row[data-v-e24040fa]{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;padding:.4rem .5rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px}.chip-action-btn[data-v-e24040fa]{font-size:.78rem;font-weight:500;font-family:inherit;padding:.3rem .65rem;border-radius:6px;border:1px solid var(--border);background:var(--bg-raised);color:var(--text-secondary);cursor:pointer;transition:background .12s,color .12s}.chip-action-btn[data-v-e24040fa]:hover{background:var(--bg-base);color:var(--text-primary)}.chip-action-dismiss[data-v-e24040fa]{margin-left:auto;font-size:.75rem;font-family:inherit;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.2rem .35rem;border-radius:4px;transition:color .12s}.chip-action-dismiss[data-v-e24040fa]:hover{color:var(--text-secondary)}.recent-list[data-v-e24040fa]{height:60vh;overflow-y:auto;overflow-x:hidden;overscroll-behavior-x:none;border-radius:12px;position:relative}.virtual-list-inner[data-v-e24040fa]{position:relative;width:100%}.virtual-item[data-v-e24040fa]{position:absolute;top:0;left:0;width:100%}.virtual-item[data-v-e24040fa]:first-child .activity-item{border-radius:12px 12px 0 0}.recent-list[data-v-e24040fa]::-webkit-scrollbar{width:6px}.recent-list[data-v-e24040fa]::-webkit-scrollbar-track{background:transparent}.recent-list[data-v-e24040fa]::-webkit-scrollbar-thumb{background:var(--bg-elevated);border-radius:3px}.recent-list[data-v-e24040fa]::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.empty[data-v-e24040fa]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3.5rem 1.5rem;color:var(--text-secondary);background:var(--bg-raised);border-radius:14px;gap:.75rem}.empty-icon[data-v-e24040fa]{font-size:2.5rem;opacity:.4}.empty-text[data-v-e24040fa]{font-size:1rem}.debug-overlay[data-v-c0c94a72]{position:fixed;inset:0;z-index:10000;background:#000c;display:flex;align-items:flex-end;justify-content:center}.debug-panel[data-v-c0c94a72]{width:100%;max-width:600px;max-height:80vh;background:#1a1a2e;border-radius:12px 12px 0 0;display:flex;flex-direction:column;overflow:hidden}.debug-header[data-v-c0c94a72]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0}.debug-title[data-v-c0c94a72]{font-size:.85rem;font-weight:600;color:#c4b5fd}.debug-actions[data-v-c0c94a72]{display:flex;gap:8px}.debug-btn[data-v-c0c94a72]{padding:4px 12px;border:1px solid rgba(255,255,255,.2);border-radius:6px;background:transparent;color:#e0e0e0;font-size:.75rem;cursor:pointer}.debug-btn.copy[data-v-c0c94a72]{border-color:#22d3ee66;color:#22d3ee}.debug-btn.clear[data-v-c0c94a72]{border-color:#fb718566;color:#fb7185}.debug-btn.close[data-v-c0c94a72]{border-color:#fff3}.debug-content[data-v-c0c94a72]{overflow-y:auto;padding:8px;flex:1;-webkit-overflow-scrolling:touch}.debug-empty[data-v-c0c94a72]{text-align:center;padding:24px;color:#78788a;font-size:.8rem}.debug-entry[data-v-c0c94a72]{padding:4px 8px;border-bottom:1px solid rgba(255,255,255,.04);font-family:IBM Plex Mono,monospace;font-size:.65rem;line-height:1.4;display:flex;flex-wrap:wrap;gap:6px;align-items:baseline}.debug-time[data-v-c0c94a72]{color:#78788a}.debug-event[data-v-c0c94a72]{color:#c4b5fd;font-weight:500}.debug-state[data-v-c0c94a72]{color:#34d399}.debug-sync[data-v-c0c94a72]{color:#fbbf24}.debug-extra[data-v-c0c94a72]{width:100%;color:#b8b8c0;word-break:break-all}:root{--bg-base: #1a1a1e;--bg-raised: #242428;--bg-elevated: #2e2e33;--text-primary: #f5f5f5;--text-secondary: #b8b8c0;--text-muted: #78788a;--border: rgba(255, 255, 255, .08);--glow: rgba(168, 85, 247, .4);--purple: #a855f7;--cyan: #22d3ee;--emerald: #34d399;--amber: #fbbf24;--rose: #fb7185}*{margin:0;padding:0;box-sizing:border-box;user-select:none;-webkit-user-select:none}body{font-family:Space Grotesk,sans-serif;font-variant-numeric:tabular-nums;font-size:16px;background:var(--bg-base);color:var(--text-primary);min-height:100vh;-webkit-font-smoothing:antialiased}input,select,textarea,button{font-family:inherit}input,textarea{user-select:text;-webkit-user-select:text}.loading-screen[data-v-67acf6c6]{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:var(--bg-base);color:var(--text-muted)}.loading-spinner[data-v-67acf6c6]{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--purple);border-radius:50%;animation:spin-67acf6c6 .8s linear infinite}@keyframes spin-67acf6c6{to{transform:rotate(360deg)}}.app[data-v-67acf6c6]{min-height:100vh;width:100%;max-width:100vw;overflow-x:hidden;background:radial-gradient(ellipse at top,rgba(168,85,247,.08) 0%,transparent 50%),var(--bg-base)}.update-banner[data-v-67acf6c6]{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:1001;padding:10px 20px;border-radius:12px;font-size:.85rem;background:#a855f740;border:1px solid rgba(168,85,247,.5);color:#c4b5fd;cursor:pointer;box-shadow:0 4px 12px #0000004d;transition:background .2s;text-align:center}.update-banner[data-v-67acf6c6]:hover{background:#a855f759}.sync-banner[data-v-67acf6c6]{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:1000;padding:.5rem 1rem;background:#242428f2;backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:8px;text-align:center;font-size:.85rem;color:var(--text-secondary);transition:all .2s;box-shadow:0 4px 12px #0000004d}.sync-banner.clickable[data-v-67acf6c6]{cursor:pointer}.sync-banner.clickable[data-v-67acf6c6]:hover{background:var(--bg-raised)}.sync-banner.offline[data-v-67acf6c6],.sync-banner.error[data-v-67acf6c6]{background:#fb718533;border-color:#fb718566;color:var(--rose)}.sync-status[data-v-67acf6c6]{display:inline-flex;align-items:center;gap:.5rem}.status-dot[data-v-67acf6c6]{width:8px;height:8px;border-radius:50%}.status-dot.offline[data-v-67acf6c6]{background:var(--rose)}.status-dot.syncing[data-v-67acf6c6]{background:var(--amber);animation:pulse-67acf6c6 1.5s ease-in-out infinite}.status-dot.pending[data-v-67acf6c6]{background:var(--amber)}.status-dot.error[data-v-67acf6c6]{background:var(--rose)}@keyframes pulse-67acf6c6{0%,to{opacity:1}50%{opacity:.4}}.main[data-v-67acf6c6]{max-width:960px;margin:0 auto;padding:1rem .375rem;display:flex;flex-direction:column;gap:2.5rem}.app-header[data-v-67acf6c6]{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0;margin-bottom:.5rem;border-bottom:1px solid var(--border)}.app-title[data-v-67acf6c6]{font-size:1.25rem;font-weight:700;color:var(--text-primary);letter-spacing:.5px}.general-settings-btn[data-v-67acf6c6]{background:transparent;border:none;outline:none;color:var(--text-muted);width:36px;height:36px;border-radius:8px;cursor:pointer;font-size:1.3rem;transition:all .15s;display:flex;align-items:center;justify-content:center}.general-settings-btn[data-v-67acf6c6]:hover{color:var(--text-primary);background:var(--bg-elevated)}.general-settings-btn[data-v-67acf6c6]:focus{outline:none}.settings-icon[data-v-67acf6c6]{font-size:1.2rem}.version-indicator[data-v-67acf6c6]{position:fixed;bottom:8px;right:12px;font-size:.7rem;color:var(--text-muted);opacity:.6;user-select:none;z-index:9999}
