.section-icon[data-v-50526eca]{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;flex-shrink:0}.section-icon--with-badge[data-v-50526eca]{position:relative}.section-icon svg[data-v-50526eca]{width:100%;height:100%}.section-icon__badge[data-v-50526eca]{position:absolute;top:-4px;right:-4px;min-width:1rem;height:1rem;padding:0 .2rem;display:flex;align-items:center;justify-content:center;background:#dc2626;color:#fff;font-size:.625rem;font-weight:700;line-height:1;border-radius:50%;box-sizing:border-box}.user-selector[data-v-90836fbc]{position:relative}.user-selector__btn[data-v-90836fbc]{position:relative;display:flex;align-items:center;gap:.25rem;min-height:44px;padding:0 .5rem;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:.875rem;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.user-selector__btn[data-v-90836fbc]:hover:not(:disabled){background:var(--color-accent-muted);border-color:var(--color-accent)}.user-selector__btn--icon-only[data-v-90836fbc]{padding:0 4px}.user-selector__btn[data-v-90836fbc]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.user-selector__btn--open[data-v-90836fbc]{border-color:var(--color-accent);background:var(--color-accent-muted)}.user-selector__btn[data-v-90836fbc]:disabled{opacity:.7;cursor:not-allowed}.user-selector__btn-icon[data-v-90836fbc]{width:28px;height:28px;min-width:28px;min-height:28px;border-radius:50%;object-fit:cover;display:block;flex-shrink:0;background-color:var(--color-bg)}.user-selector__label[data-v-90836fbc]{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-selector__chevron[data-v-90836fbc]{font-size:.65rem;opacity:.8;transition:transform var(--transition-fast)}.user-selector__btn--open .user-selector__chevron[data-v-90836fbc]{transform:rotate(180deg)}.user-selector__dropdown[data-v-90836fbc]{position:absolute;top:calc(100% + 4px);right:0;z-index:50;min-width:180px;max-height:240px;overflow-y:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:4px 0}.user-selector__option-wrap[data-v-90836fbc]{display:flex;align-items:center;width:100%;min-height:0}.user-selector__option-wrap--current .user-selector__option--main[data-v-90836fbc]{font-weight:600;color:var(--color-accent)}.user-selector__option--main[data-v-90836fbc]{flex:1;display:flex;align-items:center;gap:.5rem;width:100%;min-width:0;padding:.5rem .75rem;background:none;border:none;color:var(--color-text);font-size:.875rem;text-align:left;cursor:pointer;transition:background var(--transition-fast)}.user-selector__option--main[data-v-90836fbc]:hover{background:var(--color-accent-muted)}.user-selector__option-icon[data-v-90836fbc]{width:24px;height:24px;min-width:24px;min-height:24px;border-radius:50%;object-fit:cover;flex-shrink:0;background-color:var(--color-bg)}.user-selector__option-name[data-v-90836fbc]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-selector__option-wrench[data-v-90836fbc]{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;margin:0 4px;background:none;border:none;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.user-selector__option-wrench[data-v-90836fbc]:hover{color:var(--color-accent);background:var(--color-accent-muted)}.user-selector__option-wrench svg[data-v-90836fbc]{width:16px;height:16px}.user-selector__option--new[data-v-90836fbc]{display:block;width:100%;padding:.5rem .75rem;background:none;border:none;color:var(--color-text);font-size:.875rem;text-align:left;cursor:pointer;transition:background var(--transition-fast);border-top:1px solid var(--color-border);margin-top:4px}.user-selector__option--new[data-v-90836fbc]:hover{background:var(--color-accent-muted)}.user-selector__backup-badge[data-v-90836fbc]{position:absolute;top:-4px;right:-4px;display:flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:#f59e0b;color:#fff;pointer-events:none;box-shadow:0 1px 3px #0000004d}.user-selector__backup-badge svg[data-v-90836fbc]{width:10px;height:10px}.header[data-v-15d3e1c8]{position:sticky;top:0;z-index:40;background:var(--color-surface);border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.header__inner[data-v-15d3e1c8]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;max-width:1100px;margin:0 auto}.header__left[data-v-15d3e1c8]{display:flex;align-items:center;gap:.5rem;min-width:0}.header__right[data-v-15d3e1c8]{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;flex-shrink:0}.header__logo[data-v-15d3e1c8]{flex-shrink:0;display:flex;align-items:center}.header__logo svg[data-v-15d3e1c8]{width:24px;height:24px;border-radius:50%;overflow:hidden}.header__shortcuts[data-v-15d3e1c8]{display:flex;align-items:center;gap:2px}.header__shortcut[data-v-15d3e1c8]{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:10px;border-radius:var(--radius-sm);color:var(--color-text);background:transparent;text-decoration:none;transition:color var(--transition-fast),background var(--transition-fast);-webkit-tap-highlight-color:transparent}.header__shortcut[data-v-15d3e1c8]:hover{color:var(--color-accent);background:var(--color-accent-muted)}.header__shortcut[data-v-15d3e1c8]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.header__shortcut-icon[data-v-15d3e1c8]{display:flex;align-items:center;justify-content:center;width:22px;height:22px}.header__shortcut-icon[data-v-15d3e1c8] .section-icon{width:22px;height:22px}.header__shortcut-icon svg[data-v-15d3e1c8]{width:100%;height:100%}.header__menu-btn[data-v-15d3e1c8]{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;flex-shrink:0;transition:background var(--transition-fast)}.header__menu-btn[data-v-15d3e1c8]:hover{background:var(--color-accent-muted)}.header__menu-btn--open .header__menu-bar[data-v-15d3e1c8]:nth-child(1){transform:translateY(5px) rotate(45deg)}.header__menu-btn--open .header__menu-bar[data-v-15d3e1c8]:nth-child(2){opacity:0}.header__menu-btn--open .header__menu-bar[data-v-15d3e1c8]:nth-child(3){transform:translateY(-5px) rotate(-45deg)}.header__menu-icon[data-v-15d3e1c8]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:20px;height:14px}.header__menu-bar[data-v-15d3e1c8]{display:block;width:20px;height:2px;border-radius:1px;background:currentColor;transition:transform var(--transition-normal),opacity var(--transition-fast)}@media (min-width: 768px){.header__inner[data-v-15d3e1c8]{padding:.875rem 1.25rem;gap:1rem}.header__shortcuts[data-v-15d3e1c8]{gap:4px}.header__shortcut[data-v-15d3e1c8]{min-width:48px;min-height:48px;padding:12px}.header__shortcut-icon[data-v-15d3e1c8]{width:24px;height:24px}}.nav-backdrop[data-v-74dc006f]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;background:#00000080;border:none;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.nav[data-v-74dc006f]{position:fixed;top:57px;left:0;right:0;z-index:50;background:var(--color-surface-elevated);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-lg)}.nav__list[data-v-74dc006f]{list-style:none;max-width:1100px;margin:0 auto;padding:.5rem 1.25rem}.nav__item[data-v-74dc006f]{margin:0}.nav__link[data-v-74dc006f]{display:flex;align-items:center;gap:.75rem;width:100%;padding:.875rem 0;background:none;border:none;color:var(--color-text);font-family:inherit;font-size:1rem;font-weight:500;text-align:left;cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition-fast),color var(--transition-fast)}.nav__link[data-v-74dc006f]:hover{background:var(--color-accent-muted);color:var(--color-accent)}.nav__link-icon[data-v-74dc006f]{font-size:1.125rem;opacity:.8}.nav__link--logout[data-v-74dc006f]{color:var(--color-text-muted)}.nav__link--logout[data-v-74dc006f]:hover{color:#fca5a5;background:#b91c1c1f}.nav__logout-user[data-v-74dc006f]{font-weight:400;opacity:.7}.nav__version[data-v-74dc006f]{padding:.75rem 0;margin-top:.25rem;font-size:.8125rem;color:var(--color-text-dim);border-top:1px solid var(--color-border)}.nav-backdrop-enter-active,.nav-backdrop-leave-active{transition:opacity .2s ease}.nav-backdrop-enter-from,.nav-backdrop-leave-to{opacity:0}.nav-panel-enter-active,.nav-panel-leave-active{transition:transform .25s ease,opacity .2s ease}.nav-panel-enter-from,.nav-panel-leave-to{transform:translateY(-12px);opacity:0}.login-screen[data-v-134af6d4]{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:var(--color-bg)}.login-card[data-v-134af6d4]{width:100%;max-width:360px;padding:2rem 1.5rem;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.login-card__header[data-v-134af6d4]{text-align:center;margin-bottom:1.75rem}.login-card__logo[data-v-134af6d4]{display:flex;justify-content:center;margin-bottom:.5rem}.login-card__logo svg[data-v-134af6d4]{width:48px;height:48px;border-radius:50%;overflow:hidden}.login-card__title[data-v-134af6d4]{margin:0;font-size:1.5rem;font-weight:700;color:var(--color-text)}.login-card__subtitle[data-v-134af6d4]{margin:.25rem 0 0;font-size:.875rem;color:var(--color-text-muted)}.login-card__field[data-v-134af6d4]{margin-bottom:1rem}.login-card__label[data-v-134af6d4]{display:block;margin-bottom:.375rem;font-size:.8125rem;font-weight:500;color:var(--color-text-muted)}.login-card__input[data-v-134af6d4]{width:100%;box-sizing:border-box;padding:.625rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:1rem;font-family:inherit;background:var(--color-bg);color:var(--color-text);min-height:44px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.login-card__input[data-v-134af6d4]:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-muted)}.login-card__input[data-v-134af6d4]::placeholder{color:var(--color-text-dim)}.login-card__input[data-v-134af6d4]:disabled{opacity:.6;cursor:not-allowed}.login-card__password-wrap[data-v-134af6d4]{position:relative}.login-card__input--password[data-v-134af6d4]{padding-right:2.75rem}.login-card__eye-btn[data-v-134af6d4]{position:absolute;right:.375rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.login-card__eye-btn[data-v-134af6d4]:hover{color:var(--color-text);background:var(--color-accent-muted)}.login-card__eye-btn svg[data-v-134af6d4]{width:18px;height:18px}.login-card__error[data-v-134af6d4]{margin:0 0 1rem;padding:.5rem .75rem;font-size:.8125rem;color:#fca5a5;background:#b91c1c26;border-radius:var(--radius-sm);border:1px solid rgba(185,28,28,.3)}.login-card__submit[data-v-134af6d4]{width:100%;padding:.75rem;margin-top:.5rem;border:none;border-radius:var(--radius-sm);font-size:1rem;font-weight:600;font-family:inherit;background:var(--color-accent);color:#111;cursor:pointer;min-height:44px;transition:filter var(--transition-fast),opacity var(--transition-fast)}.login-card__submit[data-v-134af6d4]:hover:not(:disabled){filter:brightness(1.1)}.login-card__submit[data-v-134af6d4]:disabled{opacity:.5;cursor:not-allowed}.collapsible-section[data-v-fcdfd6e3]{margin-bottom:.5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.collapsible-section__header[data-v-fcdfd6e3]{display:flex;align-items:center;gap:.5rem;width:100%;min-height:44px;padding:.5rem .75rem;background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text);font:inherit;font-size:.9375rem;font-weight:600;text-align:left;cursor:pointer;transition:background var(--transition-fast);-webkit-tap-highlight-color:transparent}.collapsible-section__header[data-v-fcdfd6e3]:hover{background:var(--color-surface-elevated)}.collapsible-section__header[data-v-fcdfd6e3]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.collapsible-section__icon[data-v-fcdfd6e3]{color:var(--color-text-muted)}.collapsible-section__title[data-v-fcdfd6e3]{flex:1;min-width:0}.collapsible-section__trailing[data-v-fcdfd6e3]{display:flex;align-items:center;flex-shrink:0}.collapsible-section__chevron[data-v-fcdfd6e3]{display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;color:var(--color-text-muted);transition:transform var(--transition-normal)}.collapsible-section__header[aria-expanded=true] .collapsible-section__chevron[data-v-fcdfd6e3]{transform:rotate(180deg)}.collapsible-section__chevron svg[data-v-fcdfd6e3]{width:100%;height:100%}.collapsible-section__content[data-v-fcdfd6e3]{overflow:hidden;padding:.75rem;border-top:1px solid var(--color-border)}.collapsible-section__content[hidden][data-v-fcdfd6e3]{display:none}.new-user-dialog__backdrop[data-v-0a60698a]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#0006;padding:1rem}.new-user-dialog[data-v-0a60698a]{width:100%;max-width:360px;padding:1.25rem;background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.new-user-dialog__title[data-v-0a60698a]{margin:0 0 .5rem;font-size:1.125rem;font-weight:600}.new-user-dialog__hint[data-v-0a60698a]{margin:0 0 .75rem;font-size:.8125rem;color:var(--color-text-muted);line-height:1.4}.new-user-dialog__input[data-v-0a60698a]{width:100%;box-sizing:border-box;padding:.5rem .75rem;margin-bottom:.5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:1rem;background:var(--color-bg);color:var(--color-text)}.new-user-dialog__input[data-v-0a60698a]:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-muted)}.new-user-dialog__input[data-v-0a60698a]::placeholder{color:var(--color-text-muted)}.new-user-dialog__error[data-v-0a60698a]{margin:0 0 .75rem;font-size:.8125rem;color:var(--color-error, #b91c1c)}.new-user-dialog__actions[data-v-0a60698a]{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.new-user-dialog__btn[data-v-0a60698a]{padding:.5rem 1rem;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;cursor:pointer;transition:background var(--transition-fast)}.new-user-dialog__btn--secondary[data-v-0a60698a]{background:transparent;border:1px solid var(--color-border);color:var(--color-text)}.new-user-dialog__btn--secondary[data-v-0a60698a]:hover{background:var(--color-accent-muted)}.new-user-dialog__btn--primary[data-v-0a60698a]{background:var(--color-accent);border:none;color:#fff}.new-user-dialog__btn--primary[data-v-0a60698a]:hover{filter:brightness(1.05)}.new-user-dialog__btn[data-v-0a60698a]:disabled{opacity:.6;cursor:not-allowed}.new-user-dialog__input[data-v-0a60698a]:disabled{opacity:.7;cursor:not-allowed}.user-props-dialog__backdrop[data-v-1cef62df]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#0006;padding:1rem}.user-props-dialog[data-v-1cef62df]{width:100%;max-width:360px;max-height:calc(100vh - 2rem);overflow-y:auto;padding:1.25rem;background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.user-props-dialog__title[data-v-1cef62df]{margin:0 0 .5rem;font-size:1.125rem;font-weight:600}.user-props-dialog__user-id[data-v-1cef62df]{margin:0 0 1rem;font-size:.875rem;color:var(--color-text-muted)}.user-props-dialog__last-login[data-v-1cef62df]{display:block;margin-top:.15rem;font-size:.75rem;color:var(--color-text-dim)}.upd-tabs[data-v-1cef62df]{display:flex;gap:0;border-bottom:1px solid var(--color-border);margin-bottom:.75rem}.upd-tabs__btn[data-v-1cef62df]{flex:1;padding:.5rem .25rem;font:inherit;font-size:.75rem;font-weight:500;color:var(--color-text-muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;text-align:center;-webkit-tap-highlight-color:transparent;transition:color .15s ease,border-color .15s ease}.upd-tabs__btn[data-v-1cef62df]:hover{color:var(--color-text)}.upd-tabs__btn--active[data-v-1cef62df]{color:var(--color-accent);border-bottom-color:var(--color-accent);font-weight:600}.upd-tab-panel[data-v-1cef62df]{min-height:160px}.user-props-dialog__icon-section[data-v-1cef62df],.user-props-dialog__backup-section[data-v-1cef62df],.user-props-dialog__password-section[data-v-1cef62df]{margin-bottom:1rem}.user-props-dialog__label[data-v-1cef62df]{display:block;margin-bottom:.5rem;font-size:.875rem;font-weight:500}.user-props-dialog__icon-row[data-v-1cef62df]{display:flex;align-items:center;gap:1rem}.user-props-dialog__preview[data-v-1cef62df]{width:64px;height:64px;flex-shrink:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--color-bg)}.user-props-dialog__preview-img[data-v-1cef62df]{width:100%;height:100%;object-fit:cover;display:block}.user-props-dialog__no-icon[data-v-1cef62df]{font-size:.75rem;color:var(--color-text-muted)}.user-props-dialog__actions[data-v-1cef62df]{display:flex;flex-wrap:wrap;gap:.5rem}.user-props-dialog__file-input[data-v-1cef62df]{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.user-props-dialog__btn[data-v-1cef62df]{padding:.5rem 1rem;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;cursor:pointer;transition:background var(--transition-fast)}.user-props-dialog__btn--secondary[data-v-1cef62df]{background:transparent;border:1px solid var(--color-border);color:var(--color-text)}.user-props-dialog__btn--secondary[data-v-1cef62df]:hover{background:var(--color-accent-muted)}.user-props-dialog__btn--primary[data-v-1cef62df]{background:var(--color-accent);border:none;color:#fff}.user-props-dialog__btn--primary[data-v-1cef62df]:hover{filter:brightness(1.05)}.user-props-dialog__error[data-v-1cef62df]{margin:.5rem 0 0;font-size:.8125rem;color:var(--color-error, #b91c1c)}.user-props-dialog__status[data-v-1cef62df]{margin:.5rem 0 0;font-size:.8125rem;color:var(--color-text-muted)}.user-props-dialog__status--success[data-v-1cef62df]{color:var(--color-success, #15803d)}.user-props-dialog__status--muted[data-v-1cef62df]{color:var(--color-text-dim)}.user-props-dialog__hint-brief[data-v-1cef62df]{margin:.35rem 0 0;font-size:.75rem;color:var(--color-text-dim);line-height:1.4;display:flex;align-items:center;gap:.35rem}.user-props-dialog__info-btn[data-v-1cef62df]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;background:transparent;border:none;border-radius:50%;color:var(--color-text-dim);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.user-props-dialog__info-btn[data-v-1cef62df]:hover{color:var(--color-accent);background:var(--color-accent-muted)}.user-props-dialog__info-btn svg[data-v-1cef62df]{width:16px;height:16px}.user-props-dialog__hint[data-v-1cef62df]{margin:.25rem 0 0;font-size:.75rem;color:var(--color-text-dim);line-height:1.4;padding:.35rem .5rem;background:var(--color-surface-elevated);border-radius:var(--radius-sm);border-left:2px solid var(--color-accent-muted)}.user-props-dialog__hint strong[data-v-1cef62df]{color:var(--color-text-muted)}.user-props-dialog__password-row[data-v-1cef62df]{display:flex;align-items:center;gap:.5rem}.user-props-dialog__password-wrap[data-v-1cef62df]{position:relative;flex:1}.user-props-dialog__password-input[data-v-1cef62df]{width:100%;box-sizing:border-box;padding:.5rem 2.5rem .5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.875rem;font-family:inherit;background:var(--color-bg);color:var(--color-text);min-height:40px}.user-props-dialog__password-input[data-v-1cef62df]:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-muted)}.user-props-dialog__password-input[data-v-1cef62df]::placeholder{color:var(--color-text-dim)}.user-props-dialog__eye-btn[data-v-1cef62df]{position:absolute;right:.25rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.user-props-dialog__eye-btn[data-v-1cef62df]:hover{color:var(--color-text);background:var(--color-accent-muted)}.user-props-dialog__eye-btn svg[data-v-1cef62df]{width:16px;height:16px}.user-props-dialog__backup-row[data-v-1cef62df]{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.user-props-dialog__backup-date[data-v-1cef62df]{font-size:.75rem;color:var(--color-text-muted)}.user-props-dialog__backup-date--never[data-v-1cef62df]{color:var(--color-text-dim);font-style:italic}.user-props-dialog__mantis-section[data-v-1cef62df],.user-props-dialog__admin-section[data-v-1cef62df],.user-props-dialog__sharing-section[data-v-1cef62df],.user-props-dialog__shotfilter-section[data-v-1cef62df],.user-props-dialog__excluded-section[data-v-1cef62df],.user-props-dialog__goal-section[data-v-1cef62df]{margin-bottom:1rem}.user-props-dialog__shotfilter-row[data-v-1cef62df]{display:flex;align-items:center;gap:.5rem}.user-props-dialog__shotfilter-label[data-v-1cef62df]{display:flex;align-items:center;gap:.35rem;font-size:.8125rem;color:var(--color-text)}.user-props-dialog__shotfilter-input[data-v-1cef62df]{width:70px;padding:.35rem .5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.8125rem;font-family:inherit;background:var(--color-bg);color:var(--color-text);min-height:36px}.user-props-dialog__shotfilter-input[data-v-1cef62df]:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-muted)}.user-props-dialog__shotfilter-actions[data-v-1cef62df]{margin-top:.5rem}.user-props-dialog__clean-confirm[data-v-1cef62df]{margin-top:.5rem;padding:.5rem;background:var(--color-surface-elevated);border-radius:var(--radius-sm);border-left:3px solid #f59e0b}.user-props-dialog__clean-msg[data-v-1cef62df]{margin:0 0 .5rem;font-size:.8125rem;color:var(--color-text)}.user-props-dialog__clean-msg strong[data-v-1cef62df]{color:#f59e0b}.user-props-dialog__clean-btns[data-v-1cef62df]{display:flex;gap:.5rem}.user-props-dialog__mantis-fields[data-v-1cef62df]{display:flex;flex-direction:column;gap:.5rem}.user-props-dialog__text-input[data-v-1cef62df]{width:100%;box-sizing:border-box;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.875rem;font-family:inherit;background:var(--color-bg);color:var(--color-text);min-height:40px}.user-props-dialog__text-input[data-v-1cef62df]:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-muted)}.user-props-dialog__text-input[data-v-1cef62df]::placeholder{color:var(--color-text-dim)}.user-props-dialog__mantis-actions[data-v-1cef62df]{display:flex;gap:.5rem;flex-wrap:wrap}.user-props-dialog__admin-row[data-v-1cef62df]{display:flex;align-items:center;gap:.5rem}.user-props-dialog__toggle-label[data-v-1cef62df]{display:flex;align-items:center;gap:.5rem;font-size:.875rem;cursor:pointer;color:var(--color-text)}.user-props-dialog__toggle-label input[type=checkbox][data-v-1cef62df]{accent-color:var(--color-accent);width:16px;height:16px;cursor:pointer}.user-props-dialog__footer[data-v-1cef62df]{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.stm[data-v-1cef62df]{display:flex;flex-direction:column;gap:1rem}.stm__group[data-v-1cef62df]{display:flex;flex-direction:column;gap:.25rem}.stm__group-title[data-v-1cef62df]{margin:0 0 .25rem;font-size:.85rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.stm__item[data-v-1cef62df]{display:flex;align-items:center;gap:.5rem;padding:.3rem 0;border-bottom:1px solid var(--color-border)}.stm__item--editing[data-v-1cef62df]{flex-direction:column;align-items:stretch;padding:.5rem 0}.stm__color-bar[data-v-1cef62df]{width:4px;height:1.4em;border-radius:2px;flex-shrink:0}.stm__name[data-v-1cef62df]{background:none;border:none;font:inherit;cursor:pointer;text-align:left;padding:.15rem .3rem;border-radius:4px;color:var(--color-text);flex:1}.stm__name[data-v-1cef62df]:hover{background:var(--color-surface-elevated)}.stm__count[data-v-1cef62df]{color:var(--color-text-muted);font-size:.85em}.stm__has-desc[data-v-1cef62df]{font-size:.85rem;color:var(--color-accent, #22d3ee);cursor:default}.stm__edit[data-v-1cef62df]{display:flex;flex-direction:column;gap:.35rem;background:var(--color-surface-elevated);border:1px solid var(--color-border-strong);border-radius:6px;padding:.6rem .75rem}.stm__edit-label[data-v-1cef62df]{font-size:.8rem;font-weight:600;color:var(--color-text-muted)}.stm__edit-input[data-v-1cef62df]{font:inherit;font-size:.9rem;padding:.3rem .5rem;border:1px solid var(--color-border-strong);border-radius:4px;background:var(--color-surface);color:var(--color-text)}.stm__edit-textarea[data-v-1cef62df]{font:inherit;font-size:.85rem;padding:.3rem .5rem;border:1px solid var(--color-border-strong);border-radius:4px;background:var(--color-surface);color:var(--color-text);resize:vertical}.stm__edit-warn[data-v-1cef62df]{margin:0;font-size:.78rem;color:#facc15;font-style:italic}.stm__edit-actions[data-v-1cef62df]{display:flex;gap:.5rem;margin-top:.25rem}.stm__btn[data-v-1cef62df]{font:inherit;font-size:.82rem;padding:.3rem .8rem;border:1px solid var(--color-border-strong);border-radius:4px;background:var(--color-surface);color:var(--color-text);cursor:pointer}.stm__btn[data-v-1cef62df]:hover{background:var(--color-surface-elevated)}.stm__btn--primary[data-v-1cef62df]{background:var(--color-accent, #22d3ee);color:#0f0f14;border-color:var(--color-accent, #22d3ee);font-weight:600}.stm__btn--primary[data-v-1cef62df]:hover{opacity:.9}.stm__btn--small[data-v-1cef62df]{font-size:.75rem;padding:.15rem .5rem}.stm__color-row[data-v-1cef62df]{display:flex;align-items:center;gap:.5rem}.stm__color-picker[data-v-1cef62df]{width:36px;height:28px;border:1px solid var(--color-border-strong);border-radius:4px;background:var(--color-surface);cursor:pointer;padding:1px}.stm__color-hex[data-v-1cef62df]{font-size:.82rem;color:var(--color-text-muted);font-family:monospace;min-width:60px}.stm__color-badge[data-v-1cef62df]{font-size:.7rem;color:var(--color-accent, #22d3ee);text-transform:uppercase;letter-spacing:.04em}.stm__edit-status[data-v-1cef62df]{margin:0;font-size:.8rem;color:var(--color-accent, #22d3ee)}.stm__empty[data-v-1cef62df]{margin:0;color:var(--color-text-dim);font-style:italic}.page-section[data-v-67ab4c72]{margin-bottom:2rem}.page-section[data-v-67ab4c72]:last-child{margin-bottom:0}.page-section__title[data-v-67ab4c72]{margin:0 0 1rem;font-size:.8125rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted)}.sti[data-v-88e49c87]{display:inline-flex;align-items:center;vertical-align:middle}.sti__btn[data-v-88e49c87]{background:none;border:none;cursor:pointer;padding:0 2px;color:var(--color-primary, #4a90d9);opacity:.65;line-height:1;display:inline-flex;align-items:center}.sti__btn[data-v-88e49c87]:hover{opacity:1}.sti__icon[data-v-88e49c87]{width:14px;height:14px}.sti__overlay[data-v-88e49c87]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:#00000040}.sti__popover[data-v-88e49c87]{background:var(--color-surface, #fff);border-radius:8px;padding:1rem 1.25rem;max-width:320px;box-shadow:0 4px 24px #0000002e;position:relative}.sti__text[data-v-88e49c87]{margin:0;font-size:.9rem;line-height:1.4;white-space:pre-wrap}.sti__close[data-v-88e49c87]{position:absolute;top:4px;right:8px;background:none;border:none;font-size:1.2rem;cursor:pointer;color:var(--color-text-muted, #999);line-height:1}.sti__close[data-v-88e49c87]:hover{color:var(--color-text, #333)}.session-types-filter[data-v-5f0c2e2a]{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin:0;padding:0}.session-types-filter__label[data-v-5f0c2e2a]{display:inline-flex;align-items:center;gap:.25rem;margin:0;padding:.25rem 0;background:none;border:none;color:var(--color-text-muted);font-size:.9375rem;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}.session-types-filter__label[data-v-5f0c2e2a]:hover{color:var(--color-text)}.session-types-filter__label-text[data-v-5f0c2e2a]{font-weight:600}.session-types-filter__dots[data-v-5f0c2e2a]{color:var(--color-text-dim);font-weight:400;letter-spacing:.05em}.session-types[data-v-5f0c2e2a]{margin:0;padding:0}.session-types--loading[data-v-5f0c2e2a]{display:inline-flex;align-items:center;justify-content:center}.session-types__loading-text[data-v-5f0c2e2a]{font-size:.875rem;color:var(--color-text-muted)}.session-types--linear[data-v-5f0c2e2a]{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem}.session-types__item[data-v-5f0c2e2a]{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem 0;cursor:pointer;font-size:.9375rem;min-height:44px}.session-types__item[data-v-5f0c2e2a]:hover{color:var(--color-text)}.session-types__input[data-v-5f0c2e2a]{width:1.125rem;height:1.125rem;flex-shrink:0;accent-color:var(--color-accent);cursor:pointer}.session-types__name[data-v-5f0c2e2a]{font-weight:600}.session-types__count[data-v-5f0c2e2a]{font-size:.875rem;color:var(--color-text-muted)}.session-types__empty[data-v-5f0c2e2a]{display:inline;margin:0;font-size:.875rem;color:var(--color-text-muted)}.base-card[data-v-a2ad3bfe]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.base-card--padded[data-v-a2ad3bfe]{padding:1.25rem}.base-card--hover[data-v-a2ad3bfe]:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md)}@media (min-width: 640px){.base-card--padded[data-v-a2ad3bfe]{padding:1.5rem}}.summary-cards[data-v-291539ca]{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.summary-card[data-v-291539ca]{display:flex;flex-direction:column;gap:.375rem}.summary-card__label[data-v-291539ca]{font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-dim)}.summary-card__value[data-v-291539ca]{font-size:1.375rem;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--color-text)}@media (max-width: 480px){.summary-cards[data-v-291539ca]{gap:.5rem}.summary-card[data-v-291539ca]{padding:.5rem .625rem;gap:.125rem}.summary-card__label[data-v-291539ca]{font-size:.5625rem}.summary-card__value[data-v-291539ca]{font-size:1rem}}@media (min-width: 640px){.summary-cards[data-v-291539ca]{grid-template-columns:repeat(3,1fr);gap:1rem}}@media (min-width: 1024px){.summary-cards[data-v-291539ca]{grid-template-columns:repeat(6,1fr)}}.bullseye[data-v-af717fbf]{display:block}.bullseye__ring-group[data-v-af717fbf]{transform-box:view-box;transition:transform .3s ease}.target-modal-backdrop[data-v-8b06aa0a]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:1rem;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);touch-action:none;overscroll-behavior:contain}.target-modal[data-v-8b06aa0a]{position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;max-width:min(90vw,480px);max-height:calc(100vh - 2rem);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;box-shadow:var(--shadow-lg)}.target-modal__close[data-v-8b06aa0a]{position:absolute;top:.75rem;right:.75rem;width:44px;height:44px;display:flex;align-items:center;justify-content:center;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.target-modal__close[data-v-8b06aa0a]:hover{color:var(--color-text);background:var(--color-surface-elevated)}.target-modal__close svg[data-v-8b06aa0a]{width:20px;height:20px}.target-modal__session-type[data-v-8b06aa0a]{margin:0 0 1rem;font-size:1.125rem;font-weight:600;text-align:center;line-height:1.2}.target-modal__canvas[data-v-8b06aa0a]{position:relative;display:flex;justify-content:center;align-items:center;margin-bottom:1rem}.target-modal__shift-btn[data-v-8b06aa0a]{position:absolute;top:0;right:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--color-border);border-radius:50%;background:#0f0f1499;color:var(--color-text-muted);cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast);touch-action:none;user-select:none;-webkit-user-select:none}.target-modal__shift-btn svg[data-v-8b06aa0a]{width:22px;height:22px}.target-modal__shift-btn[data-v-8b06aa0a]:hover{color:var(--color-accent);border-color:var(--color-accent)}.target-modal__shift-btn--active[data-v-8b06aa0a]{color:var(--color-accent);border-color:var(--color-accent);background:#22d3ee26}.target-modal__delta[data-v-8b06aa0a]{font-size:.8125rem;margin-left:.25rem}.target-modal__delta--pos[data-v-8b06aa0a]{color:#22c55e}.target-modal__delta--neg[data-v-8b06aa0a]{color:#ef4444}.target-modal__poi-info[data-v-8b06aa0a]{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;margin-bottom:1rem;padding:.5rem .75rem;border:1px solid var(--color-poi);border-radius:var(--radius-md);background:#2563eb14;font-size:.8125rem;color:var(--color-poi)}.target-modal__poi-label[data-v-8b06aa0a]{font-weight:600;margin-bottom:.35rem}.target-modal__poi-data[data-v-8b06aa0a]{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.35rem .75rem}.target-modal__poi-detail[data-v-8b06aa0a]{padding:.15rem .4rem;border-radius:999px;background:#2563eb26;border:1px solid rgba(37,99,235,.4)}.target-modal__stats[data-v-8b06aa0a]{border-top:1px solid var(--color-border);padding-top:1rem}.target-modal__meta[data-v-8b06aa0a]{margin:0 0 .5rem;font-size:.875rem;color:var(--color-text-muted)}.target-modal__dl[data-v-8b06aa0a]{display:grid;grid-template-columns:auto 1fr;gap:.25rem 1rem;margin:0;font-size:.875rem}.target-modal__dl dt[data-v-8b06aa0a]{color:var(--color-text-dim);font-weight:500}.target-modal__dl dd[data-v-8b06aa0a]{margin:0;color:var(--color-text)}.target-modal__cep[data-v-8b06aa0a]{color:#22c55e}.target-modal__info-btn[data-v-8b06aa0a]{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:none;border-radius:50%;background:none;color:var(--color-text-dim);cursor:pointer;vertical-align:middle;margin-left:.2rem;-webkit-tap-highlight-color:transparent}.target-modal__info-btn[data-v-8b06aa0a]:hover{color:var(--color-accent)}.target-modal__info-btn--cep[data-v-8b06aa0a]{color:#22c55e}.target-modal__info-btn--cep[data-v-8b06aa0a]:hover{color:#16a34a}.target-modal__info-btn svg[data-v-8b06aa0a]{width:13px;height:13px}.target-modal__info-overlay[data-v-8b06aa0a]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:110;display:flex;align-items:center;justify-content:center;padding:1rem;background:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.target-modal__info-card[data-v-8b06aa0a]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.25rem;max-width:min(90vw,320px);box-shadow:var(--shadow-lg)}.target-modal__info-header[data-v-8b06aa0a]{font-size:.9375rem;color:var(--color-text);margin-bottom:.5rem}.target-modal__info-desc[data-v-8b06aa0a]{margin:0 0 1rem;font-size:.8125rem;color:var(--color-text-muted);line-height:1.5}.target-modal__info-close[data-v-8b06aa0a]{display:block;width:100%;padding:.5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-elevated);color:var(--color-text);font-family:inherit;font-size:.8125rem;font-weight:500;cursor:pointer;text-align:center;-webkit-tap-highlight-color:transparent}.target-modal__info-close[data-v-8b06aa0a]:hover{background:var(--color-accent-muted);color:var(--color-accent)}.info-fade-enter-active[data-v-8b06aa0a],.info-fade-leave-active[data-v-8b06aa0a]{transition:opacity .15s ease}.info-fade-enter-from[data-v-8b06aa0a],.info-fade-leave-to[data-v-8b06aa0a]{opacity:0}.modal-enter-active[data-v-8b06aa0a],.modal-leave-active[data-v-8b06aa0a]{transition:opacity var(--transition-normal)}.modal-enter-from[data-v-8b06aa0a],.modal-leave-to[data-v-8b06aa0a]{opacity:0}.modal-enter-active .target-modal[data-v-8b06aa0a],.modal-leave-active .target-modal[data-v-8b06aa0a]{transition:transform var(--transition-normal)}.modal-enter-from .target-modal[data-v-8b06aa0a],.modal-leave-to .target-modal[data-v-8b06aa0a]{transform:scale(.95)}.timer-mini-chart[data-v-f7a0217b]{display:block;flex-shrink:0}.last-sessions[data-v-900bae31]{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem}.last-sessions__card[data-v-900bae31]{border-left:3px solid var(--session-type-color, var(--color-border))}.last-sessions--loading[data-v-900bae31]{min-height:100px;display:flex;align-items:center;justify-content:center}.last-sessions__loading-text[data-v-900bae31]{color:var(--color-text-muted);font-size:.875rem}.last-sessions__card-inner[data-v-900bae31]{display:flex;flex-direction:column;align-items:center;gap:.5rem;cursor:pointer;outline:none}.last-sessions__card-inner[data-v-900bae31]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.last-sessions__thumb[data-v-900bae31]{position:relative;display:block;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:transform var(--transition-fast);-webkit-tap-highlight-color:transparent}.last-sessions__thumb[data-v-900bae31] .bullseye{pointer-events:none}.last-sessions__card-inner:hover .last-sessions__thumb[data-v-900bae31]{transform:scale(1.05)}.last-sessions__thumb--timer[data-v-900bae31]{background:#ffffff0a;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.last-sessions__badge[data-v-900bae31]{position:absolute;bottom:2px;right:2px;min-width:20px;height:20px;padding:0 4px;display:inline-flex;align-items:center;justify-content:center;font-size:.6875rem;font-weight:600;color:var(--color-text);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:10px}.last-sessions__info[data-v-900bae31]{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}.last-sessions__type[data-v-900bae31]{font-size:.8125rem;font-weight:600}.last-sessions__date[data-v-900bae31]{font-size:.75rem;color:var(--color-text-muted)}.last-sessions__avg[data-v-900bae31]{font-size:.75rem;color:var(--color-text-dim)}.last-sessions__empty[data-v-900bae31]{margin:0;font-size:.875rem;color:var(--color-text-muted)}.calendar[data-v-4bd50f4f]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem;box-shadow:var(--shadow-sm)}.calendar--loading[data-v-4bd50f4f]{display:flex;align-items:center;gap:.75rem;min-height:120px}.calendar__spinner[data-v-4bd50f4f]{width:24px;height:24px;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:calendar-spin-4bd50f4f .8s linear infinite}.calendar__loading-text[data-v-4bd50f4f]{color:var(--color-text-muted);font-size:.875rem}.calendar--error[data-v-4bd50f4f]{min-height:80px;display:flex;align-items:center;justify-content:center}.calendar__error-text[data-v-4bd50f4f]{color:var(--color-text-muted);font-size:.875rem}@keyframes calendar-spin-4bd50f4f{to{transform:rotate(360deg)}}.calendar__table-wrap[data-v-4bd50f4f]{overflow-x:auto;margin-bottom:.75rem;-webkit-overflow-scrolling:touch}.calendar__table[data-v-4bd50f4f]{border-collapse:separate;border-spacing:3px;margin:0;table-layout:fixed}.calendar__row[data-v-4bd50f4f]{vertical-align:middle}.calendar__separator-row[data-v-4bd50f4f]{height:6px}.calendar__separator-cell[data-v-4bd50f4f]{padding:0;border:none}.calendar__type-label[data-v-4bd50f4f]{position:sticky;left:0;z-index:1;width:4.5rem;min-width:4.5rem;font-size:.6875rem;font-weight:600;color:var(--color-text-muted);text-align:left;padding:4px 8px 4px 0;white-space:nowrap;vertical-align:middle;border:none;background:var(--color-surface);box-shadow:2px 0 4px #0003}.calendar__cell-wrap[data-v-4bd50f4f]{padding:0;width:18px;vertical-align:middle}.calendar__cell-wrap--after-sunday[data-v-4bd50f4f]{padding-right:10px}.calendar__cell[data-v-4bd50f4f]{display:block;width:18px;height:18px;margin:0 auto;padding:0;background:transparent;border:none;border-radius:3px;cursor:default;transition:transform var(--transition-fast)}.calendar__cell-inner[data-v-4bd50f4f]{display:block;width:18px;height:18px;border-radius:inherit;background:var(--color-surface-elevated)}.calendar__cell[data-v-4bd50f4f]:hover{transform:scale(1.15)}.calendar__cell[data-v-4bd50f4f]:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.calendar__header-row[data-v-4bd50f4f]{vertical-align:bottom}.calendar__header-corner[data-v-4bd50f4f]{position:sticky;left:0;z-index:2;width:4.5rem;min-width:4.5rem;padding:0;border:none;font-size:0;line-height:0;background:var(--color-surface);box-shadow:2px 0 4px #0003}.calendar__header-cell[data-v-4bd50f4f]{padding:2px 0 4px;width:18px;font-size:.5625rem;font-weight:600;color:var(--color-text-dim);text-align:center;vertical-align:bottom;border:none}.calendar__header-cell--after-sunday[data-v-4bd50f4f]{padding-right:10px}.calendar__header-weekday[data-v-4bd50f4f]{display:block;text-transform:uppercase;letter-spacing:.02em}.calendar__header-date[data-v-4bd50f4f]{display:block;font-size:.5rem;font-weight:500;color:var(--color-text-muted);margin-top:1px}.calendar__legend[data-v-4bd50f4f]{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex-wrap:wrap}.calendar__legend-label[data-v-4bd50f4f]{font-size:.6875rem;color:var(--color-text-dim);text-transform:uppercase;letter-spacing:.04em}.calendar__legend-swatch[data-v-4bd50f4f]{width:10px;height:10px;border-radius:2px}.calendar__legend-swatch--0[data-v-4bd50f4f]{background:var(--color-surface-elevated)}.calendar__legend-swatch--1[data-v-4bd50f4f]{background:#94a3b866}.calendar__legend-swatch--2[data-v-4bd50f4f]{background:#94a3b899}.calendar__legend-swatch--3[data-v-4bd50f4f]{background:#94a3b8cc}.calendar__legend-swatch--4[data-v-4bd50f4f]{background:#94a3b8}@media (min-width: 480px){.calendar__header-cell[data-v-4bd50f4f]{font-size:.625rem}.calendar__header-date[data-v-4bd50f4f]{font-size:.5625rem}}.session-type-modal-backdrop[data-v-0f893d45]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:1rem;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.session-type-modal[data-v-0f893d45]{position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;max-width:min(90vw,400px);box-shadow:var(--shadow-lg)}.session-type-modal__close[data-v-0f893d45]{position:absolute;top:.75rem;right:.75rem;width:44px;height:44px;display:flex;align-items:center;justify-content:center;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.session-type-modal__close[data-v-0f893d45]:hover{color:var(--color-text);background:var(--color-surface-elevated)}.session-type-modal__close svg[data-v-0f893d45]{width:20px;height:20px}.session-type-modal__title[data-v-0f893d45]{margin:0 0 .25rem;font-size:1.125rem;font-weight:600}.session-type-modal__session-info[data-v-0f893d45]{margin:0 0 .25rem;font-size:.9375rem;color:var(--color-text-muted)}.session-type-modal__meta[data-v-0f893d45]{margin:0 0 1rem;font-size:.8125rem;color:var(--color-text-dim)}.session-type-modal__types[data-v-0f893d45]{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.session-type-modal__type-btn[data-v-0f893d45]{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .75rem;font-size:.875rem;font-weight:500;color:var(--color-text);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast),opacity var(--transition-fast)}.session-type-modal__type-btn[data-v-0f893d45]:hover:not(:disabled){border-color:var(--type-color, var(--color-accent));background:#ffffff0f}.session-type-modal__type-btn--selected[data-v-0f893d45]{border-color:var(--type-color, var(--color-accent));background:#ffffff14;color:var(--type-color, var(--color-accent))}.session-type-modal__type-btn--new[data-v-0f893d45]{border-style:dashed;color:var(--color-text-muted)}.session-type-modal__type-btn--new[data-v-0f893d45]:hover:not(:disabled){color:var(--color-text);border-color:var(--color-text-muted)}.session-type-modal__type-dot[data-v-0f893d45]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.session-type-modal__new-row[data-v-0f893d45]{display:flex;gap:.5rem;margin-bottom:.75rem}.session-type-modal__input[data-v-0f893d45]{flex:1;min-width:0;padding:.5rem .75rem;font-size:.875rem;color:var(--color-text);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md)}.session-type-modal__input[data-v-0f893d45]:focus{outline:none;border-color:var(--color-accent)}.session-type-modal__error[data-v-0f893d45]{margin:0 0 .75rem;font-size:.8125rem;color:#f87171}.session-type-modal__actions[data-v-0f893d45]{display:flex;justify-content:space-between;gap:.5rem;padding-top:.75rem;border-top:1px solid var(--color-border)}.session-type-modal__btn[data-v-0f893d45]{padding:.5rem 1rem;font-size:.875rem;font-weight:500;border-radius:var(--radius-md);cursor:pointer;transition:opacity var(--transition-fast),background var(--transition-fast)}.session-type-modal__btn[data-v-0f893d45]:disabled{opacity:.6;cursor:not-allowed}.session-type-modal__btn--secondary[data-v-0f893d45]{color:var(--color-text-muted);background:transparent;border:1px solid var(--color-border)}.session-type-modal__btn--secondary[data-v-0f893d45]:hover:not(:disabled){color:var(--color-text);background:var(--color-surface-elevated)}.session-type-modal__btn--primary[data-v-0f893d45]{color:var(--color-bg);background:var(--color-accent);border:none}.session-type-modal__btn--primary[data-v-0f893d45]:hover:not(:disabled){filter:brightness(1.1)}.modal-enter-active[data-v-0f893d45],.modal-leave-active[data-v-0f893d45]{transition:opacity var(--transition-normal)}.modal-enter-from[data-v-0f893d45],.modal-leave-to[data-v-0f893d45]{opacity:0}.modal-enter-active .session-type-modal[data-v-0f893d45],.modal-leave-active .session-type-modal[data-v-0f893d45]{transition:transform var(--transition-normal)}.modal-enter-from .session-type-modal[data-v-0f893d45],.modal-leave-to .session-type-modal[data-v-0f893d45]{transform:scale(.95)}.sd-backdrop[data-v-e6b9ca7a]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:1rem;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.sd-modal[data-v-e6b9ca7a]{position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;max-width:min(95vw,480px);max-height:85vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg)}.sd-modal__close[data-v-e6b9ca7a]{position:absolute;top:.75rem;right:.75rem;width:44px;height:44px;display:flex;align-items:center;justify-content:center;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.sd-modal__close[data-v-e6b9ca7a]:hover{color:var(--color-text);background:var(--color-surface-elevated)}.sd-modal__close svg[data-v-e6b9ca7a]{width:20px;height:20px}.sd-modal__type[data-v-e6b9ca7a]{margin:0 0 .25rem;font-size:1.125rem;font-weight:600;text-align:center;line-height:1.2}.sd-modal__meta[data-v-e6b9ca7a]{margin:0 0 .15rem;font-size:.875rem;color:var(--color-text-muted);text-align:center}.sd-modal__summary[data-v-e6b9ca7a]{margin:0 0 1rem;font-size:.8125rem;color:var(--color-text-dim);text-align:center}.sd-modal__table-wrap[data-v-e6b9ca7a]{flex:1;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.sd-modal__table[data-v-e6b9ca7a]{width:100%;border-collapse:collapse;font-size:.8125rem;font-variant-numeric:tabular-nums}.sd-modal__th[data-v-e6b9ca7a]{position:sticky;top:0;background:var(--color-surface-elevated);color:var(--color-text-muted);font-weight:600;font-size:.6875rem;text-transform:uppercase;letter-spacing:.04em;padding:.5rem .4rem;text-align:right;border-bottom:1px solid var(--color-border-strong);z-index:1}.sd-modal__th--num[data-v-e6b9ca7a]{text-align:center;width:2rem}.sd-modal__th--score[data-v-e6b9ca7a]{width:3rem}.sd-modal__th--coord[data-v-e6b9ca7a],.sd-modal__th--time[data-v-e6b9ca7a],.sd-modal__th--delta[data-v-e6b9ca7a]{width:auto}.sd-modal__tr[data-v-e6b9ca7a]{border-bottom:1px solid var(--color-border)}.sd-modal__tr[data-v-e6b9ca7a]:last-child{border-bottom:none}.sd-modal__tr[data-v-e6b9ca7a]:hover{background:#ffffff08}.sd-modal__td[data-v-e6b9ca7a]{padding:.35rem .4rem;text-align:right;color:var(--color-text)}.sd-modal__td--num[data-v-e6b9ca7a]{text-align:center;color:var(--color-text-dim);font-weight:500}.sd-modal__td--coord[data-v-e6b9ca7a]{color:var(--color-text-muted);font-size:.75rem}.score--excellent[data-v-e6b9ca7a]{color:var(--color-shot-excellent);font-weight:600}.score--good[data-v-e6b9ca7a]{color:var(--color-shot-good);font-weight:600}.score--fair[data-v-e6b9ca7a]{color:var(--color-shot-fair)}.score--poor[data-v-e6b9ca7a]{color:var(--color-shot-poor)}.sd-modal__no-shots[data-v-e6b9ca7a]{margin:1rem 0 0;font-size:.875rem;color:var(--color-text-muted);text-align:center}.modal-enter-active[data-v-e6b9ca7a],.modal-leave-active[data-v-e6b9ca7a]{transition:opacity var(--transition-normal)}.modal-enter-from[data-v-e6b9ca7a],.modal-leave-to[data-v-e6b9ca7a]{opacity:0}.modal-enter-active .sd-modal[data-v-e6b9ca7a],.modal-leave-active .sd-modal[data-v-e6b9ca7a]{transition:transform var(--transition-normal)}.modal-enter-from .sd-modal[data-v-e6b9ca7a],.modal-leave-to .sd-modal[data-v-e6b9ca7a]{transform:scale(.95)}.tstm-backdrop[data-v-dc472a25]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:1rem;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.tstm[data-v-dc472a25]{position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;max-width:min(90vw,400px);box-shadow:var(--shadow-lg)}.tstm__close[data-v-dc472a25]{position:absolute;top:.75rem;right:.75rem;width:44px;height:44px;display:flex;align-items:center;justify-content:center;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer}.tstm__close[data-v-dc472a25]:hover{color:var(--color-text);background:var(--color-surface-elevated)}.tstm__close svg[data-v-dc472a25]{width:20px;height:20px}.tstm__title[data-v-dc472a25]{margin:0 0 .25rem;font-size:1.125rem;font-weight:600}.tstm__meta[data-v-dc472a25]{margin:0 0 .25rem;font-size:.9375rem;color:var(--color-text-muted)}.tstm__stats[data-v-dc472a25]{margin:0 0 .5rem;font-size:.8125rem;color:var(--color-text-dim)}.tstm__chart-wrap[data-v-dc472a25]{margin-bottom:.75rem;padding:.375rem;background:#ffffff08;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.tstm__chart-with-axes[data-v-dc472a25]{display:grid;grid-template-columns:auto 1fr;grid-template-rows:1fr auto;gap:0}.tstm__y-axis[data-v-dc472a25]{grid-column:1;grid-row:1;display:flex;flex-direction:column-reverse;justify-content:space-between;padding-right:.5rem;text-align:right;min-width:3rem;position:relative}.tstm__y-label[data-v-dc472a25]{position:absolute;top:50%;left:-.25rem;transform:rotate(-90deg) translate(50%);transform-origin:center;font-size:.625rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.tstm__y-tick[data-v-dc472a25]{font-size:.6875rem;color:var(--color-text-dim);font-family:SF Mono,Fira Code,monospace;line-height:1}.tstm__chart-center[data-v-dc472a25]{grid-column:2;grid-row:1;display:flex;justify-content:center}.tstm__x-axis[data-v-dc472a25]{grid-column:2;grid-row:2;margin-top:.25rem}.tstm__x-label[data-v-dc472a25]{font-size:.625rem;color:var(--color-text-muted);text-align:center;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.tstm__x-ticks[data-v-dc472a25]{display:flex;justify-content:space-between;font-size:.6875rem;color:var(--color-text-dim);font-family:SF Mono,Fira Code,monospace}.tstm__x-tick[data-v-dc472a25]{flex-shrink:0}.tstm__types[data-v-dc472a25]{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.tstm__type-btn[data-v-dc472a25]{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .75rem;font-size:.875rem;font-weight:500;color:var(--color-text);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast)}.tstm__type-btn[data-v-dc472a25]:hover:not(:disabled){border-color:var(--type-color, var(--color-accent));background:#ffffff0f}.tstm__type-btn--selected[data-v-dc472a25]{border-color:var(--type-color, var(--color-accent));background:#ffffff14;color:var(--type-color, var(--color-accent))}.tstm__type-btn--new[data-v-dc472a25]{border-style:dashed;color:var(--color-text-muted)}.tstm__type-dot[data-v-dc472a25]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.tstm__new-row[data-v-dc472a25]{display:flex;gap:.5rem;margin-bottom:.75rem}.tstm__input[data-v-dc472a25]{flex:1;min-width:0;padding:.5rem .75rem;font-size:.875rem;color:var(--color-text);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md)}.tstm__input[data-v-dc472a25]:focus{outline:none;border-color:var(--color-accent)}.tstm__error[data-v-dc472a25]{margin:0 0 .75rem;font-size:.8125rem;color:#f87171}.tstm__actions[data-v-dc472a25]{display:flex;justify-content:space-between;gap:.5rem;padding-top:.75rem;border-top:1px solid var(--color-border)}.tstm__btn[data-v-dc472a25]{padding:.5rem 1rem;font-size:.875rem;font-weight:500;border-radius:var(--radius-md);cursor:pointer}.tstm__btn[data-v-dc472a25]:disabled{opacity:.6;cursor:not-allowed}.tstm__btn--secondary[data-v-dc472a25]{color:var(--color-text-muted);background:transparent;border:1px solid var(--color-border)}.tstm__btn--secondary[data-v-dc472a25]:hover:not(:disabled){color:var(--color-text);background:var(--color-surface-elevated)}.tstm__btn--primary[data-v-dc472a25]{color:var(--color-bg);background:var(--color-accent);border:none}.tstm__btn--primary[data-v-dc472a25]:hover:not(:disabled){filter:brightness(1.1)}.tstm__btn--danger[data-v-dc472a25]{color:#fff;background:#dc2626;border:1px solid #dc2626}.tstm__btn--danger[data-v-dc472a25]:hover:not(:disabled){background:#b91c1c}.tstm__confirm[data-v-dc472a25]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--color-surface);border-radius:var(--radius-lg);padding:1.5rem;z-index:2}.tstm__confirm-text[data-v-dc472a25]{margin:0 0 1rem;font-size:.875rem;color:var(--color-text);text-align:center;line-height:1.5}.tstm__confirm-actions[data-v-dc472a25]{display:flex;gap:.75rem}.modal-enter-active[data-v-dc472a25],.modal-leave-active[data-v-dc472a25]{transition:opacity var(--transition-normal)}.modal-enter-from[data-v-dc472a25],.modal-leave-to[data-v-dc472a25]{opacity:0}.modal-enter-active .tstm[data-v-dc472a25],.modal-leave-active .tstm[data-v-dc472a25]{transition:transform var(--transition-normal)}.modal-enter-from .tstm[data-v-dc472a25],.modal-leave-to .tstm[data-v-dc472a25]{transform:scale(.95)}.tsd-backdrop[data-v-85be3de2]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:1rem;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.tsd-modal[data-v-85be3de2]{position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;max-width:min(95vw,420px);max-height:85vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg)}.tsd-modal__close[data-v-85be3de2]{position:absolute;top:.75rem;right:.75rem;width:44px;height:44px;display:flex;align-items:center;justify-content:center;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer}.tsd-modal__close[data-v-85be3de2]:hover{color:var(--color-text);background:var(--color-surface-elevated)}.tsd-modal__close svg[data-v-85be3de2]{width:20px;height:20px}.tsd-modal__type[data-v-85be3de2]{margin:0 0 .25rem;font-size:1.125rem;font-weight:600;text-align:center}.tsd-modal__meta[data-v-85be3de2]{margin:0 0 .15rem;font-size:.875rem;color:var(--color-text-muted);text-align:center}.tsd-modal__summary[data-v-85be3de2]{margin:0 0 1rem;font-size:.8125rem;color:var(--color-text-dim);text-align:center}.tsd-modal__chart-wrap[data-v-85be3de2]{display:flex;flex-direction:column;align-items:center;margin-bottom:.75rem;padding:.5rem;background:#ffffff08;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.tsd-modal__chart-legend[data-v-85be3de2]{display:flex;gap:1rem;margin-top:.25rem;font-size:.6875rem;color:var(--color-text-muted)}.tsd-modal__chart-legend-item[data-v-85be3de2]{display:flex;align-items:center;gap:.25rem}.tsd-modal__legend-line[data-v-85be3de2]{display:inline-block;width:16px;height:0;border-top:2px dashed}.tsd-modal__legend-line--avg[data-v-85be3de2]{border-color:#f59e0b}.tsd-modal__legend-line--median[data-v-85be3de2]{border-color:#22d3ee;border-top-style:dotted}.tsd-modal__table-wrap[data-v-85be3de2]{flex:1;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.tsd-modal__table[data-v-85be3de2]{width:100%;border-collapse:collapse;font-size:.8125rem;font-variant-numeric:tabular-nums}.tsd-modal__th[data-v-85be3de2]{position:sticky;top:0;background:var(--color-surface-elevated);color:var(--color-text-muted);font-weight:600;font-size:.6875rem;text-transform:uppercase;letter-spacing:.04em;padding:.5rem .4rem;text-align:right;border-bottom:1px solid var(--color-border-strong);z-index:1}.tsd-modal__th--num[data-v-85be3de2]{text-align:center;width:2rem}.tsd-modal__tr[data-v-85be3de2]{border-bottom:1px solid var(--color-border)}.tsd-modal__tr[data-v-85be3de2]:last-child{border-bottom:none}.tsd-modal__tr[data-v-85be3de2]:hover{background:#ffffff08}.tsd-modal__td[data-v-85be3de2]{padding:.35rem .4rem;text-align:right;color:var(--color-text)}.tsd-modal__td--num[data-v-85be3de2]{text-align:center;color:var(--color-text-dim);font-weight:500}.tsd-modal__td--display[data-v-85be3de2]{font-family:SF Mono,Fira Code,monospace;font-weight:600}.tsd-modal__td--sec[data-v-85be3de2]{color:var(--color-text-muted);font-size:.75rem}.tsd-modal__empty[data-v-85be3de2]{margin:1rem 0 0;font-size:.875rem;color:var(--color-text-muted);text-align:center}.tsd-modal__chart-with-axes[data-v-85be3de2]{display:grid;grid-template-columns:auto 1fr;grid-template-rows:1fr auto;gap:0;margin:.75rem 0}.tsd-modal__y-axis[data-v-85be3de2]{grid-column:1;grid-row:1;display:flex;flex-direction:column-reverse;justify-content:space-between;padding-right:.5rem;text-align:right;min-width:3rem;position:relative}.tsd-modal__y-label[data-v-85be3de2]{position:absolute;top:50%;left:-.25rem;transform:rotate(-90deg) translate(50%);transform-origin:center;font-size:.625rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.tsd-modal__y-tick[data-v-85be3de2]{font-size:.6875rem;color:var(--color-text-dim);font-family:SF Mono,Fira Code,monospace;line-height:1}.tsd-modal__chart-center[data-v-85be3de2]{grid-column:2;grid-row:1;display:flex;justify-content:center}.tsd-modal__x-axis[data-v-85be3de2]{grid-column:2;grid-row:2;margin-top:.25rem}.tsd-modal__x-label[data-v-85be3de2]{font-size:.625rem;color:var(--color-text-muted);text-align:center;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.tsd-modal__x-ticks[data-v-85be3de2]{display:flex;justify-content:space-between;font-size:.6875rem;color:var(--color-text-dim);font-family:SF Mono,Fira Code,monospace}.tsd-modal__x-tick[data-v-85be3de2]{flex-shrink:0}.modal-enter-active[data-v-85be3de2],.modal-leave-active[data-v-85be3de2]{transition:opacity var(--transition-normal)}.modal-enter-from[data-v-85be3de2],.modal-leave-to[data-v-85be3de2]{opacity:0}.modal-enter-active .tsd-modal[data-v-85be3de2],.modal-leave-active .tsd-modal[data-v-85be3de2]{transition:transform var(--transition-normal)}.modal-enter-from .tsd-modal[data-v-85be3de2],.modal-leave-to .tsd-modal[data-v-85be3de2]{transform:scale(.95)}.session-table[data-v-8960c0e8]{display:flex;flex-direction:column;gap:0;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border)}.session-table--loading[data-v-8960c0e8]{min-height:120px;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:var(--radius-md)}.session-table__loading-text[data-v-8960c0e8]{color:var(--color-text-muted);font-size:.875rem}.session-table__error[data-v-8960c0e8]{padding:1rem 1.25rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#f8717114}.session-table__error-text[data-v-8960c0e8]{margin:0 0 .5rem;font-size:.875rem;color:#f87171;font-weight:500}.session-table__error-hint[data-v-8960c0e8]{margin:0;font-size:.8125rem;color:var(--color-text-muted)}.session-table__row[data-v-8960c0e8]{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:var(--session-type-bg, var(--color-surface));border-bottom:1px solid var(--color-border);min-height:80px;cursor:pointer;-webkit-tap-highlight-color:transparent}.session-table__row[data-v-8960c0e8]:hover{background:color-mix(in srgb,var(--session-type-bg, var(--color-surface)) 90%,white 10%)}.session-table__row[data-v-8960c0e8]:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.session-table__row[data-v-8960c0e8]:last-child{border-bottom:none}.session-table__thumb-wrap[data-v-8960c0e8]{position:relative;flex-shrink:0;display:block;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:transform var(--transition-fast);-webkit-tap-highlight-color:transparent}.session-table__thumb-wrap[data-v-8960c0e8] .bullseye{pointer-events:none}.session-table__thumb-wrap[data-v-8960c0e8]:hover{transform:scale(1.05)}.session-table__thumb-wrap[data-v-8960c0e8]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.session-table__timer-chart-wrap[data-v-8960c0e8]{flex-shrink:0;width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:#ffffff0a;border-radius:var(--radius-sm);border:1px solid var(--color-border);overflow:hidden}.session-table__badge[data-v-8960c0e8]{position:absolute;bottom:2px;right:2px;min-width:20px;height:20px;padding:0 4px;display:inline-flex;align-items:center;justify-content:center;font-size:.6875rem;font-weight:600;color:var(--color-text);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:10px}.session-table__badge--timer[data-v-8960c0e8]{bottom:4px;right:4px}.session-table__info[data-v-8960c0e8]{display:flex;flex-direction:column;gap:.25rem;min-width:0}.session-table__type[data-v-8960c0e8]{font-size:.875rem;font-weight:600}.session-table__date[data-v-8960c0e8]{font-size:.8125rem;color:var(--color-text-muted)}.session-table__meta[data-v-8960c0e8]{font-size:.75rem;color:var(--color-text-dim)}.session-table__timer-stats[data-v-8960c0e8]{display:flex;gap:.75rem;margin-top:.125rem}.session-table__timer-stat[data-v-8960c0e8]{display:flex;flex-direction:column;align-items:center}.session-table__timer-stat-label[data-v-8960c0e8]{font-size:.5625rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-dim)}.session-table__timer-stat-value[data-v-8960c0e8]{font-family:SF Mono,Fira Code,monospace;font-size:.8125rem;font-weight:600}.session-table__timer-stat-value--accent[data-v-8960c0e8]{color:var(--color-accent)}.session-table__empty[data-v-8960c0e8]{margin:0;padding:1.5rem;font-size:.875rem;color:var(--color-text-muted);text-align:center;border:1px solid var(--color-border);border-radius:var(--radius-md)}.session-date-picker[data-v-103f41d1]{position:relative}.session-date-picker__trigger[data-v-103f41d1]{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .5rem;font:inherit;font-size:.8125rem;font-weight:500;color:var(--color-text);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;min-height:36px;-webkit-tap-highlight-color:transparent}.session-date-picker__trigger[data-v-103f41d1]:hover{border-color:var(--color-border-strong);background:var(--color-surface)}.session-date-picker__trigger[data-v-103f41d1]:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.session-date-picker__chevron[data-v-103f41d1]{width:1rem;height:1rem;color:var(--color-text-muted);transition:transform var(--transition-fast)}.session-date-picker__chevron--open[data-v-103f41d1]{transform:rotate(180deg)}.session-date-picker__dropdown[data-v-103f41d1]{position:absolute;top:calc(100% + 4px);right:0;z-index:50;min-width:260px;padding:.75rem;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.session-date-picker__header[data-v-103f41d1]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.session-date-picker__month[data-v-103f41d1]{font-size:.875rem;font-weight:600;color:var(--color-text)}.session-date-picker__nav[data-v-103f41d1]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;padding:0;font-size:1.25rem;line-height:1;color:var(--color-text-muted);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer}.session-date-picker__nav[data-v-103f41d1]:hover{color:var(--color-text);background:var(--color-surface)}.session-date-picker__weekdays[data-v-103f41d1]{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:.35rem}.session-date-picker__weekday[data-v-103f41d1]{font-size:.6875rem;font-weight:600;color:var(--color-text-dim);text-align:center}.session-date-picker__grid[data-v-103f41d1]{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.session-date-picker__day[data-v-103f41d1]{width:32px;height:32px;padding:0;font-size:.8125rem;font-weight:500;color:var(--color-text);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;-webkit-tap-highlight-color:transparent}.session-date-picker__day[data-v-103f41d1]:hover:not(:disabled){background:var(--color-accent-muted);color:var(--color-text)}.session-date-picker__day--other[data-v-103f41d1]{color:var(--color-text-dim)}.session-date-picker__day--disabled[data-v-103f41d1]{color:var(--color-text-dim);opacity:.5;cursor:default}.session-date-picker__day--today[data-v-103f41d1]:not(.session-date-picker__day--disabled){font-weight:700;box-shadow:0 0 0 1px var(--color-accent)}.session-date-picker__day--selected[data-v-103f41d1]{background:var(--color-accent);color:var(--color-bg)}.session-date-picker__day--selected.session-date-picker__day--disabled[data-v-103f41d1]{background:var(--color-surface-elevated);color:var(--color-text-dim)}.dropdown-enter-active[data-v-103f41d1],.dropdown-leave-active[data-v-103f41d1]{transition:opacity var(--transition-fast)}.dropdown-enter-from[data-v-103f41d1],.dropdown-leave-to[data-v-103f41d1]{opacity:0}.stats-charts[data-v-deb47243]{display:flex;flex-direction:column;gap:1.25rem;padding:1rem}.stats-charts__toolbar[data-v-deb47243]{display:flex;align-items:center;gap:.5rem;margin-bottom:-.5rem}.stats-charts__toolbar-toggle[data-v-deb47243]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:var(--radius-sm);background:none;color:var(--color-text-muted);cursor:pointer;flex-shrink:0;-webkit-tap-highlight-color:transparent}.stats-charts__toolbar-toggle[data-v-deb47243]:hover{color:var(--color-accent)}.stats-charts__toolbar-icon[data-v-deb47243]{width:18px;height:18px;flex-shrink:0}.stats-charts__toolbar-chevron[data-v-deb47243]{width:14px;height:14px;transition:transform .2s ease}.stats-charts__toolbar-chevron--open[data-v-deb47243]{transform:rotate(90deg)}.stats-charts__toolbar-panel[data-v-deb47243]{display:flex;flex-direction:column;flex:1;min-width:0;gap:.375rem}.stats-charts__toolbar-controls[data-v-deb47243]{display:flex;align-items:center;flex:1;min-width:0;gap:.5rem;flex-wrap:wrap}.stats-charts__trend-group[data-v-deb47243],.stats-charts__metrics-group[data-v-deb47243]{display:flex;align-items:center;gap:.25rem}.stats-charts__trend-btn[data-v-deb47243],.stats-charts__metric-btn[data-v-deb47243]{display:flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 .375rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-elevated);color:var(--color-text-muted);font-family:inherit;font-size:.75rem;font-weight:500;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);-webkit-tap-highlight-color:transparent}.stats-charts__trend-btn[data-v-deb47243]:hover,.stats-charts__metric-btn[data-v-deb47243]:hover{background:var(--color-accent-muted);color:var(--color-accent)}.stats-charts__trend-btn--active[data-v-deb47243]{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.stats-charts__metric-btn--active[data-v-deb47243]{color:#fff}.stats-charts__compress-btn[data-v-deb47243]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-elevated);color:var(--color-text-muted);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);-webkit-tap-highlight-color:transparent;margin-left:auto}.stats-charts__compress-btn[data-v-deb47243]:hover{background:var(--color-accent-muted);color:var(--color-accent)}.stats-charts__compress-btn svg[data-v-deb47243]{width:20px;height:20px}.stats-charts__type-group[data-v-deb47243]{display:flex;flex-direction:column;gap:.25rem}.stats-charts__type-title[data-v-deb47243]{margin:0;font-size:.95rem;font-weight:600;color:var(--type-color);background:color-mix(in srgb,var(--type-color) 12%,transparent);border-left:4px solid var(--type-color);padding:.35rem .75rem;border-radius:2px}.stats-charts__section-subtitle[data-v-deb47243]{margin:.5rem 0 0;font-size:.95rem;font-weight:600;color:var(--color-text-muted, #888);background:var(--color-border, #e0e0e0);border-left:4px solid var(--color-text-muted, #888);padding:.35rem .75rem;border-radius:2px}.stats-charts__chart-label[data-v-deb47243]{font-size:.75rem;color:var(--color-text-dim);margin-bottom:.25rem}.stats-charts__dir[data-v-deb47243]{font-size:.625rem;font-weight:500;margin-left:.35rem}.stats-charts__dir--up[data-v-deb47243]{color:#22c55e}.stats-charts__dir--down[data-v-deb47243]{color:#f59e0b}.stats-charts__precision-legend[data-v-deb47243]{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.25rem}.stats-charts__precision-legend-item[data-v-deb47243]{display:inline-flex;align-items:center;gap:.25rem;font-size:.6875rem;color:var(--color-text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;padding:.125rem .25rem;border-radius:var(--radius-sm);transition:opacity var(--transition-fast),color var(--transition-fast)}.stats-charts__precision-legend-item[data-v-deb47243]:hover{color:var(--color-text)}.stats-charts__precision-legend-item--hidden[data-v-deb47243]{text-decoration:line-through;opacity:.4}.stats-charts__precision-legend-dot[data-v-deb47243]{width:7px;height:7px;border-radius:50%;flex-shrink:0}.stats-charts__chart-scroll[data-v-deb47243]{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface-elevated)}.stats-charts__chart-scroll .stats-charts__svg[data-v-deb47243]{display:block}.stats-charts--loading[data-v-deb47243]{min-height:120px;display:flex;align-items:center;justify-content:center}.stats-charts__loading-text[data-v-deb47243]{color:var(--color-text-muted);font-size:.875rem}.stats-charts__chart[data-v-deb47243]{flex-shrink:0}.stats-charts__chart-body[data-v-deb47243]{display:flex;align-items:stretch;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface-elevated);overflow:hidden}.stats-charts__y-axis[data-v-deb47243]{flex-shrink:0;width:48px;display:flex;align-items:stretch;background:var(--color-surface-elevated)}.stats-charts__y-axis-svg[data-v-deb47243]{width:48px;height:304px;display:block}.stats-charts__y-axis-svg--precision[data-v-deb47243]{height:232px}.stats-charts__chart-body .stats-charts__chart-scroll[data-v-deb47243]{flex:1;min-width:0;border:none;border-radius:0;border-left:1px solid var(--color-border)}.stats-charts__chart-head[data-v-deb47243]{margin-bottom:.5rem}.stats-charts__chart-title[data-v-deb47243]{display:flex;align-items:center;gap:.5rem;margin:0 0 .5rem;font-size:.9375rem;font-weight:600;color:var(--color-text)}.stats-charts__chart-icon[data-v-deb47243]{display:inline-flex;align-items:center;justify-content:center;width:1.125rem;height:1.125rem;color:var(--color-accent)}.stats-charts__chart-icon svg[data-v-deb47243]{width:100%;height:100%}.stats-charts__legend[data-v-deb47243]{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem}.stats-charts__legend-item[data-v-deb47243]{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;color:var(--color-text-muted);cursor:pointer;padding:.2rem .1rem;border-radius:var(--radius-sm);transition:opacity var(--transition-fast),color var(--transition-fast);-webkit-user-select:none;user-select:none}.stats-charts__legend-item[data-v-deb47243]:hover{color:var(--color-text)}.stats-charts__legend-item--hidden[data-v-deb47243]{text-decoration:line-through;opacity:.5}.stats-charts__legend-dot[data-v-deb47243]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.stats-charts__legend-square[data-v-deb47243]{width:8px;height:8px;border-radius:2px;flex-shrink:0}.stats-charts__axis-label[data-v-deb47243],.stats-charts__axis-tick[data-v-deb47243]{font-size:9px;fill:var(--color-text-dim)}.stats-charts__axis-tick--y[data-v-deb47243]{font-size:9px}.stats-charts__axis-tick--x[data-v-deb47243]{font-size:8px}.stats-charts__svg[data-v-deb47243]{height:304px;display:block;flex-shrink:0}.stats-charts__svg--precision[data-v-deb47243]{height:232px}.stats-charts__week-summary[data-v-deb47243]{font-size:7px;font-weight:600;fill:var(--color-accent)}.stats-charts__empty[data-v-deb47243]{margin:0;font-size:.875rem;color:var(--color-text-muted);text-align:center}.stats-charts__type-filter[data-v-deb47243]{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem .5rem}.stats-charts__type-filter-item[data-v-deb47243]{display:inline-flex;align-items:center;gap:.25rem;font-size:.6875rem;color:var(--color-text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;padding:.15rem .35rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);transition:opacity var(--transition-fast),color var(--transition-fast)}.stats-charts__type-filter-item[data-v-deb47243]:hover{color:var(--color-text)}.stats-charts__type-filter-item--hidden[data-v-deb47243]{text-decoration:line-through;opacity:.4}.stats-charts__type-filter-dot[data-v-deb47243]{width:7px;height:7px;border-radius:50%;flex-shrink:0}.stats-charts__info-btn[data-v-deb47243]{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;padding:0;border:none;border-radius:50%;background:none;color:var(--color-text-dim);cursor:pointer;flex-shrink:0;-webkit-tap-highlight-color:transparent}.stats-charts__info-btn[data-v-deb47243]:hover{color:var(--color-accent)}.stats-charts__info-btn svg[data-v-deb47243]{width:12px;height:12px}.stats-charts__info-overlay[data-v-deb47243]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:1rem;background:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.stats-charts__info-card[data-v-deb47243]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.25rem;max-width:min(90vw,320px);box-shadow:var(--shadow-lg)}.stats-charts__info-header[data-v-deb47243]{display:flex;align-items:center;gap:.4rem;font-size:.9375rem;color:var(--color-text);margin-bottom:.5rem}.stats-charts__info-dot[data-v-deb47243]{width:10px;height:10px;border-radius:50%;flex-shrink:0}.stats-charts__info-desc[data-v-deb47243]{margin:0 0 1rem;font-size:.8125rem;color:var(--color-text-muted);line-height:1.5}.stats-charts__info-close[data-v-deb47243]{display:block;width:100%;padding:.5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-elevated);color:var(--color-text);font-family:inherit;font-size:.8125rem;font-weight:500;cursor:pointer;text-align:center;-webkit-tap-highlight-color:transparent}.stats-charts__info-close[data-v-deb47243]:hover{background:var(--color-accent-muted);color:var(--color-accent)}.info-fade-enter-active[data-v-deb47243],.info-fade-leave-active[data-v-deb47243]{transition:opacity .15s ease}.info-fade-enter-from[data-v-deb47243],.info-fade-leave-to[data-v-deb47243]{opacity:0}.toolbar-slide-enter-active[data-v-deb47243],.toolbar-slide-leave-active[data-v-deb47243]{transition:opacity .2s ease,transform .2s ease}.toolbar-slide-enter-from[data-v-deb47243],.toolbar-slide-leave-to[data-v-deb47243]{opacity:0;transform:translate(-8px)}.stats-charts__timer-legend[data-v-deb47243]{display:flex;gap:1rem;padding-left:50px;font-size:.6875rem;color:var(--color-text-muted)}.stats-charts__timer-legend-item[data-v-deb47243]{display:inline-flex;align-items:center;gap:.3rem}.stats-charts__timer-legend-line[data-v-deb47243]{display:inline-block;width:14px;height:2px;border-radius:1px}.stats-charts__timer-legend-line--dashed[data-v-deb47243]{height:1px;opacity:.5;background-image:linear-gradient(to right,currentColor 4px,transparent 4px);background-size:7px 1px;background-repeat:repeat-x;background-color:transparent!important}.stats-charts__type-filter-sep[data-v-deb47243]{display:inline-block;width:1px;height:1rem;background:var(--color-border);margin:0 .25rem;align-self:center}.import-dialog-backdrop[data-v-881ab9dc]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem}.import-dialog[data-v-881ab9dc]{background:var(--color-surface-elevated);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);max-width:420px;width:100%;padding:1.25rem 1.5rem}.import-dialog__title[data-v-881ab9dc]{margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.import-dialog__hint[data-v-881ab9dc]{margin:0 0 1rem;font-size:.875rem;color:var(--color-text-dim);line-height:1.4}.import-dialog__inputs[data-v-881ab9dc]{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.import-dialog__label[data-v-881ab9dc]{display:flex;flex-direction:column;gap:.25rem}.import-dialog__label-text[data-v-881ab9dc]{font-size:.875rem;font-weight:500}.import-dialog__file[data-v-881ab9dc]{font-size:.875rem}.import-dialog__filename[data-v-881ab9dc]{font-size:.8125rem;color:var(--color-text-dim)}.import-dialog__error[data-v-881ab9dc]{margin:0 0 1rem;font-size:.875rem;color:var(--color-error, #b91c1c)}.import-dialog__summary[data-v-881ab9dc]{margin:0 0 1rem;font-size:.9375rem;font-weight:500;color:var(--color-text)}.import-dialog__actions[data-v-881ab9dc]{display:flex;justify-content:flex-end;gap:.75rem}.import-dialog__btn[data-v-881ab9dc]{padding:.5rem 1rem;border-radius:var(--radius-sm);font-size:.9375rem;font-weight:500;cursor:pointer;border:none;font-family:inherit}.import-dialog__btn--secondary[data-v-881ab9dc]{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.import-dialog__btn--primary[data-v-881ab9dc]{background:var(--color-accent);color:var(--color-on-accent, #fff)}.import-dialog__btn--primary[data-v-881ab9dc]:disabled{opacity:.6;cursor:not-allowed}.import-dialog__filtered[data-v-881ab9dc]{display:block;font-size:.8125rem;font-weight:400;color:var(--color-text-dim);margin-top:.25rem}.dialog-backdrop-enter-active,.dialog-backdrop-leave-active{transition:opacity .2s ease}.dialog-backdrop-enter-from,.dialog-backdrop-leave-to{opacity:0}.app-props__backdrop[data-v-93cd3c07]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:flex-start;justify-content:center;padding:2rem 1rem;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);overflow-y:auto;-webkit-overflow-scrolling:touch}.app-props[data-v-93cd3c07]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:480px;padding:1.5rem;position:relative}.app-props__title[data-v-93cd3c07]{margin:0 0 1.25rem;font-size:1.125rem;font-weight:600;color:var(--color-text)}.app-props__section[data-v-93cd3c07]{margin-bottom:1.25rem;padding-bottom:1.25rem;border-bottom:1px solid var(--color-border)}.app-props__section[data-v-93cd3c07]:last-of-type{border-bottom:none}.app-props__section-title[data-v-93cd3c07]{margin:0 0 .75rem;font-size:.9375rem;font-weight:600;color:var(--color-text)}.app-props__field[data-v-93cd3c07]{margin-bottom:.5rem}.app-props__label[data-v-93cd3c07]{display:block;font-size:.75rem;font-weight:500;color:var(--color-text-muted);margin-bottom:.2rem}.app-props__input[data-v-93cd3c07]{width:100%;padding:.5rem .625rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-elevated);color:var(--color-text);font-family:inherit;font-size:.875rem;box-sizing:border-box}.app-props__input[data-v-93cd3c07]:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px #3b82f626}.app-props__input-wrap[data-v-93cd3c07]{position:relative;display:flex;align-items:center}.app-props__input--pw[data-v-93cd3c07]{padding-right:2.25rem}.app-props__eye-btn[data-v-93cd3c07]{position:absolute;right:.375rem;display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:var(--radius-sm);background:none;color:var(--color-text-muted);cursor:pointer;-webkit-tap-highlight-color:transparent}.app-props__eye-btn[data-v-93cd3c07]:hover{color:var(--color-accent)}.app-props__eye-btn svg[data-v-93cd3c07]{width:16px;height:16px}.app-props__actions[data-v-93cd3c07]{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.app-props__btn[data-v-93cd3c07]{padding:.5rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-elevated);color:var(--color-text);font-family:inherit;font-size:.8125rem;font-weight:500;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background var(--transition-fast),color var(--transition-fast)}.app-props__btn[data-v-93cd3c07]:hover{background:var(--color-accent-muted);color:var(--color-accent)}.app-props__btn[data-v-93cd3c07]:disabled{opacity:.5;cursor:not-allowed}.app-props__btn--primary[data-v-93cd3c07]{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.app-props__btn--primary[data-v-93cd3c07]:hover{opacity:.9;color:#fff}.app-props__btn--danger[data-v-93cd3c07]{background:#dc2626;color:#fff;border-color:#dc2626}.app-props__btn--danger[data-v-93cd3c07]:hover{background:#b91c1c;color:#fff}.app-props__btn--small[data-v-93cd3c07]{padding:.3rem .625rem;font-size:.75rem}.app-props__btn--done[data-v-93cd3c07]{width:100%;padding:.625rem;text-align:center}.app-props__status[data-v-93cd3c07]{font-size:.75rem;font-weight:500}.app-props__status--ok[data-v-93cd3c07]{color:#22c55e}.app-props__status--err[data-v-93cd3c07]{color:#ef4444}.app-props__hint[data-v-93cd3c07]{font-size:.8125rem;color:var(--color-text-muted);margin:.25rem 0}.app-props__hint--info[data-v-93cd3c07]{font-size:.75rem;color:var(--color-text-dim);margin-top:.5rem}.app-props__cal-wrap[data-v-93cd3c07]{position:relative}.app-props__cal-trigger[data-v-93cd3c07]{display:inline-flex;align-items:center;gap:.4rem;width:100%;padding:.45rem .625rem;font:inherit;font-size:.8125rem;font-weight:500;color:var(--color-text);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;-webkit-tap-highlight-color:transparent}.app-props__cal-trigger[data-v-93cd3c07]:hover{border-color:var(--color-border-strong, var(--color-border));background:var(--color-surface)}.app-props__cal-trigger[data-v-93cd3c07]:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.app-props__cal-icon[data-v-93cd3c07]{width:1rem;height:1rem;flex-shrink:0;color:var(--color-text-muted)}.app-props__cal-chevron[data-v-93cd3c07]{width:.875rem;height:.875rem;margin-left:auto;flex-shrink:0;color:var(--color-text-muted);transition:transform .15s ease}.app-props__cal-chevron--open[data-v-93cd3c07]{transform:rotate(180deg)}.app-props__cal-dropdown[data-v-93cd3c07]{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:20;padding:.5rem;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg, 0 4px 16px rgba(0,0,0,.18))}.app-props__cal-header[data-v-93cd3c07]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.35rem}.app-props__cal-month[data-v-93cd3c07]{font-size:.8125rem;font-weight:600;color:var(--color-text)}.app-props__cal-nav[data-v-93cd3c07]{width:24px;height:24px;display:flex;align-items:center;justify-content:center;padding:0;font-size:1.1rem;line-height:1;color:var(--color-text-muted);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer}.app-props__cal-nav[data-v-93cd3c07]:hover{color:var(--color-text);background:var(--color-surface)}.app-props__cal-weekdays[data-v-93cd3c07]{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;margin-bottom:.2rem}.app-props__cal-wd[data-v-93cd3c07]{font-size:.625rem;font-weight:600;color:var(--color-text-dim);text-align:center}.app-props__cal-grid[data-v-93cd3c07]{display:grid;grid-template-columns:repeat(7,1fr);gap:1px}.app-props__cal-day[data-v-93cd3c07]{width:28px;height:28px;padding:0;font-size:.75rem;font-weight:400;color:var(--color-text-dim);background:transparent;border:none;border-radius:var(--radius-sm);cursor:default;-webkit-tap-highlight-color:transparent}.app-props__cal-day--other[data-v-93cd3c07]{color:var(--color-text-dim);opacity:.4}.app-props__cal-day--has[data-v-93cd3c07]{font-weight:700;color:var(--color-text);cursor:pointer}.app-props__cal-day--has[data-v-93cd3c07]:hover{background:var(--color-accent-muted, rgba(59, 130, 246, .12))}.app-props__cal-day--sel[data-v-93cd3c07]{background:var(--color-accent);color:var(--color-bg);font-weight:700;cursor:pointer}.app-props__cal-day--sel[data-v-93cd3c07]:hover{background:var(--color-accent);opacity:.9}.app-props__cal-day--today[data-v-93cd3c07]:not(:disabled){box-shadow:inset 0 0 0 1px var(--color-accent)}.cal-drop-enter-active[data-v-93cd3c07],.cal-drop-leave-active[data-v-93cd3c07]{transition:opacity .12s ease,transform .12s ease}.cal-drop-enter-from[data-v-93cd3c07],.cal-drop-leave-to[data-v-93cd3c07]{opacity:0;transform:translateY(-4px)}.app-props__backup-info[data-v-93cd3c07]{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;margin:.5rem 0;font-size:.8125rem;color:var(--color-text-muted)}.app-props__backup-info-item strong[data-v-93cd3c07]{color:var(--color-text)}.app-props__footer[data-v-93cd3c07]{margin-top:.5rem}.app-props__confirm-overlay[data-v-93cd3c07]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;align-items:center;justify-content:center;padding:1rem;background:#00000080;border-radius:var(--radius-lg)}.app-props__confirm-card[data-v-93cd3c07]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.25rem;max-width:320px;box-shadow:var(--shadow-lg)}.app-props__confirm-text[data-v-93cd3c07]{margin:0 0 1rem;font-size:.875rem;color:var(--color-text);line-height:1.5}.app-props__confirm-actions[data-v-93cd3c07]{display:flex;gap:.75rem;justify-content:flex-end}.confirm-fade-enter-active[data-v-93cd3c07],.confirm-fade-leave-active[data-v-93cd3c07]{transition:opacity .15s ease}.confirm-fade-enter-from[data-v-93cd3c07],.confirm-fade-leave-to[data-v-93cd3c07]{opacity:0}.tcv[data-v-8667bf7d]{display:flex;flex-direction:column;gap:.75rem}.tcv__type-section[data-v-8667bf7d]{display:flex;flex-direction:column;gap:.375rem}.tcv__type-chips[data-v-8667bf7d]{display:flex;flex-wrap:wrap;gap:.375rem}.tcv__type-chip[data-v-8667bf7d]{display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .625rem;font:inherit;font-size:.8125rem;font-weight:500;color:var(--color-text);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;-webkit-tap-highlight-color:transparent}.tcv__type-chip[data-v-8667bf7d]:hover{border-color:var(--color-accent-muted);background:#ffffff0a}.tcv__type-chip--sel[data-v-8667bf7d]{border-color:var(--color-accent);background:var(--color-accent-muted);color:var(--color-accent);font-weight:600}.tcv__type-chip--new[data-v-8667bf7d]{border-style:dashed;color:var(--color-text-muted)}.tcv__type-chip--new[data-v-8667bf7d]:hover{color:var(--color-text)}.tcv__new-type-row[data-v-8667bf7d]{display:flex;align-items:center;gap:0}.tcv__new-type-prefix[data-v-8667bf7d]{padding:.4rem 0 .4rem .625rem;font-size:.875rem;color:var(--color-text-muted);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-right:none;border-radius:var(--radius-sm) 0 0 var(--radius-sm);white-space:nowrap}.tcv__input--new-type[data-v-8667bf7d]{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.tcv__format-note[data-v-8667bf7d]{margin:0;font-size:.75rem;color:var(--color-text-dim)}.tcv__format-note strong[data-v-8667bf7d]{color:var(--color-text-muted)}.tcv__label[data-v-8667bf7d]{font-size:.8125rem;color:var(--color-text-muted);white-space:nowrap}.tcv__label code[data-v-8667bf7d]{font-size:.75rem;background:var(--color-surface-elevated);padding:.1rem .25rem;border-radius:3px}.tcv__input[data-v-8667bf7d]{flex:1;padding:.4rem .625rem;font:inherit;font-size:.875rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-elevated);color:var(--color-text)}.tcv__textarea[data-v-8667bf7d]{width:100%;padding:.5rem .625rem;font-family:SF Mono,Fira Code,monospace;font-size:.875rem;line-height:1.6;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-elevated);color:var(--color-text);resize:vertical;min-height:100px}.tcv__textarea[data-v-8667bf7d]:focus{outline:none;border-color:var(--color-accent)}.tcv__btn[data-v-8667bf7d]{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;font:inherit;font-size:.8125rem;font-weight:600;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;background:var(--color-surface-elevated);color:var(--color-text);-webkit-tap-highlight-color:transparent}.tcv__btn[data-v-8667bf7d]:disabled{opacity:.5;cursor:default}.tcv__btn--primary[data-v-8667bf7d]{background:var(--color-accent);color:#0f0f14;border-color:var(--color-accent)}.tcv__btn--primary[data-v-8667bf7d]:hover:not(:disabled){opacity:.9}.tcv__btn--ghost[data-v-8667bf7d]{background:transparent;border-color:transparent;color:var(--color-text-muted)}.tcv__btn--ghost[data-v-8667bf7d]:hover{color:var(--color-text)}.tcv__btn--sm[data-v-8667bf7d]{padding:.3rem .625rem;font-size:.75rem}.tcv__btn--danger-text[data-v-8667bf7d]{color:#ef4444}.tcv__manual[data-v-8667bf7d]{display:flex;flex-direction:column;gap:.375rem}.tcv__bulk-status[data-v-8667bf7d]{display:flex;gap:.75rem;font-size:.75rem;font-weight:500}.tcv__bulk-ok[data-v-8667bf7d]{color:#22c55e}.tcv__bulk-err[data-v-8667bf7d]{color:#ef4444}.tcv__preview-list[data-v-8667bf7d]{display:flex;flex-direction:column;gap:2px;max-height:150px;overflow-y:auto;padding:.25rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.tcv__preview-item[data-v-8667bf7d]{display:flex;align-items:center;gap:.4rem;padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.8125rem;transition:background-color .15s ease}.tcv__preview-item--valid[data-v-8667bf7d]{background:#22c55e1f;border-left:3px solid #22c55e}.tcv__preview-item--invalid[data-v-8667bf7d]{background:#ef44441f;border-left:3px solid #ef4444}.tcv__preview-item--empty[data-v-8667bf7d]{background:transparent;border-left:3px solid transparent;opacity:.5}.tcv__preview-idx[data-v-8667bf7d]{color:var(--color-text-dim);font-size:.75rem;min-width:1.5rem}.tcv__preview-value[data-v-8667bf7d]{font-family:SF Mono,Fira Code,monospace;color:var(--color-text);flex:1}.tcv__preview-item--valid .tcv__preview-value[data-v-8667bf7d]{color:#22c55e;font-weight:600}.tcv__preview-item--invalid .tcv__preview-value[data-v-8667bf7d]{color:#ef4444}.tcv__preview-status[data-v-8667bf7d]{margin-left:auto;font-size:.75rem;color:#22c55e;font-weight:500}.tcv__preview-status--err[data-v-8667bf7d]{color:#ef4444}.tcv__bulk-actions[data-v-8667bf7d]{display:flex;gap:.5rem;margin-top:.25rem}.tcv__entries[data-v-8667bf7d]{display:flex;flex-direction:column;gap:.5rem;border-top:1px solid var(--color-border);padding-top:.75rem}.tcv__entries-header[data-v-8667bf7d]{display:flex;align-items:center;justify-content:space-between}.tcv__entries-title[data-v-8667bf7d]{margin:0;font-size:.875rem;font-weight:600;color:var(--color-text)}.tcv__summary[data-v-8667bf7d]{display:flex;gap:1rem;font-size:.8125rem;color:var(--color-text-muted)}.tcv__summary strong[data-v-8667bf7d]{color:var(--color-text)}.tcv__entry-list[data-v-8667bf7d]{display:flex;flex-direction:column;gap:2px}.tcv__entry[data-v-8667bf7d]{display:flex;align-items:center;gap:.5rem;padding:.3rem .5rem;background:var(--color-surface-elevated);border-radius:var(--radius-sm);font-size:.8125rem}.tcv__entry-idx[data-v-8667bf7d]{width:1.5rem;text-align:right;color:var(--color-text-dim);font-size:.75rem}.tcv__entry-time[data-v-8667bf7d]{font-family:SF Mono,Fira Code,monospace;font-weight:600;color:var(--color-text)}.tcv__entry-sec[data-v-8667bf7d]{color:var(--color-text-dim);font-size:.75rem}.tcv__entry-remove[data-v-8667bf7d]{margin-left:auto;background:none;border:none;color:var(--color-text-dim);font-size:1rem;cursor:pointer;padding:0 .25rem}.tcv__entry-remove[data-v-8667bf7d]:hover{color:#ef4444}.tcv__save-row[data-v-8667bf7d]{display:flex;align-items:center;gap:.75rem}.tcv__status[data-v-8667bf7d]{font-size:.75rem;font-weight:500}.tcv__status--ok[data-v-8667bf7d]{color:#22c55e}.tcv__status--err[data-v-8667bf7d]{color:#ef4444}:root{--font-sans: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--color-bg: #0f0f14;--color-surface: #18181f;--color-surface-elevated: #1f1f28;--color-border: rgba(255, 255, 255, .08);--color-border-strong: rgba(255, 255, 255, .12);--color-text: #f4f4f5;--color-text-muted: #a1a1aa;--color-text-dim: #71717a;--color-accent: #22d3ee;--color-accent-muted: rgba(34, 211, 238, .2);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .45);--transition-fast: .15s ease;--transition-normal: .25s ease;--color-bullseye-inner: #374151;--color-bullseye-outer: #ffffff;--color-bullseye-stroke: rgba(0, 0, 0, .35);--color-shot-excellent: #16a34a;--color-shot-good: #ca8a04;--color-shot-fair: #ea580c;--color-shot-poor: #dc2626;--color-poi: #2563eb}*{box-sizing:border-box}html{background:var(--color-bg);min-height:100%;width:100%}body{margin:0;font-family:var(--font-sans);font-size:16px;background:var(--color-bg);color:var(--color-text);min-height:100vh;min-height:100dvh;width:100%;-webkit-font-smoothing:antialiased}#app{min-height:100vh;min-height:100dvh;width:100%}.app[data-v-d0eed9d9]{min-height:100vh;display:flex;flex-direction:column}.main[data-v-d0eed9d9]{flex:1;padding:1.25rem;max-width:1100px;margin:0 auto;width:100%}.section-anchor[data-v-d0eed9d9]{scroll-margin-top:4rem}.global-filter-btn[data-v-d0eed9d9]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-elevated);color:var(--color-text-muted);cursor:pointer;flex-shrink:0;-webkit-tap-highlight-color:transparent}.global-filter-btn[data-v-d0eed9d9]:hover,.global-filter-btn--active[data-v-d0eed9d9]{color:var(--color-accent);border-color:var(--color-accent)}.global-filter-btn__icon[data-v-d0eed9d9]{width:16px;height:16px}.global-filter-panel[data-v-d0eed9d9]{padding:.5rem 0}.global-filter-chips[data-v-d0eed9d9]{display:flex;flex-wrap:wrap;gap:.375rem}.global-filter-chip[data-v-d0eed9d9]{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .5rem;font:inherit;font-size:.75rem;font-weight:500;color:var(--chip-color, var(--color-text));background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:opacity .15s ease}.global-filter-chip[data-v-d0eed9d9]:hover{border-color:var(--chip-color, var(--color-accent))}.global-filter-chip--hidden[data-v-d0eed9d9]{opacity:.35;text-decoration:line-through}.global-filter-chip--hidden[data-v-d0eed9d9]:hover{opacity:.6}.global-filter-chip__dot[data-v-d0eed9d9]{width:8px;height:8px;border-radius:50%;background:var(--chip-color, var(--color-text-muted));flex-shrink:0}.global-filter-chip__label[data-v-d0eed9d9]{white-space:nowrap}.global-filter-chip__count[data-v-d0eed9d9]{font-size:.6875rem;color:var(--color-text-dim);margin-left:.1rem}.filter-slide-enter-active[data-v-d0eed9d9],.filter-slide-leave-active[data-v-d0eed9d9]{transition:opacity .15s ease,max-height .2s ease;overflow:hidden}.filter-slide-enter-from[data-v-d0eed9d9],.filter-slide-leave-to[data-v-d0eed9d9]{opacity:0;max-height:0}.filter-slide-enter-to[data-v-d0eed9d9],.filter-slide-leave-from[data-v-d0eed9d9]{max-height:200px}.last-session-weeks-select[data-v-d0eed9d9]{font:inherit;font-size:.8125rem;padding:.35rem .5rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface-elevated);color:var(--color-text);cursor:pointer;min-height:36px}.last-session-weeks-select[data-v-d0eed9d9]:focus{outline:2px solid var(--color-accent);outline-offset:1px}.chart-range-widget[data-v-d0eed9d9]{display:flex;align-items:center;gap:.35rem .5rem;flex-wrap:wrap;justify-content:flex-end}.chart-range-widget__select[data-v-d0eed9d9]{font:inherit;font-size:.75rem;padding:.25rem .4rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface-elevated);color:var(--color-text);cursor:pointer;min-height:32px}.chart-range-widget__select[data-v-d0eed9d9]:focus{outline:2px solid var(--color-accent);outline-offset:1px}.chart-range-widget__arrow[data-v-d0eed9d9]{font-size:1rem;line-height:1;color:var(--color-text-muted)}.chart-range-widget__date[data-v-d0eed9d9]{font:inherit;font-size:.75rem;padding:.25rem .4rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface-elevated);color:var(--color-text);min-height:32px}.chart-range-widget__date[data-v-d0eed9d9]:focus{outline:2px solid var(--color-accent);outline-offset:1px}.shared-banner[data-v-d0eed9d9]{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.4rem 1rem;background:var(--color-surface-elevated);border-bottom:1px solid var(--color-border);cursor:pointer;max-width:1100px;margin:0 auto;width:100%}.shared-banner__text[data-v-d0eed9d9]{font-size:.8125rem;color:var(--color-text-muted)}.shared-banner__text strong[data-v-d0eed9d9]{color:var(--color-accent);font-weight:600}.shared-banner__close[data-v-d0eed9d9]{background:none;border:none;color:var(--color-text-dim);font-size:1.1rem;line-height:1;padding:0 .25rem;cursor:pointer;transition:color var(--transition-fast)}.shared-banner__close[data-v-d0eed9d9]:hover{color:var(--color-text)}.banner-slide-enter-active[data-v-d0eed9d9],.banner-slide-leave-active[data-v-d0eed9d9]{transition:opacity .3s,max-height .3s;overflow:hidden}.banner-slide-enter-from[data-v-d0eed9d9],.banner-slide-leave-to[data-v-d0eed9d9]{opacity:0;max-height:0}.banner-slide-enter-to[data-v-d0eed9d9],.banner-slide-leave-from[data-v-d0eed9d9]{max-height:3rem}.mantis-toast[data-v-d0eed9d9]{position:fixed;bottom:1rem;left:50%;transform:translate(-50%);z-index:200;background:var(--color-accent);color:#fff;padding:.5rem 1.25rem;border-radius:var(--radius-md);font-size:.8125rem;font-weight:500;box-shadow:0 2px 12px #0000004d;cursor:pointer;white-space:nowrap}.toast-fade-enter-active[data-v-d0eed9d9],.toast-fade-leave-active[data-v-d0eed9d9]{transition:opacity .3s,transform .3s}.toast-fade-enter-from[data-v-d0eed9d9],.toast-fade-leave-to[data-v-d0eed9d9]{opacity:0;transform:translate(-50%) translateY(1rem)}.auth-loading[data-v-d0eed9d9]{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;background:var(--color-bg);color:var(--color-text-muted);font-size:.875rem}.auth-loading__spinner[data-v-d0eed9d9]{width:28px;height:28px;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:auth-loading-spin-d0eed9d9 .8s linear infinite}@keyframes auth-loading-spin-d0eed9d9{to{transform:rotate(360deg)}}@media (min-width: 768px){.main[data-v-d0eed9d9]{padding:1.5rem 2rem}}.sessions-kind-toggle[data-v-d0eed9d9]{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;font-size:1rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-elevated);color:var(--color-text);cursor:pointer;transition:opacity var(--transition-fast),background var(--transition-fast);margin-right:.25rem;line-height:1}.sessions-kind-toggle[data-v-d0eed9d9]:hover{background:var(--color-accent);color:var(--color-bg)}.sessions-kind-toggle--off[data-v-d0eed9d9]{opacity:.35;text-decoration:line-through;background:transparent}
