.header[data-v-e133f4ba]{height:var(--header-height);background:#fffc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0;z-index:100;border-bottom:1px solid var(--color-border)}html[data-theme=dark] .header[data-v-e133f4ba]{background:#0f172acc}.header__inner[data-v-e133f4ba]{display:flex;align-items:center;justify-content:space-between;height:100%}.header__logo[data-v-e133f4ba]{font-family:var(--font-family-serif);font-size:1.75rem;font-weight:600;font-style:italic;color:var(--color-text);text-decoration:none;letter-spacing:-.04em;display:flex;align-items:center}.header__logo[data-v-e133f4ba]:after{content:"";display:inline-block;width:6px;height:6px;background:var(--color-primary);border-radius:50%;margin-left:2px;margin-top:10px}.header__nav[data-v-e133f4ba]{display:flex;align-items:center;gap:2rem}.header__plan[data-v-e133f4ba]{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:.25rem .75rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.header__link[data-v-e133f4ba]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text);text-decoration:none;padding:.5rem 1rem;border-radius:var(--radius-full);transition:all var(--transition-fast)}.header__link[data-v-e133f4ba]:hover{background:var(--color-bg-secondary)}.header__logout[data-v-e133f4ba]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);cursor:pointer;transition:color var(--transition-fast);background:none;border:none}.header__logout[data-v-e133f4ba]:hover{color:var(--color-text)}.header__theme-toggle[data-v-e133f4ba]{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-full);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);border:1px solid transparent;background:transparent}.header__theme-toggle[data-v-e133f4ba]:hover{color:var(--color-text);background:var(--color-bg-secondary);border-color:var(--color-border)}.sidebar[data-v-1acf8a04]{width:var(--sidebar-width);height:100vh;position:sticky;top:0;display:flex;flex-direction:column;background:var(--color-bg);border-right:1px solid var(--color-border);flex-shrink:0}.sidebar__brand[data-v-1acf8a04]{padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border)}.sidebar__logo[data-v-1acf8a04]{font-family:var(--font-family-serif);font-size:1.5rem;font-weight:600;font-style:italic;color:var(--color-text);text-decoration:none;letter-spacing:-.04em;display:flex;align-items:center}.sidebar__logo[data-v-1acf8a04]:after{content:"";display:inline-block;width:5px;height:5px;background:var(--color-primary);border-radius:50%;margin-left:2px;margin-top:8px}.sidebar__nav[data-v-1acf8a04]{flex:1;padding:1rem .75rem;display:flex;flex-direction:column;gap:.25rem}.sidebar__link[data-v-1acf8a04]{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-decoration:none;transition:all var(--transition-fast)}.sidebar__link[data-v-1acf8a04]:hover{background:var(--color-bg-secondary);color:var(--color-text)}.sidebar__link.router-link-active[data-v-1acf8a04]{background:var(--color-primary-light);color:var(--color-primary)}.sidebar__icon[data-v-1acf8a04]{font-size:1.125rem;width:1.25rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar__dot[data-v-1acf8a04]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.sidebar__dot--home[data-v-1acf8a04]{background:var(--color-primary)}.sidebar__divider[data-v-1acf8a04]{height:1px;background:var(--color-border);margin:.5rem .75rem}.sidebar__link--manage[data-v-1acf8a04]{margin-top:.25rem;font-size:var(--font-size-xs);opacity:.8}.sidebar__link--sub[data-v-1acf8a04]{font-size:var(--font-size-sm);padding-left:1rem;opacity:.9}.sidebar__footer[data-v-1acf8a04]{padding:.75rem;border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:.25rem}.sidebar__theme-toggle[data-v-1acf8a04],.sidebar__logout[data-v-1acf8a04]{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);cursor:pointer;border:none;background:none;width:100%;transition:all var(--transition-fast)}.sidebar__theme-toggle[data-v-1acf8a04]:hover,.sidebar__logout[data-v-1acf8a04]:hover{background:var(--color-bg-secondary);color:var(--color-text)}@media(max-width:767px){.sidebar[data-v-1acf8a04]{display:none}}.burger-menu[data-v-3e580e94]{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;width:44px;height:44px;background:transparent;border:none;cursor:pointer;padding:0;transition:background-color var(--transition-normal)}.burger-menu[data-v-3e580e94]:hover{background-color:var(--color-bg-tertiary)}.burger-menu__line[data-v-3e580e94]{display:block;width:20px;height:2px;background-color:var(--color-text);border-radius:2px;transition:all var(--transition-normal)}.burger-menu__line[data-v-3e580e94]:nth-child(1){transform:translateY(-6px)}.burger-menu__line[data-v-3e580e94]:nth-child(3){transform:translateY(6px)}.burger-menu--open .burger-menu__line[data-v-3e580e94]:nth-child(1){transform:translateY(4px) rotate(45deg)}.burger-menu--open .burger-menu__line[data-v-3e580e94]:nth-child(2){opacity:0}.burger-menu--open .burger-menu__line[data-v-3e580e94]:nth-child(3){transform:translateY(-4px) rotate(-45deg)}html[data-theme=dark] .burger-menu__line[data-v-3e580e94]{background-color:var(--color-text)}html[data-theme=dark] .burger-menu[data-v-3e580e94]:hover{background-color:var(--color-bg-tertiary)}.sidebar-drawer[data-v-922312a4]{position:fixed;inset:0;z-index:1000}.sidebar-drawer__divider[data-v-922312a4]{height:1px;background-color:var(--color-border);margin:.5rem 1rem}.sidebar-drawer__nav-link--manage[data-v-922312a4]{font-size:.8125rem;opacity:.8}.sidebar-drawer__overlay[data-v-922312a4]{position:absolute;inset:0;background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.sidebar-drawer__content[data-v-922312a4]{position:absolute;top:0;left:0;bottom:0;width:85vw;max-width:320px;background-color:var(--color-bg);display:flex;flex-direction:column;box-shadow:4px 0 24px #00000026}.sidebar-drawer__logo[data-v-922312a4]{padding:1rem;border-bottom:1px solid var(--color-border)}.sidebar-drawer__logo a[data-v-922312a4]{display:block;text-decoration:none}.logo[data-v-922312a4]{font-family:var(--font-family-serif);font-size:1.5rem;font-weight:600;font-style:italic;color:var(--color-text);text-decoration:none;letter-spacing:-.04em;display:flex;align-items:center}.logo[data-v-922312a4]:after{content:"";display:inline-block;width:5px;height:5px;background:var(--color-primary);border-radius:50%;margin-left:2px;margin-top:8px}.sidebar-drawer__nav[data-v-922312a4]{flex:1;padding:1rem 0;overflow-y:auto}.sidebar-drawer__nav-link[data-v-922312a4]{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;color:var(--color-text-secondary);text-decoration:none;font-weight:500;transition:all var(--transition-normal);min-height:44px}.sidebar-drawer__nav-link[data-v-922312a4]:hover{background-color:var(--color-bg-secondary);color:var(--color-text)}.sidebar-drawer__nav-link--active[data-v-922312a4]{background-color:var(--color-primary-light);color:var(--color-primary)}.sidebar-drawer__icon[data-v-922312a4]{font-size:1.25rem;width:1.25rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}html[data-theme=dark] .sidebar-drawer__nav-link--active[data-v-922312a4]{background-color:#6366f126}.sidebar-drawer__nav-link svg[data-v-922312a4]{flex-shrink:0}.sidebar-drawer__footer[data-v-922312a4]{padding:1rem;border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:.5rem}.sidebar-drawer__action-btn[data-v-922312a4]{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:.875rem;font-weight:500;min-height:44px;transition:all var(--transition-normal)}.sidebar-drawer__action-btn[data-v-922312a4]:hover{background-color:var(--color-bg-secondary);border-color:var(--color-border-focus)}.sidebar-drawer__action-btn--logout[data-v-922312a4]{color:var(--color-error);border-color:var(--color-error)}.sidebar-drawer__action-btn--logout[data-v-922312a4]:hover{background-color:var(--color-error-bg)}.drawer-enter-active[data-v-922312a4],.drawer-leave-active[data-v-922312a4]{transition:all var(--transition-normal)}.drawer-enter-active .sidebar-drawer__content[data-v-922312a4],.drawer-leave-active .sidebar-drawer__content[data-v-922312a4]{transition:transform var(--transition-normal)}.drawer-enter-from .sidebar-drawer__overlay[data-v-922312a4],.drawer-leave-to .sidebar-drawer__overlay[data-v-922312a4]{opacity:0}.drawer-enter-from .sidebar-drawer__content[data-v-922312a4],.drawer-leave-to .sidebar-drawer__content[data-v-922312a4]{transform:translate(-100%)}.bottom-nav[data-v-3de2ebdd]{position:fixed;bottom:0;left:0;right:0;height:var(--bottom-nav-height);background-color:var(--color-bg);border-top:1px solid var(--color-border);display:flex;justify-content:space-around;align-items:center;padding:0 .5rem;z-index:900;padding-bottom:env(safe-area-inset-bottom,0)}.bottom-nav__item[data-v-3de2ebdd]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:.5rem .25rem;color:var(--color-text-muted);text-decoration:none;transition:all var(--transition-normal);min-height:44px;border-radius:var(--radius-sm)}.bottom-nav__item[data-v-3de2ebdd]:hover{color:var(--color-text-secondary)}.bottom-nav__item--active[data-v-3de2ebdd]{color:var(--color-primary)}.bottom-nav__item svg[data-v-3de2ebdd]{flex-shrink:0;transition:transform var(--transition-normal)}.bottom-nav__item:active svg[data-v-3de2ebdd]{transform:scale(.9)}.bottom-nav__label[data-v-3de2ebdd]{font-size:.6875rem;font-weight:500;line-height:1}.bottom-nav__item--active svg[data-v-3de2ebdd]{transform:scale(1.05)}.toast[data-v-36a9f37c]{position:fixed;top:1.5rem;right:1.5rem;padding:.75rem 1.25rem;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);box-shadow:var(--shadow-lg);cursor:pointer;z-index:1000;max-width:24rem}.toast--success[data-v-36a9f37c]{background:var(--color-success-bg);color:var(--color-success)}.toast--error[data-v-36a9f37c]{background:var(--color-error-bg);color:var(--color-error)}.toast--info[data-v-36a9f37c]{background:var(--color-info-bg);color:var(--color-info)}.toast-enter-active[data-v-36a9f37c],.toast-leave-active[data-v-36a9f37c]{transition:all .3s ease}.toast-enter-from[data-v-36a9f37c],.toast-leave-to[data-v-36a9f37c]{opacity:0;transform:translate(1rem)}.main[data-v-e63e38cf]{flex:1}.app-layout[data-v-e63e38cf]{display:flex;min-height:100vh}.app-layout__main[data-v-e63e38cf]{flex:1;background:var(--color-bg-app);overflow-y:auto}.app-layout__main--mobile[data-v-e63e38cf]{padding-top:var(--mobile-header-height);padding-bottom:var(--bottom-nav-height)}.mobile-header[data-v-e63e38cf]{position:fixed;top:0;left:0;right:0;height:var(--mobile-header-height);background-color:var(--color-bg);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;padding:0 1rem;z-index:800}.mobile-header__logo[data-v-e63e38cf]{font-family:var(--font-family-serif);font-size:1.25rem;font-weight:600;font-style:italic;color:var(--color-text);text-decoration:none;letter-spacing:-.04em;display:flex;align-items:center;margin-bottom:-2px}.mobile-header__logo[data-v-e63e38cf]:after{content:"";display:inline-block;width:4px;height:4px;background:var(--color-primary);border-radius:50%;margin-left:2px;margin-top:6px}.mobile-header__spacer[data-v-e63e38cf]{width:44px}@media(min-width:768px){.mobile-header[data-v-e63e38cf]{display:none}.app-layout__main--mobile[data-v-e63e38cf]{padding-top:0;padding-bottom:0}}.resize-observer[data-v-b329ee4c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-b329ee4c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.v-popper__popper{z-index:10000;top:0;left:0;outline:none}.v-popper__popper.v-popper__popper--hidden{visibility:hidden;opacity:0;transition:opacity .15s,visibility .15s;pointer-events:none}.v-popper__popper.v-popper__popper--shown{visibility:visible;opacity:1;transition:opacity .15s}.v-popper__popper.v-popper__popper--skip-transition,.v-popper__popper.v-popper__popper--skip-transition>.v-popper__wrapper{transition:none!important}.v-popper__backdrop{position:absolute;top:0;left:0;width:100%;height:100%;display:none}.v-popper__inner{position:relative;box-sizing:border-box;overflow-y:auto}.v-popper__inner>div{position:relative;z-index:1;max-width:inherit;max-height:inherit}.v-popper__arrow-container{position:absolute;width:10px;height:10px}.v-popper__popper--arrow-overflow .v-popper__arrow-container,.v-popper__popper--no-positioning .v-popper__arrow-container{display:none}.v-popper__arrow-inner,.v-popper__arrow-outer{border-style:solid;position:absolute;top:0;left:0;width:0;height:0}.v-popper__arrow-inner{visibility:hidden;border-width:7px}.v-popper__arrow-outer{border-width:6px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{left:-2px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{left:-1px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer{border-bottom-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:0}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{border-top-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-top-color:transparent!important}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{top:-4px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{top:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{top:-1px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{border-left-width:0;border-left-color:transparent!important;border-top-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{left:-4px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{left:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{right:-10px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer{border-right-width:0;border-top-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner{left:-2px}.v-popper--theme-tooltip .v-popper__inner{background:#000c;color:#fff;border-radius:6px;padding:7px 12px 6px}.v-popper--theme-tooltip .v-popper__arrow-outer{border-color:#000c}.v-popper--theme-dropdown .v-popper__inner{background:#fff;color:#000;border-radius:6px;border:1px solid #ddd;box-shadow:0 6px 30px #0000001a}.v-popper--theme-dropdown .v-popper__arrow-inner{visibility:visible;border-color:#fff}.v-popper--theme-dropdown .v-popper__arrow-outer{border-color:#ddd}:root{--color-primary: #6366f1;--color-primary-hover: #4f46e5;--color-primary-light: #eef2ff;--color-accent: #f43f5e;--color-accent-hover: #e11d48;--color-accent-light: #fff1f2;--color-text: #1f2937;--color-text-secondary: #4b5563;--color-text-muted: #9ca3af;--color-bg: #ffffff;--color-bg-secondary: #f8fafc;--color-bg-tertiary: #f1f5f9;--color-border: #e2e8f0;--color-border-focus: #6366f1;--color-error: #ef4444;--color-error-bg: #fef2f2;--color-success: #10b981;--color-success-bg: #ecfdf5;--color-info: #3b82f6;--color-info-bg: #eff6ff;--font-family-serif: "Fraunces", serif;--font-family-sans: "Outfit", sans-serif;--font-family: var(--font-family-sans);--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2.25rem;--font-size-4xl: 3.5rem;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.1;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--color-warning: #f59e0b;--color-warning-bg: #fffbeb;--color-severity-low: #86efac;--color-severity-mid: #fde68a;--color-severity-high: #fca5a5;--color-migraine: #fca5a5;--color-cycle: #fb7185;--color-medication: #34d399;--max-width: 1400px;--header-height: 72px;--sidebar-width: 280px;--color-bg-app: #f8fafc;--mobile-header-height: 60px;--bottom-nav-height: 64px;--transition-fast: .15s ease;--transition-normal: .25s ease}html[data-theme=dark]{--color-primary: #818cf8;--color-primary-hover: #6366f1;--color-primary-light: rgba(99, 102, 241, .1);--color-text: #f8fafc;--color-text-secondary: #94a3b8;--color-text-muted: #64748b;--color-bg: #0f172a;--color-bg-secondary: #1e293b;--color-bg-tertiary: #334155;--color-border: #1e293b;--color-border-focus: #818cf8;--color-bg-app: #020617}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4}body{line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:none;touch-action:manipulation}a{color:inherit;text-decoration:none}ul,ol{list-style:none}@media(max-width:767px){button,a,[role=button],input[type=checkbox],input[type=radio]{min-height:var(--touch-target-min);min-width:var(--touch-target-min)}.btn-small-touch,.icon-btn{min-height:var(--touch-target-min-small);min-width:var(--touch-target-min-small)}}:root{--breakpoint-xs: 375px;--breakpoint-sm: 480px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-xxl: 1536px;--mobile-header-height: 56px;--mobile-header-height-md: 64px;--bottom-nav-height: 60px;--sidebar-width-mobile: 85vw;--touch-target-min: 44px;--touch-target-min-small: 36px;--spacing-mobile-sm: .5rem;--spacing-mobile-md: .75rem;--spacing-mobile-lg: 1rem;--spacing-mobile-xl: 1.5rem;--font-size-mobile-xs: .75rem;--font-size-mobile-sm: .875rem;--font-size-mobile-base: 1rem;--font-size-mobile-lg: 1.125rem;--font-size-mobile-xl: 1.25rem;--font-size-mobile-2xl: 1.5rem}@media(max-width:767px){.mobile-only{display:block!important}.desktop-only{display:none!important}}@media(min-width:768px)and (max-width:1023px){.tablet-only{display:block!important}}@media(min-width:1024px){.desktop-only{display:block!important}.mobile-only,.tablet-only{display:none!important}}@media(max-width:767px){.mobile-flex-col{flex-direction:column!important}.mobile-flex-wrap{flex-wrap:wrap!important}.mobile-w-full{width:100%!important}.mobile-text-center{text-align:center!important}}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text);background-color:var(--color-bg);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E")}#app{min-height:100vh;display:flex;flex-direction:column;position:relative;overflow-x:hidden}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 1.5rem}a{color:var(--color-primary);transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover)}
