*{box-sizing:border-box;margin:0}:root,:root[data-theme=dark]{color-scheme:dark;--bg: #0A0B0F;--surf: #14161D;--surf-2: #1B1E27;--surf-3: #232733;--line: rgba(255,255,255,.09);--line-strong: rgba(255,255,255,.16);--ink: #F2F4F9;--muted: #A2AABB;--faint: #6C7488;--brand: #FFC53D;--brand-ink: #221703;--brand-dim: rgba(255,197,61,.14);--violet: #8B7CFF;--cyan: #2DD4E8;--green: #34D399;--green-bg: rgba(52,211,153,.13);--ok-ink: #7BE8C4;--ok-line: rgba(52,211,153,.25);--red: #FB7185;--red-bg: rgba(251,113,133,.13);--bad-ink: #FFAEB8;--bad-line: rgba(251,113,133,.3);--pay-ink: #04231A;--topbar-1: #171A24;--topbar-2: #101219;--topbar-ink: #F2F4F9;--glow-1: rgba(139,124,255,.4);--glow-2: rgba(45,212,232,.22);--field-1: #141720;--tabs-bg: rgba(16,18,25,.94);--scrim: rgba(4,5,8,.72);--hint-bg: rgba(139,124,255,.12);--hint-line: rgba(139,124,255,.28);--hint-ink: #CFC7FF;--hint-strong: #EAE5FF;--bub-debt-bg: rgba(251,113,133,.18);--bub-debt-ink: #FFD9DE;--bub-debt-line: rgba(251,113,133,.38);--bub-cred-bg: rgba(52,211,153,.18);--bub-cred-ink: #C8F6E4;--bub-cred-line: rgba(52,211,153,.38);--avatar-ring: rgba(255,255,255,.14);--radius: 18px;--shadow: 0 1px 2px rgba(0,0,0,.4), 0 4px 16px rgba(0,0,0,.3);--shadow-lift: 0 10px 34px rgba(0,0,0,.5);--group: #8B7CFF}:root[data-theme=light]{color-scheme:light;--bg: #FBF8F4;--surf: #FFFFFF;--surf-2: #F4F1FB;--surf-3: #EAE4F5;--line: #E9E3DA;--line-strong: #D7CFC4;--ink: #282433;--muted: #635D71;--faint: #9A93A6;--brand: #FFD666;--brand-ink: #453600;--brand-dim: rgba(255,214,102,.3);--violet: #7C68D9;--cyan: #2E8E97;--green: #1F7A52;--green-bg: #E4F5EC;--ok-ink: #14603E;--ok-line: #BCE3CE;--red: #C4344A;--red-bg: #FDEBED;--bad-ink: #9E2233;--bad-line: #F3C4CB;--pay-ink: #FFFFFF;--topbar-1: #FFE9A8;--topbar-2: #FFD9C6;--topbar-ink: #322A46;--glow-1: rgba(155,138,230,.34);--glow-2: rgba(95,191,199,.26);--field-1: #F3EEFA;--tabs-bg: rgba(255,255,255,.94);--scrim: rgba(40,36,51,.4);--hint-bg: #F0EBFB;--hint-line: #DCD2F3;--hint-ink: #463A6B;--hint-strong: #2E2547;--bub-debt-bg: rgba(196,52,74,.12);--bub-debt-ink: #8E1F30;--bub-debt-line: rgba(196,52,74,.3);--bub-cred-bg: rgba(31,122,82,.12);--bub-cred-ink: #14603E;--bub-cred-line: rgba(31,122,82,.3);--avatar-ring: rgba(0,0,0,.1);--radius: 18px;--shadow: 0 1px 2px rgba(60,46,20,.05), 0 3px 12px rgba(60,46,20,.07);--shadow-lift: 0 10px 30px rgba(60,46,20,.14);--group: #7C68D9}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}html,body{height:100%}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink);font-size:15.5px;line-height:1.5;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased}#root{max-width:560px;margin:0 auto;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--bg)}::selection{background:var(--brand);color:var(--brand-ink)}:focus-visible{outline:3px solid var(--brand);outline-offset:2px;border-radius:6px}.topbar{position:sticky;top:0;z-index:30;color:var(--topbar-ink);padding:calc(env(safe-area-inset-top) + 14px) 16px 14px;display:flex;align-items:center;gap:12px;background:linear-gradient(180deg,var(--topbar-1) 0%,var(--topbar-2) 100%);border-bottom:1px solid var(--line)}.topbar:before{content:"";position:absolute;z-index:-1;pointer-events:none;top:0;right:0;bottom:0;left:0;background:radial-gradient(120% 170% at 10% -22%,transparent 12%,color-mix(in srgb,var(--group) 46%,transparent) 38%,transparent 72%);-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 calc(env(safe-area-inset-top) + 18px));mask-image:linear-gradient(180deg,transparent 0,#000 calc(env(safe-area-inset-top) + 18px))}.topbar.home:before{background:radial-gradient(120% 190% at 0% -34%,transparent 14%,var(--glow-1) 42%,transparent 78%),radial-gradient(90% 150% at 100% -20%,transparent 12%,var(--glow-2) 38%,transparent 74%)}.topbar h1{font-size:20px;font-weight:800;flex:1;min-width:0;letter-spacing:-.025em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar .tbtn{background:var(--brand);border:none;color:var(--brand-ink);border-radius:999px;padding:9px 15px;font-size:14px;font-weight:800;cursor:pointer;min-height:40px}.topbar .back{width:40px;height:40px;border-radius:50%;padding:0;font-size:22px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--topbar-ink) 12%,transparent);color:var(--topbar-ink);border:1px solid color-mix(in srgb,var(--topbar-ink) 18%,transparent)}.brandline{display:flex;align-items:center;gap:9px;min-width:0}.topbar .brandline{flex:1 1 auto}.brandline svg{flex:0 0 auto}.hero-logo{display:flex;justify-content:center;margin-bottom:10px}.content{flex:1;padding:14px 14px calc(env(safe-area-inset-bottom) + 100px)}.bubblefield{margin:-14px -14px 16px;padding:18px 20px 26px;border-radius:0 0 28px 28px;cursor:pointer;overflow:hidden;background:radial-gradient(100% 140% at 50% -30%,color-mix(in srgb,var(--group) 34%,transparent) 0%,transparent 66%),linear-gradient(180deg,var(--field-1) 0%,var(--bg) 100%)!important;border-bottom:1px solid var(--line)}.bubblefield.cloud{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;min-height:170px}.bubblefield.cloud.small{min-height:0;padding:20px 20px 24px;gap:4px}.bubblefield.orbit{position:relative;height:278px}.bubble{border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;line-height:1.25;flex-shrink:0;animation:bpop .35s cubic-bezier(.3,1.4,.5,1);border:1px solid var(--line-strong)}.bubblefield.cloud .bubble{margin:-6px -7px}.bubblefield.cloud .bubble:nth-child(odd){transform:translateY(-10px)}.bubblefield.cloud .bubble:nth-child(3n){transform:translateY(12px)}.bubblefield.cloud .bubble:nth-child(4n){transform:translateY(-2px) translate(6px)}.bubble.debtor{background:var(--bub-debt-bg);color:var(--bub-debt-ink);border-color:var(--bub-debt-line)}.bubble.creditor{background:var(--bub-cred-bg);color:var(--bub-cred-ink);border-color:var(--bub-cred-line)}.bubble .nm{font-weight:600;opacity:.95;max-width:88%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bubble .amt{font-weight:800;font-size:1.18em;font-variant-numeric:tabular-nums;letter-spacing:-.01em;max-width:92%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bubble .pay{font-size:.82em;opacity:.8;margin-top:1px}.bubble.more{border:1.5px dashed var(--line-strong);background:var(--surf-2);color:var(--ink)}.bubble.more .pay{opacity:.9}@keyframes bpop{0%{scale:.5;opacity:0}to{scale:1;opacity:1}}.card{background:var(--surf);border:1px solid var(--line);border-radius:var(--radius);padding:14px;margin-bottom:10px;box-shadow:var(--shadow)}.card.tap{cursor:pointer;transition:transform .1s ease,border-color .15s ease}.card.tap:active{transform:scale(.985);border-color:var(--line-strong)}.row{display:flex;align-items:center;gap:12px}.row .grow,.member-row .grow{flex:1;min-width:0}.muted{color:var(--muted);font-size:13px}.amount{font-variant-numeric:tabular-nums;font-weight:800;white-space:nowrap;letter-spacing:-.01em}.pos{color:var(--green)}.neg{color:var(--red)}.datehdr,h2{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:20px 6px 9px}.exp-ico{width:44px;height:44px;border-radius:14px;background:var(--surf-2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.exp-right{text-align:right}.exp-right .mini-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.exp-right .amount{font-size:15.5px}.avatar{width:40px;height:40px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14.5px;flex-shrink:0;letter-spacing:.02em;box-shadow:inset 0 0 0 1px var(--avatar-ring)}.avatar.sm{width:30px;height:30px;font-size:12px}.avatar.off{background:var(--surf-3)!important;color:var(--muted)}.miniav{width:18px;height:18px;border-radius:50%;color:#fff;font-size:9.5px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;margin-right:-4px;border:1.5px solid var(--surf)}.miniav.rest{background:var(--surf-3);color:var(--muted);font-size:8.5px}.paidfor{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.minis{display:inline-flex}.mebadge{display:inline-block;background:var(--brand-dim);color:var(--brand);border:1px solid color-mix(in srgb,var(--brand) 40%,transparent);font-size:10.5px;font-weight:800;border-radius:999px;padding:1.5px 8px;margin-left:6px;vertical-align:2px}.expandrow{display:block;width:100%;border:none;background:none;color:var(--muted);font-size:13.5px;font-weight:700;padding:12px 0 6px;cursor:pointer;text-align:center}.expandrow:active{color:var(--ink)}.balrow{padding:11px 0 13px;border-bottom:1px solid var(--line)}.balrow:last-child{border-bottom:none}.balrow .top{display:flex;align-items:center;gap:10px;margin-bottom:8px}.baltrack{position:relative;height:10px;border-radius:5px;background:var(--surf-2);overflow:hidden}.baltrack:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1.5px;background:var(--line-strong)}.balbar{position:absolute;top:0;bottom:0;border-radius:5px;transition:width .35s ease}.balbar.pos{left:50%;background:linear-gradient(90deg,var(--cyan),var(--green))}.balbar.neg{right:50%;background:linear-gradient(270deg,#F59FA9,var(--red))}.settle-arrow{color:var(--faint);font-size:17px}.settle-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.paybtn{background:var(--green);color:var(--pay-ink);border:none;border-radius:12px;padding:10px 15px;font-size:14px;font-weight:800;cursor:pointer;min-height:40px}button.primary{background:var(--brand);border:none;color:var(--brand-ink);font-weight:800;border-radius:15px;padding:16px 18px;font-size:16.5px;width:100%;cursor:pointer;min-height:54px;letter-spacing:-.01em;transition:transform .08s ease,filter .15s ease}button.primary:active{transform:scale(.985);filter:brightness(.94)}button.primary:disabled{background:var(--surf-3);color:var(--faint);cursor:not-allowed}button.ghost{background:var(--surf-2);border:1px solid var(--line-strong);border-radius:13px;padding:11px 15px;font-size:14.5px;cursor:pointer;color:var(--ink);font-weight:700;min-height:44px}button.ghost:active{background:var(--surf-3)}button.small{padding:7px 12px;font-size:13px;min-height:36px}button.danger,button.ghost.danger{color:var(--red);border-color:var(--bad-line);background:var(--red-bg)}button.qr{border-color:color-mix(in srgb,var(--cyan) 40%,transparent);color:var(--cyan);background:color-mix(in srgb,var(--cyan) 12%,transparent)}input[type=text],input[type=date],input[type=time],input[type=number],select,textarea{width:100%;padding:13px 14px;border:1px solid var(--line-strong);border-radius:13px;font-size:16px;background:var(--surf-2);color:var(--ink);font-family:inherit;min-height:48px}input::placeholder,textarea::placeholder{color:var(--faint)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-dim)}label.field{display:block;margin-bottom:12px;font-size:12.5px;color:var(--muted);font-weight:700;letter-spacing:.02em}label.field>span{display:block;margin-bottom:6px}.amount-input{position:relative}.amount-input input{font-size:28px;font-weight:800;text-align:right;padding-right:54px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.amount-input .cur{position:absolute;right:15px;top:50%;transform:translateY(-50%);font-size:17px;font-weight:700;color:var(--muted)}.fab{position:fixed;bottom:calc(env(safe-area-inset-bottom) + 80px);right:max(16px,calc(50vw - 264px));display:flex;flex-direction:column;align-items:flex-end;gap:10px;z-index:20}.fab .main{width:62px;height:62px;border-radius:50%;background:var(--brand);border:none;font-size:30px;font-weight:700;color:var(--brand-ink);cursor:pointer;box-shadow:0 8px 28px color-mix(in srgb,var(--brand) 40%,transparent);display:flex;align-items:center;justify-content:center;transition:transform .1s}.fab .main:active{transform:scale(.92)}.fab .mini{background:var(--surf-2);border:1px solid var(--line-strong);border-radius:999px;padding:10px 15px;font-size:14px;font-weight:700;cursor:pointer;color:var(--ink)}.tabs{position:fixed;bottom:0;left:0;right:0;z-index:25;display:flex;background:var(--tabs-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);max-width:560px;margin:0 auto}.tabs button{flex:1;background:none;border:none;padding:10px 4px 11px;font-size:11.5px;font-weight:600;color:var(--muted);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:3px;min-height:54px}.tabs button svg{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.tabs button.on{color:var(--brand)}.tabs button.on svg{stroke-width:2.3}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);z-index:50;display:flex;align-items:flex-end;justify-content:center;animation:fade .18s ease;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{position:relative;background:var(--surf);width:100%;max-width:560px;max-height:92vh;max-height:93dvh;overflow-y:auto;border:1px solid var(--line);border-bottom:none;border-radius:26px 26px 0 0;padding:10px 16px calc(env(safe-area-inset-bottom) + 18px);animation:rise .24s cubic-bezier(.2,.9,.3,1)}.modal:before{content:"";display:block;width:44px;height:4.5px;border-radius:3px;background:var(--line-strong);margin:5px auto 16px}.sheet-x{position:absolute;top:12px;right:14px;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:var(--surf-2);color:var(--muted);font-size:14px;font-weight:700;cursor:pointer;z-index:2;display:flex;align-items:center;justify-content:center}.modal h3{font-size:20px;margin-bottom:16px;font-weight:800;letter-spacing:-.02em}@keyframes rise{0%{transform:translateY(45px);opacity:.6}to{transform:none;opacity:1}}@keyframes fade{0%{opacity:0}to{opacity:1}}.seg{display:flex;background:var(--surf-2);border:1px solid var(--line);border-radius:14px;padding:4px;margin-bottom:14px;overflow-x:auto;scrollbar-width:none}.seg::-webkit-scrollbar{display:none}.seg button{flex:1 0 auto;white-space:nowrap;border:none;background:none;padding:10px 14px;border-radius:10px;font-size:13.5px;cursor:pointer;color:var(--muted);font-weight:700;min-height:40px}.seg button.on{background:var(--surf-3);color:var(--ink);box-shadow:0 1px 3px #0006}.catrow,.chiprow{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin-bottom:12px;padding-bottom:2px}.catrow::-webkit-scrollbar,.chiprow::-webkit-scrollbar{display:none}.catchip{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;border:1px solid var(--line-strong);background:var(--surf-2);color:var(--muted);border-radius:999px;padding:8px 13px;font-size:13px;font-weight:700;cursor:pointer;min-height:38px}.catchip .ce{font-size:15px}.catchip.on{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.chiprow{padding:8px 0 2px}.memchip{flex:0 0 auto;display:flex;align-items:center;gap:7px;padding:4px 13px 4px 5px;border-radius:999px;border:1px solid var(--line-strong);background:var(--surf-2);color:var(--muted);font-size:13px;font-weight:700;cursor:pointer;min-height:40px}.memchip .nm{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.memchip.on{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.chip{display:inline-block;font-size:12.5px;font-weight:700;padding:6px 11px;border-radius:999px;margin-right:6px;cursor:pointer;background:var(--surf-2);border:1px solid var(--line-strong);color:var(--muted)}.chip.on{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.member-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:14px}.member-grid .member-row{padding:9px 0;gap:8px;cursor:pointer}.member-grid .member-row .grow{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-row{display:flex;align-items:center;gap:11px;padding:11px 0;border-bottom:1px solid var(--line)}.member-row:last-child{border-bottom:none}.member-row input[type=checkbox]{width:22px;height:22px;accent-color:var(--brand)}.member-row .mini{width:100px;padding:10px;font-size:16px;text-align:right;border-radius:11px;min-height:44px}.diff{padding:12px 14px;border-radius:13px;font-weight:600;font-size:14px;margin:12px 0}.diff.ok{background:var(--green-bg);color:var(--ok-ink);border:1px solid var(--ok-line)}.diff.bad{background:var(--red-bg);color:var(--bad-ink);border:1px solid var(--bad-line)}.hint{background:var(--hint-bg);border:1px solid var(--hint-line);color:var(--hint-ink);border-radius:13px;padding:13px 15px;font-size:14px;margin-bottom:13px}.hint b{color:var(--hint-strong)}.empty{text-align:center;color:var(--muted);padding:36px 18px}.empty .big{font-size:46px;margin-bottom:12px}.empty b{color:var(--ink)}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(env(safe-area-inset-bottom) + 76px);z-index:60;background:var(--surf-3);color:var(--ink);border:1px solid var(--line-strong);padding:13px 18px;border-radius:14px;font-size:14.5px;font-weight:600;max-width:min(92vw,520px);box-shadow:var(--shadow-lift);animation:rise .2s ease}.qrbox{background:var(--surf);border:1px solid var(--line);border-radius:var(--radius);padding:16px;text-align:center;margin-bottom:12px}.qrbox img{width:min(64vw,250px);height:auto;image-rendering:pixelated;background:#fff;padding:10px;border-radius:12px}.qrmeta{margin-top:10px;font-size:15px}.photo-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:17px;border:1.5px dashed var(--line-strong);border-radius:15px;background:var(--surf-2);font-size:16px;font-weight:700;cursor:pointer;color:var(--ink);min-height:56px}.photo-btn:active{background:var(--surf-3)}.item-edit{display:flex;gap:8px;align-items:center}.addgroup{display:flex;align-items:center;gap:12px;width:100%;min-height:66px;padding:13px 14px;margin-top:2px;cursor:pointer;border:1.5px dashed var(--line-strong);border-radius:var(--radius);background:none;color:var(--ink);font-size:16px;font-weight:700;text-align:left}.addgroup:active{background:var(--surf-2)}.addgroup .plus{width:40px;height:40px;border-radius:50%;flex:0 0 auto;display:flex;align-items:center;justify-content:center;background:var(--brand);color:var(--brand-ink);font-size:24px;font-weight:800}.addgroup .grow{flex:1;min-width:0}.nabidka{position:relative;flex:0 0 auto;display:flex}.menubtn{width:40px;height:40px;border-radius:50%;padding:0;flex:0 0 auto;display:flex;align-items:center;justify-content:center;cursor:pointer;background:color-mix(in srgb,var(--topbar-ink) 12%,transparent);color:var(--topbar-ink);border:1px solid color-mix(in srgb,var(--topbar-ink) 18%,transparent);transition:transform .15s ease}.menubtn:active{transform:scale(.92)}.menubtn svg{display:block}.menu-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1}.menu{position:absolute;top:calc(100% + 8px);right:0;z-index:2;width:268px;max-width:calc(100vw - 24px);background:var(--surf);color:var(--ink);border:1px solid var(--line-strong);border-radius:18px;box-shadow:0 18px 40px #00000061,0 2px 6px #0003;padding:8px;animation:menupop .16s cubic-bezier(.2,.9,.3,1);transform-origin:top right}@keyframes menupop{0%{opacity:0;transform:scale(.94) translateY(-4px)}to{opacity:1;transform:none}}.menu-nadpis{font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);padding:8px 10px 6px}.menu-radek{display:flex;align-items:center;gap:11px;width:100%;min-height:46px;padding:8px 10px;border:none;border-radius:12px;background:none;color:var(--ink);font-size:15px;font-weight:600;text-align:left;cursor:pointer}.menu-radek .grow{flex:1;min-width:0}.menu-radek:active{background:var(--surf-3)}.menu-radek.on{background:var(--brand-dim);color:var(--ink);font-weight:800}.menu-radek .fajfka{font-weight:800;width:14px;text-align:right}.menu-radek.on .fajfka{color:var(--brand)}:root[data-theme=light] .menu-radek.on .fajfka{color:var(--brand-ink)}.menu-ikona{width:26px;text-align:center;font-size:17px}.menu-sipka{color:var(--muted);font-size:18px}.menu-popis{color:var(--muted);font-size:12px;line-height:1.45;padding:4px 11px 8px}.menu-linka{height:1px;background:var(--line);margin:6px 8px}
