.category-bar-wrap{margin-bottom:12px;position:relative;overflow:hidden}.category-bar{gap:4px;width:100%;display:flex;overflow:hidden}.category-bar-measure{visibility:hidden;pointer-events:none;gap:4px;width:max-content;display:flex;position:absolute;top:0;left:0}.category-index{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;width:460px;max-width:100%;display:grid}.category-index-col{min-width:0}.category-index-row{width:100%;color:var(--ant-color-text-secondary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:6px minmax(0,1fr) auto;align-items:center;column-gap:10px;padding:9px 0;transition:background-color .15s,color .15s;display:grid}.category-index-row+.category-index-row{border-top:1px solid var(--ant-color-border-secondary)}@media (hover:hover) and (pointer:fine){.category-index-row:hover{background:var(--hover-wash);color:var(--ant-color-text)}}.category-index-row:active .category-index-dot{transform:scale(.75)}.category-index-row:focus-visible{--focus-ring-offset:-2px}.category-index-dot{border:1px solid var(--ant-color-border);background:0 0;border-radius:50%;width:6px;height:6px;transition:background-color .15s,border-color .15s,transform .1s}.category-index-row.is-shown .category-index-dot{border-color:var(--ant-color-primary);background:var(--ant-color-primary)}.category-index-name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:20px;overflow:hidden}.category-index-row:not(.is-shown) .category-index-name{color:var(--ant-color-text-tertiary)}.category-index-count{color:var(--ant-color-text-tertiary);font-variant-numeric:tabular-nums;justify-self:end;font-size:12px;line-height:16px}.category-modal-foot{border-top:1px solid var(--ant-color-border-secondary);justify-content:space-between;align-items:center;gap:16px;margin-top:18px;padding-top:12px;display:flex}.category-modal-actions{gap:2px;margin-left:-8px;display:flex}.category-modal-summary{color:var(--ant-color-text-tertiary);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}@media (width<=640px){.category-bar .ant-tag-checkable,.category-bar-measure .ant-tag-checkable{height:40px;margin-inline-end:0;padding-inline:12px;line-height:38px}}@media (width<=560px){.category-index{grid-template-columns:minmax(0,1fr);width:100%}.category-index-col{display:contents}.category-index-row+.category-index-row,.category-index-col+.category-index-col .category-index-row:first-child{border-top:1px solid var(--ant-color-border-secondary)}}.cell-edit{justify-content:center;align-items:center;gap:6px;display:flex}.cell-edit--stack{flex-direction:column;gap:4px}.cell-edit--stack>*{width:100%}.cell-edit .cell-input{text-align:center;width:100%}.cell-edit .cell-input input{text-align:center}.cell-edit--touch{flex-wrap:wrap}.cell-actions{flex:1 0 100%;justify-content:flex-end;gap:6px;display:flex}.cell-actions .ant-btn{min-height:32px;padding-inline:12px}.chart-layout-bar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-top:-8px;display:flex}.chart-layout-bar.is-editing{top:env(safe-area-inset-top,0px);z-index:20;margin-inline:calc(-1 * var(--page-pad-left)) calc(-1 * var(--page-pad-right));padding:10px var(--page-pad-right) 10px var(--page-pad-left);background:var(--ant-color-bg-layout);border-bottom:1px solid var(--ant-color-border-secondary);position:sticky}.chart-layout-hint{min-width:0;color:var(--ant-color-text-secondary);flex:auto;margin:0;font-size:12px;line-height:1.5}.chart-layout-sr{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.chart-layout{grid-template-columns:repeat(auto-fit,minmax(max(min(100%,426px),33.3333% - 9.66667px),1fr));gap:16px 32px;display:grid}.chart-cell.is-full{grid-column:1/-1}.chart-cell,.chart-cell-move{min-width:0}.chart-cell-jiggle{position:relative}.chart-layout[data-editing]{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.chart-layout[data-editing] .chart-cell{cursor:grab}@keyframes chart-jiggle{0%{transform:rotate(-.35deg)}to{transform:rotate(.35deg)}}.chart-layout[data-editing] .chart-cell-jiggle{animation:.32s cubic-bezier(.36,.07,.19,.97) infinite alternate chart-jiggle}.chart-layout[data-editing] .chart-cell:nth-child(2n) .chart-cell-jiggle{animation-delay:-.11s}.chart-layout[data-editing] .chart-cell:nth-child(3n) .chart-cell-jiggle{animation-delay:-.21s}@media (prefers-reduced-motion:reduce){.chart-layout[data-editing] .chart-cell-jiggle{animation:none}}.chart-cell.is-dragging{z-index:30;cursor:grabbing}.chart-cell.is-dragging .chart-cell-jiggle{animation:none}.chart-cell.is-dragging .chart-cell-move{background:var(--ant-color-bg-container);box-shadow:var(--ant-box-shadow);will-change:transform}body.is-drag-reordering{cursor:grabbing}.chart-badge{z-index:1;border:1px solid var(--ant-color-border);background:var(--ant-color-bg-container);width:26px;height:26px;color:var(--ant-color-text-secondary);box-shadow:var(--ant-box-shadow-secondary);cursor:pointer;border-radius:50%;place-items:center;padding:0;font-size:11px;line-height:1;display:grid;position:absolute;top:-10px;left:-10px}.chart-badge:after{content:"";border-radius:50%;position:absolute;inset:-9px}@media (pointer:coarse){.chart-badge{width:30px;height:30px}.chart-badge:after{inset:-7px}}@media (hover:hover) and (pointer:fine){.chart-badge:hover{border-color:var(--ant-color-text-tertiary);color:var(--ant-color-text)}}.chart-badge:active{background:var(--ant-color-fill-secondary)}.chart-ghost{border:1px dashed var(--ant-color-border);width:100%;min-height:96px;color:var(--ant-color-text-secondary);font:inherit;cursor:pointer;background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:16px;display:flex}.chart-ghost-label{font-size:14px;font-weight:600}.chart-ghost-note{color:var(--ant-color-text-tertiary);font-size:12px}.chart-ghost:active{background:var(--ant-color-fill-quaternary)}.month-heat-week{color:var(--ant-color-text-secondary);text-align:center;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px;font-size:12px;display:grid}.month-heat-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.month-heat-cell{aspect-ratio:1;font-variant-numeric:tabular-nums;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:1px;line-height:1.1;transition:transform .1s;display:flex}.month-heat-day{opacity:.65;font-size:10px}.month-heat-amt{font-size:10px;font-weight:600}.month-heat-cell.is-blank{background:0 0}.month-heat-cell.is-today{box-shadow:inset 0 0 0 1.5px var(--ant-color-primary)}@media (hover:hover) and (pointer:fine){.month-heat-grid .month-heat-cell:not(.is-blank):hover{transform:scale(1.08)}}@media (prefers-reduced-motion:reduce){.month-heat-grid .month-heat-cell:not(.is-blank):hover{transform:none}}.month-heat-foot{border-top:1px solid var(--ant-color-border-secondary);justify-content:space-between;align-items:center;margin-top:12px;padding-top:10px;display:flex}.month-heat-legend{color:var(--ant-color-text-secondary);align-items:center;gap:4px;font-size:12px;display:inline-flex}.month-heat-legend i{border-radius:3px;width:12px;height:12px}.month-heat-total{font-variant-numeric:tabular-nums;font-weight:600}.ov{grid-template-columns:minmax(0,1fr) minmax(0,420px);align-items:end;column-gap:40px;min-width:0;display:grid}.ov-head{flex-direction:column;align-items:flex-start;gap:12px;min-width:0;display:flex}.ov-figures{flex-direction:column;gap:14px;min-width:0;display:flex}.ov-hero{flex-direction:column;gap:4px;display:flex}.ov-label{letter-spacing:.4px;color:var(--ant-color-text-secondary);font-size:12px}.ov-valrow{align-items:baseline;gap:8px;display:flex}.ov-value{letter-spacing:-2px;font-variant-numeric:tabular-nums;font-size:60px;font-weight:600;line-height:1}.ov-unit{color:var(--ant-color-text-secondary);font-size:16px}.ov-hero-sub .ov-valrow{align-items:baseline}.ov-value-sub{letter-spacing:-.4px;font-variant-numeric:tabular-nums;font-size:22px;font-weight:600}.ov-delta{border:1px solid var(--ant-color-border-secondary);font-variant-numeric:tabular-nums;color:var(--ant-color-text-secondary);white-space:nowrap;border-radius:99px;align-self:center;align-items:center;gap:3px;margin-left:6px;padding:2px 8px;font-size:12px;display:inline-flex}.ov-delta.is-up{color:var(--ant-color-error)}.ov-delta.is-down{color:var(--ant-color-success)}.ov-delta.is-flat{color:var(--ant-color-text-secondary)}.ov-meta{color:var(--ant-color-text-secondary);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:8px;font-size:12px;display:flex}.ov-sep{color:var(--ant-color-border)}.ov-meta b{color:var(--ant-color-text);font-weight:600}.ov-link{font:inherit;color:var(--ant-color-text);cursor:pointer;background:0 0;border:none;border-radius:6px;margin:-2px -6px;padding:2px 6px;transition:background-color .15s}@media (hover:hover) and (pointer:fine){.ov-link:hover{background:var(--hover-wash)}}.ov-weeks{align-self:end;min-width:0}@media (width<=1000px){.ov{grid-template-columns:minmax(0,1fr);row-gap:16px}}.ov-weeks-chart{height:90px}.ov-weeks-foot{color:var(--ant-color-text-secondary);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:12px;margin-top:2px;font-size:12px;display:flex}@media (width<=640px){.ov-value{letter-spacing:-1px;font-size:40px}.ov-valrow{flex-wrap:wrap}}@media (width<=380px){.ov-value{font-size:36px}}.week-heat{position:relative}.week-heat-tip{z-index:2;pointer-events:none;white-space:nowrap;color:var(--ant-color-text);background:var(--ant-color-bg-container);border:1px solid var(--ant-color-border-secondary);box-shadow:var(--ant-box-shadow-secondary);border-radius:8px;padding:4px 8px;font-size:12px;line-height:1.5;position:absolute;transform:translate(-50%,-100%)}.week-heat-body{--heat-gap:clamp(2px, .25vw, 3px);justify-content:center;gap:6px;display:flex;overflow-x:clip}.week-heat-days{gap:var(--heat-gap);color:var(--ant-color-text-secondary);text-align:right;grid-template-rows:repeat(7,1fr);margin-top:16px;font-size:10px;line-height:1;display:grid}.week-heat-days span{align-self:center}.week-heat-main{flex:0 auto;min-width:0}.week-heat-months{height:16px;color:var(--ant-color-text-secondary);justify-content:center;font-size:10px;display:grid}.week-heat-months span{white-space:nowrap}.week-heat-months span:last-child{justify-self:end}.week-heat-grid{justify-content:center;gap:var(--heat-gap);grid-auto-rows:auto;display:grid}.week-heat-cell{aspect-ratio:1;border-radius:3px;transition:transform .1s}.week-heat-cell.is-empty{box-shadow:inset 0 0 0 1px var(--ant-color-border-secondary);background:0 0}@media (hover:hover) and (pointer:fine){.week-heat-grid .week-heat-cell:not(.is-empty):hover{transform:scale(1.15)}}.week-heat-grid .week-heat-cell:not(.is-empty):active{transform:scale(.92)}.week-heat-cell.is-last-col{transform-origin:100%}.week-heat-cell.is-last-row{transform-origin:bottom}.week-heat-cell.is-last-col.is-last-row{transform-origin:100% 100%}@media (prefers-reduced-motion:reduce){.week-heat-grid .week-heat-cell:not(.is-empty):hover,.week-heat-grid .week-heat-cell:not(.is-empty):active{transform:none}}.week-heat-foot{border-top:1px solid var(--ant-color-border-secondary);color:var(--ant-color-text-secondary);justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding-top:10px;font-size:12px;display:flex}.week-heat-legend{align-items:center;gap:4px;display:inline-flex}.week-heat-legend i{border-radius:3px;width:12px;height:12px}.week-heat-total{font-variant-numeric:tabular-nums}.detail-sheet{border-top:1px solid var(--ant-color-border-secondary);background:var(--ant-color-bg-container);border-radius:14px 14px 0 0;flex-direction:column;max-height:85dvh;display:flex;overflow:hidden}.detail-sheet-inner{flex-direction:column;height:100%;min-height:0;max-height:85dvh;display:flex}.detail-sheet-head{flex:none;justify-content:center;align-items:center;height:44px;padding:0 8px;display:flex;position:relative}.detail-sheet-grip{background:var(--ant-color-border);border-radius:2px;width:36px;height:4px}.detail-sheet-head .ant-btn{width:44px;height:44px;position:absolute;right:8px}.detail-sheet-body{overscroll-behavior-y:contain;min-height:0;padding:0 20px calc(20px + env(safe-area-inset-bottom));-webkit-user-select:text;user-select:text;flex:auto;overflow-y:auto}.detail-sheet .detail-edit{padding-top:6px;padding-bottom:6px}
