:root{--blue:#0b3ea9;--sky:#59afff;--sun:#f5be1a;--ink:#111;--on:#fff;--paper:#fff;--quiet:#111;--line:#11111129;--frame:var(--blue);--frame-soft:#deefff;--debt:#b42318;--paid:#1d6b45;--over:#c49200;--tray:#eaf6ff;--sheet:#fff}*{box-sizing:border-box}html,body{max-width:100%;min-height:100%;margin:0;overflow-x:hidden}body{background:var(--paper);color:var(--ink);font-family:Karla,Segoe UI,sans-serif;font-size:16px;line-height:1.45}#app{min-height:100vh}.app{grid-template-columns:232px 1fr 280px;width:100%;max-width:100%;min-height:100vh;display:grid;overflow-x:clip}.index,.tray{padding:22px 16px}.index{border-right:1px solid var(--line);z-index:5;flex-direction:column;min-height:100%;display:flex;position:relative;overflow:visible}.tray{background:var(--tray);border-left:1px solid var(--line)}.place{letter-spacing:-.03em;margin:0 0 18px;font-size:28px;font-weight:720}.acts{flex-wrap:wrap;gap:8px 14px;display:flex}button,.jump{font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.lenses button{text-align:center;color:var(--ink);background:var(--sheet);border:1px solid var(--line);padding:8px 0}.lenses button[aria-pressed=true]{color:var(--on);background:var(--blue);border-color:var(--blue);font-weight:720}.add{border:0;margin:0;padding:0}.add>button,.add .menu button,.acts button,button[data-cancel],button[data-back]{color:var(--ink);background:var(--sheet);border:1px solid var(--blue);text-align:center;padding:8px 12px}.add .menu{flex-direction:column;align-items:flex-start;gap:8px;margin-top:10px;display:flex}.add .menu button{text-align:left}.idx button{border-bottom:1px solid var(--line);width:100%;margin:0 0 6px;padding:8px 0;display:block}.idx button[aria-pressed=true]{box-shadow:inset 3px 0 var(--sun);padding-left:10px}.idx b{font-size:17px;font-weight:720;display:block}.idx span,.quiet{color:var(--quiet)}.idx span{font-size:14px}main{padding:22px 28px 64px}.who{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.who-end{flex-shrink:0;align-items:baseline;gap:18px;margin-left:auto;display:flex}.who-end .add>button{white-space:nowrap;color:var(--ink);text-underline-offset:4px;padding:0;-webkit-text-decoration:underline dashed;text-decoration:underline dashed;box-shadow:none!important;background:0 0!important;border:0!important}h1{letter-spacing:-.03em;flex:1;min-width:0;margin:0;font-size:34px;font-weight:720;line-height:1.05}.who-end .add{align-self:baseline}.sum{letter-spacing:-.03em;text-align:right;font-size:26px;font-weight:720}.sum em{margin-top:2px;font-size:14px;font-style:normal;font-weight:720;display:block}.sum em.bad{color:#b42318}.sum em.ok{color:#1d6b45}.sum em.settled{color:var(--muted,#666);font-weight:500}.over{color:var(--over)}.sum .debt,.sum .over{font-weight:720}.sum .paid-total{color:var(--quiet);margin-top:4px;font-size:14px;font-weight:420;display:block}.facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px 20px;margin:18px 0 0;padding:14px 0;display:grid}.contract-sheet{gap:18px;max-width:62ch;margin-top:4px;display:grid}.contract-sheet b{color:var(--quiet);margin-bottom:4px;font-size:13px;font-weight:560;display:block}.contract-sheet p{margin:0}.contract-sheet ul{margin:0;padding-left:18px}.contract-sheet li{margin:4px 0}.facts b{color:var(--quiet);margin-bottom:4px;font-size:13px;font-weight:560;display:block}.facts p{margin:0}.detail-below{margin-top:22px}.detail-below>h2{margin:0 0 8px;font-size:20px;font-weight:720}.detail-below .head{justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 8px;display:flex}.detail-below .head h2{margin:0}.detail-below .head button{color:var(--ink);font:inherit;text-underline-offset:4px;cursor:pointer;background:0 0;border:0;padding:0;-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.people-filter{flex-wrap:wrap;align-items:baseline;gap:4px 16px;margin:22px 0 16px;padding:0;display:flex}.people-filter button{color:var(--quiet);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:4px 4px 0 0;padding:4px 8px 6px;font-size:14px;font-weight:420}.people-filter button[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--blue);background:var(--frame-soft);font-weight:720;box-shadow:inset 0 0 0 1px #0b3ea92e}.people-filter button[aria-pressed=true]:before{content:"✓ ";color:var(--blue);font-weight:720}.people-filter-count{color:var(--quiet);margin-left:auto;padding:4px 0;font-size:13px;font-weight:560}.jump{color:var(--ink);text-underline-offset:3px;font-weight:720;text-decoration:underline}.acts{margin:0 0 18px}.pair{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:28px;margin-top:18px;padding-top:18px;display:grid}h2{margin:0 0 8px;font-size:20px;font-weight:720}table{border-collapse:separate;border-spacing:0;width:100%}th,td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:8px 8px 8px 0}td[rowspan]{border-bottom:1px solid var(--line)}th{color:var(--quiet);font-size:13px;font-weight:560}.pair th:first-child,.pair td:first-child{padding-left:10px}.pair th:last-child,.pair td:last-child{padding-right:10px}.drag-handle{width:36px;min-width:36px;height:36px;min-height:36px;box-shadow:none;color:var(--quiet);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;vertical-align:middle;font:inherit;background:0 0;border:0;outline:none;justify-content:center;align-items:center;margin:0 8px 0 -4px;padding:0;display:inline-flex}.drag-handle svg{pointer-events:none;fill:currentColor;width:22px;height:22px;display:block}.drag-handle:active{cursor:grabbing;color:var(--ink)}tr.unit-dragging{opacity:.35}tr.unit-drop-over td{background:var(--frame-soft)}tr.unit-drop-head td{box-shadow:inset 0 2px 0 var(--blue)}body.unit-dnd{cursor:grabbing;-webkit-user-select:none;user-select:none;touch-action:none}.unit-ghost{z-index:40;pointer-events:none;background:var(--sheet);border:1px solid var(--blue);max-width:min(280px,80vw);padding:10px 14px;font-weight:720;position:fixed;box-shadow:0 10px 28px #1111112e}.unit-ghost .quiet{margin-top:4px;font-size:13px;font-weight:420;display:block}.unit-cards{flex-direction:column;gap:0;display:flex}.unit-card{border-bottom:1px solid var(--line);padding:12px 0}.unit-card-head>button{font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.unit-card-people .who-name{font:inherit;color:inherit;cursor:pointer;text-align:left;text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:720;text-decoration:underline}.unit-card-head{align-items:center;gap:4px;margin:0 0 8px;display:flex}.unit-card-head h3{margin:0;font-size:17px;font-weight:720;line-height:1.2}.unit-card-people{flex-direction:column;gap:8px;margin:0;padding:0 0 0 40px;list-style:none;display:flex}.unit-card-people li{cursor:pointer;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.unit-card-people .who-name{min-width:0}.unit-card-people .who-owe{text-align:right;flex-shrink:0}.unit-card.unit-dragging{opacity:.35}.unit-card.unit-drop-over{background:var(--frame-soft)}.unit-card.unit-drop-head{box-shadow:inset 0 2px 0 var(--blue)}@media (width>=761px){.unit-card{grid-template-columns:minmax(140px,.35fr) 1fr;align-items:start;gap:12px 20px;padding:14px 0;display:grid}.unit-card-head>button{font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.unit-card-people .who-name{font:inherit;color:inherit;cursor:pointer;text-align:left;text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:720;text-decoration:underline}.unit-card-head{margin:0}.unit-card-people{padding-left:0}}tr[data-id],tr[data-open]{cursor:pointer}tr.linked td{background:var(--frame-soft)}tr.source td{background:var(--frame-soft);border-top:2px solid var(--frame);border-bottom:2px solid var(--frame)}tr.source td:first-child{border-left:2px solid var(--frame);padding-left:10px}tr.source td:last-child{border-right:2px solid var(--frame);padding-right:10px}tr.linked td:first-child{padding-left:10px}tr.linked td:last-child{padding-right:10px}.debt{color:var(--debt);font-weight:720}.paid{color:var(--paid);font-weight:720}.over{color:var(--over);font-weight:720}.pick-detail{border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px 20px;margin:14px 0 0;padding:12px 0 0;display:grid}.pick-detail>div b{color:var(--quiet);margin-bottom:4px;font-size:13px;font-weight:560;display:block}.pick-detail>div p{margin:0}.pick-detail ul{margin:0;padding-left:18px}.pick-detail li{margin:2px 0}.pick-hint{color:var(--quiet);margin:12px 0 0}.link{max-width:62ch;margin:12px 0 0}.ctx{background:var(--frame-soft);max-width:62ch;margin:0 0 14px;padding:0}.ctx-row{padding:10px 12px}.ctx-row+.ctx-row{border-top:1px solid var(--line)}.ctx b,.ctx-row b{margin-bottom:2px;font-size:13px;font-weight:560;display:block}.mpick{color:var(--quiet);flex-direction:column;gap:4px;font-size:14px;display:flex;position:relative}.mpick-caption{color:var(--quiet);font-size:14px}.mpick>button[data-mpick-open]{font:inherit;color:var(--ink);border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;padding:8px 10px}.mpick-pop{z-index:60;background:#1116;flex-direction:column;padding:0;display:flex;position:fixed;inset:0}.mpick-pop .calpanel{box-shadow:none;border:0;border-radius:0;flex-direction:column;flex:1;gap:16px;width:auto;max-width:none;padding:20px 16px 28px;display:flex}.mpick-pop .cal-foot{margin-top:auto}.mpick-pop .cal-close{width:100%;color:var(--ink);background:var(--sheet);border:1px solid var(--blue);text-align:center;margin-top:0;padding:12px 14px;display:block}.mpick-pop .months{flex:1;align-content:center;gap:10px}.mpick-pop .months button{padding:18px 8px;font-size:16px}.alloc{max-width:62ch;margin-top:16px}.alloc ul{margin:6px 0 0;padding-left:18px}button.units-pop{color:var(--ink);font:inherit;text-underline-offset:4px;cursor:pointer;background:0 0;border:0;padding:0;-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.units-pop-bg{z-index:20;background:#11111159;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.units-pop-card{background:var(--sheet);border:1px solid var(--blue);width:min(320px,100%);padding:18px 20px;box-shadow:0 8px 24px #11111129}.units-pop-card h2{margin:0 0 6px;font-size:18px}.units-pop-card .quiet{margin:0 0 10px}.units-pop-card ul{margin:0 0 14px;padding-left:18px}.units-pop-card li{margin:4px 0}.units-pop-card .close{color:var(--ink);text-underline-offset:4px;font:inherit;background:0 0;border:0;padding:0;-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.steps{grid-column:1/-1;align-items:flex-start;gap:0;width:100%;margin:0 0 14px;display:flex}.step{text-align:center;z-index:0;flex-direction:column;flex:1 1 0;align-items:center;gap:6px;min-width:0;display:flex;position:relative}.step:not(:last-child):after{content:"";background:var(--line);z-index:0;width:calc(100% - 32px);height:2px;position:absolute;top:13px;left:calc(50% + 16px)}.step.done:not(:last-child):after{background:var(--blue)}.step-name{color:var(--quiet);max-width:100%;font-size:12px;font-weight:560;line-height:1.25}.step.now .step-name{color:var(--ink);font-weight:720}.step.done .step-name{color:var(--ink)}.step.done[data-wizard-back]{cursor:pointer}.step-dot{border:2px solid var(--blue);background:var(--sheet);width:28px;height:28px;color:var(--quiet);z-index:1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:720;line-height:1;display:inline-flex;position:relative}.step.done .step-dot{background:var(--blue);border-color:var(--blue);color:var(--on)}.step.now .step-dot{background:var(--frame-soft);border-color:var(--blue);color:var(--ink);box-shadow:0 0 0 2px var(--sun)}form{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:12px 16px;margin:0 0 22px;padding:14px 0 18px;display:grid}form h2,form>.quiet,form>.steps,form>.ctx,form>.mpick{grid-column:1/-1}label{color:var(--quiet);flex-direction:column;gap:4px;font-size:14px;display:flex}label.wide{grid-column:1/-1}input,select{font:inherit;color:var(--ink);border:1px solid var(--line);background:#fff;padding:8px 10px}input:focus,select:focus,button:focus-visible,.jump:focus-visible{outline:2px solid var(--frame);outline-offset:2px}.choices{flex-wrap:wrap;gap:10px 16px;display:flex}.choices label{color:var(--ink);flex-direction:row;align-items:center}.form-actions{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end;align-items:center;gap:12px;display:flex}.pick-choices{flex-direction:column;grid-column:1/-1;gap:10px;display:flex}.pick-choice{text-align:left;width:100%;color:var(--ink);background:var(--sheet);border:1px solid var(--blue);cursor:pointer;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px;display:flex}.pick-choice b{font-size:16px;font-weight:720}.pick-choice span{color:var(--quiet);font-size:14px;font-weight:420}.pick-choice:focus-visible{background:var(--frame-soft)}.save{background:var(--blue);color:var(--on);font:inherit;cursor:pointer;border:0;padding:9px 14px;font-weight:720}.err{color:var(--debt);margin:0}.tray h2{font-size:18px}.tray p.lead{color:var(--quiet);margin:0 0 12px;font-size:14px}.check{border:0;border-top:1px solid var(--line);width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;padding:10px 0;display:block}.check b{font-weight:720;display:block}.check span{color:var(--quiet);font-size:14px}.nav-toggle{display:none}.nav-body{flex-direction:column;flex:1;min-height:0;display:flex}.bookpick{position:relative}.bookpick>button{text-align:left;width:100%;color:var(--ink);background:var(--sheet);border:1px solid var(--blue);padding:10px 12px;display:block}.bookmenu,.lensmenu{z-index:4;background:var(--sheet);border:1px solid var(--blue);padding:4px 0;position:absolute;top:calc(100% + 4px);left:0;right:0}.bookmenu button,.lensmenu button{text-align:left;width:100%;color:var(--ink);background:var(--sheet);border:0;padding:8px 12px;display:block}.bookmenu button[aria-pressed=true],.lensmenu button[aria-pressed=true]{box-shadow:inset 3px 0 var(--sun)}.bookmenu hr{border:0;border-top:1px solid var(--blue);margin:4px 0}.tools{flex-direction:row;align-items:center;gap:10px;margin-top:18px;display:flex}.lensrows{flex-direction:column;flex:1;gap:8px;display:flex}.lensrows button{text-align:left;width:100%;color:var(--ink);background:var(--sheet);border:1px solid var(--line);padding:10px 12px;display:block}.lensrows button[aria-pressed=true]{color:var(--on);background:var(--blue);border-color:var(--blue);font-weight:720}.tools .add{margin:0}.tools .add>button{white-space:nowrap}.lenses{gap:10px;margin:0;display:flex}.head{justify-content:space-between;align-items:center;gap:12px;margin:0 0 8px;display:flex}.head h2{margin:0}.head-acts{align-items:center;gap:16px;display:flex}.head button{color:var(--ink);text-underline-offset:4px;background:0 0;border:0;padding:0;-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.cal{order:3;margin-top:auto;padding-top:18px;position:relative}.nav-toggle{order:1}.nav-body{order:2}.cal-row{align-items:stretch;gap:6px;display:flex}.cal-row>[data-cal]{text-align:left;min-width:0;color:var(--ink);background:var(--sheet);border:1px solid var(--blue);flex:1;padding:10px 12px}.cal-step{min-width:40px;min-height:40px;color:var(--ink);background:var(--sheet);border:1px solid var(--blue);cursor:pointer;flex:0 0 40px;justify-content:center;align-items:center;padding:0;font-size:18px;line-height:1;display:inline-flex}.calgrid{z-index:6;width:min(300px,100vw - 32px);max-width:calc(100vw - 32px);position:absolute;bottom:calc(100% + 6px);left:0}.calpanel{background:var(--sheet);border:1px solid var(--blue);padding:12px;box-shadow:0 8px 24px #1111111f}.cal-mode{gap:8px;display:flex}.cal-mode button{text-align:center;color:var(--ink);background:var(--sheet);border:1px solid var(--blue);flex:1;padding:8px 10px}.cal-mode button[aria-pressed=true]{color:var(--on);background:var(--blue)}.cal-hint{text-align:center;margin:0;font-size:14px}.calyear{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.calyear span{text-align:center;flex:none}.calyear button{min-width:0;color:var(--ink);background:var(--sheet);border:1px solid var(--blue);text-align:center;flex:1 1 0;padding:6px 10px;line-height:1.2}.cal-foot{flex-direction:column;gap:8px;margin-top:10px;display:flex}.cal-today{text-align:center;width:100%;color:var(--ink);background:var(--sheet);border:1px solid var(--blue);padding:8px 12px;display:block}.cal-close{text-align:center;display:none}.months{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.months button{text-align:center;color:var(--ink);background:var(--sheet);white-space:nowrap;border:1px solid #0000;padding:8px 4px;font-size:14px}.months button.in-range{background:var(--frame-soft)}.months button[aria-pressed=true]{background:var(--blue);color:var(--on)}.pair td:nth-child(2),.pair th:nth-child(2),.pair td:last-child,.pair th:last-child,.res td:last-child,.res th:last-child{white-space:nowrap;width:1%}.pair td:first-child,.res td:first-child{white-space:nowrap}.facts p{flex-wrap:wrap;align-items:baseline;gap:6px 10px;display:flex}@media (width<=1080px){.app{grid-template-columns:220px 1fr}.tray{border-left:0;border-top:1px solid var(--line);grid-column:1/-1}}@media (width<=760px){.app{grid-template-columns:1fr;overflow-x:hidden}.index,main,.tray,#stage,.who,.who-end,.pair,.facts,form,table{min-width:0;max-width:100%}.index{border-right:0;border-bottom:1px solid var(--line);overflow:hidden}main{padding:12px 10px 32px;overflow-x:hidden}.facts,.pair,form{grid-template-columns:1fr}.who{flex-wrap:nowrap;align-items:baseline;gap:12px}.who-end{flex-shrink:0;justify-content:flex-end;width:auto;margin-left:auto}.sum{text-align:left}h1{overflow-wrap:anywhere;max-width:100%;font-size:24px}.sum{font-size:20px}.nav-toggle{padding:10px 12px}.nav-body{margin-top:8px}table{width:100%}th,td{word-break:normal}.pair td:first-child,.res td:first-child{white-space:normal;overflow-wrap:anywhere}.pair th:nth-child(2),.pair td:nth-child(2),.pair th:last-child,.pair td:last-child,.res th:last-child,.res td:last-child{white-space:nowrap;word-break:keep-all;overflow-wrap:normal;width:1%}.pair table{width:100%;display:block;overflow-x:auto}.pair thead,.pair tbody{width:100%;display:table}.bookmenu,.lensmenu{max-width:100%}.nav-toggle{width:100%;color:var(--ink);background:var(--sheet);border:1px solid var(--blue);text-align:left;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;font-weight:720;display:flex}.nav-toggle:after{content:"▼";font-size:12px;font-weight:420}.index.is-open .nav-toggle:after{content:"▲"}.nav-body{gap:0;margin-top:12px;display:none}.index.is-open .nav-body{display:flex}.cal{order:2;margin-top:8px;padding-top:0;display:block}.nav-body{order:3}.nav-toggle{order:1}.index,.tray{padding:10px}.index{min-height:0;padding-bottom:10px}.calgrid{z-index:50;background:#1116;flex-direction:column;width:auto;max-width:none;padding:0;display:flex;position:fixed;inset:0}.calpanel{box-shadow:none;border:0;border-radius:0;flex-direction:column;flex:1;gap:16px;padding:20px 16px 28px;display:flex}.calyear{margin-bottom:0}.calyear button{padding:10px 12px}.months{flex:1;align-content:center;gap:10px}.months button{padding:18px 8px;font-size:16px}.cal-foot{margin-top:auto}.cal-today{padding:12px 14px}.cal-close{width:100%;color:var(--ink);background:var(--sheet);border:1px solid var(--blue);text-align:center;margin-top:0;padding:12px 14px;display:block}}.load-demo{border-bottom:1px dashed var(--line);color:var(--quiet);flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0 0 14px;padding:6px 0 10px;font-size:12px;display:flex}.load-demo-kicker{letter-spacing:.02em;color:var(--quiet);margin-right:4px;font-weight:560}.load-demo button{font:inherit;color:var(--quiet);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:420}.load-demo button[aria-pressed=true]{color:var(--blue);border-color:var(--blue);background:var(--frame-soft);font-weight:560}button.is-pending,.people-filter button.is-pending,.cal-step.is-pending,.who-end .add>button.is-pending{opacity:.55;pointer-events:none;box-shadow:inset 0 0 0 1px var(--blue)}.list-shell,.pair,.detail-below,.money-shell{min-height:0}.list-shell{min-height:260px}.pair,.money-shell{min-height:200px}.detail-below{min-height:112px}.skel-row{border-bottom:1px solid var(--line);gap:8px;padding:12px 0;display:grid}.skel-line{background:linear-gradient(90deg,#0b3ea914 0%,#f5be1a2e 45%,#0b3ea914 90%) 0 0/220% 100%;border-radius:4px;height:12px;animation:1.15s ease-in-out infinite skel-shimmer}.skel-name{width:42%;height:14px}.skel-quiet{opacity:.85;width:28%;height:10px}.skel-row.skel-table{grid-template-columns:1.4fr .7fr .6fr;align-items:center;gap:16px}.skel-row.skel-table .skel-line{width:100%}@keyframes skel-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.load-fail{border:1px solid var(--debt);background:#fff6f5;min-height:120px;margin:8px 0 0;padding:14px 16px}.load-fail p{margin:0 0 12px;font-weight:560}.load-fail-acts{flex-wrap:wrap;gap:10px 14px;display:flex}.load-fail-acts button{font:inherit;cursor:pointer;border:1px solid var(--blue);background:var(--sheet);color:var(--ink);padding:8px 12px}.load-fail-acts button[data-load-retry]{background:var(--blue);color:var(--on);border-color:var(--blue);font-weight:720}.sync-panel{border:1px solid var(--line);background:var(--frame-soft);min-height:120px;margin:8px 0 0;padding:14px 16px}.sync-panel .sync-label{margin:0 0 10px;font-weight:560}.sync-bar{background:#11111114;border-radius:999px;height:10px;overflow:hidden}.sync-bar-fill{background:linear-gradient(90deg, var(--blue), var(--sky));width:0%;height:100%;transition:width .25s}.sync-meta{color:var(--quiet);margin:8px 0 0;font-size:13px}.sync-ok{color:var(--paid);margin:8px 0 0;font-weight:560}.empty-state{border:1px dashed var(--line);background:var(--frame-soft);flex-direction:column;align-items:flex-start;gap:10px;max-width:42ch;margin:8px 0 0;padding:18px 16px;display:flex}.empty-state.money-empty{box-sizing:border-box;width:100%;max-width:none;margin:4px 0 8px}.empty-glyph{background:var(--sheet);border:1px solid var(--blue);width:40px;height:40px;color:var(--blue);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;font-weight:720;line-height:1;display:inline-flex}.empty-state h3{letter-spacing:-.01em;margin:0;font-size:16px;font-weight:720}.empty-state p{color:var(--quiet);max-width:36ch;margin:0;font-size:14px}.empty-state .empty-cta{color:var(--on);background:var(--blue);border:1px solid var(--blue);font:inherit;cursor:pointer;margin-top:4px;padding:9px 14px;font-weight:720;text-decoration:none}.empty-state .empty-cta.secondary{color:var(--ink);background:var(--sheet)}.toast-host{z-index:80;pointer-events:none;flex-direction:column;align-items:flex-end;gap:8px;max-width:min(360px,100vw - 24px);display:flex;position:fixed;inset:auto 16px 16px auto}@media (width<=760px){.toast-host{align-items:stretch;max-width:none;inset:12px 12px auto}}.toast{pointer-events:auto;background:var(--sheet);border:1px solid var(--line);border-left:4px solid var(--paid);width:100%;max-width:360px;color:var(--ink);grid-template-columns:auto 1fr auto;align-items:start;gap:10px 12px;padding:12px 14px 10px;font-size:14px;display:grid;position:relative;overflow:hidden;box-shadow:0 8px 24px #11111124}.toast-icon{width:28px;height:28px;color:var(--paid);background:#e8f5ee;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:720;display:inline-flex}.toast-body{min-width:0}.toast-body b{margin-bottom:2px;font-weight:720;display:block}.toast-body span{color:var(--quiet);font-size:13px}.toast-undo{font:inherit;color:var(--blue);cursor:pointer;text-underline-offset:3px;white-space:nowrap;background:0 0;border:0;padding:4px 0;font-weight:720;text-decoration:underline}.toast-bar{background:#11111114;grid-column:1/-1;height:3px;margin:2px -14px -10px;overflow:hidden}.toast-bar>i{transform-origin:0;background:var(--paid);width:100%;height:100%;animation:linear forwards toast-drain;display:block}.toast.is-paused .toast-bar>i{animation-play-state:paused}@keyframes toast-drain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media (hover:hover){.drag-handle:hover{color:var(--ink)}.cal-step:hover{background:var(--frame-soft)}.people-filter button:hover,.people-filter button[aria-pressed=true]:hover{color:var(--ink)}.step.done[data-wizard-back]:hover .step-name{text-underline-offset:3px;text-decoration:underline}.pick-choice:hover{background:var(--frame-soft)}.load-demo button:hover{color:var(--ink);border-color:var(--line)}tr[data-open]:hover td,tr[data-id]:hover td{background:#deefff73}tr.source:hover td,tr.linked:hover td{background:var(--frame-soft)}}@media (pointer:coarse){.drag-handle{width:44px;min-width:44px;height:44px;min-height:44px}.cal-step{flex:0 0 44px;min-width:44px;min-height:44px}}form>.form-net-err,form>.sim-net,form>.spick{grid-column:1/-1}.form-net-err{border:1px solid var(--debt);border-left:4px solid var(--debt);color:var(--ink);background:#fdf2f1;flex-wrap:wrap;align-items:flex-start;gap:10px 14px;margin:0;padding:12px 14px;transition:opacity .2s,transform .2s;display:flex}.form-net-err b{margin-bottom:2px;font-weight:720;display:block}.form-net-err span{color:var(--quiet);font-size:13px;display:block}.form-net-err button{font:inherit;cursor:pointer;border:1px solid var(--debt);background:var(--sheet);color:var(--ink);padding:8px 12px;font-weight:720}.sim-net{color:var(--quiet);cursor:pointer;flex-direction:row;align-items:center;gap:8px;margin:0;font-size:13px;display:flex}.sim-net input{width:auto;margin:0}.spick{color:var(--quiet);flex-direction:column;gap:6px;font-size:14px;display:flex}.spick-caption{font-size:14px}.spick-q{font:inherit;color:var(--ink);border:1px solid var(--line);background:#fff;padding:8px 10px}.spick-meta{color:var(--quiet);justify-content:space-between;align-items:center;min-height:1.2em;font-size:12px;display:flex}.spick-meta button{font:inherit;color:var(--blue);cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:0;font-size:12px;text-decoration:underline}.spick-list{border:1px solid var(--line);background:var(--sheet);flex-direction:column;max-height:220px;display:flex;overflow:auto}.spick-opt{text-align:left;border:0;border-bottom:1px solid var(--line);background:var(--sheet);width:100%;color:var(--ink);font:inherit;cursor:pointer;padding:10px 12px;transition:background .15s;display:block}.spick-opt:last-child{border-bottom:0}.spick-opt[aria-selected=true]{background:var(--frame-soft);box-shadow:inset 3px 0 var(--sun);font-weight:720}.spick-empty{color:var(--quiet);padding:14px 12px;font-size:13px}.spick-empty button{font:inherit;color:var(--blue);cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:0;font-size:13px;text-decoration:underline}.toast{animation:.2s toast-in}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.empty-state{transition:opacity .2s}.people-filter button{transition:background .15s,color .15s,border-color .15s}
