*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--kfm-color-background-primary);color:var(--kfm-color-text-primary);font-family:var(--kfm-font-body);font-size:var(--kfm-type-body-size);line-height:var(--kfm-type-body-line);-webkit-font-smoothing:antialiased;transition:background-color var(--kfm-duration-base) var(--kfm-ease-standard),color var(--kfm-duration-base) var(--kfm-ease-standard)}.ambient{position:fixed;inset:0;pointer-events:none;z-index:0;opacity:calc(1 - var(--kfm-glass-opacity));background:radial-gradient(60rem 40rem at 8% -5%,color-mix(in srgb,#22c7de 55%,transparent),transparent 60%),radial-gradient(50rem 38rem at 95% 10%,color-mix(in srgb,#ce2a8b 50%,transparent),transparent 60%),radial-gradient(55rem 45rem at 50% 105%,color-mix(in srgb,#6d4aff 50%,transparent),transparent 60%)}a{color:var(--kfm-color-accent-secondary)}h1,h2,h3,h4{margin:0;font-family:var(--kfm-font-display);text-wrap:balance}h1{font-size:var(--kfm-type-h1-size);line-height:var(--kfm-type-h1-line);font-weight:var(--kfm-type-h1-weight);letter-spacing:var(--kfm-type-h1-tracking)}h2{font-size:var(--kfm-type-h2-size);line-height:var(--kfm-type-h2-line);font-weight:var(--kfm-type-h2-weight);letter-spacing:var(--kfm-type-h2-tracking)}p{margin:0;color:var(--kfm-color-text-secondary)}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.eyebrow{font-size:var(--kfm-type-label-size);line-height:var(--kfm-type-label-line);font-weight:var(--kfm-type-label-weight);letter-spacing:.08em;text-transform:uppercase;color:var(--kfm-color-text-muted)}.card{background:color-mix(in srgb,var(--kfm-color-surface-elevated) calc(var(--kfm-glass-surface-opacity) * 100%),transparent);border:var(--kfm-border-hairline) solid var(--kfm-color-border-primary);border-radius:var(--kfm-radius-xl);padding:var(--kfm-space-x4);position:relative}.card-interactive,a.card,button.card{cursor:pointer;transition:box-shadow var(--kfm-duration-fast) var(--kfm-ease-standard),border-color var(--kfm-duration-fast) var(--kfm-ease-standard),transform var(--kfm-duration-fast) var(--kfm-ease-standard)}.card-interactive:hover,a.card:hover,button.card:hover{border-color:var(--kfm-color-accent-primary);box-shadow:var(--kfm-shadow-medium);transform:translateY(calc(var(--kfm-motion-scale) * -2px))}.card-interactive:focus-visible,a.card:focus-visible,button.card:focus-visible{outline:2px solid var(--kfm-color-accent-secondary);outline-offset:2px}.figure{display:flex;flex-direction:column;gap:var(--kfm-space-x2)}.figure-value{font-family:var(--kfm-font-display);font-size:var(--kfm-type-numeric-large-size);line-height:var(--kfm-type-numeric-large-line);letter-spacing:var(--kfm-type-numeric-large-tracking);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.panel{background:color-mix(in srgb,var(--kfm-color-glass-surface) calc(var(--kfm-glass-opacity) * 100%),transparent);backdrop-filter:var(--kfm-glass-filter);-webkit-backdrop-filter:var(--kfm-glass-filter);border:var(--kfm-border-hairline) solid var(--kfm-color-border-primary);border-radius:var(--kfm-radius-xl);box-shadow:var(--kfm-shadow-high)}.shell{display:grid;min-height:100dvh;position:relative;z-index:1}@media (min-width:1024px){.shell{grid-template-columns:260px 1fr}}@media (min-width:640px) and (max-width:1023px){.shell{grid-template-columns:76px 1fr}}@media (max-width:639px){.shell{grid-template-columns:1fr}}.nav{display:flex;flex-direction:column;gap:var(--kfm-space-x1);padding:var(--kfm-space-x4);border-right:var(--kfm-border-hairline) solid var(--kfm-color-border-subtle);position:-webkit-sticky;position:sticky;top:0;height:100dvh}@media (max-width:639px){.nav{position:fixed;inset:auto 0 0 0;height:auto;flex-direction:row;justify-content:space-around;border-right:0;border-top:var(--kfm-border-hairline) solid var(--kfm-color-border-primary);padding:var(--kfm-space-x2) var(--kfm-space-x2) calc(var(--kfm-space-x2) + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--kfm-color-background-secondary) 92%,transparent);backdrop-filter:var(--kfm-glass-filter);-webkit-backdrop-filter:var(--kfm-glass-filter);z-index:10}}.nav-brand{display:flex;align-items:center;gap:var(--kfm-space-x3);padding:var(--kfm-space-x2) var(--kfm-space-x3) var(--kfm-space-x5)}@media (max-width:1023px){.nav-brand{display:none}}.nav-link{display:flex;align-items:center;gap:var(--kfm-space-x3);padding:var(--kfm-space-x3);border-radius:var(--kfm-radius-md);color:var(--kfm-color-text-secondary);text-decoration:none;font-weight:600;font-size:var(--kfm-type-body-size);transition:background-color var(--kfm-duration-fast) var(--kfm-ease-standard)}.nav-link:hover{background:var(--kfm-color-accent-tint);color:var(--kfm-color-text-primary);box-shadow:var(--kfm-shadow-low)}.nav-link[aria-current=page],.nav-link[aria-current=page]:hover{background:var(--kfm-color-accent-tint-strong);color:var(--kfm-color-accent-secondary);box-shadow:inset 3px 0 0 var(--kfm-color-accent-primary)}@media (max-width:639px){.nav-link[aria-current=page],.nav-link[aria-current=page]:hover{box-shadow:inset 0 3px 0 var(--kfm-color-accent-primary)}}.nav-link:focus-visible{outline:2px solid var(--kfm-color-accent-secondary);outline-offset:2px}@media (max-width:1023px){.nav-label{display:none}.nav-link{justify-content:center}}.nav-icon{font-size:18px;line-height:1}.main{padding:var(--kfm-space-x6) var(--kfm-space-x5);max-width:1100px;width:100%}@media (max-width:639px){.main{padding:var(--kfm-space-x5) var(--kfm-space-x4) calc(var(--kfm-space-x8) * 1.6)}}.stack{display:flex;flex-direction:column;gap:var(--kfm-space-x5)}.grid-2{display:grid;grid-gap:var(--kfm-space-x4);gap:var(--kfm-space-x4);grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.option-list{display:flex;flex-direction:column;border:var(--kfm-border-hairline) solid var(--kfm-color-border-primary);border-radius:var(--kfm-radius-lg);overflow:hidden;margin:0;padding:0}.option{display:flex;align-items:center;gap:var(--kfm-space-x3);width:100%;position:relative;text-align:left;padding:var(--kfm-space-x3) var(--kfm-space-x4);background:transparent;border:0;border-bottom:var(--kfm-border-hairline) solid var(--kfm-color-border-subtle);color:var(--kfm-color-text-primary);font:inherit;cursor:pointer;transition:background-color var(--kfm-duration-fast) var(--kfm-ease-standard)}.option:last-child{border-bottom:0}.option:hover{background:var(--kfm-color-surface-elevated);z-index:1;box-shadow:inset 3px 0 0 var(--kfm-color-accent-primary),inset 0 0 0 1px var(--kfm-color-accent-tint-strong),var(--kfm-shadow-medium)}.option[aria-checked=true]{background:var(--kfm-color-accent-tint);color:var(--kfm-color-accent-secondary)}.option[aria-checked=true]:hover{background:var(--kfm-color-accent-tint-strong);color:var(--kfm-color-accent-secondary)}.option:focus-visible{outline:2px solid var(--kfm-color-accent-secondary);outline-offset:-2px}.option-body{display:flex;flex-direction:column;gap:2px;flex:1 1;min-width:0}.option-body b{font-weight:600;font-size:var(--kfm-type-body-large-size)}.option-body small{color:var(--kfm-color-text-muted);font-size:var(--kfm-type-body-small-size)}.account-name{text-transform:uppercase;letter-spacing:.04em}.row-number{flex:none;min-width:4ch;text-align:right;color:var(--kfm-color-text-muted);font-size:var(--kfm-type-body-large-size);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;align-self:flex-start;line-height:24px}.swatch{width:26px;height:26px;border-radius:var(--kfm-radius-pill);border:var(--kfm-border-hairline) solid var(--kfm-color-border-primary);flex:none}.tick{width:18px;text-align:right;color:var(--kfm-color-accent-secondary)}.btn{font:inherit;font-weight:600;padding:var(--kfm-space-x3) var(--kfm-space-x4);border-radius:var(--kfm-radius-md);border:var(--kfm-border-hairline) solid var(--kfm-color-border-primary);background:transparent;color:var(--kfm-color-text-primary);cursor:pointer}.btn:hover:not(:disabled){background:var(--kfm-color-background-tertiary);border-color:var(--kfm-color-accent-primary);box-shadow:var(--kfm-shadow-low)}.btn:focus-visible{outline:2px solid var(--kfm-color-accent-secondary);outline-offset:2px}.btn:disabled{opacity:.45;cursor:default}.btn-primary{color:var(--kfm-color-text-on-accent)}.btn-primary,.btn.btn-primary:hover:not(:disabled){background:var(--kfm-color-accent-primary);border-color:transparent}.btn.btn-primary:hover:not(:disabled){filter:brightness(1.08)}.field{font:inherit;width:100%;padding:var(--kfm-space-x3) var(--kfm-space-x4);border-radius:var(--kfm-radius-md);border:1px solid color-mix(in srgb,var(--kfm-color-text-primary) 30%,transparent);background:var(--kfm-color-surface-elevated);color:var(--kfm-color-text-primary)}.field:hover:not(:disabled){border-color:color-mix(in srgb,var(--kfm-color-text-primary) 48%,transparent)}.field::placeholder{color:var(--kfm-color-text-muted)}.field:focus-visible{outline:none;border-color:var(--kfm-color-accent-primary)}.field:disabled{opacity:.6}.divider{display:flex;align-items:center;gap:var(--kfm-space-x3);color:var(--kfm-color-text-muted);font-size:var(--kfm-type-label-size);text-transform:uppercase;letter-spacing:.08em}.divider:after,.divider:before{content:"";flex:1 1;height:var(--kfm-border-hairline);background:var(--kfm-color-border-primary)}.shell-bare{display:grid;min-height:100dvh;position:relative;z-index:1;place-items:center;padding:var(--kfm-space-x6) var(--kfm-space-x4)}@keyframes kfm-enter{0%{opacity:0;transform:translateY(calc(var(--kfm-motion-scale) * 10px))}to{opacity:1;transform:none}}@keyframes kfm-pop{0%{opacity:0;transform:scale(calc(1 - var(--kfm-motion-scale) * .35))}to{opacity:1;transform:none}}.main>*,.shell-bare>*{animation:kfm-enter var(--kfm-duration-base) var(--kfm-ease-decelerate) both}.btn{transition:background-color var(--kfm-duration-fast) var(--kfm-ease-standard),border-color var(--kfm-duration-fast) var(--kfm-ease-standard),box-shadow var(--kfm-duration-fast) var(--kfm-ease-standard),opacity var(--kfm-duration-fast) var(--kfm-ease-standard),transform var(--kfm-duration-instant) var(--kfm-ease-standard)}.btn:active:not(:disabled){transform:scale(calc(1 - var(--kfm-motion-scale) * .02))}.option{transition:background-color var(--kfm-duration-fast) var(--kfm-ease-standard),border-color var(--kfm-duration-fast) var(--kfm-ease-standard),box-shadow var(--kfm-duration-fast) var(--kfm-ease-standard),transform var(--kfm-duration-instant) var(--kfm-ease-standard)}.option:active{transform:scale(calc(1 - var(--kfm-motion-scale) * .01))}.option[aria-checked=true] .tick{animation:kfm-pop var(--kfm-duration-fast) var(--kfm-ease-emphasized) both}.swatch{transition:transform var(--kfm-duration-fast) var(--kfm-ease-emphasized)}.option[aria-checked=true] .swatch{transform:scale(calc(1 + var(--kfm-motion-scale) * .12))}.field{transition:border-color var(--kfm-duration-fast) var(--kfm-ease-standard),background-color var(--kfm-duration-fast) var(--kfm-ease-standard)}.nav-link{transition:background-color var(--kfm-duration-fast) var(--kfm-ease-standard),box-shadow var(--kfm-duration-fast) var(--kfm-ease-standard),color var(--kfm-duration-fast) var(--kfm-ease-standard),transform var(--kfm-duration-instant) var(--kfm-ease-standard)}.nav-link:active{transform:scale(calc(1 - var(--kfm-motion-scale) * .02))}.reveal{animation:kfm-enter var(--kfm-duration-fast) var(--kfm-ease-decelerate) both}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important}}.detail{flex-direction:column;padding:var(--kfm-space-x4);background:var(--kfm-color-background-tertiary);border-bottom:var(--kfm-border-hairline) solid var(--kfm-color-border-subtle);animation:kfm-enter var(--kfm-duration-fast) var(--kfm-ease-decelerate) both}.detail,.detail-line{display:flex;gap:var(--kfm-space-x3)}.detail-line{align-items:baseline;justify-content:space-between}.detail-line>span:first-child{color:var(--kfm-color-text-muted);font-size:var(--kfm-type-body-small-size)}.detail-line>span:last-child{text-align:right}.actions{display:flex;flex-wrap:wrap;gap:var(--kfm-space-x2);margin-top:var(--kfm-space-x1)}.btn-sm{padding:6px 12px;font-size:var(--kfm-type-body-small-size);border-radius:var(--kfm-radius-sm);min-height:0}.btn-edit{background:var(--kfm-color-action-edit-tint);border-color:var(--kfm-color-action-edit-tint);color:var(--kfm-color-action-edit)}.btn-save{background:var(--kfm-color-action-save-tint);border-color:var(--kfm-color-action-save-tint);color:var(--kfm-color-action-save)}.btn-delete{background:var(--kfm-color-action-delete-tint);border-color:var(--kfm-color-action-delete-tint);color:var(--kfm-color-action-delete)}.btn-archive{background:var(--kfm-color-action-archive-tint);border-color:var(--kfm-color-action-archive-tint);color:var(--kfm-color-action-archive)}.btn.btn-edit:hover:not(:disabled){background:var(--kfm-color-action-edit-tint);border-color:var(--kfm-color-action-edit)}.btn.btn-save:hover:not(:disabled){background:var(--kfm-color-action-save-tint);border-color:var(--kfm-color-action-save)}.btn.btn-delete:hover:not(:disabled){background:var(--kfm-color-action-delete-tint);border-color:var(--kfm-color-action-delete)}.btn.btn-archive:hover:not(:disabled){background:var(--kfm-color-action-archive-tint);border-color:var(--kfm-color-action-archive)}.btn.btn-cancel,.btn.btn-cancel:hover:not(:disabled){background:var(--kfm-color-action-delete-tint);border-color:var(--kfm-color-action-delete-tint);color:var(--kfm-color-action-delete)}.btn.btn-cancel:hover:not(:disabled){border-color:var(--kfm-color-action-delete);filter:brightness(1.06)}.btn.btn-in,.btn.btn-out{background:transparent}.btn.btn-out{border-color:color-mix(in srgb,var(--kfm-color-negative) 45%,transparent);color:var(--kfm-color-negative)}.btn.btn-in{border-color:color-mix(in srgb,var(--kfm-color-positive) 45%,transparent);color:var(--kfm-color-positive)}.btn.btn-out.is-chosen,.btn.btn-out:hover:not(:disabled){background:var(--kfm-color-negative-tint);border-color:var(--kfm-color-negative);color:var(--kfm-color-negative)}.btn.btn-in.is-chosen,.btn.btn-in:hover:not(:disabled){background:var(--kfm-color-positive-tint);border-color:var(--kfm-color-positive);color:var(--kfm-color-positive)}.btn.btn-in.is-chosen,.btn.btn-out.is-chosen{font-weight:700;box-shadow:var(--kfm-shadow-low)}.btn.btn-archive:hover:not(:disabled),.btn.btn-delete:hover:not(:disabled),.btn.btn-edit:hover:not(:disabled),.btn.btn-save:hover:not(:disabled){filter:brightness(1.06)}.peek-btn{flex:none;padding:4px 10px;font-size:var(--kfm-type-body-small-size);font-weight:600;border-radius:var(--kfm-radius-pill);border:var(--kfm-border-hairline) solid var(--kfm-color-border-primary);background:var(--kfm-color-background-tertiary);color:var(--kfm-color-text-secondary);cursor:pointer;font-family:inherit;white-space:nowrap;transition:background-color var(--kfm-duration-fast) var(--kfm-ease-standard),border-color var(--kfm-duration-fast) var(--kfm-ease-standard),color var(--kfm-duration-fast) var(--kfm-ease-standard)}.peek-btn:hover{background:var(--kfm-color-accent-tint)}.peek-btn:hover,.peek-btn[aria-expanded=true]{border-color:var(--kfm-color-accent-primary);color:var(--kfm-color-accent-secondary)}.peek-btn[aria-expanded=true]{background:var(--kfm-color-accent-tint-strong)}.peek-btn:focus-visible{outline:2px solid var(--kfm-color-accent-secondary);outline-offset:2px}.peek-btn-corner{position:absolute;top:var(--kfm-space-x3);right:var(--kfm-space-x3)}.detail-standalone{border:var(--kfm-border-hairline) solid var(--kfm-color-border-primary);border-radius:var(--kfm-radius-lg)}.peek-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--kfm-space-x3);font-size:var(--kfm-type-body-small-size)}.peek-row>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.figure.tile-negative,.figure.tile-positive{background:color-mix(in srgb,var(--kfm-color-surface-elevated) calc(var(--kfm-glass-surface-opacity) * 100%),transparent)}.figure.tile-retained{border-top:2px solid var(--kfm-color-retained)}.sheet-backdrop{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:var(--kfm-space-x5);background:rgba(0,0,0,.45);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:kfm-fade var(--kfm-duration-fast) var(--kfm-ease-standard) both}@keyframes kfm-fade{0%{opacity:0}to{opacity:1}}@keyframes kfm-sheet-in{0%{opacity:0;transform:translateY(calc(var(--kfm-motion-scale) * 24px)) scale(calc(1 - var(--kfm-motion-scale) * .02))}to{opacity:1;transform:none}}.sheet{position:relative;width:min(560px,100%);max-height:min(88vh,900px);display:flex;flex-direction:column;border-radius:var(--kfm-radius-xl);border:var(--kfm-border-hairline) solid var(--kfm-color-border-primary);background:var(--kfm-color-background-secondary);box-shadow:var(--kfm-shadow-high);animation:kfm-sheet-in var(--kfm-duration-base) var(--kfm-ease-decelerate) both}.sheet-head{display:flex;align-items:center;gap:var(--kfm-space-x3);padding:var(--kfm-space-x4) var(--kfm-space-x5);border-bottom:var(--kfm-border-hairline) solid var(--kfm-color-border-subtle)}.sheet-title{flex:1 1;margin:0;font-family:var(--kfm-font-display);font-size:var(--kfm-type-h3-size);font-weight:600}.sheet-close{flex:none;width:32px;height:32px;display:grid;place-items:center;border-radius:var(--kfm-radius-pill);border:var(--kfm-border-hairline) solid var(--kfm-color-action-delete-tint);background:var(--kfm-color-action-delete-tint);color:var(--kfm-color-action-delete);font:inherit;font-size:18px;line-height:1;cursor:pointer;transition:background-color var(--kfm-duration-fast) var(--kfm-ease-standard),border-color var(--kfm-duration-fast) var(--kfm-ease-standard)}.sheet-close:hover{border-color:var(--kfm-color-action-delete)}.sheet-close:focus-visible{outline:2px solid var(--kfm-color-accent-secondary);outline-offset:2px}.sheet-body{padding:var(--kfm-space-x5);overflow-y:auto;-webkit-overflow-scrolling:touch}@media (max-width:639px){.sheet-backdrop{align-items:flex-end;padding:0}.sheet{width:100%;max-height:92dvh;border-radius:var(--kfm-radius-xl) var(--kfm-radius-xl) 0 0;border-bottom:0;padding-bottom:env(safe-area-inset-bottom)}}.card-hero{position:relative;overflow:hidden;padding:var(--kfm-space-x6) var(--kfm-space-x5);border-radius:var(--kfm-radius-xl);border:var(--kfm-border-hairline) solid var(--kfm-color-border-primary);background:radial-gradient(120% 140% at 100% 0,var(--kfm-color-accent-tint) 0,transparent 55%),var(--kfm-color-background-secondary);box-shadow:var(--kfm-shadow-medium)}.card-hero:before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:linear-gradient(90deg,#22c7de,#6d4aff,#ce2a8b)}.card-hero .figure-value{font-size:clamp(var(--kfm-type-numeric-large-size),7vw,calc(var(--kfm-type-numeric-large-size) * 1.35))}.card-hero .eyebrow{letter-spacing:.12em}.chip-strip{display:flex;gap:var(--kfm-space-x2);overflow-x:auto;padding:2px var(--kfm-space-x1);scrollbar-width:none;scroll-snap-type:x proximity}.chip-strip::-webkit-scrollbar{display:none}.chip{flex:none;scroll-snap-align:center;padding:var(--kfm-space-x2) var(--kfm-space-x4);border-radius:var(--kfm-radius-pill);border:var(--kfm-border-hairline) solid var(--kfm-color-border-primary);background:transparent;color:var(--kfm-color-text-secondary);font:inherit;font-size:var(--kfm-type-body-small-size);font-weight:600;white-space:nowrap;cursor:pointer;transition:background-color var(--kfm-duration-fast) var(--kfm-ease-standard),border-color var(--kfm-duration-fast) var(--kfm-ease-standard),color var(--kfm-duration-fast) var(--kfm-ease-standard)}.chip:hover{border-color:var(--kfm-color-accent-primary);color:var(--kfm-color-text-primary)}.chip.chip-on,.chip.chip-on:hover{background:var(--kfm-color-accent-primary);border-color:var(--kfm-color-accent-primary);color:var(--kfm-color-text-on-accent)}.chip:focus-visible{outline:2px solid var(--kfm-color-accent-secondary);outline-offset:2px}.budget-card,.budget-list{display:flex;flex-direction:column;gap:var(--kfm-space-x3)}.budget-card{padding:var(--kfm-space-x4) var(--kfm-space-x5);border-radius:var(--kfm-radius-xl);border:var(--kfm-border-hairline) solid var(--kfm-color-border-primary);background:color-mix(in srgb,var(--kfm-color-surface-elevated) calc(var(--kfm-glass-surface-opacity) * 100%),transparent);transition:border-color var(--kfm-duration-fast) var(--kfm-ease-standard),box-shadow var(--kfm-duration-fast) var(--kfm-ease-standard),transform var(--kfm-duration-fast) var(--kfm-ease-standard)}.budget-card:hover{border-color:var(--kfm-color-accent-primary);box-shadow:var(--kfm-shadow-medium);transform:translateY(calc(var(--kfm-motion-scale) * -2px))}.budget-card.is-over{border-color:color-mix(in srgb,var(--kfm-color-negative) 55%,transparent)}.budget-card-head{display:flex;align-items:flex-start;gap:var(--kfm-space-x3)}.budget-card-open{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px;background:transparent;border:0;padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer}.budget-card-open:focus-visible{outline:2px solid var(--kfm-color-accent-secondary);outline-offset:4px;border-radius:var(--kfm-radius-sm)}.budget-card-name{font-size:var(--kfm-type-body-small-size);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--kfm-color-text-muted)}.budget-card-figure{font-family:var(--kfm-font-display);font-size:var(--kfm-type-h2-size);line-height:1.15;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.budget-card-of{font-size:var(--kfm-type-body-small-size);color:var(--kfm-color-text-muted)}.budget-card-of,.budget-card-share{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.budget-card-share{flex:none;text-align:right;font-weight:700;font-size:var(--kfm-type-body-large-size)}.budget-bar{display:block;height:6px;border-radius:var(--kfm-radius-pill);overflow:hidden;background:var(--kfm-color-accent-tint-strong)}.budget-bar.is-over{background:var(--kfm-color-negative-tint)}.budget-bar>span{display:block;height:100%;border-radius:var(--kfm-radius-pill);background:var(--kfm-color-accent-primary)}.budget-bar.is-over>span{background:var(--kfm-color-negative)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:6px;gap:6px}.cal-weekday{padding:4px 0;text-align:center;font-size:var(--kfm-type-caption-size);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--kfm-color-text-muted)}.cal-blank,.cal-cell{aspect-ratio:1}.cal-cell{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;padding:6px 2px;border:var(--kfm-border-hairline) solid var(--kfm-color-border-subtle);border-radius:var(--kfm-radius-md);background:var(--kfm-color-surface-elevated);color:var(--kfm-color-text-primary);font:inherit;cursor:pointer;transition:background var(--kfm-motion-fast) ease,border-color var(--kfm-motion-fast) ease}.cal-cell:hover:not(:disabled){background:var(--kfm-color-background-tertiary)}.cal-cell:focus-visible{outline:2px solid var(--kfm-color-accent-primary);outline-offset:2px}.cal-cell.is-empty{background:transparent;cursor:default;color:var(--kfm-color-text-muted)}.cal-cell.is-today{background:var(--kfm-color-accent-tint)}.cal-cell.is-open,.cal-cell.is-today{border-color:var(--kfm-color-accent-primary)}.cal-cell.has-late{border-color:var(--kfm-color-negative)}.cal-day-num{font-size:var(--kfm-type-body-small-size);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cal-dots{display:flex;flex-wrap:wrap;justify-content:center;gap:3px;max-width:100%}.cal-dot{width:5px;height:5px;border-radius:var(--kfm-radius-pill);background:var(--kfm-color-text-muted)}.cal-dot.is-due{background:var(--kfm-color-accent-primary)}.cal-dot.is-late,.cal-dot.is-out{background:var(--kfm-color-negative)}.cal-dot.is-out{opacity:.55}.cal-dot.is-in{background:var(--kfm-color-positive);opacity:.7}.cal-dot.is-goal{background:var(--kfm-color-retained)}.greeting{display:flex;align-items:center;gap:var(--kfm-space-x3)}.avatar{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:var(--kfm-radius-pill);border:var(--kfm-border-hairline) solid var(--kfm-color-border-primary);background:var(--kfm-color-accent-tint);color:var(--kfm-color-accent-secondary);font-size:var(--kfm-type-body-large-size);font-weight:700}.greeting-name{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:1px}.greeting-name b{font-size:var(--kfm-type-body-large-size);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.icon-btn{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:var(--kfm-radius-pill);border:var(--kfm-border-hairline) solid var(--kfm-color-border-subtle);background:var(--kfm-color-surface-elevated);color:var(--kfm-color-text-secondary);font:inherit;font-size:var(--kfm-type-body-large-size);cursor:pointer;transition:background var(--kfm-duration-fast) var(--kfm-ease-standard)}.icon-btn:hover{background:var(--kfm-color-background-tertiary)}.icon-btn:focus-visible{outline:2px solid var(--kfm-color-accent-primary);outline-offset:2px}.hero-figure{display:flex;flex-direction:column;gap:var(--kfm-space-x1);padding:var(--kfm-space-x2) 0}.hero-figure .eyebrow{color:var(--kfm-color-net-worth);font-weight:700;letter-spacing:.12em}.hero-figure .figure-value{font-size:clamp(var(--kfm-type-numeric-large-size),9vw,calc(var(--kfm-type-numeric-large-size) * 1.7));line-height:1.05}.quick-actions{display:flex;gap:var(--kfm-space-x2)}.quick-action{flex:1 1;padding:var(--kfm-space-x3);border-radius:var(--kfm-radius-pill);border:var(--kfm-border-hairline) solid var(--kfm-color-border-primary);background:var(--kfm-color-surface-elevated);color:var(--kfm-color-text-primary);font:inherit;font-size:var(--kfm-type-body-small-size);font-weight:600;text-align:center;text-decoration:none;cursor:pointer;transition:background var(--kfm-duration-fast) var(--kfm-ease-standard)}.quick-action:hover{background:var(--kfm-color-background-tertiary)}.quick-action:focus-visible{outline:2px solid var(--kfm-color-accent-primary);outline-offset:2px}.tile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:var(--kfm-space-x3)}.grad-tile,.tile-grid{gap:var(--kfm-space-x3)}.grad-tile{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:132px;padding:var(--kfm-space-x4);border-radius:var(--kfm-radius-xl);border:0;background:linear-gradient(135deg,var(--tile-from) 0,var(--kfm-color-surface-elevated) 100%);box-shadow:var(--kfm-shadow-low);color:var(--kfm-color-text-primary);font:inherit;text-align:left;cursor:pointer;transition:transform var(--kfm-duration-fast) var(--kfm-ease-standard),box-shadow var(--kfm-duration-fast) var(--kfm-ease-standard)}.grad-tile:hover{transform:translateY(-2px);box-shadow:var(--kfm-shadow-medium)}.grad-tile:focus-visible{outline:2px solid var(--kfm-color-accent-primary);outline-offset:2px}.grad-tile.is-wide{grid-column:1/-1;flex-direction:row;align-items:center;gap:var(--kfm-space-x4);min-height:0}.tile-badge{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:var(--kfm-radius-md);background:color-mix(in srgb,var(--kfm-color-surface-primary) 35%,transparent);font-size:var(--kfm-type-body-size)}.grad-tile.is-wide .tile-badge{width:40px;height:40px}.tile-body{display:flex;flex-direction:column;gap:1px;min-width:0}.tile-body .num{font-size:var(--kfm-type-numeric-size);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.grad-tile.is-wide .tile-body .num{font-size:var(--kfm-type-numeric-large-size)}.tile-body small{color:var(--kfm-color-text-secondary)}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--kfm-space-x3)}.edit-pill{flex:none;padding:var(--kfm-space-x2) var(--kfm-space-x4);border-radius:var(--kfm-radius-pill);border:var(--kfm-border-hairline) solid var(--kfm-color-border-primary);background:var(--kfm-color-surface-elevated);color:var(--kfm-color-text-secondary);font:inherit;font-size:var(--kfm-type-body-small-size);font-weight:600;cursor:pointer;transition:background var(--kfm-duration-fast) var(--kfm-ease-standard)}.edit-pill:hover:not(:disabled){background:var(--kfm-color-background-tertiary)}.edit-pill:disabled{opacity:.4;cursor:not-allowed}.edit-pill.is-on{border-color:var(--kfm-color-accent-primary);background:var(--kfm-color-accent-tint);color:var(--kfm-color-accent-secondary)}.edit-pill:focus-visible{outline:2px solid var(--kfm-color-accent-primary);outline-offset:2px}.tick-box{flex:none;align-self:flex-start;width:20px;height:20px;margin-top:2px;border-radius:var(--kfm-radius-sm);border:1.5px solid var(--kfm-color-border-primary);background:transparent}.tick-box.is-on{border-color:transparent;background:var(--kfm-color-accent-primary);background-image:linear-gradient(45deg,transparent 42%,var(--kfm-color-text-on-accent) 42%,var(--kfm-color-text-on-accent) 55%,transparent 55%),linear-gradient(-45deg,transparent 60%,var(--kfm-color-text-on-accent) 60%,var(--kfm-color-text-on-accent) 73%,transparent 73%);background-size:55% 55%,55% 55%;background-position:20% 62%,45% 55%;background-repeat:no-repeat}.selection-bar{position:-webkit-sticky;position:sticky;bottom:var(--kfm-space-x4);z-index:5;display:flex;align-items:center;gap:var(--kfm-space-x3);padding:var(--kfm-space-x3) var(--kfm-space-x4);border-radius:var(--kfm-radius-pill);border:var(--kfm-border-hairline) solid var(--kfm-color-border-primary);background:var(--kfm-color-background-secondary);box-shadow:var(--kfm-shadow-high)}@media (max-width:639px){.selection-bar{bottom:calc(var(--kfm-space-x8) + env(safe-area-inset-bottom))}}.option[aria-selected=true]{background:var(--kfm-color-accent-tint)}.icon-btn{position:relative}.icon-badge{position:absolute;top:-2px;right:-2px;display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border-radius:var(--kfm-radius-pill);border:var(--kfm-border-hairline) solid var(--kfm-color-background-primary);background:var(--kfm-color-negative);color:var(--kfm-color-text-on-accent);font-size:var(--kfm-type-caption-size);font-weight:700;line-height:1}.attention{display:flex;flex-direction:column;gap:2px;padding:var(--kfm-space-x4);border:var(--kfm-border-hairline) solid var(--kfm-color-border-primary);border-left-width:3px;border-radius:var(--kfm-radius-md);background:var(--kfm-color-surface-elevated);color:var(--kfm-color-text-primary);text-decoration:none;transition:background var(--kfm-duration-fast) var(--kfm-ease-standard)}.attention:hover{background:var(--kfm-color-background-tertiary)}.attention:focus-visible{outline:2px solid var(--kfm-color-accent-primary);outline-offset:2px}.attention.is-now{border-left-color:var(--kfm-color-negative)}.attention.is-soon{border-left-color:var(--kfm-color-accent-primary)}.attention.is-later{border-left-color:var(--kfm-color-border-subtle)}.attention-head{display:flex;align-items:center;gap:var(--kfm-space-x2)}.attention-head b{flex:1 1;min-width:0}.attention-head small{font-size:var(--kfm-type-caption-size);font-weight:700;letter-spacing:.06em}.attention.is-now .attention-head small{color:var(--kfm-color-negative)}.attention.is-soon .attention-head small{color:var(--kfm-color-accent-secondary)}.attention.is-later .attention-head small{color:var(--kfm-color-text-muted)}