@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(./montserrat-latin-600-normal-UVxSCcoG.woff2) format("woff2"),url(./montserrat-latin-600-normal-CdhFl4lI.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(./montserrat-latin-700-normal-BdjcYUrC.woff2) format("woff2"),url(./montserrat-latin-700-normal-BWkrl476.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:url(./montserrat-latin-800-normal-axpkC1rd.woff2) format("woff2"),url(./montserrat-latin-800-normal-C3dfDxXV.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(./montserrat-cyrillic-700-normal-D-Pqjtdp.woff2) format("woff2"),url(./montserrat-cyrillic-700-normal-BvLYcGP1.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:url(./montserrat-cyrillic-800-normal-DDmpGQGC.woff2) format("woff2"),url(./montserrat-cyrillic-800-normal-B_mUCQ9O.woff) format("woff")}@font-face{font-family:Archivo Narrow;font-style:normal;font-display:swap;font-weight:600;src:url(./archivo-narrow-latin-600-normal-l2jiltzb.woff2) format("woff2"),url(./archivo-narrow-latin-600-normal-DZkbuzR9.woff) format("woff")}@font-face{font-family:Archivo Narrow;font-style:normal;font-display:swap;font-weight:700;src:url(./archivo-narrow-latin-700-normal-DtADLsoy.woff2) format("woff2"),url(./archivo-narrow-latin-700-normal-DxmyBkwC.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(./manrope-latin-400-normal-PaqtzbVb.woff2) format("woff2"),url(./manrope-latin-400-normal-8tf8FM3T.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url(./manrope-latin-500-normal-BYYD-dBL.woff2) format("woff2"),url(./manrope-latin-500-normal-DMZssgOp.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(./manrope-latin-600-normal-4f0koTD-.woff2) format("woff2"),url(./manrope-latin-600-normal-BqgrALkZ.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(./manrope-latin-700-normal-BZp_XxE4.woff2) format("woff2"),url(./manrope-latin-700-normal-DGRFkw-m.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url(./manrope-latin-800-normal-BfWYOv1c.woff2) format("woff2"),url(./manrope-latin-800-normal-uHUdIJgA.woff) format("woff")}:root{color-scheme:light;--bg: #f2f0eb;--surface: #fbfaf7;--surface-2: #e7e4dd;--surface-3: #d5d1c8;--canvas: #e8e5de;--ink: #1c1c1b;--ink-2: #3a3835;--muted: #6e6b66;--faint: #8a8781;--fainter: #a5a19a;--idle: #c9c5bc;--line-soft: rgba(28, 28, 27, .08);--line: rgba(28, 28, 27, .1);--line-mid: rgba(28, 28, 27, .14);--line-strong: rgba(28, 28, 27, .16);--danger: #c53732;--danger-ink: #a92321;--danger-deep: #9e1618;--danger-wash: rgba(197, 55, 50, .12);--danger-wash-soft: rgba(197, 55, 50, .09);--danger-edge: rgba(197, 55, 50, .2);--warn: #da943f;--warn-ink: #7c4700;--warn-wash: rgba(218, 148, 63, .22);--ok: #1c7f4c;--ok-ink: #006836;--ok-wash: rgba(28, 127, 76, .14);--font-display: "Montserrat", system-ui, -apple-system, sans-serif;--font-label: "Archivo Narrow", "Montserrat", system-ui, sans-serif;--font-body: "Manrope", system-ui, -apple-system, sans-serif;--r-xs: 6px;--r-sm: 11px;--r-md: 14px;--r-lg: 15px;--r-xl: 18px;--tabbar-h: 67px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);--ease: cubic-bezier(.22, .68, .35, 1)}*,*:before,*:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:15px;line-height:1.4;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overscroll-behavior:none}button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:pointer;text-align:left}input,textarea{font:inherit;color:inherit;border:0;background:none;padding:0;width:100%;outline:none}input::placeholder,textarea::placeholder{color:var(--fainter)}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:0;height:0}.app{position:relative;display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden;background:var(--bg);padding-left:var(--safe-left);padding-right:var(--safe-right)}.app__scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;scroll-padding-bottom:calc(var(--tabbar-h) + var(--safe-bottom) + 24px)}.app:before{content:"";position:absolute;top:0;left:0;right:0;height:var(--safe-top);background:var(--bg);z-index:30;pointer-events:none}@media(min-width:760px)and (min-height:720px){body{display:grid;place-items:center;background:var(--canvas)}.app{width:420px;height:872px;max-height:92dvh;border-radius:42px;box-shadow:0 0 0 10px #16161a,0 0 0 11px #34343a,0 28px 70px #1c1c1b4d}}.label{font-family:var(--font-label);font-weight:700;font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}.label--xs{font-size:10.5px;letter-spacing:.11em}.wordmark{font-family:var(--font-display);font-weight:800;letter-spacing:-.045em;line-height:1}.h1{font-family:var(--font-display);font-weight:700;font-size:26px;letter-spacing:-.025em;line-height:1.15;margin:0}.h2{font-family:var(--font-display);font-weight:700;font-size:21px;letter-spacing:-.02em;line-height:1.2;margin:0}.num{font-family:var(--font-display);font-weight:700;letter-spacing:-.025em;font-variant-numeric:tabular-nums}.sub{font-size:14.5px;line-height:1.55;color:var(--muted);text-wrap:pretty}.muted{color:var(--muted)}.faint{color:var(--faint)}.hdr{display:flex;align-items:center;gap:10px;padding:calc(10px + var(--safe-top)) 14px 10px;background:var(--bg);border-bottom:1px solid var(--line-soft);flex:none}.hdr__title{font-family:var(--font-display);font-weight:700;font-size:19px;letter-spacing:-.02em;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.iconbtn{width:44px;height:44px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:12px;position:relative;transition:background .15s var(--ease)}.iconbtn:active{background:#1c1c1b17}.iconbtn--filled{background:var(--surface);border:1px solid var(--line);border-radius:14px}.iconbtn__dot{position:absolute;top:9px;right:9px;width:9px;height:9px;border-radius:50%;background:var(--danger);border:2px solid var(--bg)}.pad-top{padding-top:var(--safe-top)}.tabs{display:flex;flex:none;background:var(--surface);border-top:1px solid var(--line);padding:9px 4px calc(8px + var(--safe-bottom))}.tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:54px;border-radius:12px;color:var(--fainter);transition:color .15s var(--ease)}.tab--on{color:var(--ink)}.tab__label{font-family:var(--font-label);font-weight:700;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.fab{position:absolute;right:18px;bottom:calc(var(--tabbar-h) + var(--safe-bottom) + 18px);height:58px;padding:0 22px;border-radius:19px;background:var(--ink);color:var(--bg);display:flex;align-items:center;gap:9px;font-weight:700;font-size:15.5px;box-shadow:0 8px 24px #1c1c1b47;z-index:5;transition:transform .14s var(--ease)}.fab:active{transform:scale(.96)}.fab__plus{font-size:24px;line-height:1;font-weight:400;margin-top:-2px}.btn{height:56px;border-radius:var(--r-lg);display:flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:17px;width:100%;transition:transform .12s var(--ease),opacity .12s var(--ease)}.btn:active{transform:scale(.985)}.btn:disabled{opacity:.4;pointer-events:none}.btn--primary{background:var(--ink);color:var(--bg)}.btn--outline{background:var(--surface);border:1.5px solid var(--ink);color:var(--ink)}.btn--quiet{height:52px;font-size:15.5px;font-weight:600;color:var(--muted)}.btn--danger-outline{height:52px;font-size:15.5px;font-weight:600;border:1.5px solid var(--line-strong);color:var(--danger-ink)}.btn--sm{height:54px;font-size:15.5px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:18px}.card--mute{background:var(--surface-2);border-color:transparent}.card--ink{background:var(--ink);color:var(--bg);border-color:transparent}.card--danger{background:var(--danger-wash-soft);border-color:var(--danger-edge)}.rowlist{border-top:1px solid rgba(28,28,27,.09)}.row{display:flex;align-items:center;gap:13px;width:100%;padding:13px 20px;background:var(--surface);border-bottom:1px solid var(--line-soft);min-height:74px;transition:background .12s var(--ease)}.row:active{background:#f4f2ee}.row--compact{min-height:62px;padding:16px 20px}.row--top{align-items:flex-start}.row__main{flex:1;min-width:0}.row__name{font-weight:600;font-size:16px;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row__nameline{display:flex;align-items:center;gap:7px;min-width:0}.row__nameline .row__name{min-width:0}.row__sub{font-size:12.5px;color:var(--faint);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row__end{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex:none;max-width:42%}.stack{display:flex;flex-direction:column;gap:9px}.divider{height:1px;background:var(--line)}.spacer{flex:1}.avatar{width:46px;height:46px;border-radius:14px;flex:none;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:14px;letter-spacing:-.01em;background:var(--surface-2);color:var(--ink-2)}.avatar--over{background:#c5373224;color:var(--danger-deep)}.avatar--lg{width:54px;height:54px;border-radius:17px;font-size:18px;background:var(--ink);color:var(--bg)}.avatar--sm{width:36px;height:36px;border-radius:11px;font-size:13px;background:var(--ink);color:var(--bg)}.twoup{display:flex;gap:14px}.twoup__col{flex:1;min-width:0}.twoup__val{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:clamp(17px,5vw,24px);font-weight:800;letter-spacing:-.03em;line-height:1.15;white-space:nowrap}.twoup__val--out{color:var(--danger-ink)}.twoup__unit{font-size:.5em;font-weight:600;color:var(--muted)}.avatarwrap{position:relative;flex:none;display:inline-flex}.avatarwrap__mark{position:absolute;right:-3px;bottom:-3px;min-width:17px;height:17px;padding:0 3px;border-radius:999px;border:2px solid var(--surface);background:var(--ink);color:var(--bg);font-family:var(--font-label);font-weight:700;font-size:9.5px;line-height:13px;text-align:center}.typetag{display:inline-block;flex:none;padding:2px 8px;border-radius:999px;background:var(--surface-3);color:var(--muted);font-family:var(--font-label);font-weight:700;font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;vertical-align:1px}.typetag--diler{background:var(--warn-wash);color:var(--warn-ink)}.badge{font-family:var(--font-label);font-weight:700;font-size:9.5px;letter-spacing:.09em;text-transform:uppercase;padding:3px 7px;border-radius:var(--r-xs);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.badge--over{background:var(--danger-wash);color:var(--danger-ink)}.badge--soon{background:var(--warn-wash);color:var(--warn-ink)}.badge--ok{background:var(--surface-2);color:var(--muted)}.badge--clear{background:var(--ok-wash);color:var(--ok-ink)}.amt{font-family:var(--font-display);font-weight:700;font-size:clamp(15px,4.1vw,17px);letter-spacing:-.025em;white-space:nowrap;font-variant-numeric:tabular-nums}.amt--over{color:var(--danger-deep)}.amt--clear{color:var(--fainter)}.amt--ok{color:var(--ok-ink)}.chiprow{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}.chip{padding:9px 12px;border-radius:12px;white-space:nowrap;font-size:13.5px;font-weight:600;background:var(--surface-2);color:var(--ink-2);flex:none;transition:background .15s var(--ease),color .15s var(--ease)}.chip--on{background:var(--ink);color:var(--bg);font-weight:700}.seg{display:flex;gap:6px;padding:5px;border-radius:var(--r-lg);background:var(--surface-2)}.seg__item{flex:1;height:44px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:15px;color:var(--muted);transition:all .15s var(--ease)}.seg__item--on{background:var(--surface);color:var(--ink);font-weight:700;box-shadow:0 1px 3px #1c1c1b24}.register .seg__item{min-width:0;padding:0 5px;font-size:12.5px;white-space:nowrap}.pillrow{display:flex;gap:7px}.pill{flex:1;height:44px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14.5px;background:var(--surface-2);color:var(--ink-2);transition:all .15s var(--ease)}.pill--on{background:var(--ink);color:var(--bg);font-weight:700}.quick{padding:9px 14px;border-radius:var(--r-sm);background:var(--surface-2);font-size:13.5px;font-weight:600;white-space:nowrap}.quick:active{background:var(--surface-3)}.toggle{width:52px;height:31px;border-radius:16px;padding:3px;flex:none;display:flex;justify-content:flex-start;background:var(--surface-3);transition:background .18s var(--ease)}.toggle__knob{width:25px;height:25px;border-radius:50%;background:var(--surface);box-shadow:0 1px 2px #1c1c1b33;transition:transform .18s var(--ease)}.toggle--on{background:var(--ink)}.toggle--on .toggle__knob{transform:translate(21px)}.card--ink .toggle{background:#f2f0eb47}.card--ink .toggle--on{background:var(--bg)}.card--ink .toggle--on .toggle__knob{background:var(--ink)}.field{padding:13px 16px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line);transition:border-color .15s var(--ease);display:block;width:100%}.field:focus-within{border:1.5px solid var(--ink);padding:12.5px 15.5px}.field__label{font-family:var(--font-label);font-weight:700;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;display:block}.field__input{font-weight:600;font-size:16.5px}.field__input--plain{font-weight:500;font-size:16px}.frow{display:flex;align-items:center;gap:12px;padding:14px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line);width:100%;min-height:52px}.frow--accent{border:1.5px solid var(--ink);padding:13.5px}.frow__key{font-size:14px;color:var(--muted);width:96px;flex:none}.frow__val{font-weight:600;font-size:15px;flex:1;min-width:0}.frow__val--strong{font-weight:700}.frow__val--empty{font-weight:500;color:var(--faint)}.frow__tag{font-family:var(--font-label);font-weight:700;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);flex:none}.searchbar{height:48px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line);display:flex;align-items:center;gap:10px;padding:0 14px;width:100%}.searchbar--active{border:1.5px solid var(--ink)}.amount{display:flex;align-items:baseline;justify-content:center;gap:8px}.amount__value{font-family:var(--font-display);font-weight:800;font-size:44px;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}.amount__unit{font-family:var(--font-display);font-weight:700;font-size:17px;color:var(--muted)}.numpad{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:0 14px}.key{height:56px;border-radius:12px;background:var(--surface);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:600;font-size:23px;transition:background .1s var(--ease),transform .1s var(--ease)}.key:active{background:var(--surface-2);transform:scale(.97)}.key--wide{font-size:19px}.key--alt{background:var(--surface-2)}.key--alt:active{background:var(--surface-3)}.otpwrap{position:relative}.otpwrap__input{position:absolute;inset:0;z-index:2;width:100%;height:66px;border:0;opacity:.01;color:transparent;background:transparent;caret-color:transparent}.otp{display:flex;gap:10px}.otp__cell{flex:1;height:66px;border-radius:var(--r-md);background:var(--surface);border:1.5px solid var(--line-mid);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:26px}.otp__cell--active{border-color:var(--ink)}.caret{display:inline-block;width:2px;height:1em;background:var(--ink);vertical-align:-.12em;animation:blink 1.05s step-end infinite}@keyframes blink{50%{opacity:0}}.bars{display:flex;align-items:flex-end;gap:9px;height:96px}.bars__col{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;height:100%;justify-content:flex-end}.bars__bar{width:100%;border-radius:6px;background:var(--surface-3);transition:height .3s var(--ease)}.bars__bar--on{background:var(--ink)}.bars__m{font-family:var(--font-label);font-weight:700;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}.donut{position:relative;width:190px;height:190px;margin:2px auto 4px}.donut__mid{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;text-align:center;padding:0 30px}.donut__label{font-family:var(--font-label);font-weight:700;font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}.donut__value{font-size:19px;font-weight:800;line-height:1.1}.donut__unit{font-size:11.5px;color:var(--muted)}.slice{display:flex;align-items:center;gap:11px;padding:11px 0;border-top:1px solid var(--line)}.slice:first-of-type{border-top:0}.slice__tag{display:inline-flex;align-items:center;max-width:46%;padding:5px 11px;border-radius:999px;font-size:12.5px;font-weight:600;color:var(--bg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slice__pct{flex:1;font-size:13.5px;color:var(--muted);font-variant-numeric:tabular-nums}.slice__amount{font-size:14.5px;font-weight:700;font-variant-numeric:tabular-nums}.pickrow{width:100%;text-align:left;gap:12px;color:var(--ink)}.pickrow--on{font-weight:700}.pickrow__dot{width:12px;height:12px;border-radius:50%;flex:none}.filterbar{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:6px 20px 2px}.filterbar::-webkit-scrollbar{display:none}.filterchip{display:inline-flex;align-items:center;gap:7px;flex:none;height:38px;padding:0 14px;border-radius:999px;background:var(--surface-2);color:var(--ink);font-size:13.5px;font-weight:600;max-width:60%}.filterchip--on{background:var(--ink);color:var(--bg)}.filterchip__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filterchip__caret{flex:none;opacity:.6}.flowday{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:11px 20px;background:var(--surface-2)}.flowday__date{font-size:13.5px;font-weight:600}.flowday__net{font-size:13px;font-variant-numeric:tabular-nums;color:var(--muted)}.flowrow{display:flex;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid var(--line);background:var(--surface)}.flowrow__main{flex:1;min-width:0}.flowrow__name{display:block;font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flowrow__note{display:inline-block;margin-top:5px;max-width:100%;padding:3px 9px;border-radius:999px;background:var(--surface-3);font-size:11.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flowrow__right{text-align:right;flex:none}.flowrow__amount{display:block;font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}.flowrow__time{display:block;margin-top:3px;font-size:11.5px;color:var(--faint);font-variant-numeric:tabular-nums}.flowsum{display:flex;gap:12px}.flowsum__col{flex:1;min-width:0}.flowsum__k{display:block;font-size:12.5px;color:var(--muted);margin-bottom:3px}.flowsum__v{display:block;font-size:17px;font-weight:800;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis}.monthnav{display:flex;align-items:center;justify-content:center;gap:6px;padding:4px 20px 2px}.monthnav__btn{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--ink)}.monthnav__btn:disabled{opacity:.25}.monthnav__label{min-width:132px;text-align:center;font-size:15.5px;font-weight:700}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:52px 34px 0}.empty__art{width:150px;height:112px;border-radius:16px;border:1px dashed rgba(28,28,27,.22);background:repeating-linear-gradient(135deg,rgba(28,28,27,.05) 0 6px,transparent 6px 12px);display:flex;align-items:center;justify-content:center;margin-bottom:24px;font-family:ui-monospace,Menlo,monospace;font-size:10px;color:var(--faint);letter-spacing:.04em}.sheet{position:absolute;inset:0;z-index:40;display:flex;flex-direction:column;justify-content:flex-end}.sheet__scrim{position:absolute;inset:0;background:#1c1c1b6b;animation:fade .18s var(--ease)}.sheet__panel{position:relative;background:var(--bg);border-radius:24px 24px 0 0;padding:10px 0 calc(14px + var(--safe-bottom));max-height:88%;display:flex;flex-direction:column;animation:rise .24s var(--ease);box-shadow:0 -10px 40px #1c1c1b33}.sheet__grip{width:40px;height:4px;border-radius:2px;background:var(--surface-3);margin:4px auto 10px;flex:none}.sheet__title{font-family:var(--font-display);font-weight:700;font-size:19px;letter-spacing:-.02em;padding:0 20px 12px;flex:none}.sheet__body{overflow-y:auto;padding:0 20px}.sheet__body--flush{padding:0}@keyframes rise{0%{transform:translateY(14%);opacity:.6}}@keyframes fade{0%{opacity:0}}.menu__item{display:flex;align-items:center;gap:12px;width:100%;padding:15px 20px;font-size:16px;font-weight:600;border-radius:var(--r-md)}.menu__item:active{background:var(--surface-2)}.menu__item--danger{color:var(--danger-ink)}.toast{position:absolute;left:16px;right:16px;bottom:calc(var(--tabbar-h) + var(--safe-bottom) + 84px);z-index:60;background:var(--ink);color:var(--bg);border-radius:var(--r-md);padding:14px 16px;font-size:14.5px;font-weight:600;box-shadow:0 10px 30px #1c1c1b4d;animation:rise .2s var(--ease);text-wrap:pretty}.basketadd-wrap{padding:12px 20px 4px}.basketadd{display:flex;flex-direction:column;gap:10px;padding:14px}.basketadd__fields{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:10px}.basketadd__button{height:50px;border-radius:var(--r-md);font-size:15.5px}.basketrow{min-height:66px}.basketrow--done .row__name{text-decoration:line-through;color:var(--faint)}.tick{width:26px;height:26px;flex:none;border-radius:9px;border:1.5px solid var(--line-strong);background:var(--bg);display:flex;align-items:center;justify-content:center;transition:all .15s var(--ease)}.tick--on{background:var(--ok);border-color:var(--ok)}.avatarpick{display:flex;align-items:center;gap:16px;padding:4px 0 8px}.avatarpick__btn{position:relative;flex:none;line-height:0}.avatarpick__badge{position:absolute;right:-3px;bottom:-3px;width:22px;height:22px;border-radius:50%;background:var(--ink);border:2px solid var(--bg);display:flex;align-items:center;justify-content:center}.avatarpick__colors{flex:1;min-width:0}.swatch{width:26px;height:26px;border-radius:9px;border:2px solid transparent;box-shadow:0 0 0 1px var(--line);transition:transform .12s var(--ease)}.swatch--on{border-color:var(--bg);box-shadow:0 0 0 2px var(--ink);transform:scale(1.06)}.photorow{color:var(--muted);min-height:62px}.datebtn{height:48px;flex:none;max-width:46%;padding:0 13px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line);display:flex;align-items:center;gap:7px;color:var(--muted);font-size:13.5px;font-weight:600}.datebtn--on{background:var(--ink);border-color:var(--ink);color:var(--bg);font-weight:700}.datebtn__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat__bar{display:flex;align-items:center;gap:10px;padding:calc(8px + var(--safe-top)) 10px 8px;background:var(--bg);border-bottom:1px solid var(--line-soft);flex:none}.chat__who{flex:1;min-width:0}.chat__name{font-family:var(--font-display);font-weight:700;font-size:17px;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat__phone{font-size:12.5px;color:var(--muted);margin-top:1px}.chat__call{width:46px;height:46px;flex:none;border-radius:15px;background:var(--ok);display:flex;align-items:center;justify-content:center;transition:transform .12s var(--ease)}.chat__call:active{transform:scale(.94)}.chat__balance{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:12px 20px 13px;background:var(--surface-2);color:var(--ink);flex:none}.chat__balance--over{background:var(--danger-wash);color:var(--danger-deep)}.chat__balance--clear{background:var(--ok-wash);color:var(--ok-ink)}.chat__due{font-size:12.5px;font-weight:600;text-align:right;opacity:.85;text-wrap:pretty}.chat__thread{padding:14px 16px 18px;background:var(--bg)}.chat__day{text-align:center;margin:12px 0 10px;font-family:var(--font-label);font-weight:700;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}.chat__system{text-align:center;margin:8px auto;padding:6px 12px;border-radius:10px;background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:600;width:fit-content;max-width:90%;text-wrap:pretty}.chat__system--warn{background:var(--danger-wash);color:var(--danger-ink)}.chat__empty{text-align:center;color:var(--faint);font-size:13.5px;padding:40px 24px;text-wrap:pretty;margin:0}.bub{display:flex;flex-direction:column;gap:6px;max-width:84%;margin-bottom:9px;padding:11px 13px;border-radius:16px;background:var(--surface);border:1px solid var(--line);text-align:left;width:auto}.bub--debt{margin-right:auto;border-bottom-left-radius:5px;border-color:var(--danger-edge);background:var(--danger-wash-soft)}.bub--pay{margin-left:auto;border-bottom-right-radius:5px;border-color:#1c7f4c3d;background:var(--ok-wash)}.bub__head{display:flex;align-items:baseline;justify-content:space-between;gap:14px}.bub__kind{font-family:var(--font-label);font-weight:700;font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}.bub__amt{font-family:var(--font-display);font-weight:700;font-size:17px;letter-spacing:-.02em;white-space:nowrap}.bub--debt .bub__amt{color:var(--danger-deep)}.bub--pay .bub__amt{color:var(--ok-ink)}.bub__note{font-size:14.5px;line-height:1.4;color:var(--ink);text-wrap:pretty}.bub__photo{display:block;line-height:0}.bub__foot{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:11.5px;color:var(--faint)}.bub__time{font-variant-numeric:tabular-nums}.chat__actions{display:flex;gap:10px;padding:10px 14px calc(12px + var(--safe-bottom));background:var(--surface);border-top:1px solid var(--line);flex:none}.chat__actions--read{display:block;text-align:center;font-size:12.5px;line-height:1.45;color:var(--faint)}.consent{display:flex;align-items:flex-start;gap:11px;cursor:pointer}.consent__box{appearance:none;-webkit-appearance:none;width:22px;height:22px;flex:none;margin-top:1px;border-radius:7px;border:1.5px solid var(--line-strong);background:var(--surface);position:relative;transition:all .15s var(--ease)}.consent__box:checked{background:var(--ink);border-color:var(--ink)}.consent__box:checked:after{content:"";position:absolute;left:7px;top:3px;width:5px;height:10px;border:solid var(--bg);border-width:0 2px 2px 0;transform:rotate(45deg)}.consent__text{font-size:13.5px;line-height:1.5;color:var(--muted);text-wrap:pretty}.consent__link{font:inherit;color:var(--ink);font-weight:700;text-decoration:underline;text-underline-offset:2px}.language-step{min-height:100%;padding:calc(30px + var(--safe-top)) 24px calc(26px + var(--safe-bottom));display:flex;flex-direction:column}.language-step__brand{font-size:25px;margin-bottom:54px}.language-step__title{font-size:30px;margin-bottom:8px}.language-step__sub{margin:0}.language-step__choices{display:grid;gap:10px;margin-top:28px}.language-choice{width:100%;min-height:62px;padding:0 18px;border:1px solid var(--line-mid);border-radius:var(--r-lg);background:var(--surface);display:flex;align-items:center;justify-content:space-between;font-size:16px;font-weight:650}.language-choice--on{border:2px solid var(--ink);padding:0 17px}.language-choice__check{width:26px;height:26px;border-radius:50%;background:var(--ink);color:var(--bg);display:grid;place-items:center;opacity:0}.language-choice--on .language-choice__check{opacity:1}.language-step__bottom{margin-top:auto;display:grid;gap:18px;padding-top:28px}.setup-step{max-width:520px;margin:0 auto;padding:34px 20px 28px;display:grid;gap:16px}.setup-step__count{font-family:var(--font-label);font-size:11.5px;font-weight:700;letter-spacing:.12em;color:var(--faint)}.setup-step .sub{margin:-8px 0 8px}.prose{font-size:14px;line-height:1.65;color:var(--ink-2);white-space:pre-wrap;text-wrap:pretty;margin:0}.fill{min-height:100%;display:flex;flex-direction:column}.center-col{display:flex;flex-direction:column;align-items:center;justify-content:center}.between{display:flex;align-items:center;justify-content:space-between;width:100%}.screen{animation:enter .2s var(--ease)}@keyframes enter{0%{opacity:0;transform:translateY(6px)}}.dot{width:9px;height:9px;border-radius:50%;flex:none;background:var(--idle)}.dot--ok{background:var(--ok)}.mark{width:34px;height:34px;border-radius:var(--r-sm);flex:none;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;margin-top:2px}.mark--debt{background:#c537321a;color:var(--danger-ink)}.mark--pay{background:var(--ok-wash);color:var(--ok-ink)}.icon-tile{width:38px;height:38px;border-radius:12px;flex:none;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:16px;background:var(--surface-2);color:var(--ink-2)}.icon-tile--pay{background:var(--ok-wash);color:var(--ok-ink)}.icon-tile--warn{background:var(--danger-wash);color:var(--danger-ink)}.bubble{padding:13px 15px;border-radius:var(--r-md);border-top-left-radius:4px;background:var(--surface);font-size:14px;line-height:1.55;color:var(--ink-2);text-wrap:pretty;white-space:pre-wrap;width:100%;display:block}.px{padding-left:20px;padding-right:20px}.tail{height:calc(var(--tabbar-h) + 30px)}.tail--fab{height:calc(var(--tabbar-h) + 96px)}@media(max-width:380px){.row{gap:9px;padding-left:14px;padding-right:14px}.row__name{font-size:15px}.typetag{padding-left:6px;padding-right:6px}.tab__label{font-size:9.5px;letter-spacing:.045em}.fab{right:14px;height:54px;padding:0 17px}.basketadd-wrap{padding-left:14px;padding-right:14px}}.checkmark{width:88px;height:88px;border-radius:50%;background:var(--ok);display:flex;align-items:center;justify-content:center;animation:pop .36s var(--ease)}@keyframes pop{0%{transform:scale(.7);opacity:0}60%{transform:scale(1.04)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
