:root{--bg: #0f172a;--surface: #1e293b;--surface-2: #334155;--text: #f1f5f9;--muted: #94a3b8;--border: #334155;--accent: #60a5fa;--expense: #f87171;--income: #34d399;--radius: 14px;--nav-h: 72px;--nav-bump: 0px;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}html,body{overflow:hidden;overscroll-behavior:none}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}h1{font-size:1.5rem;margin:0}h2{font-size:1.05rem}.muted{color:var(--muted);font-size:.9rem}.hint{margin-top:1.5rem;line-height:1.5}.empty{padding:1.5rem 0;text-align:center}.app{max-width:560px;margin:0 auto;height:100%;height:var(--app-h, 100%);display:flex;flex-direction:column}.app__main{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;display:flex;flex-direction:column}.app__main>*{flex-shrink:0}.page{padding:1.25rem 1rem}.page__header{margin-bottom:1.25rem}.page--fill{display:flex;flex-direction:column;flex:1 0 auto}.page--fill>.form,.page__grow{flex:1 1 auto}.page__header--with-back{display:flex;align-items:center;gap:.5rem}.back-btn{flex:0 0 auto;width:44px;height:44px;margin:-4px 0 -4px -10px;display:inline-flex;align-items:center;justify-content:center;background:none;border:none;border-radius:50%;color:var(--text);font-size:1.5rem;line-height:1;cursor:pointer;-webkit-tap-highlight-color:transparent}.back-btn:active{background:var(--surface)}.section-title{color:var(--muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;margin:1.5rem 0 .75rem}.balance-card{background:var(--surface);border-radius:var(--radius);padding:1.5rem;text-align:center;border:1px solid var(--border)}.balance-card--negative .balance-card__value{color:var(--expense)}.balance-card--positive .balance-card__value{color:var(--income)}.balance-card__value{font-size:2.25rem;font-weight:700}.balance-card__row{display:flex;justify-content:center;gap:.75rem;margin-top:1rem}.chip{font-size:.85rem;padding:.25rem .6rem;border-radius:999px;background:var(--surface-2)}.chip--income{color:var(--income)}.chip--expense{color:var(--expense)}.actions{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1.25rem}.type-switch{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:var(--surface);border-radius:var(--radius)}.type-switch__btn{border:none;border-radius:calc(var(--radius) - 4px);padding:.6rem .5rem;font-size:.95rem;font-weight:600;color:var(--muted);background:transparent;cursor:pointer}.type-switch__btn--active{background:var(--surface-2)}.type-switch__btn--expense.type-switch__btn--active{color:var(--expense)}.type-switch__btn--income.type-switch__btn--active{color:var(--income)}.btn{border:none;border-radius:var(--radius);padding:.9rem 1rem;font-size:1rem;font-weight:600;color:#fff;cursor:pointer;background:var(--surface-2);transition:filter .15s ease}.btn:active{filter:brightness(.9)}.btn:disabled{opacity:.6;cursor:default}.btn--block{width:100%}.btn--expense{background:var(--expense)}.btn--income{background:var(--income);color:#06281c}.btn--primary{background:var(--accent);color:#071b33}.btn--danger{background:transparent;color:var(--expense);border:1px solid var(--expense)}.link-btn{background:none;border:none;color:var(--text);font-size:1.4rem;cursor:pointer;padding:0}.link-btn-inline{background:none;border:none;color:var(--accent);cursor:pointer;font-size:.9rem;padding:0}.tx-list,.cat-list,.legend{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.tx-item{display:flex;justify-content:space-between;align-items:center;background:var(--surface);border-radius:var(--radius);padding:.75rem 1rem;border:1px solid var(--border)}.tx-group{margin-top:.5rem}.tx-month{position:sticky;top:0;z-index:1;margin:.75rem 0 .5rem;padding:.35rem 0;font-size:.85rem;color:var(--muted);text-transform:capitalize;background:var(--bg)}.tx-day+.tx-day{margin-top:.85rem}.tx-day__title{margin:0 0 .4rem .25rem;font-size:.8rem;font-weight:600;color:var(--muted)}.tx-item{gap:.75rem}.tx-item--clickable,.cat-item--clickable{cursor:pointer}.tx-item--clickable:active,.cat-item--clickable:active{filter:brightness(1.1)}.filters{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.datetime-row{display:flex;gap:.5rem}.datetime-row .field__input{flex:1}.datetime-row__time{max-width:40%}.filters__dates{display:flex;align-items:center;gap:.5rem}.filters__dates .field__input{flex:1}.chipms{display:flex;flex-direction:column;gap:.4rem}.chipms__head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.chipms__label{color:var(--muted);font-size:.8rem}.chipms__invert{font-size:.75rem}.chipms__row{display:flex;flex-wrap:wrap;gap:.4rem}.seg{display:flex;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.25rem;gap:.25rem}.seg__btn{flex:1;background:none;border:none;color:var(--muted);padding:.5rem;border-radius:10px;cursor:pointer;font-size:.9rem}.seg__btn--active{background:var(--surface-2);color:var(--text);font-weight:600}.seg--period .seg__btn{padding:.5rem .2rem;font-size:.82rem}.stepper{display:flex;align-items:center;justify-content:space-between;gap:.5rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.25rem}.stepper__btn{flex-shrink:0;width:2.25rem;height:2.25rem;background:var(--surface-2);border:none;color:var(--text);border-radius:10px;font-size:1.2rem;line-height:1;cursor:pointer}.stepper__btn:active{background:var(--border)}.stepper__pick{position:relative;flex:1;display:flex;justify-content:center;cursor:pointer}.stepper__label{font-weight:600;text-transform:capitalize;pointer-events:none}.stepper__native{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;padding:0;border:none;opacity:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.tx-item__cat-icon{font-size:1.4rem;flex-shrink:0}.tx-item__main{display:flex;flex-direction:column;gap:.15rem;min-width:0;flex:1}.tx-item__tags{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.15rem}.tx-item__category{font-weight:600}.tx-item__note{color:var(--muted);font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tx-item__right{text-align:right;display:flex;flex-direction:column;gap:.15rem}.tx-item__amount{font-weight:700;white-space:nowrap}.tx-item__amount--expense{color:var(--expense)}.tx-item__amount--income{color:var(--income)}.tx-item__date{color:var(--muted);font-size:.75rem}.form{display:flex;flex-direction:column;gap:1.1rem}.form--inline{flex-direction:row;flex-wrap:wrap;gap:.5rem;align-items:stretch}.field{display:flex;flex-direction:column;gap:.4rem}.field__label{color:var(--muted);font-size:.85rem}.field__input{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.8rem 1rem;color:var(--text);font-size:1rem;width:100%}.field__input:focus{outline:none;border-color:var(--accent)}.field__input--amount{font-size:1.75rem;font-weight:700;text-align:center}.field__input--select{-webkit-appearance:none;-moz-appearance:none;appearance:none}.form--inline .field__input{width:auto;flex:1 1 auto}.form-error{color:var(--expense);font-size:.9rem;margin:0}.category-grid{display:flex;flex-wrap:wrap;gap:.5rem}.category-chip{background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:.5rem .9rem;color:var(--text);font-size:.9rem;cursor:pointer}.category-chip--active{background:var(--accent);color:#071b33;border-color:var(--accent);font-weight:600}.category-chip__icon{margin-right:.35rem}.tag-input{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.6rem .75rem}.tag-input:focus-within{border-color:var(--accent)}.tag-input__field{flex:1;min-width:100px;background:none;border:none;color:var(--text);font-size:1rem;outline:none}.tag-chip{display:inline-flex;align-items:center;gap:.2rem;background:var(--surface-2);color:var(--text);border:none;border-radius:999px;padding:.25rem .6rem;font-size:.82rem;cursor:pointer}.tag-chip--removable{background:var(--accent);color:#071b33}.tag-chip__x{font-weight:700;opacity:.8}.tag-chip--suggestion{border:1px solid var(--border);background:transparent;color:var(--muted)}.tag-picker{display:flex;flex-wrap:wrap;gap:.4rem}.tag-chip--pick{border:1px solid var(--border);background:var(--surface);color:var(--text);padding:.4rem .8rem;font-size:.9rem}.tag-picker__toggle{align-self:flex-start;margin-top:.6rem}.tag-chip--mini{padding:.1rem .45rem;font-size:.72rem;color:var(--muted)}.tag-chip--active{background:var(--accent);color:#071b33;font-weight:600}.tag-suggestions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}.tag-filter{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}.add-cat{gap:.75rem}.add-cat__row{display:flex;gap:.5rem;align-items:center}.add-cat__row .field__input{flex:1}.add-cat__preview{padding:0;border:2px solid transparent;cursor:pointer;font-size:1.6rem;width:2.4rem;height:2.4rem;display:flex;align-items:center;justify-content:center;background:var(--surface-2);border-radius:var(--radius);flex-shrink:0}.color-swatch{width:2.4rem;height:2.4rem;flex-shrink:0;padding:0;border:2px solid var(--border);border-radius:var(--radius);cursor:pointer}.add-cat__preview--open,.color-swatch--open{border-color:var(--accent)}.color-palette{display:grid;gap:.35rem;padding:.6rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.color-palette__item{aspect-ratio:1;min-width:0;padding:0;border:2px solid transparent;border-radius:6px;cursor:pointer}.color-palette__item--active{border-color:var(--text);box-shadow:0 0 0 2px var(--bg) inset}.cat-icon{display:inline-block}.cat-icon--art{vertical-align:-.15em;flex-shrink:0}.emoji-picker__section{content-visibility:auto;contain-intrinsic-size:auto 20rem}.emoji-picker{display:flex;flex-direction:column;gap:.5rem}.emoji-picker__tabs{display:flex;gap:.1rem;overflow-x:auto;scrollbar-width:none}.emoji-picker__tab{flex:1 0 2.2rem;min-width:2.2rem;color:var(--text);height:2.2rem;padding:0;font-size:1.1rem;background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;opacity:.6}.emoji-picker__tab--active{border-bottom-color:var(--accent);opacity:1}.emoji-picker__scroll{position:relative;height:min(30vh,16rem);min-height:10rem;overflow-y:auto;overscroll-behavior:contain;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.4rem}.page__grow.emoji-picker .emoji-picker__scroll{flex:1 1 0;height:auto}.emoji-picker__title{font-size:.8rem;font-weight:600;color:var(--muted);margin:.4rem .2rem}.emoji-picker__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(2.5rem,1fr));gap:.15rem}.emoji-picker__note{padding:.5rem;text-align:center}.emoji-picker__item{aspect-ratio:1;font-size:1.4rem;color:var(--text);background:transparent;border:1px solid transparent;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.emoji-picker__item:active{background:var(--surface-2)}.emoji-picker__item--active{border-color:var(--accent);background:var(--surface-2)}.cat-item__icon{font-size:1.3rem}.cat-item__actions{display:flex;gap:.5rem;flex-shrink:0}.amount-row{display:flex;gap:.5rem;align-items:stretch}.amount-row .field__input--amount{flex:1}.amount-row__cur{width:6.5rem;flex-shrink:0}.amount-row__cur--foreign{border-color:#fbbf24;background-color:#fbbf241f;color:#fbbf24;font-weight:600}.conversion{background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius);padding:.75rem}.cat-item__right{display:flex;align-items:center;gap:.75rem}.wallet-balance{font-weight:700;white-space:nowrap}.gate__create{display:flex;flex-direction:column;gap:.5rem}.gate__create .field__input{text-align:center}.mode-hint{margin:0 0 .5rem;text-align:left}.settings-actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.import-preview{margin-top:.75rem;padding:.75rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;gap:.35rem}.import-preview__problems{margin:.25rem 0 0;padding-left:1.2rem}.cat-item{display:flex;justify-content:space-between;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1rem}.cat-item--archived{opacity:.6}.cat-item__main{display:flex;align-items:center;gap:.6rem}.cat-item__name{font-weight:600}.cat-item__edit{flex:1;margin-right:.5rem;padding:.5rem .7rem}.kind-badge{font-size:.7rem;padding:.1rem .5rem;border-radius:999px;background:var(--surface-2);color:var(--muted)}.kind-badge--expense{color:var(--expense)}.kind-badge--income{color:var(--income)}.cat-list--archived{margin-top:.75rem}.stats-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}.stats-summary__cell{display:flex;flex-direction:column;gap:.25rem;text-align:center;font-size:.95rem}.chart{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem}.legend{margin-top:.75rem}.donut{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem}.donut__center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.05rem;pointer-events:none;text-align:center}.donut__label{color:var(--muted);font-size:.7rem}.donut__expense{color:var(--expense);font-weight:700;font-size:1.05rem}.donut__income{color:var(--income);font-weight:700;font-size:1.05rem}.busy-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;display:flex;align-items:center;justify-content:center;z-index:100}.busy-overlay__box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1.5rem;display:flex;flex-direction:column;align-items:center;gap:.75rem;color:var(--muted);font-size:.9rem}.legend__item{display:flex;align-items:center;gap:.5rem}.legend__item--clickable{cursor:pointer}.legend__item--clickable:active{opacity:.6}.legend__dot{width:12px;height:12px;border-radius:3px;flex-shrink:0}.legend__name{flex:1}.legend__value{color:var(--muted)}.navbar{flex:0 0 auto;height:calc(var(--nav-h) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:var(--surface);border-top:1px solid var(--border);display:flex}.kb-open .navbar{display:none}.navbar__item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;text-decoration:none;color:var(--muted);font-size:.75rem}.navbar__item--active{color:var(--accent)}.navbar__icon{font-size:1.3rem}.navbar__item--home{align-self:center;transform:translateY(-8px);flex:0 0 auto;width:62px;height:62px;margin:0 .4rem;border-radius:50%;background:var(--surface-2);border:2px solid var(--surface-2);-webkit-tap-highlight-color:transparent}.navbar__item--home .navbar__icon{font-size:1.9rem}.navbar__item--home.navbar__item--active{background:#60a5fa2e;border-color:var(--accent)}.navbar__item--home:active{filter:brightness(.9)}.gate{min-height:100%;display:flex;align-items:center;justify-content:center;padding:1.5rem}.gate__box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:2rem 1.5rem;max-width:400px;width:100%;display:flex;flex-direction:column;gap:1rem;text-align:center}.gate__title{font-size:1.75rem}.gate__section{text-align:left;border-top:1px solid var(--border);padding-top:1rem}.gate__section .section-title{margin-top:0}.gate__section .btn,.gate__signout{margin-top:.5rem}code{background:var(--surface-2);padding:.1rem .35rem;border-radius:6px;font-size:.85em}.spinner{width:36px;height:36px;border:3px solid var(--surface-2);border-top-color:var(--accent);border-radius:50%;margin:0 auto;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.channel-badge{display:inline-block;margin-left:.5rem;padding:.1rem .45rem;font-size:.62em;font-weight:700;letter-spacing:.05em;vertical-align:middle;color:#fff;background:#ea580c;border-radius:.4rem}.sync-indicator{position:fixed;top:calc(env(safe-area-inset-top,0px) + 8px);right:10px;z-index:80;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;font-size:.8rem;line-height:1;color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:50%;box-shadow:0 2px 8px #0000002e;opacity:.9}.sync-indicator--error{color:#b45309;border-color:#f59e0b;cursor:pointer}.sync-indicator__spinner{width:13px;height:13px;border:2px solid var(--surface-2);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.update-toast{position:fixed;left:0;right:0;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom,0px) + 12px);z-index:90;max-width:560px;margin:0 auto;padding:.75rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 24px #00000059}.update-toast__text{font-size:.9rem;font-weight:600}.update-toast__actions{display:flex;gap:.5rem;flex-shrink:0}.update-toast__btn{padding:.4rem .8rem;font-size:.85rem;font-weight:600;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:.5rem;cursor:pointer}.update-toast__btn--primary{color:#fff;background:var(--accent);border-color:var(--accent)}.update-toast__btn:active{opacity:.7}.update-toast__btn:disabled{opacity:.6;cursor:default}.home{display:flex;flex-direction:column;gap:.6rem;height:calc(100vh - var(--nav-h) - var(--nav-bump) - env(safe-area-inset-bottom,0px));height:calc(100dvh - var(--nav-h) - var(--nav-bump) - env(safe-area-inset-bottom,0px));min-height:480px;padding-top:1.25rem;padding-bottom:.5rem}.home__head{display:flex;align-items:center;gap:.4rem;padding-right:28px}.home__title{white-space:nowrap}.home__rates-note{flex:0 0 auto;margin:-.35rem 0 0;color:var(--muted);font-size:.72rem}.home__actions{flex:0 0 auto;display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.home__actions .btn{display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.85rem .5rem}.home__actions .btn svg{font-size:1.15rem}.home__stats{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;justify-content:safe center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.4rem}.home__month{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.3rem .5rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.home__month-title{min-width:9.5rem;min-height:44px;padding:0 .75rem;background:none;border:none;border-radius:999px;color:var(--text);font-size:1rem;font-weight:600;cursor:pointer}.home__month-title:first-letter{text-transform:uppercase}.home__month-btn{width:44px;height:44px;flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:0;background:var(--surface-2);border:none;border-radius:50%;color:var(--text);font-size:1.25rem;line-height:1;cursor:pointer;-webkit-tap-highlight-color:transparent}.home__month-btn:active,.home__month-title:active{filter:brightness(1.25)}.home__month-title:active{background:var(--surface-2)}.home__month-btn:disabled{opacity:.25;cursor:default}.home__empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;text-align:center}.home__period{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.05rem;padding:.2rem .75rem}.home__period-title{white-space:nowrap}.home__period-caret{color:var(--muted);font-size:.75em}.home__period-wallet{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--income);font-size:.78rem;font-weight:500}.home__month-btn--hidden{visibility:hidden}.wallet-sheet{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;display:flex;align-items:flex-end;justify-content:center;z-index:100}.wallet-sheet__box{width:100%;max-width:480px;max-height:70vh;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;padding:0 1rem calc(1rem + env(safe-area-inset-bottom));animation:sheet-up .22s ease-out;transition:transform .2s ease-out}@keyframes sheet-up{0%{transform:translateY(100%)}}.wallet-sheet{animation:sheet-fade .22s ease-out}@keyframes sheet-fade{0%{background:#0f172a00}}.wallet-sheet__grab{flex:0 0 auto;padding-top:.5rem;touch-action:none}.wallet-sheet__handle{display:block;width:36px;height:4px;margin:0 auto .5rem;background:var(--surface-2);border-radius:2px}.home-sheet__period{flex:0 0 auto;display:flex;flex-direction:column;gap:.5rem;margin-bottom:.9rem}.home-sheet__now{align-self:center;padding:.35rem .9rem;background:none;border:1px solid var(--border);border-radius:999px;color:var(--text);font-size:.85rem;cursor:pointer}.wallet-sheet__head{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.5rem}.wallet-sheet__close{border:none;background:none;color:var(--muted);font-size:1.1rem;padding:.3rem .5rem;cursor:pointer}.wallet-sheet__list{list-style:none;margin:0;padding:0;overflow-y:auto}.wallet-sheet__row{width:100%;display:flex;justify-content:space-between;gap:1rem;padding:.75rem .85rem;margin-bottom:.35rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:1rem;text-align:left;cursor:pointer}.wallet-sheet__row--selected{border-color:var(--income)}.wallet-sheet__bal{font-weight:700;white-space:nowrap}.wallet-sheet__row--selected .wallet-sheet__bal{color:var(--income)}.wallet-sheet__row--negative .wallet-sheet__bal{color:var(--expense)}.home__tiles{flex:0 0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.home__tile{min-width:0;display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.5rem .2rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer}.home__tile:active{filter:brightness(.9)}.home__tile-icon{font-size:1.25rem;line-height:1.2}.home__tile-label{max-width:100%;font-size:.7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-height:700px){.home{gap:.45rem;padding-top:.5rem}.home__month{padding:.15rem .4rem}.home__month-btn{width:40px;height:40px}.home__actions .btn{padding:.7rem .5rem}.home__tile{padding:.35rem .2rem}.home__tile-label{display:none}.home__tile-icon{font-size:1.15rem}}.ring{position:relative;flex:1 1 auto;min-height:0;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ring__svg{position:absolute;top:0;right:0;bottom:0;left:0;overflow:visible}.ring__slice,.ring__label{cursor:pointer}.ring__slice,.ring__label{outline:none}.ring__slice,.ring__label,.ring__line,.ring__pct-on{transition:opacity .15s}.ring--held .ring__slice:not(.is-held),.ring--held .ring__label:not(.is-held),.ring--held .ring__line:not(.is-held),.ring--held .ring__pct-on:not(.is-held){opacity:.3}.ring__label.is-held .ring__name{font-weight:700}.ring__name{fill:var(--text)}.ring__pct{font-weight:700;paint-order:stroke;stroke:var(--surface);stroke-width:3px;stroke-linejoin:round}.ring__center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;text-align:center;line-height:1.15}.ring__center .donut__expense,.ring__center .donut__income{font-size:var(--ring-fs)}.crash{max-width:560px;margin:0 auto;padding:2rem 1rem;color:var(--text)}.crash h1{margin-bottom:.75rem}.crash__text{white-space:pre-wrap;word-break:break-word;font-size:.75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem;margin:1rem 0;-webkit-user-select:text;user-select:text}.crash__actions{display:flex;flex-wrap:wrap;gap:.75rem}.wallets-total{margin-bottom:1rem;padding:1rem}.wallets-total .balance-card__value{font-size:2rem;margin-top:.15rem}.wallets-total__note{font-size:.75rem;margin-top:.25rem}.ring__pct-on{font-weight:700;pointer-events:none}.icon-styles{display:flex;flex-direction:column;gap:.5rem}.icon-style{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;padding:.6rem .8rem;background:var(--surface);color:var(--text);border:2px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:left}.icon-style--active{border-color:var(--accent)}.icon-style__label{font-weight:600}.icon-style__preview{display:flex;gap:.6rem;font-size:1.7rem}.tpl-strip{flex:0 0 auto;display:flex;gap:.45rem;overflow-x:auto;scrollbar-width:none;margin:0 -1rem;padding:0 1rem .1rem;scroll-padding:0 1rem}.tpl-strip::-webkit-scrollbar{display:none}.tpl-chip{--tpl-color: var(--accent);flex:0 0 auto;display:flex;align-items:center;gap:.35rem;padding:.45rem .75rem .45rem .55rem;font-size:.85rem;color:var(--text);background:color-mix(in srgb,var(--tpl-color) 14%,var(--surface));border:1px solid color-mix(in srgb,var(--tpl-color) 45%,transparent);border-radius:999px;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.tpl-chip:active{filter:brightness(.85)}.tpl-chip__icon{font-size:1.1rem;display:flex}.tpl-chip__name{font-weight:600}.tpl-chip__amount{color:var(--muted);font-variant-numeric:tabular-nums}.tpl-toast{left:.75rem;right:.75rem;border-color:var(--income)}.tpl-sheet__head{display:flex;align-items:center;gap:.75rem;padding:.25rem 0 1rem}.tpl-sheet__icon{font-size:1.8rem;color:var(--text);display:flex}.tpl-sheet__info{flex:1;min-width:0}.tpl-sheet__name{font-weight:700;font-size:1.05rem}.tpl-sheet__meta{font-size:.85rem}.tpl-sheet__amount{font-weight:700;white-space:nowrap}.tpl-sheet__actions{display:grid;gap:.5rem}.tpl-save-btn{margin-top:.5rem;background:transparent;color:var(--accent);border:1px dashed var(--accent)}.tpl-list{grid-template-columns:minmax(0,1fr);list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.tpl-row{display:flex;align-items:center;gap:.6rem;padding:.65rem .75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.tpl-row__grip{color:var(--muted);letter-spacing:-.2em;cursor:grab}.tpl-row__icon{font-size:1.4rem;display:flex}.tpl-row__info{flex:1;min-width:0;display:flex;flex-direction:column}.tpl-row__name{font-weight:600}.tpl-row__meta{font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tpl-row__amount{font-weight:700;white-space:nowrap}
