:root{--ink: #141b22;--paper: #fbfaf7;--surface: #ffffff;--deep: #0e5c6b;--signal: #e4572e;--ok: #2e9e6b;--line: rgba(20, 27, 34, .12);--line-strong: rgba(20, 27, 34, .22);--muted: rgba(20, 27, 34, .56);--faint: rgba(20, 27, 34, .36);--sunken: rgba(20, 27, 34, .045);--desk: #e6e2d9;--on-deep: #ffffff;--font-display: "Archivo", system-ui, sans-serif;--font-body: "Public Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace}[data-theme=dark]{--ink: #f1efea;--paper: #10161b;--surface: #182128;--deep: #5bb6c6;--signal: #ff8360;--ok: #54c793;--line: rgba(241, 239, 234, .14);--line-strong: rgba(241, 239, 234, .26);--muted: rgba(241, 239, 234, .6);--faint: rgba(241, 239, 234, .38);--sunken: rgba(241, 239, 234, .05);--desk: #0a0e12;--on-deep: #10161b}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}.tabular{font-family:var(--font-mono);font-variant-numeric:tabular-nums}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}.app{min-height:100vh;background:var(--desk);color:var(--ink);display:flex;flex-direction:column;align-items:center;padding:28px 16px 64px}.topbar{width:min(390px,100%);display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:16px}.kicker{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}.title{font-family:var(--font-display);font-weight:600;font-size:20px;letter-spacing:-.02em;margin-top:2px}.ghost-btn{height:32px;padding:0 12px;border:1px solid var(--line-strong);background:var(--paper);color:var(--ink);border-radius:999px;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;cursor:pointer}.ghost-btn:hover:not(:disabled){border-color:var(--ink)}.ghost-btn:disabled{opacity:.4;cursor:not-allowed}.ghost-btn.danger{color:var(--signal);border-color:var(--signal);background:color-mix(in srgb,var(--signal) 10%,var(--paper))}.phone{width:min(390px,100%);min-height:720px;background:var(--paper);border:1px solid var(--line);border-radius:44px;box-shadow:0 24px 60px #141b2238;overflow:hidden;display:flex;flex-direction:column;position:relative}.screen{flex:1;display:flex;flex-direction:column;min-height:0}.pad{padding:20px 16px 10px}.h1{font-family:var(--font-display);font-weight:700;font-size:28px;letter-spacing:-.03em;margin:0}.card{width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px;color:var(--ink);cursor:pointer;display:flex;flex-direction:column;gap:10px}.row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.event-name{font-family:var(--font-display);font-weight:600;font-size:17px;letter-spacing:-.01em}.muted{color:var(--muted);font-size:13px}.faint{color:var(--faint)}.ok{color:var(--ok)}.signal{color:var(--signal)}.avatars{display:flex;gap:4px}.av{width:26px;height:26px;border-radius:999px;background:var(--sunken);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:var(--muted)}.hair{height:1px;background:var(--line);width:100%}.list{flex:1;overflow:auto;padding:0 16px 24px;display:flex;flex-direction:column;gap:10px}.archive-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);padding:14px 4px 4px}.archive-row{border:1px dashed var(--line-strong);border-radius:12px;padding:14px 16px;display:flex;justify-content:space-between;color:var(--muted)}.back{width:44px;height:44px;margin-left:-12px;border:none;background:transparent;color:var(--ink);cursor:pointer;font-size:20px}.hero{padding:8px 16px 12px;border-bottom:1px solid var(--line)}.saldo-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}.saldo{font-size:40px;font-weight:500;letter-spacing:-.02em;line-height:1.1}.segments{display:flex;gap:2px;margin-top:14px;background:var(--sunken);border-radius:8px;padding:3px}.segments button{flex:1;height:34px;border:none;border-radius:6px;cursor:pointer;font-size:13px;background:transparent;color:var(--muted)}.segments button.active{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:0 1px 2px #141b221f}.expense{display:flex;gap:12px;padding:14px 2px;border-bottom:1px solid var(--line)}.expense-btn{width:100%;border:none;background:transparent;color:inherit;font:inherit;cursor:pointer;text-align:left}.expense-btn:hover{background:color-mix(in srgb,var(--sunken) 70%,transparent)}.share-row{padding:8px 0;border-bottom:1px solid var(--line)}.card-stats{display:flex;flex-direction:column;gap:3px;font-size:12.5px;color:var(--muted)}.pill{font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;border:1px solid var(--line);border-radius:999px;padding:2px 7px;color:var(--faint)}.zbroj{display:flex;justify-content:space-between;padding:16px 2px 0;border-top:2px solid var(--ink);margin-top:2px}.bar-row{display:grid;grid-template-columns:46px 1fr 78px;align-items:center;gap:8px}.track{position:relative;height:14px;display:block}.axis{position:absolute;left:50%;top:-3px;bottom:-3px;width:1px;background:var(--line-strong)}.fill{position:absolute;top:1px;bottom:1px;border-radius:2px;transition:left .65s cubic-bezier(.2,.7,.2,1),width .65s cubic-bezier(.2,.7,.2,1)}.settle-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px}.arrow-line{flex:1;height:1px;background:var(--line-strong);position:relative}.arrow-line:after{content:"";position:absolute;right:-1px;top:-3.5px;border-left:7px solid var(--line-strong);border-top:4px solid transparent;border-bottom:4px solid transparent}.pay-btn{height:36px;padding:0 14px;border-radius:999px;cursor:pointer;font-weight:600;font-size:13px}.pay-btn.filled{border:none;background:var(--ok);color:#fff}.pay-btn.outline{background:transparent;border:1px solid var(--line-strong);color:var(--ink)}.fab{position:absolute;left:50%;bottom:18px;transform:translate(-50%);width:60px;height:60px;border:none;border-radius:999px;background:var(--deep);color:var(--on-deep);font-size:28px;cursor:pointer;box-shadow:0 10px 24px #0e5c6b6b}.sheet-scrim{position:absolute;inset:0;background:#141b226b;display:flex;align-items:flex-end}.sheet{width:100%;background:var(--surface);border-radius:20px 20px 0 0;padding:10px 16px 28px;animation:sheetIn .3s cubic-bezier(.2,.8,.2,1)}.sheet-tall{max-height:min(88%,720px);overflow:auto}.people-card{padding:4px 0 10px;border-bottom:1px solid var(--line)}.people-row{display:grid;grid-template-columns:36px 1fr auto;gap:10px;align-items:center;padding:10px 0 8px}.people-row-btn{width:100%;border:none;background:transparent;color:inherit;font:inherit;cursor:pointer;border-radius:8px}.people-row-btn:hover{background:color-mix(in srgb,var(--sunken) 80%,transparent)}.people-row .av{width:36px;height:36px;font-size:12px}.people-row .av.is-ghost{background:transparent;border-style:dashed}.people-actions{display:flex;flex-wrap:wrap;gap:8px;padding:0 0 4px 46px}.people-edit{display:flex;flex-direction:column;gap:8px;padding:0 0 10px 46px}.people-err{padding:0 0 6px 46px;color:var(--signal);font-size:13px;line-height:1.4}.people-add{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.primary.compact{height:44px}.grabber{width:38px;height:4px;border-radius:999px;background:var(--line-strong);margin:6px auto 14px}.field{width:100%;height:44px;border:1px solid var(--line-strong);border-radius:8px;background:var(--paper);color:var(--ink);padding:0 12px}.primary{width:100%;height:52px;border:none;border-radius:999px;background:var(--deep);color:var(--on-deep);font-weight:600;cursor:pointer}.toast{position:absolute;left:16px;right:16px;bottom:92px;background:var(--ink);color:var(--paper);border-radius:12px;padding:12px 14px;font-size:14px;animation:toastIn .28s ease}.empty{padding:72px 20px;text-align:center;color:var(--muted);line-height:1.45;display:flex;flex-direction:column;align-items:center;gap:16px}textarea.field{font-family:var(--font-body)}@keyframes sheetIn{0%{transform:translateY(100%)}to{transform:none}}@keyframes toastIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
