.navbar[data-v-00346c1c]{position:sticky;top:0;z-index:50;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-deep) 100%);padding:.8rem 1rem;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-primary)}.nav-brand[data-v-00346c1c]{font-size:1.25rem;font-weight:700;color:#fff;white-space:nowrap;text-shadow:0 2px 10px rgba(0,0,0,.2)}.nav-links[data-v-00346c1c]{display:flex;gap:.4rem;align-items:center;flex-wrap:nowrap}.nav-link[data-v-00346c1c]{color:#ffffffeb;text-decoration:none;font-weight:500;padding:.45rem .75rem;border-radius:var(--radius-pill);font-size:.95rem;transition:background-color .15s var(--ease-default);white-space:nowrap}.nav-link[data-v-00346c1c]:hover,.nav-link.router-link-active[data-v-00346c1c]{background:#ffffff38;color:#fff}.nav-link--admin[data-v-00346c1c]{background:#ffffff2e;font-weight:600}.nav-link--admin[data-v-00346c1c]:hover,.nav-link--admin.router-link-active[data-v-00346c1c]{background:#ffffff59}.logout-btn[data-v-00346c1c]{background:#fff3;border:none;color:#fff;font-weight:500;padding:.45rem .75rem;border-radius:var(--radius-pill);cursor:pointer;font-size:.95rem;transition:background-color .15s var(--ease-default);white-space:nowrap;font-family:inherit}.logout-btn[data-v-00346c1c]:hover{background:#ffffff4d}.logout-btn[data-v-00346c1c]:focus-visible{outline:2px solid white;outline-offset:2px}.main-content[data-v-00346c1c]{flex:1;width:100%;max-width:820px;margin:0 auto;padding:1rem 1rem 2rem}.main-content.full-height[data-v-00346c1c]{width:100%;max-width:100%;margin:0;padding:0;display:flex;align-items:stretch;justify-content:center;min-height:100vh;min-height:100dvh}@media (max-width: 640px){.navbar[data-v-00346c1c]{padding:.65rem .75rem}.nav-brand[data-v-00346c1c]{font-size:1.1rem}.nav-links[data-v-00346c1c]{gap:.25rem}.nav-link[data-v-00346c1c],.logout-btn[data-v-00346c1c]{padding:.4rem .6rem;font-size:.85rem}.main-content[data-v-00346c1c]{padding:.8rem .75rem 2rem}}@media (max-width: 380px){.nav-link[data-v-00346c1c],.logout-btn[data-v-00346c1c]{padding:.35rem .45rem;font-size:.8rem}.nav-brand[data-v-00346c1c]{font-size:1rem}}.home-view[data-v-3b21c550]{animation:fadeIn-3b21c550 .5s ease}@keyframes fadeIn-3b21c550{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.error-message[data-v-3b21c550]{background:var(--color-danger-soft);color:var(--color-danger-dark);padding:.85rem 1rem;border-radius:var(--radius-md);margin-bottom:.75rem;text-align:center;font-size:.95rem;animation:slideIn-3b21c550 .3s ease}@keyframes slideIn-3b21c550{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.streak-card[data-v-3b21c550]{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-deep) 100%);border-radius:var(--radius-xl);padding:1.5rem 1.25rem;text-align:center;color:#fff;box-shadow:0 10px 40px #f5576c4d;margin-bottom:1.25rem}.streak-icon[data-v-3b21c550]{font-size:2.5rem;margin-bottom:.25rem;animation:bounce-3b21c550 2s infinite}@keyframes bounce-3b21c550{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.streak-number[data-v-3b21c550]{font-size:3.25rem;font-weight:800;line-height:1}.streak-label[data-v-3b21c550]{font-size:1rem;opacity:.92;margin-top:.35rem}.record-section[data-v-3b21c550]{background:#fff;border-radius:var(--radius-xl);padding:1.25rem;box-shadow:0 4px 20px #00000014;margin-bottom:1.25rem}.section-title-small[data-v-3b21c550]{text-align:center;color:var(--color-text-2);font-weight:500;font-size:.95rem;margin:0 0 1rem}.timer-display[data-v-3b21c550]{text-align:center;padding:1rem 0 1.25rem}.timer-icon[data-v-3b21c550]{font-size:3rem;margin-bottom:.5rem;animation:pulse-3b21c550 1.2s infinite}.timer-value[data-v-3b21c550]{font-size:2.5rem;font-weight:800;color:var(--color-primary);letter-spacing:2px}.timer-label[data-v-3b21c550]{font-size:.9rem;color:var(--color-text-3);margin-top:.25rem}@keyframes pulse-3b21c550{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.poop-type-grid[data-v-3b21c550]{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:.5rem;margin-bottom:1.25rem}.poop-type-grid.small[data-v-3b21c550]{margin-bottom:1rem}.poop-type-item[data-v-3b21c550]{background:var(--color-surface);border:2px solid transparent;border-radius:var(--radius-md);padding:.75rem .35rem;cursor:pointer;transition:background-color .15s var(--ease-default),color .15s var(--ease-default),box-shadow .15s var(--ease-default);text-align:center;min-height:92px;display:flex;flex-direction:column;justify-content:center;align-items:center;-webkit-tap-highlight-color:transparent}.poop-type-item[data-v-3b21c550]:active{transform:scale(.97)}.poop-type-item[data-v-3b21c550]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.poop-type-item.active[data-v-3b21c550]{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-primary)}.poop-type-emoji[data-v-3b21c550]{font-size:1.75rem;line-height:1.2;margin-bottom:.2rem}.poop-type-name[data-v-3b21c550]{font-weight:700;font-size:.9rem;line-height:1.2;margin-bottom:.15rem}.poop-type-desc[data-v-3b21c550]{font-size:.7rem;opacity:.75;line-height:1.25}.poop-actions[data-v-3b21c550]{display:flex;gap:.6rem;margin-top:.25rem}.poop-actions .record-btn[data-v-3b21c550]{flex:1;min-height:52px;font-size:1.05rem}.record-btn[data-v-3b21c550]{width:100%;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-deep) 100%);border:none;border-radius:var(--radius-md);padding:1rem 1.5rem;font-size:1.15rem;font-weight:700;color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:var(--shadow-primary);transition:background-color .15s var(--ease-default),color .15s var(--ease-default),box-shadow .15s var(--ease-default);min-height:56px;-webkit-tap-highlight-color:transparent}.record-btn[data-v-3b21c550]:active:not(:disabled){transform:scale(.98)}.record-btn[data-v-3b21c550]:disabled{opacity:.7;cursor:not-allowed}.record-btn.btn-stop[data-v-3b21c550]{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-deep) 100%);box-shadow:var(--shadow-primary)}.record-btn.btn-cancel[data-v-3b21c550]{background:#fff;color:var(--color-text-2);border:2px solid var(--color-border);box-shadow:0 4px 16px #0000000f}.record-btn.btn-cancel[data-v-3b21c550]:active:not(:disabled){border-color:var(--color-text-4)}.record-btn.btn-start[data-v-3b21c550]{flex:1;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-deep) 100%);box-shadow:var(--shadow-primary)}.record-btn.btn-supplement[data-v-3b21c550]{flex:1;background:#fff;color:var(--color-text-2);border:2px solid var(--color-border);box-shadow:0 4px 12px #0000000f}.record-btn.btn-supplement[data-v-3b21c550]:hover{border-color:var(--color-primary);color:var(--color-primary)}.record-btn.btn-supplement[data-v-3b21c550]:active{transform:scale(.97)}.start-row[data-v-3b21c550]{display:flex;gap:.6rem;margin-top:.25rem}.start-row .record-btn[data-v-3b21c550]{flex:1;min-height:56px;font-size:1.05rem}.btn-icon[data-v-3b21c550]{font-size:1.35rem}.quick-icon[data-v-3b21c550]{font-size:1rem}.modal-overlay[data-v-3b21c550]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;display:flex;align-items:flex-end;justify-content:center;z-index:1000;animation:fadeIn-3b21c550 .2s ease}.modal-card[data-v-3b21c550]{width:100%;max-width:480px;background:#fff;border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:1.25rem;max-height:85vh;overflow-y:auto;animation:slideUp-3b21c550 .25s ease;box-shadow:0 -10px 40px #00000026}@keyframes slideUp-3b21c550{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-title[data-v-3b21c550]{margin:0 0 1rem;font-size:1.1rem;text-align:center;color:var(--color-text)}.modal-actions[data-v-3b21c550]{display:flex;gap:.75rem;margin-top:1rem}.btn-primary[data-v-3b21c550],.btn-secondary[data-v-3b21c550]{flex:1;border:none;border-radius:var(--radius-md);padding:.75rem 1rem;font-size:1rem;font-weight:700;cursor:pointer;transition:background-color .15s var(--ease-default),color .15s var(--ease-default),box-shadow .15s var(--ease-default);-webkit-tap-highlight-color:transparent}.btn-primary[data-v-3b21c550]{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-deep) 100%);color:#fff;box-shadow:var(--shadow-primary)}.btn-primary[data-v-3b21c550]:disabled{opacity:.7;cursor:not-allowed}.btn-secondary[data-v-3b21c550]{background:var(--color-surface-2);color:var(--color-text-2)}.btn-primary[data-v-3b21c550]:active:not(:disabled),.btn-secondary[data-v-3b21c550]:active{transform:scale(.98)}.extra-inputs[data-v-3b21c550]{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1.25rem}.input-label[data-v-3b21c550]{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:var(--color-text-2);font-weight:500;margin-bottom:.75rem}.input-label.full[data-v-3b21c550]{grid-column:1 / -1}.input-field[data-v-3b21c550]{width:100%;padding:.7rem .9rem;border:2px solid var(--color-border);border-radius:var(--radius-sm);font-size:.95rem;transition:background-color .15s var(--ease-default),color .15s var(--ease-default),box-shadow .15s var(--ease-default);-webkit-appearance:none;background:#fff;box-sizing:border-box}.input-field[data-v-3b21c550]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px #667eea1f}.input-hint[data-v-3b21c550]{font-size:.75rem;color:var(--color-text-3);font-weight:400;line-height:1.3}.recent-header[data-v-3b21c550]{display:flex;align-items:center;gap:.6rem;margin-bottom:.75rem}.section-title[data-v-3b21c550]{font-size:1.1rem;color:var(--color-text);padding-left:.4rem;border-left:4px solid var(--color-primary);font-weight:700;margin:0}.record-count[data-v-3b21c550]{color:var(--color-text-3);font-size:.85rem}.supplement-inline-btn[data-v-3b21c550]{margin-left:auto;display:inline-flex;align-items:center;gap:.3rem;background:#fff;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);padding:.4rem .8rem;font-size:.85rem;font-weight:600;color:var(--color-text-2);cursor:pointer;transition:background-color .15s var(--ease-default),color .15s var(--ease-default),box-shadow .15s var(--ease-default);-webkit-tap-highlight-color:transparent}.supplement-inline-btn[data-v-3b21c550]:hover{border-color:var(--color-primary);color:var(--color-primary)}.supplement-inline-btn[data-v-3b21c550]:active{transform:scale(.97)}.empty-state[data-v-3b21c550]{background:#fff;border-radius:var(--radius-lg);padding:2.5rem 1rem;text-align:center;color:var(--color-text-3);box-shadow:0 2px 10px #0000000a}.empty-icon[data-v-3b21c550]{font-size:2.5rem;margin-bottom:.5rem}.records-list[data-v-3b21c550]{display:flex;flex-direction:column;gap:.75rem}.record-item[data-v-3b21c550]{background:#fff;border-radius:var(--radius-md);padding:.9rem 1rem;box-shadow:0 2px 10px #0000000d}.record-time[data-v-3b21c550]{color:var(--color-primary);font-weight:600;font-size:.95rem}.record-poop-type[data-v-3b21c550]{color:var(--color-primary-deep);font-size:.9rem;font-weight:600;margin-top:.3rem}.record-category[data-v-3b21c550],.record-duration[data-v-3b21c550]{color:var(--color-text-3);font-weight:500}.record-status[data-v-3b21c550]{color:var(--color-text-2);margin-top:.3rem;font-size:.85rem}.record-notes[data-v-3b21c550]{color:var(--color-text-2);margin-top:.3rem;font-size:.9rem}.record-device[data-v-3b21c550]{color:var(--color-text-4);font-size:.75rem;margin-top:.3rem}@media (max-width: 480px){.streak-card[data-v-3b21c550]{padding:1.25rem 1rem;border-radius:var(--radius-xl)}.streak-number[data-v-3b21c550]{font-size:2.75rem}.record-section[data-v-3b21c550]{padding:1rem}.section-title[data-v-3b21c550]{font-size:1.05rem}}@media (prefers-color-scheme: dark){.streak-card[data-v-3b21c550]{background:linear-gradient(135deg,var(--color-primary-dark) 0%,var(--color-primary-deep) 100%);box-shadow:0 10px 40px #667eea66}.record-section[data-v-3b21c550]{background:var(--color-surface-2);box-shadow:0 4px 20px #0000004d}.timer-value[data-v-3b21c550]{color:var(--color-primary)}.timer-label[data-v-3b21c550]{color:var(--color-text-2)}.poop-type-item[data-v-3b21c550]{background:var(--color-surface);color:var(--color-text)}.poop-type-item.active[data-v-3b21c550]{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-primary)}.record-btn.btn-cancel[data-v-3b21c550],.record-btn.btn-supplement[data-v-3b21c550]{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border-2)}.modal-card[data-v-3b21c550]{background:var(--color-surface-2);box-shadow:0 -10px 40px #0000004d}.modal-title[data-v-3b21c550]{color:var(--color-text)}.btn-secondary[data-v-3b21c550]{background:var(--color-surface);color:var(--color-text)}.input-label[data-v-3b21c550]{color:var(--color-text-2)}.input-field[data-v-3b21c550]{background:var(--color-surface);border-color:var(--color-border-2);color:var(--color-text)}.recent-section .section-title[data-v-3b21c550]{color:var(--color-text)}.empty-state[data-v-3b21c550]{background:var(--color-surface-2);color:var(--color-text-3);box-shadow:0 2px 10px #0003}.records-list .record-item[data-v-3b21c550]{background:var(--color-surface-2);box-shadow:0 2px 10px #0003}.record-poop-type[data-v-3b21c550]{color:var(--color-primary)}.supplement-inline-btn[data-v-3b21c550]{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border-2)}}.history-view[data-v-18549007]{animation:fadeIn-18549007 .5s ease}@keyframes fadeIn-18549007{0%{opacity:0}to{opacity:1}}.page-title[data-v-18549007]{font-size:1.5rem;color:var(--color-text);margin-bottom:1rem;text-align:center;font-weight:700}.error-message[data-v-18549007]{background:var(--color-danger-soft);color:var(--color-danger-dark);padding:.85rem 1rem;border-radius:var(--radius-md);margin-bottom:.75rem;text-align:center;font-size:.95rem}.filter-card[data-v-18549007]{background:var(--color-surface);border-radius:var(--radius-xl);padding:1rem;box-shadow:var(--shadow-sm);margin-bottom:1rem}.filter-grid[data-v-18549007]{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.field[data-v-18549007]{display:flex;flex-direction:column;gap:.35rem;font-size:.8rem;color:var(--color-text-2);font-weight:500}.input[data-v-18549007]{width:100%;padding:.65rem .75rem;border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:.95rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--color-surface);color:var(--color-text);transition:border-color .15s var(--ease-default),box-shadow .15s var(--ease-default);min-height:44px;box-sizing:border-box}.input[data-v-18549007]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px #667eea1f}.filter-actions[data-v-18549007]{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.75rem}.btn[data-v-18549007]{padding:.6rem 1rem;border-radius:var(--radius-md);font-size:.95rem;font-weight:600;cursor:pointer;border:2px solid transparent;transition:background-color .15s var(--ease-default),transform .1s ease,box-shadow .15s var(--ease-default);min-height:42px}.btn[data-v-18549007]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-primary[data-v-18549007]{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-deep) 100%);color:#fff;box-shadow:var(--shadow-primary)}.btn-outline[data-v-18549007]{background:var(--color-surface);color:var(--color-primary);border-color:var(--color-border-2)}.btn[data-v-18549007]:active{transform:scale(.97)}.stats-card[data-v-18549007]{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-deep) 100%);border-radius:var(--radius-xl);padding:1rem;color:#fff;display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:1rem;box-shadow:var(--shadow-primary)}.stat[data-v-18549007]{text-align:center}.stat-label[data-v-18549007]{font-size:.75rem;opacity:.9}.stat-value[data-v-18549007]{font-size:1.4rem;font-weight:800;margin-top:.15rem}.export-row[data-v-18549007]{display:flex;gap:.5rem;justify-content:flex-end;margin-bottom:1rem}.loading[data-v-18549007]{text-align:center;padding:3rem 1rem;color:var(--color-text-3)}.spinner[data-v-18549007]{width:36px;height:36px;border:4px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin-18549007 1s linear infinite;margin:0 auto .5rem}@keyframes spin-18549007{to{transform:rotate(360deg)}}.empty-state[data-v-18549007]{background:var(--color-surface);border-radius:var(--radius-xl);padding:3rem 1rem;text-align:center;color:var(--color-text-3);box-shadow:var(--shadow-sm)}.empty-icon[data-v-18549007]{font-size:3rem;margin-bottom:.5rem}.records-grid[data-v-18549007]{display:grid;gap:.75rem}.record-card[data-v-18549007]{background:var(--color-surface);border-radius:var(--radius-lg);padding:1rem;box-shadow:var(--shadow-sm);transition:box-shadow .15s var(--ease-default)}.record-card[data-v-18549007]:hover{box-shadow:var(--shadow-md)}.record-header[data-v-18549007]{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.35rem}.record-date[data-v-18549007]{color:var(--color-primary);font-weight:600;font-size:.95rem}.record-poop-type[data-v-18549007]{color:var(--color-primary-dark);font-size:.9rem;font-weight:600;margin-top:.15rem}.record-category[data-v-18549007],.record-duration[data-v-18549007]{color:var(--color-text-3);font-weight:500}.record-status[data-v-18549007]{color:var(--color-text-2);font-size:.85rem;margin-top:.3rem}.record-notes[data-v-18549007]{color:var(--color-text-2);font-size:.9rem;margin-top:.3rem}.record-device[data-v-18549007]{color:var(--color-text-4);font-size:.75rem;margin-top:.3rem}.delete-btn[data-v-18549007]{background:var(--color-danger-soft);color:var(--color-danger-dark);border:1px solid var(--color-danger-soft);padding:.35rem .6rem;border-radius:var(--radius-sm);font-size:.8rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background-color .15s var(--ease-default),transform .1s ease}.delete-btn[data-v-18549007]:focus-visible{outline:2px solid var(--color-danger);outline-offset:2px}.delete-btn[data-v-18549007]:hover{background:#fecaca}.delete-btn[data-v-18549007]:active{background:var(--color-danger-soft);transform:scale(.97)}@media (max-width: 600px){.filter-grid[data-v-18549007]{grid-template-columns:1fr 1fr}.stats-card[data-v-18549007]{grid-template-columns:repeat(3,1fr);padding:.85rem}.stat-value[data-v-18549007]{font-size:1.2rem}}@media (max-width: 420px){.filter-grid[data-v-18549007]{grid-template-columns:1fr}}@media (prefers-color-scheme: dark){.filter-card[data-v-18549007],.records-section[data-v-18549007],.empty-state[data-v-18549007],.record-card[data-v-18549007],.loading[data-v-18549007]{background:var(--color-surface)}.page-title[data-v-18549007],.stat-value[data-v-18549007],.section-title[data-v-18549007],.modal-title[data-v-18549007]{color:var(--color-text)}.field[data-v-18549007],.record-status[data-v-18549007],.record-notes[data-v-18549007],.record-device[data-v-18549007]{color:var(--color-text-2)}.record-category[data-v-18549007],.record-duration[data-v-18549007]{color:var(--color-text-3)}.btn-outline[data-v-18549007]{background:var(--color-surface-2);border-color:var(--color-border);color:var(--color-primary)}.input[data-v-18549007]{background:var(--color-surface-2);border-color:var(--color-border);color:var(--color-text)}.error-message[data-v-18549007]{background:var(--color-danger-soft);color:var(--color-danger-dark)}.delete-btn[data-v-18549007]{background:var(--color-danger-soft);border-color:var(--color-danger-soft)}.spinner[data-v-18549007]{border-color:var(--color-border);border-top-color:var(--color-primary)}}.weekly-view[data-v-14a19038]{animation:fadeIn-14a19038 .4s ease}.page-title[data-v-14a19038]{font-size:1.5rem;color:var(--color-text);margin-bottom:1rem;text-align:center;font-weight:700}.week-nav[data-v-14a19038]{display:flex;flex-wrap:nowrap;align-items:center;background:var(--color-surface);padding:.75rem 1rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:1rem;gap:.5rem}.arrow-btn[data-v-14a19038]{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:44px;padding:.55rem .75rem;border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-md);font-size:.9rem;color:var(--color-text-2);cursor:pointer;font-weight:500;white-space:nowrap;transition:background-color .15s var(--ease-default),transform .1s ease}.arrow-btn[data-v-14a19038]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.arrow-btn .arrow-icon[data-v-14a19038]{font-size:1.2rem;line-height:1;font-weight:700}.arrow-btn .arrow-text[data-v-14a19038]{margin:0 .25rem}.arrow-btn[data-v-14a19038]:active{background:var(--color-surface-2);transform:scale(.97)}.week-label[data-v-14a19038]{flex:1 1 auto;text-align:center;min-width:0}.week-title[data-v-14a19038]{font-weight:700;color:var(--color-text);font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.week-subtitle[data-v-14a19038]{font-size:.75rem;color:var(--color-text-3);margin-top:.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.error-message[data-v-14a19038]{background:var(--color-danger-soft);color:var(--color-danger-dark);padding:.85rem 1rem;border-radius:var(--radius-md);margin-bottom:.75rem;text-align:center;font-size:.95rem}.summary-grid[data-v-14a19038]{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-bottom:1rem}.summary-card[data-v-14a19038]{border-radius:var(--radius-lg);padding:1rem .75rem;color:#fff;text-align:center;box-shadow:var(--shadow-sm)}.gradient-1[data-v-14a19038]{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-deep) 100%)}.gradient-2[data-v-14a19038]{background:linear-gradient(135deg,#11998e 0%,var(--color-success) 100%)}.gradient-3[data-v-14a19038]{background:linear-gradient(135deg,#f093fb,#f5576c)}.summary-label[data-v-14a19038]{font-size:.8rem;opacity:.95}.summary-value[data-v-14a19038]{font-size:1.6rem;font-weight:800;margin-top:.1rem}.chart-section[data-v-14a19038]{background:var(--color-surface);border-radius:var(--radius-xl);padding:1rem;box-shadow:var(--shadow-sm);margin-bottom:1rem;overflow:hidden}.chart-title[data-v-14a19038]{font-size:1rem;font-weight:700;color:var(--color-text);margin-bottom:.75rem}.bar-chart[data-v-14a19038]{display:grid;grid-template-columns:repeat(7,1fr);gap:.4rem;align-items:stretch;min-height:200px}.bar-column[data-v-14a19038]{display:flex;flex-direction:column;align-items:center;background:transparent;border:2px solid transparent;padding:.25rem .15rem;border-radius:var(--radius-lg);cursor:pointer;transition:background-color .15s var(--ease-default),transform .1s ease,border-color .15s var(--ease-default);-webkit-tap-highlight-color:transparent;min-width:0;font-family:inherit;color:inherit}.bar-column[data-v-14a19038]:hover{background:var(--color-primary);background:linear-gradient(135deg,#667eea1a,#764ba21a)}.bar-column[data-v-14a19038]:active{transform:scale(.97)}.bar-column[data-v-14a19038]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.bar-column.has-record[data-v-14a19038]{cursor:pointer}.bar-column[data-v-14a19038]:disabled{cursor:default;opacity:.5}.bar-count-top[data-v-14a19038]{font-size:.85rem;font-weight:700;color:var(--color-primary-dark);min-height:1rem}.bar-track[data-v-14a19038]{position:relative;width:100%;max-width:44px;flex:1 1 auto;min-height:60px;background:var(--color-surface-2);border-radius:var(--radius-md) var(--radius-md) var(--radius-sm) var(--radius-sm);overflow:hidden;display:flex;align-items:flex-end;margin:.15rem 0}.bar-fill[data-v-14a19038]{width:100%;background:linear-gradient(180deg,var(--color-primary) 0%,var(--color-primary-deep) 100%);border-radius:var(--radius-md) var(--radius-md) var(--radius-sm) var(--radius-sm);transition:height .4s ease;box-shadow:inset 0 -2px #00000014}.bar-column.is-today .bar-fill[data-v-14a19038]{background:linear-gradient(180deg,#f5576c,#f093fb)}.bar-labels[data-v-14a19038]{display:flex;flex-direction:column;align-items:center;gap:.05rem;text-align:center;flex-shrink:0;padding-top:.25rem}.bar-weekday[data-v-14a19038]{font-size:.78rem;font-weight:700;color:var(--color-text);white-space:nowrap}.bar-date[data-v-14a19038]{font-size:.7rem;color:var(--color-text-3);white-space:nowrap}.bar-avg[data-v-14a19038]{font-size:.68rem;color:var(--color-text-2);font-weight:600;white-space:nowrap}.bar-avg-zero[data-v-14a19038]{color:var(--color-text-4)}.modal-overlay[data-v-14a19038]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;display:flex;align-items:flex-end;justify-content:center;z-index:1000;animation:fadeIn-14a19038 .2s ease}.modal-card[data-v-14a19038]{width:100%;max-width:480px;background:var(--color-surface);border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:1.25rem;max-height:85vh;overflow-y:auto;animation:slideUp-14a19038 .25s ease;box-shadow:var(--shadow-lg)}@keyframes fadeIn-14a19038{0%{opacity:0}to{opacity:1}}@keyframes slideUp-14a19038{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-header[data-v-14a19038]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.modal-title[data-v-14a19038]{margin:0;font-size:1.1rem;color:var(--color-text);font-weight:700}.modal-close[data-v-14a19038]{background:var(--color-surface-2);border:none;border-radius:999px;width:32px;height:32px;cursor:pointer;font-size:.9rem;color:var(--color-text-2);transition:background-color .15s var(--ease-default)}.modal-close[data-v-14a19038]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.modal-summary[data-v-14a19038]{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.75rem}.modal-summary-item[data-v-14a19038]{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-deep) 100%);color:#fff;border-radius:var(--radius-md);padding:.75rem;text-align:center;box-shadow:var(--shadow-primary)}.ms-label[data-v-14a19038]{font-size:.75rem;opacity:.9}.ms-value[data-v-14a19038]{font-size:1.5rem;font-weight:800;margin-top:.1rem}.modal-empty[data-v-14a19038]{text-align:center;padding:1.5rem .5rem;color:var(--color-text-3)}.modal-empty-icon[data-v-14a19038]{font-size:2.5rem;margin-bottom:.25rem}.type-block[data-v-14a19038]{margin-bottom:.75rem}.type-title[data-v-14a19038]{font-size:.8rem;color:var(--color-text-3);margin-bottom:.35rem;font-weight:600}.type-chip-row[data-v-14a19038]{display:flex;flex-wrap:wrap;gap:.3rem}.type-chip[data-v-14a19038]{background:#e0e7ff;color:var(--color-primary-dark);padding:.25rem .6rem;border-radius:999px;font-size:.8rem;font-weight:600}.day-record-list[data-v-14a19038]{margin-top:.25rem}.day-record-item[data-v-14a19038]{display:flex;gap:.6rem;align-items:flex-start;padding:.65rem .75rem;border-radius:var(--radius-md);background:var(--color-surface-2);margin-bottom:.4rem;border:1px solid var(--color-border);transition:box-shadow .15s var(--ease-default)}.day-record-item[data-v-14a19038]:hover{box-shadow:var(--shadow-sm)}.day-record-main[data-v-14a19038]{flex:1;min-width:0}.day-record-time[data-v-14a19038]{color:var(--color-primary);font-weight:600;font-size:.85rem}.day-record-type[data-v-14a19038]{color:var(--color-primary-dark);font-size:.85rem;font-weight:600;margin-top:.1rem}.day-record-category[data-v-14a19038],.day-record-duration[data-v-14a19038]{color:var(--color-text-3);font-weight:500}.day-record-status[data-v-14a19038]{font-size:.8rem;color:var(--color-text-2);margin-top:.15rem}.day-record-notes[data-v-14a19038]{font-size:.85rem;color:var(--color-text-2);margin-top:.15rem}.modal-actions[data-v-14a19038]{display:flex;justify-content:flex-end;margin-top:1rem}.modal-actions .btn[data-v-14a19038]{min-height:38px;padding:.5rem 1rem;background:var(--color-primary);color:#fff;border-color:var(--color-primary);border-radius:var(--radius-md);font-size:.9rem;font-weight:600;cursor:pointer;transition:background-color .15s var(--ease-default),transform .1s ease}.modal-actions .btn[data-v-14a19038]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.modal-actions .btn[data-v-14a19038]:active{transform:scale(.97)}.records-section[data-v-14a19038]{background:var(--color-surface);border-radius:var(--radius-xl);padding:1rem;box-shadow:var(--shadow-sm)}.records-header[data-v-14a19038]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.section-title[data-v-14a19038]{font-size:1.05rem;color:var(--color-text);font-weight:700;margin:0}.btn[data-v-14a19038]{padding:.5rem .85rem;border-radius:var(--radius-md);font-size:.85rem;font-weight:600;cursor:pointer;border:2px solid transparent;min-height:38px;transition:background-color .15s var(--ease-default),transform .1s ease}.btn[data-v-14a19038]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-outline[data-v-14a19038]{background:var(--color-surface);color:var(--color-primary);border-color:var(--color-border-2)}.btn[data-v-14a19038]:active{transform:scale(.97)}.export-buttons[data-v-14a19038]{display:flex;gap:.4rem;flex-wrap:wrap}.export-buttons .btn[data-v-14a19038]{min-height:34px;padding:.4rem .75rem}.records-list[data-v-14a19038]{display:flex;flex-direction:column;gap:.5rem}.record-item[data-v-14a19038]{display:flex;gap:.75rem;align-items:flex-start;padding:.65rem .75rem;border-radius:var(--radius-md);background:var(--color-surface-2);border:1px solid var(--color-border);transition:box-shadow .15s var(--ease-default)}.record-item[data-v-14a19038]:hover{box-shadow:var(--shadow-sm)}.record-main[data-v-14a19038]{flex:1;min-width:0}.record-time[data-v-14a19038]{color:var(--color-primary);font-weight:600;font-size:.85rem}.record-type[data-v-14a19038]{color:var(--color-primary-dark);font-size:.85rem;font-weight:600;margin-top:.1rem}.record-category[data-v-14a19038],.record-duration[data-v-14a19038]{color:var(--color-text-3);font-weight:500}.record-status[data-v-14a19038]{font-size:.8rem;color:var(--color-text-2);margin-top:.15rem}.record-notes[data-v-14a19038]{font-size:.85rem;color:var(--color-text-2);margin-top:.15rem}.delete-btn[data-v-14a19038]{background:var(--color-danger-soft);color:var(--color-danger-dark);border:1px solid var(--color-danger-soft);padding:.3rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;cursor:pointer;flex-shrink:0;transition:background-color .15s var(--ease-default),transform .1s ease}.delete-btn[data-v-14a19038]:focus-visible{outline:2px solid var(--color-danger);outline-offset:2px}.delete-btn[data-v-14a19038]:hover{background:#fecaca}.delete-btn[data-v-14a19038]:active{transform:scale(.97)}.empty-state[data-v-14a19038]{background:var(--color-surface);border-radius:var(--radius-xl);padding:3rem 1rem;text-align:center;color:var(--color-text-3);box-shadow:var(--shadow-sm)}.empty-icon[data-v-14a19038]{font-size:3rem;margin-bottom:.5rem}@media (max-width: 720px){.bar-track[data-v-14a19038]{max-width:36px}.bar-count-top[data-v-14a19038]{font-size:.75rem}.bar-weekday[data-v-14a19038]{font-size:.72rem}}@media (max-width: 520px){.arrow-btn .arrow-text[data-v-14a19038]{display:none}.arrow-btn[data-v-14a19038]{padding:.55rem .5rem;min-width:40px}}@media (max-width: 420px){.week-nav[data-v-14a19038]{padding:.6rem .5rem;gap:.35rem}.week-title[data-v-14a19038]{font-size:.9rem}.week-subtitle[data-v-14a19038]{font-size:.7rem}.summary-grid[data-v-14a19038]{grid-template-columns:1fr}.summary-value[data-v-14a19038]{font-size:1.4rem}.bar-chart[data-v-14a19038]{gap:.2rem}.bar-track[data-v-14a19038]{max-width:28px}.bar-weekday[data-v-14a19038]{font-size:.7rem}.bar-date[data-v-14a19038]{font-size:.62rem}.bar-avg[data-v-14a19038]{font-size:.6rem}}@media (prefers-color-scheme: dark){.week-nav[data-v-14a19038],.chart-section[data-v-14a19038],.records-section[data-v-14a19038],.empty-state[data-v-14a19038],.modal-card[data-v-14a19038]{background:var(--color-surface)}.page-title[data-v-14a19038],.week-title[data-v-14a19038],.modal-title[data-v-14a19038],.chart-title[data-v-14a19038],.section-title[data-v-14a19038],.summary-value[data-v-14a19038],.bar-weekday[data-v-14a19038],.ms-value[data-v-14a19038],.bar-count-top[data-v-14a19038]{color:var(--color-text)}.week-subtitle[data-v-14a19038],.bar-date[data-v-14a19038],.bar-avg[data-v-14a19038],.type-title[data-v-14a19038],.record-category[data-v-14a19038],.record-duration[data-v-14a19038],.day-record-category[data-v-14a19038],.day-record-duration[data-v-14a19038],.modal-empty[data-v-14a19038],.bar-avg-zero[data-v-14a19038]{color:var(--color-text-3)}.arrow-btn[data-v-14a19038],.btn-outline[data-v-14a19038],.modal-close[data-v-14a19038]{background:var(--color-surface-2);border-color:var(--color-border);color:var(--color-text)}.bar-track[data-v-14a19038]{background:var(--color-surface-2)}.record-item[data-v-14a19038],.day-record-item[data-v-14a19038]{background:var(--color-surface-2);border-color:var(--color-border)}.error-message[data-v-14a19038]{background:var(--color-danger-soft);color:var(--color-danger-dark)}.delete-btn[data-v-14a19038]{background:var(--color-danger-soft);border-color:var(--color-danger-soft)}.arrow-btn[data-v-14a19038]:active{background:var(--color-border)}.bar-avg[data-v-14a19038],.record-status[data-v-14a19038],.record-notes[data-v-14a19038],.day-record-status[data-v-14a19038],.day-record-notes[data-v-14a19038]{color:var(--color-text-2)}}.monthly-view[data-v-662f2bb4]{animation:fadeIn-662f2bb4 .4s ease}@keyframes fadeIn-662f2bb4{0%{opacity:0}to{opacity:1}}.page-title[data-v-662f2bb4]{font-size:1.5rem;color:var(--color-text);margin-bottom:1rem;text-align:center;font-weight:700}.month-nav[data-v-662f2bb4]{display:flex;flex-wrap:nowrap;align-items:center;gap:.5rem;background:var(--color-surface);padding:.75rem 1rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:1rem}.arrow-btn[data-v-662f2bb4]{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:44px;padding:.55rem .75rem;border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-md);font-size:.9rem;color:var(--color-text-2);cursor:pointer;font-weight:500;white-space:nowrap;transition:background-color .15s var(--ease-default),transform .1s ease}.arrow-btn[data-v-662f2bb4]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.arrow-btn .arrow-icon[data-v-662f2bb4]{font-size:1.2rem;line-height:1;font-weight:700}.arrow-btn .arrow-text[data-v-662f2bb4]{margin:0 .25rem}.arrow-btn[data-v-662f2bb4]:active{background:var(--color-surface-2);transform:scale(.97)}.month-label[data-v-662f2bb4]{flex:1 1 auto;text-align:center;min-width:0}.month-title[data-v-662f2bb4]{font-weight:700;color:var(--color-text);font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.month-subtitle[data-v-662f2bb4]{font-size:.75rem;color:var(--color-text-3);margin-top:.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.error-message[data-v-662f2bb4]{background:var(--color-danger-soft);color:var(--color-danger-dark);padding:.85rem 1rem;border-radius:var(--radius-md);margin-bottom:.75rem;text-align:center;font-size:.95rem}.summary-grid[data-v-662f2bb4]{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;margin-bottom:1rem}.summary-card[data-v-662f2bb4]{border-radius:var(--radius-lg);padding:.85rem .5rem;color:#fff;text-align:center;box-shadow:var(--shadow-sm)}.gradient-1[data-v-662f2bb4]{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-deep) 100%)}.gradient-2[data-v-662f2bb4]{background:linear-gradient(135deg,#11998e,#38ef7d)}.gradient-3[data-v-662f2bb4]{background:linear-gradient(135deg,#f093fb,#f5576c)}.gradient-4[data-v-662f2bb4]{background:linear-gradient(135deg,#f59e0b 0%,var(--color-danger) 100%)}.summary-label[data-v-662f2bb4]{font-size:.75rem;opacity:.95}.summary-value[data-v-662f2bb4]{font-size:1.4rem;font-weight:800;margin-top:.15rem}.summary-value.positive[data-v-662f2bb4]{color:#bbf7d0}.summary-value.negative[data-v-662f2bb4]{color:#fecaca}.calendar[data-v-662f2bb4]{background:var(--color-surface);border-radius:var(--radius-xl);padding:1rem;box-shadow:var(--shadow-sm);margin-bottom:1rem}.calendar-weekdays[data-v-662f2bb4]{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem;margin-bottom:.4rem}.weekday[data-v-662f2bb4]{text-align:center;font-size:.8rem;color:var(--color-text-3);font-weight:600}.calendar-grid[data-v-662f2bb4]{display:grid;grid-template-columns:repeat(7,1fr);gap:.3rem}.calendar-cell[data-v-662f2bb4]{aspect-ratio:1 / 1;background:var(--color-surface-2);border-radius:var(--radius-md);border:2px solid transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;font-size:.9rem;color:var(--color-text-2);font-weight:600;transition:background-color .15s var(--ease-default),transform .1s ease,box-shadow .15s var(--ease-default);cursor:pointer;font-family:inherit}.calendar-cell[data-v-662f2bb4]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.calendar-cell[data-v-662f2bb4]:disabled{cursor:default}.calendar-cell.has-record[data-v-662f2bb4]{background:linear-gradient(135deg,#eef2ff,#e0e7ff);color:var(--color-primary-dark)}.calendar-cell.has-record[data-v-662f2bb4]:hover{transform:translateY(-1px);box-shadow:var(--shadow-primary);background:var(--color-primary);color:var(--color-surface)}.calendar-cell.has-record[data-v-662f2bb4]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.calendar-cell.is-selected[data-v-662f2bb4]{outline:2px solid var(--color-primary);outline-offset:2px}.cell-date[data-v-662f2bb4]{font-size:.85rem}.cell-count[data-v-662f2bb4]{font-size:.65rem;background:var(--color-primary);color:var(--color-surface);border-radius:999px;padding:.05rem .35rem;line-height:1.4}.modal-overlay[data-v-662f2bb4]{position:fixed;top:0;right:0;bottom:0;left:0;background:#1118278c;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:50}.modal-card[data-v-662f2bb4]{background:var(--color-surface);border-radius:var(--radius-xl);padding:1.25rem 1.25rem 1.5rem;width:100%;max-width:520px;max-height:82vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);animation:pop-in-662f2bb4 .18s ease-out}@keyframes pop-in-662f2bb4{0%{transform:translateY(8px) scale(.97);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.modal-head[data-v-662f2bb4]{display:flex;justify-content:space-between;align-items:center;padding-bottom:.75rem;border-bottom:1px solid var(--color-surface-2);margin-bottom:.75rem}.modal-title[data-v-662f2bb4]{margin:0;font-size:1rem;color:var(--color-text);font-weight:700}.modal-close[data-v-662f2bb4]{background:var(--color-surface-2);border:0;border-radius:var(--radius-md);width:32px;height:32px;color:var(--color-text-3);font-size:1rem;cursor:pointer;transition:background-color .15s var(--ease-default),color .15s var(--ease-default)}.modal-close[data-v-662f2bb4]:hover{background:var(--color-border);color:var(--color-text)}.modal-close[data-v-662f2bb4]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.day-empty[data-v-662f2bb4]{color:var(--color-text-3);text-align:center;padding:1.5rem 0}.day-list[data-v-662f2bb4]{overflow-y:auto;padding-right:.25rem;margin-bottom:.5rem}.day-item[data-v-662f2bb4]{background:var(--color-surface-2);border-radius:var(--radius-md);padding:.75rem .85rem;margin-bottom:.55rem;display:flex;gap:.75rem;align-items:flex-start;border:1px solid var(--color-surface-2)}.day-item-main[data-v-662f2bb4]{flex:1;min-width:0}.day-item-time[data-v-662f2bb4]{font-size:.85rem;color:var(--color-text-2);font-weight:600}.day-item-type[data-v-662f2bb4]{font-size:.92rem;color:var(--color-text);margin-top:.15rem;font-weight:600}.day-item-category[data-v-662f2bb4]{color:var(--color-text-3);font-weight:500}.day-item-duration[data-v-662f2bb4]{color:var(--color-primary);font-weight:600}.day-item-status[data-v-662f2bb4],.day-item-notes[data-v-662f2bb4]{margin-top:.25rem;font-size:.82rem;color:var(--color-text-2);word-break:break-word}.btn-danger[data-v-662f2bb4]{background:var(--color-danger-soft);color:var(--color-danger-dark);border:1px solid var(--color-danger-soft);padding:.3rem .65rem;border-radius:var(--radius-sm);font-size:.8rem;cursor:pointer;font-weight:600;flex-shrink:0;transition:background-color .15s var(--ease-default),transform .1s ease}.btn-danger[data-v-662f2bb4]:focus-visible{outline:2px solid var(--color-danger);outline-offset:2px}.btn-danger[data-v-662f2bb4]:hover{background:#fecaca}.day-summary[data-v-662f2bb4]{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;padding-top:.75rem;border-top:1px dashed var(--color-border);margin-top:.5rem}.summary-row[data-v-662f2bb4]{display:flex;justify-content:space-between;align-items:baseline;background:var(--color-surface-2);padding:.5rem .75rem;border-radius:var(--radius-md);font-size:.85rem;color:var(--color-text-2)}.summary-row strong[data-v-662f2bb4]{color:var(--color-text);font-size:1rem}.weeks-section[data-v-662f2bb4],.type-dist[data-v-662f2bb4],.records-section[data-v-662f2bb4]{background:var(--color-surface);border-radius:var(--radius-xl);padding:1rem;box-shadow:var(--shadow-sm);margin-bottom:1rem}.section-title[data-v-662f2bb4]{font-size:1.05rem;color:var(--color-text);margin:0 0 .75rem;font-weight:700}.weeks-grid[data-v-662f2bb4]{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.week-card[data-v-662f2bb4]{background:var(--color-surface-2);border-radius:var(--radius-md);padding:.75rem}.week-header[data-v-662f2bb4]{font-size:.8rem;color:var(--color-primary);font-weight:600;margin-bottom:.35rem}.week-body[data-v-662f2bb4]{display:flex;flex-direction:column;gap:.35rem}.week-meta[data-v-662f2bb4]{display:flex;align-items:baseline;gap:.5rem}.week-count[data-v-662f2bb4]{font-size:1.4rem;font-weight:800;color:var(--color-text)}.week-avg[data-v-662f2bb4]{font-size:.8rem;color:var(--color-text-3)}.week-types[data-v-662f2bb4]{display:flex;flex-wrap:wrap;gap:.25rem}.type-chip[data-v-662f2bb4]{background:#e0e7ff;color:var(--color-primary-dark);padding:.15rem .4rem;border-radius:999px;font-size:.75rem;font-weight:600}.type-bars[data-v-662f2bb4]{display:flex;flex-direction:column;gap:.5rem}.type-bar-row[data-v-662f2bb4]{display:grid;grid-template-columns:110px 1fr 40px;align-items:center;gap:.5rem;font-size:.85rem}.type-bar-label[data-v-662f2bb4]{color:var(--color-text-2);font-weight:500}.type-bar-track[data-v-662f2bb4]{background:var(--color-border);height:12px;border-radius:999px;overflow:hidden}.type-bar-fill[data-v-662f2bb4]{background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-primary-deep) 100%);height:100%;border-radius:999px;transition:width .4s ease}.type-bar-value[data-v-662f2bb4]{text-align:right;color:var(--color-text-2);font-weight:600}.records-header[data-v-662f2bb4]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.btn[data-v-662f2bb4]{padding:.5rem .85rem;border-radius:var(--radius-md);font-size:.85rem;font-weight:600;cursor:pointer;border:2px solid transparent;min-height:38px;transition:background-color .15s var(--ease-default),transform .1s ease}.btn[data-v-662f2bb4]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-outline[data-v-662f2bb4]{background:var(--color-surface);color:var(--color-primary);border-color:var(--color-border-2)}.btn[data-v-662f2bb4]:active{transform:scale(.97)}.export-buttons[data-v-662f2bb4]{display:flex;gap:.4rem;flex-wrap:wrap}.export-buttons .btn[data-v-662f2bb4]{min-height:34px;padding:.4rem .75rem}.records-list[data-v-662f2bb4]{display:flex;flex-direction:column;gap:.5rem}.record-item[data-v-662f2bb4]{display:flex;gap:.75rem;align-items:flex-start;padding:.65rem .75rem;border-radius:var(--radius-md);background:var(--color-surface-2);border:1px solid var(--color-border);transition:box-shadow .15s var(--ease-default)}.record-item[data-v-662f2bb4]:hover{box-shadow:var(--shadow-sm)}.record-main[data-v-662f2bb4]{flex:1}.record-time[data-v-662f2bb4]{color:var(--color-primary);font-weight:600;font-size:.85rem}.record-type[data-v-662f2bb4]{color:var(--color-primary-dark);font-size:.85rem;font-weight:600;margin-top:.1rem}.record-category[data-v-662f2bb4],.record-duration[data-v-662f2bb4]{color:var(--color-text-3);font-weight:500}.record-status[data-v-662f2bb4]{font-size:.8rem;color:var(--color-text-2);margin-top:.15rem}.record-notes[data-v-662f2bb4]{font-size:.85rem;color:var(--color-text-2);margin-top:.15rem}.delete-btn[data-v-662f2bb4]{background:var(--color-danger-soft);color:var(--color-danger-dark);border:1px solid var(--color-danger-soft);padding:.3rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;cursor:pointer;flex-shrink:0;transition:background-color .15s var(--ease-default),transform .1s ease}.delete-btn[data-v-662f2bb4]:focus-visible{outline:2px solid var(--color-danger);outline-offset:2px}.delete-btn[data-v-662f2bb4]:hover{background:#fecaca}.delete-btn[data-v-662f2bb4]:active{transform:scale(.97)}.empty-state[data-v-662f2bb4]{background:var(--color-surface);border-radius:var(--radius-xl);padding:3rem 1rem;text-align:center;color:var(--color-text-3);box-shadow:var(--shadow-sm)}.empty-icon[data-v-662f2bb4]{font-size:3rem;margin-bottom:.5rem}.chart-container[data-v-662f2bb4]{max-width:320px;margin:0 auto}.health-trend-section[data-v-662f2bb4]{background:var(--color-surface);border-radius:var(--radius-xl);padding:1rem;box-shadow:var(--shadow-sm);margin-bottom:1rem}.trend-cards[data-v-662f2bb4]{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}.trend-card[data-v-662f2bb4]{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:var(--radius-md);color:#fff}.trend-card.constipation[data-v-662f2bb4]{background:linear-gradient(135deg,var(--color-danger) 0%,#f97316 100%)}.trend-card.diarrhea[data-v-662f2bb4]{background:linear-gradient(135deg,#3b82f6 0%,var(--color-primary-deep) 100%)}.trend-card.constipation-streak[data-v-662f2bb4]{background:linear-gradient(135deg,#f97316,#eab308)}.trend-card.diarrhea-streak[data-v-662f2bb4]{background:linear-gradient(135deg,var(--color-primary-deep) 0%,#ec4899 100%)}.trend-icon[data-v-662f2bb4]{font-size:1.8rem}.trend-info[data-v-662f2bb4]{flex:1}.trend-label[data-v-662f2bb4]{font-size:.75rem;opacity:.9}.trend-value[data-v-662f2bb4]{font-size:1.25rem;font-weight:800}.seasonal-section[data-v-662f2bb4]{background:var(--color-surface);border-radius:var(--radius-xl);padding:1rem;box-shadow:var(--shadow-sm);margin-bottom:1rem}.seasonal-grid[data-v-662f2bb4]{display:flex;align-items:flex-end;justify-content:space-between;gap:.35rem;height:80px;padding-top:.5rem}.seasonal-item[data-v-662f2bb4]{display:flex;flex-direction:column;align-items:center;flex:1}.seasonal-bar-container[data-v-662f2bb4]{height:60px;display:flex;align-items:flex-end}.seasonal-bar[data-v-662f2bb4]{width:100%;max-width:24px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-deep) 100%);border-radius:4px 4px 0 0;min-height:4px}.seasonal-label[data-v-662f2bb4]{font-size:.65rem;color:var(--color-text-3);margin-top:.25rem}.seasonal-value[data-v-662f2bb4]{font-size:.7rem;color:var(--color-text-2);font-weight:600}@media (max-width: 720px){.summary-grid[data-v-662f2bb4]{grid-template-columns:repeat(2,1fr)}.weeks-grid[data-v-662f2bb4]{grid-template-columns:1fr}.type-bar-row[data-v-662f2bb4]{grid-template-columns:90px 1fr 40px;font-size:.8rem}.summary-value[data-v-662f2bb4]{font-size:1.25rem}.trend-cards[data-v-662f2bb4]{grid-template-columns:repeat(2,1fr)}}@media (max-width: 520px){.arrow-btn .arrow-text[data-v-662f2bb4]{display:none}.arrow-btn[data-v-662f2bb4]{padding:.55rem .5rem;min-width:40px}}@media (max-width: 420px){.month-nav[data-v-662f2bb4]{padding:.6rem .5rem;gap:.35rem}.month-title[data-v-662f2bb4]{font-size:.9rem}.month-subtitle[data-v-662f2bb4]{font-size:.7rem}.calendar[data-v-662f2bb4]{padding:.75rem}.calendar-cell[data-v-662f2bb4]{aspect-ratio:auto;height:44px;font-size:.85rem}.cell-count[data-v-662f2bb4]{font-size:.6rem}}@media (prefers-color-scheme: dark){.month-nav[data-v-662f2bb4],.calendar[data-v-662f2bb4],.weeks-section[data-v-662f2bb4],.type-dist[data-v-662f2bb4],.records-section[data-v-662f2bb4],.health-trend-section[data-v-662f2bb4],.seasonal-section[data-v-662f2bb4],.empty-state[data-v-662f2bb4],.modal-card[data-v-662f2bb4]{background:var(--color-surface)}.page-title[data-v-662f2bb4],.month-title[data-v-662f2bb4],.modal-title[data-v-662f2bb4],.week-count[data-v-662f2bb4],.week-header[data-v-662f2bb4],.cell-date[data-v-662f2bb4],.section-title[data-v-662f2bb4],.stat-value[data-v-662f2bb4],.trend-value[data-v-662f2bb4],.seasonal-value[data-v-662f2bb4]{color:var(--color-text)}.month-subtitle[data-v-662f2bb4],.week-avg[data-v-662f2bb4],.seasonal-label[data-v-662f2bb4],.record-category[data-v-662f2bb4],.record-duration[data-v-662f2bb4],.day-item-category[data-v-662f2bb4],.day-empty[data-v-662f2bb4],.type-bar-label[data-v-662f2bb4],.day-item-duration[data-v-662f2bb4],.summary-row[data-v-662f2bb4],.record-status[data-v-662f2bb4],.record-notes[data-v-662f2bb4]{color:var(--color-text-3)}.arrow-btn[data-v-662f2bb4],.btn-outline[data-v-662f2bb4],.modal-close[data-v-662f2bb4]{background:var(--color-surface-2);border-color:var(--color-border);color:var(--color-text)}.calendar-cell[data-v-662f2bb4]{background:var(--color-surface-2);color:var(--color-text-2)}.record-item[data-v-662f2bb4],.day-item[data-v-662f2bb4],.week-card[data-v-662f2bb4],.summary-row[data-v-662f2bb4]{background:var(--color-surface-2);border-color:var(--color-border)}.week-card[data-v-662f2bb4],.summary-row[data-v-662f2bb4]{background:var(--color-surface-2)}.type-bar-track[data-v-662f2bb4]{background:var(--color-border)}.delete-btn[data-v-662f2bb4],.btn-danger[data-v-662f2bb4]{background:var(--color-danger-soft);border-color:var(--color-danger-soft)}.error-message[data-v-662f2bb4]{background:var(--color-danger-soft);color:var(--color-danger-dark)}.arrow-btn[data-v-662f2bb4]:active{background:var(--color-border)}}.admin-view[data-v-aa3249e3]{max-width:1200px;margin:0 auto;padding:20px}.page-title[data-v-aa3249e3]{font-size:28px;margin-bottom:24px;text-align:center;color:var(--color-text)}.tabs[data-v-aa3249e3]{display:flex;gap:8px;margin-bottom:20px;background:var(--color-surface);padding:12px 16px;border-radius:var(--radius-md);box-shadow:0 2px 8px #0000000f}.tab-btn[data-v-aa3249e3]{padding:8px 16px;border:none;background:var(--color-surface-2);color:var(--color-text-2);border-radius:var(--radius-sm);font-size:14px;cursor:pointer;transition:background-color .15s var(--ease-default),transform .1s ease}.tab-btn[data-v-aa3249e3]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.tab-btn.active[data-v-aa3249e3]{background:var(--color-primary);color:#fff}.tab-btn[data-v-aa3249e3]:hover:not(.active){background:var(--color-border)}.panel[data-v-aa3249e3]{background:var(--color-surface);border-radius:var(--radius-md);padding:24px;margin-bottom:20px;box-shadow:0 2px 8px #0000000f}.panel-title[data-v-aa3249e3]{font-size:18px;margin:0 0 20px;color:var(--color-text)}.panel-subtitle[data-v-aa3249e3]{font-size:13px;font-weight:400;color:var(--color-text-3);margin-left:8px}.summary-grid[data-v-aa3249e3]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px}.summary-card[data-v-aa3249e3]{border-radius:var(--radius-md);padding:20px;color:#fff;box-shadow:0 4px 12px #0000001a}.gradient-1[data-v-aa3249e3]{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-deep) 100%)}.gradient-2[data-v-aa3249e3]{background:linear-gradient(135deg,#f093fb,#f5576c)}.gradient-3[data-v-aa3249e3]{background:linear-gradient(135deg,#4facfe,#00f2fe)}.gradient-4[data-v-aa3249e3]{background:linear-gradient(135deg,#fa709a,#fee140)}.summary-label[data-v-aa3249e3]{font-size:14px;opacity:.9;margin-bottom:8px}.summary-value[data-v-aa3249e3]{font-size:36px;font-weight:700}.user-grid[data-v-aa3249e3]{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-bottom:20px}.user-card[data-v-aa3249e3]{padding:16px;border-radius:var(--radius-sm);border:2px solid transparent;background:var(--color-surface-2);cursor:pointer;transition:background-color .15s var(--ease-default),transform .1s ease}.user-card[data-v-aa3249e3]:hover{background:var(--color-border);transform:translateY(-2px)}.user-card--active[data-v-aa3249e3]{border-color:var(--color-primary);background:var(--color-surface-2)}.user-card--admin[data-v-aa3249e3]{background:linear-gradient(135deg,#fffbeb,#fff5f5)}.user-card--disabled[data-v-aa3249e3]{opacity:.6}.user-card__header[data-v-aa3249e3]{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;gap:8px}.user-card__name[data-v-aa3249e3]{font-size:16px;font-weight:600;color:var(--color-text)}.user-card__badge[data-v-aa3249e3]{font-size:10px;padding:2px 8px;border-radius:10px;background:var(--color-danger);color:#fff;flex-shrink:0}.user-card__badge.admin-badge[data-v-aa3249e3]{background:var(--color-warning)}.user-card__badge.disabled-badge[data-v-aa3249e3]{background:var(--color-text-3)}.user-card__email[data-v-aa3249e3]{font-size:12px;color:var(--color-text-3);margin-bottom:8px}.user-card__meta[data-v-aa3249e3]{display:flex;gap:12px;font-size:11px;color:var(--color-text-4);margin-bottom:8px}.user-card__actions[data-v-aa3249e3]{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-start}.user-card__actions .btn[data-v-aa3249e3]{min-width:80px;flex:1;height:34px;line-height:34px;padding:0 12px;font-size:13px;margin:0;border-radius:var(--radius-sm);box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center}.user-card__actions .btn[data-v-aa3249e3]:only-child{flex:none}.filter-row[data-v-aa3249e3]{margin-top:8px}.filter-grid[data-v-aa3249e3]{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.field[data-v-aa3249e3]{display:flex;flex-direction:column;gap:6px}.field span[data-v-aa3249e3]{font-size:13px;color:var(--color-text-2);font-weight:500}.input[data-v-aa3249e3]{height:38px;line-height:38px;padding:0 12px;border:1px solid var(--color-border-2);border-radius:var(--radius-sm);font-size:14px;background:var(--color-surface);color:var(--color-text);box-sizing:border-box}select.input[data-v-aa3249e3]{line-height:normal}input[type=date].input[data-v-aa3249e3]{line-height:normal;min-height:44px}.input[data-v-aa3249e3]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.filter-actions[data-v-aa3249e3]{display:flex;gap:8px;align-items:flex-end}.btn[data-v-aa3249e3]{padding:0 16px;height:38px;line-height:38px;border-radius:var(--radius-sm);border:none;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .15s var(--ease-default),transform .1s ease;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center}.btn--primary[data-v-aa3249e3]{background:var(--color-primary);color:#fff}.btn--primary[data-v-aa3249e3]:hover{background:var(--color-primary-dark)}.btn--secondary[data-v-aa3249e3]{background:var(--color-border);color:var(--color-text-2)}.btn--secondary[data-v-aa3249e3]:hover{background:var(--color-border-2)}.btn--secondary[data-v-aa3249e3]:disabled{opacity:.5;cursor:not-allowed}.btn--danger[data-v-aa3249e3]{background:var(--color-danger);color:#fff}.btn--danger[data-v-aa3249e3]:hover{background:var(--color-danger-dark)}.btn--small[data-v-aa3249e3]{padding:0 12px;height:34px;line-height:34px;font-size:13px}.btn--active[data-v-aa3249e3]{background:var(--color-primary);color:#fff}.records-list[data-v-aa3249e3]{display:flex;flex-direction:column;gap:12px}.record-item[data-v-aa3249e3]{display:flex;justify-content:space-between;align-items:flex-start;padding:16px;border-radius:var(--radius-sm);background:var(--color-surface-2);border-left:4px solid var(--color-primary)}.record-item__left[data-v-aa3249e3]{display:flex;gap:14px;align-items:flex-start;flex:1}.record-item__type[data-v-aa3249e3]{font-size:32px;line-height:1}.record-item__info[data-v-aa3249e3]{flex:1}.record-item__user[data-v-aa3249e3]{display:flex;gap:8px;align-items:center;margin-bottom:4px}.record-item__username[data-v-aa3249e3]{font-size:15px;font-weight:600;color:var(--color-text)}.record-item__email[data-v-aa3249e3]{font-size:12px;color:var(--color-text-4)}.record-item__date[data-v-aa3249e3]{font-size:13px;color:var(--color-text-2);margin-bottom:6px}.record-item__status[data-v-aa3249e3],.record-item__duration[data-v-aa3249e3],.record-item__notes[data-v-aa3249e3]{font-size:12px;color:var(--color-text-3);margin-top:3px}.record-item__right[data-v-aa3249e3]{flex-shrink:0}.pagination[data-v-aa3249e3]{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:20px}.pagination-info[data-v-aa3249e3]{font-size:13px;color:#718096}.trend-bars[data-v-aa3249e3]{display:flex;flex-direction:column;gap:8px}.trend-bar-row[data-v-aa3249e3]{display:flex;align-items:center;gap:12px;font-size:12px}.trend-bar-day[data-v-aa3249e3]{width:100px;color:#718096;flex-shrink:0}.trend-bar-track[data-v-aa3249e3]{flex:1;height:20px;background:#edf2f7;border-radius:4px;overflow:hidden}.trend-bar-fill[data-v-aa3249e3]{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-deep));border-radius:4px;transition:width .3s}.trend-bar-value[data-v-aa3249e3]{width:100px;color:#4a5568;text-align:right;flex-shrink:0}.error-message[data-v-aa3249e3]{background:#fed7d7;color:#c53030;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px}.empty-hint[data-v-aa3249e3]{padding:32px;text-align:center;color:#a0aec0;font-size:14px;background:#f7fafc;border-radius:8px}.btn--reset[data-v-aa3249e3]{margin-top:10px;background:#ed8936;color:#fff;flex:1}.btn--reset[data-v-aa3249e3]:hover{background:#dd6b20}.btn--danger[data-v-aa3249e3]{margin-top:10px;margin-left:8px;background:#e53e3e;color:#fff;flex:1}.btn--danger[data-v-aa3249e3]:hover{background:#c53030}.modal-overlay[data-v-aa3249e3]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-aa3249e3]{background:#fff;border-radius:16px;padding:24px;max-width:400px;width:90%;box-shadow:0 20px 60px #0000004d}.modal-title[data-v-aa3249e3]{font-size:20px;margin:0 0 12px;color:#2d3748}.modal-subtitle[data-v-aa3249e3]{font-size:14px;color:#718096;margin-bottom:20px}.modal-field[data-v-aa3249e3]{margin-bottom:16px}.modal-field label[data-v-aa3249e3]{display:block;font-size:13px;color:#4a5568;margin-bottom:6px}.modal-error[data-v-aa3249e3]{background:#fed7d7;color:#c53030;padding:10px 14px;border-radius:6px;font-size:13px;margin-bottom:16px}.modal-success[data-v-aa3249e3]{background:#c6f6d5;color:#276749;padding:10px 14px;border-radius:6px;font-size:13px;margin-bottom:16px}.modal-actions[data-v-aa3249e3]{display:flex;gap:12px;justify-content:flex-end}.modal-actions .btn[data-v-aa3249e3]{min-width:100px;height:36px;padding:0 16px;margin:0;flex:none}@media (max-width: 600px){.summary-grid[data-v-aa3249e3]{grid-template-columns:repeat(2,1fr)}.summary-value[data-v-aa3249e3]{font-size:28px}.user-grid[data-v-aa3249e3]{grid-template-columns:1fr}.record-item[data-v-aa3249e3]{flex-direction:column;gap:12px}.trend-bar-day[data-v-aa3249e3]{width:80px}.trend-bar-value[data-v-aa3249e3]{width:80px;font-size:11px}.tabs[data-v-aa3249e3]{flex-wrap:wrap}}.logs-list[data-v-aa3249e3]{display:flex;flex-direction:column;gap:10px;margin-top:16px}.log-item[data-v-aa3249e3]{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:10px;background:var(--color-surface-2);border-left:4px solid var(--color-primary)}.log-item--failed[data-v-aa3249e3]{background:#fff5f5;border-left-color:#f56565}.log-item__icon[data-v-aa3249e3]{font-size:20px;line-height:1;flex-shrink:0}.log-item__info[data-v-aa3249e3]{flex:1;min-width:0}.log-item__user[data-v-aa3249e3]{display:flex;gap:8px;align-items:center;margin-bottom:4px}.log-item__username[data-v-aa3249e3]{font-size:14px;font-weight:600;color:#2d3748}.log-item__email[data-v-aa3249e3]{font-size:12px;color:#a0aec0}.log-item__action[data-v-aa3249e3]{font-size:12px;padding:2px 8px;border-radius:10px;background:#edf2f7;color:#4a5568}.log-item__detail[data-v-aa3249e3]{font-size:12px;color:#718096;word-break:break-all}.log-item__fail[data-v-aa3249e3]{font-size:12px;color:#c53030;margin-top:4px}.log-item__time[data-v-aa3249e3]{font-size:12px;color:#a0aec0;flex-shrink:0;white-space:nowrap}.btn--warning[data-v-aa3249e3]{background:#ed8936;color:#fff}.btn--warning[data-v-aa3249e3]:hover{background:#dd6b20}.btn--success[data-v-aa3249e3]{background:#48bb78;color:#fff}.btn--success[data-v-aa3249e3]:hover{background:#38a169}.settings-view[data-v-aa199837]{animation:fadeIn-aa199837 .4s var(--ease-default)}@keyframes fadeIn-aa199837{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.page-title[data-v-aa199837]{font-size:1.5rem;color:var(--color-text);margin-bottom:1.25rem;text-align:center;font-weight:700}.settings-card[data-v-aa199837]{background:var(--color-surface);border-radius:var(--radius-xl);padding:1.5rem 1.25rem 1.75rem;box-shadow:var(--shadow-md)}.setting-item[data-v-aa199837]{margin-bottom:1.5rem}.setting-label[data-v-aa199837]{display:block;font-size:1rem;color:var(--color-text);margin-bottom:.75rem;font-weight:600;text-align:center}.time-picker[data-v-aa199837]{display:flex;align-items:center;justify-content:center;gap:.5rem}.time-select[data-v-aa199837]{font-size:1.1rem;padding:.75rem 1rem;border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;transition:border-color .15s var(--ease-default),box-shadow .15s var(--ease-default);font-weight:600;color:var(--color-text-2);min-width:80px;text-align:center;-webkit-appearance:none;-moz-appearance:none;appearance:none}.time-select[data-v-aa199837]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px #667eea1f}.time-select[data-v-aa199837]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.time-separator[data-v-aa199837]{font-size:1.75rem;font-weight:700;color:var(--color-primary)}.setting-info[data-v-aa199837]{background:var(--color-primary-soft);border-radius:var(--radius-md);padding:.85rem 1rem;display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem}.info-icon[data-v-aa199837]{font-size:1.4rem;line-height:1;flex-shrink:0}.setting-info p[data-v-aa199837]{color:var(--color-primary-dark);margin:0;font-size:.95rem;line-height:1.4;flex:1}.save-btn[data-v-aa199837]{width:100%;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-deep) 100%);border:none;border-radius:var(--radius-md);padding:.95rem;font-size:1.05rem;font-weight:700;color:#fff;cursor:pointer;transition:filter .15s var(--ease-default),transform .1s var(--ease-default),box-shadow .15s var(--ease-default);box-shadow:var(--shadow-primary);min-height:50px;-webkit-tap-highlight-color:transparent;font-family:inherit}.save-btn[data-v-aa199837]:hover:not(:disabled){filter:brightness(1.05)}.save-btn[data-v-aa199837]:active:not(:disabled){transform:scale(.98)}.save-btn[data-v-aa199837]:disabled{opacity:.7;cursor:not-allowed}.save-btn[data-v-aa199837]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.message[data-v-aa199837]{margin-top:.75rem;padding:.7rem .85rem;border-radius:var(--radius-sm);text-align:center;font-size:.9rem;animation:slideIn-aa199837 .3s var(--ease-default)}@keyframes slideIn-aa199837{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.message.success[data-v-aa199837]{background:var(--color-success-soft);color:var(--color-success-dark)}.message.error[data-v-aa199837]{background:var(--color-danger-soft);color:var(--color-danger-dark)}.tips-card[data-v-aa199837]{background:var(--color-surface);border-radius:var(--radius-xl);padding:1.25rem 1.25rem 1.5rem;margin-top:1.25rem;box-shadow:var(--shadow-md)}.tips-card h3[data-v-aa199837]{color:var(--color-text);margin-bottom:.75rem;font-size:1.05rem;font-weight:700}.tips-card ul[data-v-aa199837]{margin:0;padding-left:1.25rem;color:var(--color-text-2);line-height:1.7;font-size:.95rem}.tips-card li[data-v-aa199837]{margin-bottom:.2rem}.password-card[data-v-aa199837]{margin-top:1.25rem}.card-title[data-v-aa199837]{color:var(--color-text);font-size:1.1rem;font-weight:700;margin-bottom:1rem;text-align:center}.form-group[data-v-aa199837]{margin-bottom:1rem}.form-group label[data-v-aa199837]{display:block;font-size:.9rem;color:var(--color-text-2);font-weight:500;margin-bottom:.4rem}.form-input[data-v-aa199837]{width:100%;padding:.75rem 1rem;border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:1rem;background:var(--color-surface);color:var(--color-text);transition:border-color .15s var(--ease-default),box-shadow .15s var(--ease-default);box-sizing:border-box;font-family:inherit}.form-input[data-v-aa199837]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px #667eea1f}.form-input[data-v-aa199837]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.pwd-btn[data-v-aa199837]{margin-top:.5rem}@media (prefers-color-scheme: dark){.settings-card[data-v-aa199837],.tips-card[data-v-aa199837]{background:var(--color-surface);border:1px solid var(--color-border)}.time-select[data-v-aa199837],.form-input[data-v-aa199837]{background:var(--color-bg);border-color:var(--color-border);color:var(--color-text)}.setting-info[data-v-aa199837]{background:var(--color-primary-soft)}.message.success[data-v-aa199837]{background:var(--color-success-soft)}.message.error[data-v-aa199837]{background:var(--color-danger-soft)}}@media (max-width: 480px){.page-title[data-v-aa199837]{font-size:1.3rem}.settings-card[data-v-aa199837]{padding:1.25rem 1rem 1.5rem;border-radius:18px}.setting-label[data-v-aa199837]{font-size:.95rem;margin-bottom:.6rem}.time-select[data-v-aa199837]{font-size:1rem;padding:.65rem .75rem;min-width:64px}.time-separator[data-v-aa199837]{font-size:1.5rem}.setting-info[data-v-aa199837]{padding:.75rem .85rem;gap:.5rem}.info-icon[data-v-aa199837]{font-size:1.2rem}.setting-info p[data-v-aa199837]{font-size:.9rem}.save-btn[data-v-aa199837]{font-size:1rem;padding:.85rem;min-height:48px}.tips-card[data-v-aa199837]{padding:1.1rem 1rem 1.25rem;border-radius:18px}.tips-card h3[data-v-aa199837]{font-size:1rem}}.auth-container[data-v-ee3550c1]{width:100%;min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-deep) 100%);padding:1.5rem clamp(.75rem,3vw,2rem);box-sizing:border-box}.auth-card[data-v-ee3550c1]{background:#fff;border-radius:var(--radius-xl);padding:clamp(1.5rem,4vw,2.5rem) clamp(1.25rem,4vw,2.25rem);width:100%;max-width:min(420px,100%);box-shadow:0 20px 60px #0000002e;display:flex;flex-direction:column}.auth-header[data-v-ee3550c1]{text-align:center;margin-bottom:clamp(1rem,3vw,1.75rem)}.logo[data-v-ee3550c1]{font-size:clamp(2.5rem,7vw,3.5rem);margin-bottom:.75rem;line-height:1}.auth-header h1[data-v-ee3550c1]{color:var(--color-text);font-size:clamp(1.25rem,3.5vw,1.75rem);margin-bottom:.4rem}.auth-header p[data-v-ee3550c1]{color:var(--color-text-3);font-size:clamp(.85rem,2.2vw,1rem)}.auth-form[data-v-ee3550c1]{display:flex;flex-direction:column;gap:clamp(.75rem,2vw,1.1rem)}.form-group[data-v-ee3550c1]{display:flex;flex-direction:column;gap:.4rem}.form-group label[data-v-ee3550c1]{color:var(--color-text-2);font-weight:500;font-size:clamp(.8rem,2vw,.95rem)}.form-input[data-v-ee3550c1]{width:100%;padding:clamp(.7rem,2vw,.95rem) 1rem;border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:clamp(.9rem,2.3vw,1.05rem);color:var(--color-text);background:#fff;transition:border-color .15s var(--ease-default),box-shadow .15s var(--ease-default);-webkit-appearance:none;-moz-appearance:none;appearance:none;box-sizing:border-box}.form-input[data-v-ee3550c1]:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--shadow-primary)}.auth-btn[data-v-ee3550c1]{width:100%;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-deep) 100%);border:none;border-radius:var(--radius-md);padding:clamp(.75rem,2vw,1rem);font-size:clamp(.95rem,2.3vw,1.1rem);font-weight:600;color:#fff;cursor:pointer;transition:background-color .15s var(--ease-default),transform .15s var(--ease-default),opacity .15s var(--ease-default);margin-top:.25rem;min-height:48px;-webkit-tap-highlight-color:transparent}.auth-btn[data-v-ee3550c1]:active:not(:disabled){transform:scale(.98)}.auth-btn[data-v-ee3550c1]:disabled{opacity:.7;cursor:not-allowed}.error-message[data-v-ee3550c1]{color:var(--color-danger);background:var(--color-danger-soft);padding:.6rem .9rem;border-radius:var(--radius-sm);text-align:center;font-size:clamp(.8rem,2vw,.95rem);margin-top:.25rem;line-height:1.4}.auth-switch[data-v-ee3550c1]{display:flex;align-items:center;justify-content:center;gap:.4rem;margin-top:clamp(1rem,2.5vw,1.5rem);color:var(--color-text-3);font-size:clamp(.8rem,2vw,.95rem);flex-wrap:wrap}.switch-btn[data-v-ee3550c1]{background:none;border:none;color:var(--color-primary);font-weight:600;cursor:pointer;padding:.25rem .4rem;font-size:inherit}.switch-btn[data-v-ee3550c1]:active{opacity:.7}@media (max-width: 480px){.auth-container[data-v-ee3550c1]{padding:1rem .75rem;align-items:flex-start;padding-top:3vh}.auth-card[data-v-ee3550c1]{border-radius:var(--radius-lg);box-shadow:0 10px 40px #0000001f}}@media (max-height: 560px){.auth-container[data-v-ee3550c1]{align-items:flex-start;padding:1rem}}@media (prefers-color-scheme: dark){.auth-card[data-v-ee3550c1]{background:#1f2937}.auth-header h1[data-v-ee3550c1]{color:#f9fafb}.auth-header p[data-v-ee3550c1]{color:#9ca3af}.form-group label[data-v-ee3550c1]{color:#d1d5db}.form-input[data-v-ee3550c1]{background:#374151;color:#f9fafb;border-color:#4b5563}.form-input[data-v-ee3550c1]::placeholder{color:#6b7280}.form-input[data-v-ee3550c1]:focus{border-color:var(--color-primary)}.error-message[data-v-ee3550c1]{color:#fca5a5;background:#ef444426}.auth-switch[data-v-ee3550c1]{color:#9ca3af}}:root{--color-primary: #667eea;--color-primary-dark: #5a67d8;--color-primary-deep: #764ba2;--color-primary-soft: #eef2ff;--color-success: #10b981;--color-success-dark: #059669;--color-success-soft: #d1fae5;--color-warning: #f59e0b;--color-warning-dark: #d97706;--color-warning-soft: #fef3c7;--color-danger: #ef4444;--color-danger-dark: #dc2626;--color-danger-soft: #fee2e2;--color-bg: #f5f7fa;--color-bg-2: #e4ecf7;--color-surface: #ffffff;--color-surface-2: #f8fafc;--color-border: #e5e7eb;--color-border-2: #cbd5e1;--color-text: #1f2937;--color-text-2: #374151;--color-text-3: #6b7280;--color-text-4: #9ca3af;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", Roboto, Oxygen, Ubuntu, sans-serif;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-pill: 999px;--shadow-sm: 0 2px 6px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--shadow-primary: 0 4px 20px rgba(102, 126, 234, .3);--shadow-primary-lg: 0 6px 28px rgba(102, 126, 234, .35);--ease-default: cubic-bezier(.4, 0, .2, 1)}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);background:linear-gradient(180deg,var(--color-bg) 0%,var(--color-bg-2) 100%);min-height:100vh;color:var(--color-text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;line-height:1.5}::selection{background:var(--color-primary);color:#fff}#app{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3{text-wrap:balance}button{font-family:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;cursor:pointer}input,select,textarea{font-family:inherit;font-size:1rem;color:var(--color-text);background:var(--color-surface)}a{text-decoration:none;color:inherit}.tabular-nums{font-variant-numeric:tabular-nums}.text-balance{text-wrap:balance}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.line-clamp-1{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}[aria-live=polite]{word-break:break-word}button,[role=button],a,input,select,textarea{touch-action:manipulation}button:focus-visible,a:focus-visible,[role=button]:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,div:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:4px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary)!important;box-shadow:0 0 0 4px #667eea1f}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.55rem 1rem;font-size:.95rem;font-weight:600;border-radius:var(--radius-sm);border:2px solid transparent;cursor:pointer;background:var(--color-surface);color:var(--color-text);transition:background-color .15s var(--ease-default),color .15s var(--ease-default),border-color .15s var(--ease-default),transform .1s var(--ease-default),box-shadow .15s var(--ease-default);font-family:inherit;line-height:1.2;min-height:40px}.btn:disabled{opacity:.55;cursor:not-allowed}.btn:active:not(:disabled){transform:scale(.97)}.btn-primary{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-deep) 100%);color:#fff;border-color:transparent;box-shadow:var(--shadow-primary)}.btn-primary:hover:not(:disabled){filter:brightness(1.05)}.btn-secondary{background:var(--color-surface);color:var(--color-text-2);border-color:var(--color-border-2)}.btn-secondary:hover:not(:disabled){background:var(--color-surface-2);color:var(--color-text)}.btn-outline{background:var(--color-surface);color:var(--color-primary);border-color:var(--color-border-2)}.btn-outline:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary-dark)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){background:var(--color-danger-dark)}.btn-danger-outline{background:var(--color-danger-soft);color:var(--color-danger-dark);border-color:transparent}.btn-danger-outline:hover:not(:disabled){background:#fecaca}.btn-warning{background:var(--color-warning);color:#fff}.btn-warning:hover:not(:disabled){background:var(--color-warning-dark)}.btn-success{background:var(--color-success);color:#fff}.btn-success:hover:not(:disabled){background:var(--color-success-dark)}.btn-sm{min-height:32px;padding:.35rem .75rem;font-size:.85rem;border-radius:var(--radius-sm)}.btn-lg{min-height:48px;padding:.75rem 1.25rem;font-size:1rem}.page-title{font-size:1.5rem;color:var(--color-text);margin-bottom:1rem;text-align:center;font-weight:700;text-wrap:balance}.error-message{background:var(--color-danger-soft);color:var(--color-danger-dark);padding:.85rem 1rem;border-radius:var(--radius-md);margin-bottom:.75rem;text-align:center;font-size:.9rem}.success-message{background:var(--color-success-soft);color:var(--color-success-dark);padding:.85rem 1rem;border-radius:var(--radius-md);margin-bottom:.75rem;text-align:center;font-size:.9rem}.empty-state{background:var(--color-surface);border-radius:var(--radius-lg);padding:3rem 1rem;text-align:center;color:var(--color-text-3);box-shadow:var(--shadow-sm)}.empty-icon{font-size:3rem;margin-bottom:.5rem}.card,.panel{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.panel{padding:1.25rem;margin-bottom:1rem}.panel-title{font-size:1.1rem;color:var(--color-text);font-weight:700;margin-bottom:.75rem}.filter-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:1rem;box-shadow:var(--shadow-sm);margin-bottom:1rem}.filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem}.filter-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.75rem;flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:var(--color-text-2);font-weight:500}.field select,.field input{width:100%;padding:.55rem .75rem;border:2px solid var(--color-border);border-radius:var(--radius-sm);font-size:.95rem;transition:border-color .15s var(--ease-default),box-shadow .15s var(--ease-default);-webkit-appearance:none;-moz-appearance:none;appearance:none}.field select:focus,.field input:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px #667eea1f}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:100;display:flex;align-items:center;justify-content:center;padding:1rem;animation:modalFadeIn .2s var(--ease-default);overscroll-behavior:contain}.modal-card,.modal-content{background:var(--color-surface);border-radius:var(--radius-lg);padding:1.5rem;max-width:95vw;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:modalSlideUp .25s var(--ease-default)}.modal-card{max-width:420px}.modal-title{font-size:1.15rem;color:var(--color-text);font-weight:700;margin-bottom:.5rem;text-align:center}.modal-subtitle{font-size:.9rem;color:var(--color-text-3);margin-bottom:1rem;text-align:center}.modal-field{margin-bottom:.85rem;display:flex;flex-direction:column;gap:.35rem}.modal-field label{font-size:.85rem;color:var(--color-text-2);font-weight:600}.modal-field input,.modal-field select,.modal-field textarea{width:100%;padding:.65rem .85rem;border:2px solid var(--color-border);border-radius:var(--radius-sm);font-size:.95rem;transition:border-color .15s var(--ease-default),box-shadow .15s var(--ease-default)}.modal-field input:focus,.modal-field select:focus,.modal-field textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px #667eea1f}.modal-error{background:var(--color-danger-soft);color:var(--color-danger-dark);padding:.75rem;border-radius:var(--radius-sm);font-size:.85rem;margin-top:.5rem}.modal-success{background:var(--color-success-soft);color:var(--color-success-dark);padding:.75rem;border-radius:var(--radius-sm);font-size:.85rem;margin-top:.5rem}.modal-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1.25rem;flex-wrap:wrap}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.toast-success{position:fixed;left:50%;bottom:2.25rem;transform:translate(-50%);background:#1f2937eb;color:#fff;padding:.65rem 1.1rem;border-radius:var(--radius-pill);font-size:.9rem;font-weight:500;letter-spacing:.02em;box-shadow:0 10px 25px #0003;z-index:9999;pointer-events:none;animation:toastIn .22s var(--ease-default)}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.export-row{display:flex;gap:.5rem;justify-content:flex-end;margin-bottom:1rem;flex-wrap:wrap}.export-row .btn{min-height:34px;padding:.4rem .75rem}@media (max-width: 768px){html{font-size:15px}}@media (max-width: 480px){html{font-size:14px}.page-title{font-size:1.25rem}.panel{padding:1rem}}@media (prefers-color-scheme: dark){:root{--color-bg: #0f172a;--color-bg-2: #1e293b;--color-surface: #1e293b;--color-surface-2: #334155;--color-border: #334155;--color-border-2: #475569;--color-text: #f1f5f9;--color-text-2: #cbd5e1;--color-text-3: #94a3b8;--color-text-4: #64748b;--color-primary-soft: #3730a3;--color-danger-soft: #7f1d1d;--color-success-soft: #064e3b;--color-warning-soft: #78350f}body{background:linear-gradient(180deg,var(--color-bg) 0%,var(--color-bg-2) 100%);color:var(--color-text)}.btn{background:var(--color-surface);color:var(--color-text)}.btn-secondary{border-color:var(--color-border-2)}.btn-secondary:hover:not(:disabled){background:var(--color-surface-2)}.btn-outline{border-color:var(--color-border-2)}.card,.panel,.modal-card,.modal-content,.filter-card,.empty-state{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:0 2px 10px #0000004d}.field select,.field input,input,select,textarea,.modal-field input,.modal-field select,.modal-field textarea{background:var(--color-bg);border-color:var(--color-border);color:var(--color-text)}::selection{background:var(--color-primary-dark)}.modal-overlay{background:#000000bf}}
