:root{color-scheme:dark;--bg: #0f1419;--surface: #1a2029;--surface-2: #232b36;--line: #2e3947;--text: #e7ecf3;--muted: #8b97a7;--accent: #2f9e57;--accent-hover: #37b566;--plus: #43c98a;--minus: #ff6f61;--shadow: none;--radius: 14px;--gap: .75rem;--tabbar-h: 3.6rem;--safe-top: env(safe-area-inset-top);--safe-bottom: env(safe-area-inset-bottom);--safe-left: env(safe-area-inset-left);--safe-right: env(safe-area-inset-right);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-variant-numeric:tabular-nums;line-height:1.45}*{box-sizing:border-box}body{margin:0;padding:1rem max(1rem,env(safe-area-inset-right)) 2rem max(1rem,env(safe-area-inset-left));max-width:66rem;margin-inline:auto;background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent}@media(min-width:40rem){body{padding:1.75rem}}h1{font-size:clamp(1.25rem,5vw,1.6rem);font-weight:650;letter-spacing:-.01em;min-width:0;overflow-wrap:anywhere}.muted{color:var(--muted)}.small{font-size:.82rem}.error{color:var(--minus)}a{color:var(--accent-hover)}.plus{color:var(--plus)}.minus{color:var(--minus)}.row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.row h1{margin-right:auto}header.row{margin-bottom:1.25rem;row-gap:.75rem}header.row h1{flex:1 1 100%;margin:0}@media(min-width:40rem){header.row h1{flex:1 1 auto}}h1 a{color:var(--accent-hover);text-decoration:none}@media(hover:hover){h1 a:hover{text-decoration:underline}}button,.button,.tabs a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 .9rem;font:inherit;color:inherit;text-decoration:none;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);cursor:pointer}button:disabled{opacity:.5;cursor:default}button.primary,.button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}button.danger,.button.danger{color:var(--minus);border-color:#ff6f6173}@media(hover:hover){button:not(:disabled):hover,.button:hover,.tabs a:hover{border-color:var(--muted)}button.primary:not(:disabled):hover,.button.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}button.danger:not(:disabled):hover{background:#ff6f611f;border-color:var(--minus)}}button:not(:disabled):active,.button:active,.tabs a:active,.item:active{transform:translateY(1px)}:focus-visible{outline:2px solid currentColor;outline-offset:2px}.tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.tabs button,.tabs a{flex:0 0 auto}@media(max-width:34rem){.tabs button,.tabs a{padding:0 .65rem;font-size:.92rem}}.tabs button.chosen,.tabs a.chosen{background:var(--text);color:var(--bg);border-color:var(--text);font-weight:600}.summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,9.5rem),1fr));gap:var(--gap);margin-bottom:1.5rem}.summary>div{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:.9rem 1rem}.summary p{margin:.1rem 0}.total{font-size:clamp(.95rem,4vw,1.4rem);font-weight:650;letter-spacing:-.02em;overflow-wrap:anywhere}.summary>div:only-child .total{font-size:clamp(1.75rem,8vw,2.4rem)}.kinds{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:.15rem 1.25rem}.group{margin-bottom:1.5rem}.group-head{display:flex;align-items:baseline;gap:1rem;padding:0 .25rem .4rem}.group-head h2{font-size:.75rem;font-weight:600;margin:0 auto 0 0;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.group-total{font-weight:600}.items{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.item{display:grid;grid-template-columns:1fr auto auto;align-items:center;column-gap:.75rem;row-gap:.1rem;min-height:56px;padding:.7rem .9rem;color:inherit;text-decoration:none}.item+.item{border-top:1px solid var(--line)}@media(hover:hover){.item:hover{background:color-mix(in srgb,var(--text) 5%,transparent)}}.item-name{min-width:0;overflow-wrap:anywhere}.item-meta{grid-column:1 / -1}.item-amount{font-weight:600;white-space:nowrap;text-align:right}.item:after{content:"›";grid-row:1;grid-column:3;color:var(--muted);font-size:1.3rem;line-height:1}.share{grid-column:1 / -1;height:3px;border-radius:999px;background:var(--surface-2);overflow:hidden}.share>span{display:block;height:100%;background:var(--muted)}.section-title{margin:1.5rem 0 .5rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.25rem 0 0}.actions button{flex:1 1 auto}@media(min-width:40rem){.actions button{flex:0 0 auto}}.sheet-backdrop{position:fixed;inset:0;z-index:40;display:flex;align-items:flex-end;justify-content:center;background:#0000008c;padding:0}body.sheet-open{overflow:hidden}.sheet{width:100%;max-width:34rem;max-height:92dvh;overflow-y:auto;overscroll-behavior:contain;background:var(--surface);border:1px solid var(--line);border-bottom:none;border-radius:var(--radius) var(--radius) 0 0;padding:.4rem 1rem calc(1.25rem + var(--safe-bottom));animation:sheet-up .18s ease-out}@keyframes sheet-up{0%{transform:translateY(10%);opacity:.7}}.sheet-grip{width:36px;height:4px;margin:.35rem auto .6rem;border-radius:999px;background:var(--line)}.sheet-head{margin-bottom:.75rem}.sheet-head h2{margin:0 auto 0 0;font-size:1.05rem}.sheet-close{min-height:36px;padding:0 .7rem}@media(min-width:40rem){.sheet-backdrop{align-items:center;padding:1.5rem}.sheet{border-bottom:1px solid var(--line);border-radius:var(--radius);animation:none}.sheet-grip{display:none}}.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:.35rem 0 .5rem}.chip{min-height:38px;padding:0 .75rem;font-size:.9rem}.chip.chosen{background:var(--accent);border-color:var(--accent);color:#fff}.field-row{display:grid;grid-template-columns:1fr auto;gap:.4rem;align-items:center;margin-bottom:.5rem}.field-row select{grid-column:1;width:auto}.field-row .check{grid-column:1;display:flex;align-items:center;gap:.4rem;margin:0;color:var(--muted);font-size:.85rem}.field-row .check input{width:auto;min-height:auto}.field-row>button{grid-row:1 / span 3;grid-column:2;align-self:center}@media(min-width:30rem){.field-row{grid-template-columns:1fr 9rem auto auto}.field-row select,.field-row .check{grid-column:auto}.field-row>button{grid-row:1;grid-column:4}}.chart-block{margin-bottom:1.25rem}.chart{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:.75rem .5rem .25rem 0}.chart .recharts-cartesian-grid line,.chart .recharts-cartesian-axis-line,.chart .recharts-cartesian-axis-tick-line{stroke:var(--line)}.chart .recharts-cartesian-axis-tick-value{fill:var(--muted);font-size:.75rem}.chart .recharts-tooltip-cursor{stroke:var(--line)}.table-scroll{overflow-x:auto;overscroll-behavior-x:contain;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:1.25rem}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:.6rem .75rem;border-bottom:1px solid var(--line);white-space:nowrap}thead th{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}tbody tr:last-child td{border-bottom:none}th:first-child,td:first-child{position:sticky;left:0;z-index:1;background:var(--surface);box-shadow:1px 0 0 var(--line)}.flows td:first-child{position:static;white-space:normal;box-shadow:none}@media(max-width:34rem){.paper{display:block;max-width:7.5rem;overflow:hidden;text-overflow:ellipsis}}.num{text-align:right}.card{display:grid;gap:.6rem 1.25rem;margin:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem}.card-row{display:grid;grid-template-columns:minmax(7rem,max-content) 1fr;gap:.6rem 1.25rem}.card dt{color:var(--muted)}.card dd{margin:0}.comment{white-space:pre-wrap;overflow-wrap:anywhere}.form{display:flex;flex-direction:column;gap:1rem;max-width:30rem}.form label{display:flex;flex-direction:column;gap:.3rem;color:var(--muted);font-size:.85rem}input,textarea,select{font:inherit;font-size:max(1rem,16px);color:var(--text);background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:.6rem .7rem;min-height:44px;width:100%}textarea{resize:vertical}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:none;border-color:var(--accent)}input.invalid,input.invalid:focus-visible,textarea.invalid{border-color:var(--minus);background:#ff6f6114}.field-error{margin:.2rem 0 0;font-size:.8rem;color:var(--minus)}.login{display:flex;flex-direction:column;gap:.85rem;max-width:22rem;margin:max(2rem,12vh) auto 0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem}.login h1{margin:0 0 .25rem}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
