:root{--paper:#f2f1ec;--paper-2:#eae9e2;--ink:#111110;--ink-2:#6b6b64;--hair:rgba(17,17,16,.12);--hair-soft:rgba(17,17,16,.06);--red:#e2231a;--white:#fbfbf8;--green:#1f9e4d;--shadow:0 24px 60px -24px rgba(17,17,16,.35);--font:"Helvetica Neue",Helvetica,"Neue Haas Grotesk Display",Arial,sans-serif;--mono:"SFMono-Regular",ui-monospace,"JetBrains Mono","Roboto Mono",Menlo,monospace;--ease:cubic-bezier(.22,.61,.36,1)}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;line-height:1.25;font-feature-settings:"tnum" 1,"kern" 1;overflow-x:hidden}::selection{background:var(--ink);color:var(--paper)}a{color:inherit;text-decoration:none}.wrap{max-width:1180px;margin:0 auto;padding:0 28px}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background-image:radial-gradient(rgba(17,17,16,.025) 1px,transparent 0);background-size:4px 4px;opacity:.6}.app{position:relative;z-index:1}.masthead{border-bottom:1.5px solid var(--ink);padding:22px 0 14px}.masthead .row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}.brand{display:flex;align-items:baseline;gap:12px}.brand .mark{width:14px;height:14px;background:var(--red);border-radius:50%;transform:translateY(1px);transition:transform .5s var(--ease)}.brand:hover .mark{transform:translateY(1px) scale(1.25) rotate(20deg)}.brand h1{font-size:24px;letter-spacing:-.03em;font-weight:700}.brand .sub{font-family:var(--mono);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-2)}.identity{display:flex;align-items:center;gap:14px}.identity .who{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--ink-2);text-align:right;line-height:1.7}.identity .who b{color:var(--ink);font-weight:600}.avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;color:var(--white);flex:none;transition:transform .35s var(--ease)}.avatar:hover{transform:scale(1.08)}.sync-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green)}.sync-dot.pulse{animation:pulse 1s var(--ease)}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(31,158,77,.5)}to{box-shadow:0 0 0 9px rgba(31,158,77,0)}}.wsbar{display:flex;gap:10px;padding:14px 0 0;flex-wrap:wrap}.wsbar,.wschip{align-items:center}.wschip{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:7px 13px;border:1px solid var(--hair);border-radius:2px;cursor:pointer;transition:all .25s var(--ease);color:var(--ink-2);background:transparent;display:inline-flex;gap:8px;line-height:1}.wschip:hover{border-color:var(--ink);color:var(--ink)}.wschip.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.wschip.add{border-style:dashed}.wschip .cog{font-size:11px;opacity:.55;transition:opacity .25s var(--ease),transform .4s var(--ease)}.wschip.active:hover .cog{opacity:1;transform:rotate(60deg)}.stats{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--hair)}.stat{position:relative;padding:28px 34px 26px;border-right:1px solid var(--hair);transition:background .35s var(--ease)}.stat:first-child{padding-left:0}.stat:last-child{border-right:none;padding-right:0}.stat:hover{background:var(--white)}.stat .label{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2);margin-bottom:14px;display:flex;align-items:center;gap:7px}.stat .val{font-size:46px;font-weight:700;letter-spacing:-.04em;line-height:.9;white-space:nowrap}.stat .val .cur{font-size:21px;font-weight:600;color:var(--ink-2);margin-right:3px;vertical-align:.52em;letter-spacing:0}.stat.alert .val{color:var(--red)}.stat.alert .val .cur{color:var(--red);opacity:.55}.dotg{width:8px;height:8px;border-radius:1px;display:inline-block;flex:none}.toolbar{justify-content:space-between;gap:16px;padding:16px 0}.filters,.toolbar{display:flex;align-items:center;flex-wrap:wrap}.filters{gap:6px}.chip{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;padding:6px 11px;border:1px solid var(--hair);background:transparent;cursor:pointer;color:var(--ink-2);transition:all .25s var(--ease);display:flex;align-items:center;gap:7px;border-radius:2px;white-space:nowrap}.chip:hover{border-color:var(--ink);color:var(--ink)}.chip.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.chip .sw{width:8px;height:8px;border-radius:1px;flex:none}.chip .ct{opacity:.5;font-size:9.5px}.actions,button.btn{display:flex;gap:8px}button.btn{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:9px 16px;border:1.5px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer;transition:all .25s var(--ease);border-radius:2px;align-items:center}button.btn.ghost,button.btn:hover{background:transparent;color:var(--ink)}button.btn.ghost{border-color:var(--hair)}button.btn.ghost:hover{border-color:var(--ink)}button.btn:active{transform:translateY(1px) scale(.99)}button.btn:disabled{opacity:.5;cursor:default}.btn .plus{font-size:14px;line-height:1}.list-head{display:grid;grid-template-columns:42px 1fr 150px 220px 110px 36px;grid-gap:18px;gap:18px;align-items:center;padding:10px 0;border-bottom:1.5px solid var(--ink);font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2)}.list-head .r{text-align:right}.rows{padding-bottom:60px}.prow{display:grid;grid-template-columns:42px 1fr 150px 220px 110px 36px;grid-gap:18px;gap:18px;align-items:center;padding:18px 0;border-bottom:1px solid var(--hair);position:relative;cursor:pointer;transition:background .3s var(--ease),padding-left .3s var(--ease);animation:rise .55s var(--ease) both}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.prow:hover{background:var(--white);padding-left:12px;box-shadow:inset 3px 0 0 var(--red)}.prow.open{z-index:20}.prow .idx{font-family:var(--mono);font-size:12px;color:var(--ink-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.prow .title{min-width:0}.prow .title .name{font-size:19px;font-weight:600;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prow .title .client{font-family:var(--mono);font-size:10.5px;letter-spacing:.05em;color:var(--ink-2);margin-top:4px;text-transform:uppercase}.prow .title .comment{font-size:12.5px;color:var(--ink-2);margin-top:7px;line-height:1.45;padding-left:9px;border-left:2px solid var(--hair);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:52ch}.prow .title .payouts{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.payout{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase;padding:5px 9px;border:1px solid var(--hair);border-radius:2px;background:transparent;color:var(--ink-2);cursor:pointer;transition:all .2s var(--ease);white-space:nowrap}.payout:hover{border-color:var(--ink);color:var(--ink)}.payout .tick{font-size:11px;line-height:1}.payout.done{background:rgba(31,158,77,.1);border-color:var(--green)}.payout.done,.payout.done .tick{color:var(--green)}.payout-summary{display:flex;align-items:center;gap:14px 18px;flex-wrap:wrap;padding:11px 0;border-bottom:1px solid var(--hair)}.payout-summary .ps-label{font-family:var(--mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2);flex:none}.payout-summary .ps-items{display:flex;flex-wrap:wrap;gap:7px}.ps-item{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:11px;letter-spacing:.03em;padding:4px 9px;border:1px solid var(--hair);border-radius:2px}.ps-item .ps-name{font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}.ps-item .ps-amt{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--red)}.ps-item .ps-ct{font-size:9px;color:var(--ink-2);background:var(--paper-2);border-radius:10px;padding:1px 6px;line-height:1.5}.ps-item.clear{border-style:dashed}.ps-item.clear .ps-amt{color:var(--green)}.statuscell{position:relative}.status{display:flex;align-items:center;gap:8px;cursor:pointer;padding:4px 0;border-radius:2px;transition:opacity .2s}.status:hover{opacity:.62}.status .sw{width:10px;height:10px;border-radius:1px;flex:none;transition:background .35s var(--ease)}.status .nm{font-family:var(--mono);font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;font-weight:500}.paycell .amounts{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.paycell .paid{font-size:15px;font-weight:600;letter-spacing:-.01em}.paycell .total{font-family:var(--mono);font-size:11px;color:var(--ink-2)}.paycell .owe{font-family:var(--mono);font-size:10px;color:var(--red);letter-spacing:.04em;margin-top:3px}.paycell .owe.done{color:var(--green)}.bar{height:3px;background:var(--hair);margin-top:7px;position:relative;overflow:hidden}.bar,.bar .fill{border-radius:2px}.bar .fill{position:absolute;inset:0;width:0;background:var(--ink);transition:width .9s var(--ease)}.bar .fill.full{background:var(--green)}.ownercell{display:flex;justify-content:flex-end}.mini-av{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:700;color:var(--white)}.dash{font-family:var(--mono);font-size:10px}.dash,.rowmenu{color:var(--ink-2)}.rowmenu{justify-self:end;font-size:18px;line-height:1;padding:4px 8px;border-radius:2px;transition:all .2s;cursor:pointer}.rowmenu:hover{background:var(--paper-2);color:var(--ink)}.empty{padding:80px 0;text-align:center;color:var(--ink-2)}.empty .big{font-size:clamp(34px,6vw,72px);font-weight:700;letter-spacing:-.04em;color:var(--ink);opacity:.12;line-height:.95}.empty p{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;margin-top:16px}.scrim{position:fixed;inset:0;background:rgba(17,17,16,.4);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .35s var(--ease);z-index:40}.scrim.on{opacity:1;pointer-events:auto}.drawer{position:fixed;top:0;right:0;height:100%;width:min(460px,92vw);background:var(--paper);border-left:1.5px solid var(--ink);box-shadow:var(--shadow);z-index:50;transform:translateX(100%);transition:transform .42s var(--ease);display:flex;flex-direction:column}.drawer.on{transform:translateX(0)}.drawer .dhead{display:flex;align-items:center;justify-content:space-between;padding:22px 26px;border-bottom:1.5px solid var(--ink)}.drawer .dhead .dt{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2)}.drawer .dhead .x{cursor:pointer;font-size:22px;line-height:1;color:var(--ink);transition:transform .3s var(--ease);background:none;border:none}.drawer .dhead .x:hover{transform:rotate(90deg)}.dbody{padding:24px 26px;overflow-y:auto;flex:1 1}.field{margin-bottom:22px;animation:rise .5s var(--ease) both}.field label{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2);margin-bottom:8px}.field input,.field select,.field textarea{width:100%;background:transparent;border:none;border-bottom:1.5px solid var(--hair);font-family:var(--font);font-size:18px;color:var(--ink);padding:6px 0;letter-spacing:-.01em;transition:border-color .3s var(--ease)}.field input::placeholder,.field textarea::placeholder{color:var(--ink-2);opacity:.5}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--ink)}.field textarea{resize:vertical;min-height:60px;font-size:14px;line-height:1.5}.field .err{border-color:var(--red)!important}.twocol-fields{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px}.moneyinput{display:flex;align-items:center;gap:6px;border-bottom:1.5px solid var(--hair);transition:border-color .3s}.moneyinput:focus-within{border-color:var(--ink)}.moneyinput input{border:none}.moneyinput .pre{font-size:18px;color:var(--ink-2)}.statuspick{display:flex;flex-wrap:wrap;gap:8px}.spick{display:flex;align-items:center;gap:7px;padding:7px 11px;border:1px solid var(--hair);border-radius:2px;cursor:pointer;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;transition:all .2s var(--ease);background:none;color:var(--ink)}.spick .sw{width:9px;height:9px;border-radius:1px}.spick.sel,.spick:hover{border-color:var(--ink)}.spick.sel{background:var(--ink);color:var(--paper)}.dfoot{padding:18px 26px;border-top:1px solid var(--hair);display:flex;gap:10px}.dfoot .btn{flex:1 1;justify-content:center}.del-link{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--red);cursor:pointer;background:none;border:none;padding:10px 0;margin-top:4px;transition:opacity .2s}.del-link:hover{opacity:.6}.danger-zone{margin-top:34px;padding-top:22px;border-top:1px solid var(--hair)}.danger-zone .dz-title{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--red);margin-bottom:10px}button.btn.danger{background:transparent;border-color:var(--red);color:var(--red)}button.btn.danger:hover{background:var(--red);color:var(--white)}.payout-list{display:flex;flex-direction:column;gap:8px}.payout-row{display:flex;align-items:center;gap:12px;width:100%;padding:11px 12px;border:1px solid var(--hair);border-radius:3px;background:transparent;cursor:pointer;transition:all .2s var(--ease);text-align:left;font-family:var(--font)}.payout-row:hover{border-color:var(--ink)}.payout-row .tick{font-size:15px;color:var(--ink-2);width:16px;flex:none;text-align:center}.payout-row .pl{flex:1 1;font-size:14px;color:var(--ink)}.payout-row .pa{font-family:var(--mono);font-size:13px;color:var(--ink-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.payout-row.done{border-color:var(--green);background:rgba(31,158,77,.08)}.payout-row.done .pa,.payout-row.done .tick{color:var(--green)}.payout-config{margin-top:28px;padding-top:22px;border-top:1px solid var(--hair)}.payout-config .cfg-label{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2);margin-bottom:8px}.payout-cfg-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--hair-soft)}.payout-cfg-row>input[type=text]{flex:1 1;min-width:0;border:none;border-bottom:1px solid transparent;font-size:15px;background:transparent;padding:3px 0;font-family:var(--font);color:var(--ink)}.payout-cfg-row>input[type=text]:focus{outline:none;border-bottom-color:var(--ink)}.moneyinput.sm{width:104px;flex:none}.moneyinput.sm .pre,.moneyinput.sm input{font-size:15px;padding:3px 0}.payout-cfg-row .rm{cursor:pointer;color:var(--ink-2);font-size:16px;padding:0 4px;background:none;border:none;transition:color .2s}.payout-cfg-row .rm:hover{color:var(--red)}.add-row{margin-top:14px;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);background:none;border:1px dashed var(--hair);border-radius:2px;padding:8px 12px;cursor:pointer;transition:border-color .2s var(--ease),color .2s var(--ease)}.add-row:hover{border-color:var(--ink)}.stat-edit{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--hair);animation:rise .45s var(--ease) both}.stat-edit input[type=color]{width:26px;height:26px;border:1px solid var(--hair);border-radius:2px;background:none;cursor:pointer;padding:0;flex:none}.stat-edit input[type=text]{flex:1 1;border:none;border-bottom:1px solid transparent;font-size:15px;background:transparent;padding:3px 0;font-family:var(--font)}.stat-edit input[type=text]:focus{outline:none;border-bottom-color:var(--ink)}.stat-edit .rm{cursor:pointer;color:var(--ink-2);font-size:16px;padding:0 4px;transition:color .2s;background:none;border:none}.stat-edit .rm:hover{color:var(--red)}.hint{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;color:var(--ink-2);line-height:1.6;margin-bottom:18px;text-transform:uppercase}.invitebox{display:flex;gap:8px;margin-top:6px}.invitebox input{flex:1 1;font-size:12px;font-family:var(--mono);border:1px solid var(--hair);padding:9px 11px;border-radius:2px;background:var(--white);color:var(--ink)}.memberlist{margin-top:18px}.memberrow{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--hair-soft)}.memberrow .nm{font-size:14px}.memberrow .role{margin-left:auto;font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}.pop{position:absolute;top:100%;left:0;margin-top:6px;background:var(--white);border:1.5px solid var(--ink);box-shadow:var(--shadow);z-index:30;min-width:180px;padding:6px;border-radius:3px;animation:popin .25s var(--ease) both}@keyframes popin{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:none}}.pop .opt{display:flex;align-items:center;gap:9px;padding:8px 10px;cursor:pointer;border-radius:2px;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;transition:background .15s}.pop .opt:hover{background:var(--paper-2)}.pop .opt .sw{width:9px;height:9px;border-radius:1px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--ink);color:var(--paper);font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:12px 20px;border-radius:3px;opacity:0;pointer-events:none;transition:all .35s var(--ease);z-index:80}.toast.on{opacity:1;transform:translateX(-50%) translateY(0)}.center{min-height:100vh;display:grid;place-items:center;padding:24px}.card{width:100%;max-width:420px;border:1.5px solid var(--ink);background:var(--white);padding:40px 36px;box-shadow:var(--shadow)}.card .mark{width:16px;height:16px;background:var(--red);border-radius:50%;margin-bottom:24px}.card h2{font-size:30px;letter-spacing:-.03em;line-height:1.05;margin-bottom:10px}.card p{color:var(--ink-2);font-size:14px;line-height:1.5;margin-bottom:28px}.card .sub{font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-2);margin-bottom:8px}.card form{display:flex;flex-direction:column;gap:14px}.card input{width:100%;background:transparent;border:none;border-bottom:1.5px solid var(--hair);font-family:var(--font);font-size:18px;color:var(--ink);padding:8px 0}.card input:focus{outline:none;border-color:var(--ink)}.bigbtn{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:14px 18px;border:1.5px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer;transition:all .25s var(--ease);width:100%}.bigbtn:hover{background:transparent;color:var(--ink)}@media(max-width:860px){.stats{grid-template-columns:1fr}.stat{border-right:none;border-bottom:1px solid var(--hair);padding:18px 0}.stat:last-child{border-bottom:none}.stat .val{font-size:38px}.list-head{display:none}.prow{grid-template-columns:30px 1fr;grid-template-areas:"idx title" ". status" ". pay" ". owner";gap:8px 14px;padding:16px 0}.prow:hover{padding-left:8px}.prow .idx{grid-area:idx}.prow .title{grid-area:title}.statuscell{grid-area:status}.paycell{grid-area:pay}.ownercell{grid-area:owner;justify-content:flex-start}.rowmenu{position:absolute;top:14px;right:0}.twocol-fields{grid-template-columns:1fr}}