:root{--bg:#f2f3f7;--surface:#fff;--text:#0f172a;--hint:#707b8a;--accent:#1359f1;--accent-text:#fff;--separator:#e8eaef;--danger:#e5484d;--positive:#12854a;--radius:16px}.app{background:var(--bg);min-height:100vh;color:var(--text);-webkit-font-smoothing:antialiased;padding:0 0 32px;font:15px/1.45 -apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,sans-serif}.app *{box-sizing:border-box}.header{z-index:5;background:var(--bg);padding:12px 16px 8px;position:sticky;top:0}.header__row{align-items:center;gap:10px;display:flex}.header__avatar{width:38px;height:38px;color:var(--accent-text);background:var(--accent);border-radius:13px;flex:none;place-items:center;font-size:17px;font-weight:700;display:grid}.header__title{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:19px;font-weight:700;overflow:hidden}.header__subtitle{color:var(--hint);font-size:13px}.header__switch{background:var(--surface);color:var(--accent);cursor:pointer;border:none;border-radius:999px;margin-left:auto;padding:7px 14px;font-size:13px;font-weight:600}.tabs{background:color-mix(in srgb, var(--hint) 16%, transparent);border-radius:12px;grid-auto-columns:1fr;grid-auto-flow:column;gap:2px;margin:12px 16px 0;padding:3px;display:grid}.tabs__item{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:9px;padding:8px 4px;font-size:14px;font-weight:600;transition:background .15s}.tabs__item--active{background:var(--surface);box-shadow:0 1px 3px #0000001f}.content{flex-direction:column;gap:12px;padding:12px 16px 0;display:flex}.card{background:var(--surface);border-radius:var(--radius);padding:14px 16px}.card--tight{padding:8px 16px}.section-title{color:var(--hint);text-transform:uppercase;letter-spacing:.4px;padding:4px 4px 0;font-size:13px;font-weight:600}.balance__row{border-bottom:1px solid var(--separator);justify-content:space-between;align-items:baseline;gap:12px;padding:11px 0;display:flex}.balance__row:last-child{border-bottom:none}.balance__label{color:var(--hint);font-size:15px}.balance__amount{font-variant-numeric:tabular-nums;letter-spacing:-.2px;font-size:20px;font-weight:700}.amount--negative{color:var(--danger)}.amount--positive{color:var(--positive)}.amount--zero{color:var(--hint)}.op{background:var(--surface);border-radius:var(--radius);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.op__head{align-items:center;gap:10px;display:flex}.op__icon{background:color-mix(in srgb, var(--accent) 12%, transparent);border-radius:11px;flex:none;place-items:center;width:34px;height:34px;font-size:16px;display:grid}.op__kind{font-weight:600}.op__meta{color:var(--hint);font-size:13px}.op__number{color:var(--hint);font-variant-numeric:tabular-nums;margin-left:auto;font-size:13px}.op__entries{font-variant-numeric:tabular-nums;flex-direction:column;gap:2px;font-size:16px;font-weight:600;display:flex}.op__fields{border-top:1px solid var(--separator);flex-direction:column;gap:6px;padding-top:8px;display:flex}.field{align-items:center;gap:8px;font-size:14px;display:flex}.field__icon{text-align:center;flex:none;width:20px}.field__value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.field__value--empty{color:var(--hint)}.field__action{color:var(--accent);cursor:pointer;background:0 0;border:none;flex:none;margin-left:auto;padding:4px 2px;font-size:14px;font-weight:600}.field__form{align-items:center;gap:8px;display:flex}.input{border:1px solid var(--separator);background:var(--bg);min-width:0;color:var(--text);border-radius:10px;outline:none;flex:1;padding:9px 12px;font-size:15px}.input:focus{border-color:var(--accent)}.tag{background:color-mix(in srgb, var(--danger) 14%, transparent);color:var(--danger);border-radius:8px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.button{cursor:pointer;background:var(--accent);color:var(--accent-text);border:none;border-radius:12px;width:100%;padding:12px 16px;font-size:15px;font-weight:600}.button:disabled{opacity:.5}.button--quiet{background:color-mix(in srgb, var(--hint) 14%, transparent);color:var(--text)}.button--danger{background:color-mix(in srgb, var(--danger) 14%, transparent);color:var(--danger)}.button--small{width:auto;padding:9px 14px;font-size:14px}.row{gap:8px;display:flex}.empty{text-align:center;color:var(--hint);padding:48px 24px}.empty__icon{margin-bottom:8px;font-size:34px;display:block}.skeleton{background:linear-gradient(90deg, color-mix(in srgb, var(--hint) 12%, transparent) 25%, color-mix(in srgb, var(--hint) 20%, transparent) 37%, color-mix(in srgb, var(--hint) 12%, transparent) 63%);border-radius:var(--radius);background-size:400% 100%;animation:1.2s ease-in-out infinite shimmer}@keyframes shimmer{0%{background-position:100%}to{background-position:0}}.toast{z-index:20;background:var(--surface);color:var(--text);border-radius:14px;padding:12px 16px;animation:.18s ease-out rise;position:fixed;bottom:20px;left:16px;right:16px;box-shadow:0 10px 30px #00000038}.toast--error{color:var(--danger)}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}.sheet{z-index:30;background:#0006;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet__backdrop{cursor:pointer;background:0 0;border:none;padding:0;position:absolute;inset:0}.sheet__panel{background:var(--surface);border-radius:20px 20px 0 0;width:100%;max-height:80vh;padding:8px 16px 24px;animation:.2s ease-out rise;position:relative;overflow:auto}.sheet__handle{background:var(--separator);border-radius:2px;width:36px;height:4px;margin:6px auto 12px}.sheet__title{margin:0 0 10px;font-size:17px;font-weight:700}.sheet__item{width:100%;color:var(--text);text-align:left;border:none;border-bottom:1px solid var(--separator);cursor:pointer;background:0 0;align-items:center;gap:10px;padding:12px 4px;font-size:16px;display:flex}.sheet__item:last-child{border-bottom:none}.sheet__check{color:var(--accent);margin-left:auto;font-weight:700}.dates{gap:8px;display:flex}.dates input{flex:1;min-width:0}
