.sp-app{max-width:480px;margin:0 auto;padding:20px 16px 48px}.sp-pad{gap:14px;display:grid}.sp-app h1{font-family:var(--serif);font-size:clamp(28px,7vw,34px);font-weight:600;line-height:1.12}.sp-app h2{font-family:var(--serif);font-size:22px;font-weight:600}.sp-app p{color:var(--ink-2);font-size:15.5px}.sp-lbl{letter-spacing:.04em;color:var(--ink-3);font-size:12.5px;font-weight:700}.sp-cap,.sp-app p.sp-cap{color:var(--ink-3);font-size:13px}.sp-card{background:var(--card);border:1px solid var(--line-card);border-radius:var(--r-lg);padding:16px}.sp-card.tint{background:var(--teal-tint);border-color:#0000}.sp-card.warn{color:#8f5e08;background:#f9eed2;border-color:#0000;font-size:14px}.sp-card>b{font-size:15px}.sp-card>p{margin-top:4px}.sp-card.tint .sp-row{margin-top:10px}.sp-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.sp-list .sp-row{padding:9px 0}.sp-list .sp-row+.sp-row{border-top:1px solid var(--line-soft)}.sp-who{align-items:center;gap:9px;min-width:0;font-size:15px;display:inline-flex}.sp-av{background:var(--teal-tint);width:30px;height:30px;color:var(--teal-deep);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:700;display:grid}.sp-end{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.sp-money{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.sp-money.in{color:var(--teal)}.sp-money.out{color:var(--coral-deep)}.sp-hero{font-family:var(--serif);font-variant-numeric:tabular-nums;font-size:38px;font-weight:600;line-height:1.15}.sp-tag{white-space:nowrap;background:var(--line-soft);width:fit-content;color:var(--ink-3);border-radius:999px;padding:2px 9px;font-size:12px;font-weight:700;display:inline-flex}.sp-tag.soft{background:var(--teal-tint);color:var(--teal-deep)}.sp-tag.warn{color:#8f5e08;background:#f9eed2}.sp-tag.good{color:var(--teal);background:#e2efe4}.sp-btn{border:1.5px solid var(--teal);background:var(--teal);color:#f4faf7;width:100%;font-family:var(--sans);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:13px 18px;font-size:16px;font-weight:700;text-decoration:none;display:flex}.sp-btn.ghost{color:var(--teal);background:0 0}.sp-btn.sm{width:auto;padding:7px 14px;font-size:13.5px}.sp-btn[disabled]{opacity:.5;cursor:not-allowed}.sp-link{width:fit-content;color:var(--teal-deep);font-family:var(--sans);cursor:pointer;background:0 0;border:0;padding:0;font-size:14.5px;font-weight:600;text-decoration:underline}.sp-form{gap:14px;display:grid}.sp-field{gap:6px;min-width:0;display:grid}.sp-app input:not([type=checkbox]),.sp-app select,.sp-input{width:100%;min-width:0;font-family:var(--sans);color:var(--ink);background:var(--cream);border:1.5px solid var(--line);border-radius:11px;padding:11px 12px;font-size:16px}.sp-input{justify-content:space-between;align-items:center;gap:10px;font-size:13.5px;display:flex}.sp-input span{overflow-wrap:anywhere}.sp-amount{grid-template-columns:96px minmax(0,1fr);gap:8px;display:grid}.sp-twin{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.sp-twin[hidden]{display:none}.sp-tick{color:var(--ink-2);align-items:flex-start;gap:10px;font-size:14px;display:flex}.sp-tick input{width:17px;height:17px;accent-color:var(--teal);flex:none;margin-top:3px}.sp-chips{flex-wrap:wrap;gap:6px;display:flex}.sp-chip{border:1px solid var(--line);background:var(--card);color:var(--ink);font-family:var(--sans);cursor:pointer;border-radius:999px;padding:7px 12px;font-size:14px;font-weight:600}.sp-chip.on{background:var(--teal);border-color:var(--teal);color:#f4faf7}.sp-seg{background:var(--line-soft);border-radius:999px;gap:2px;padding:3px;display:flex}.sp-seg button{font-family:var(--sans);color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:999px;flex:1;padding:8px;font-size:14px;font-weight:600}.sp-seg button.on{background:var(--card);color:var(--ink);box-shadow:var(--shadow-sm)}.sp-line{grid-template-columns:minmax(0,1fr) auto minmax(76px,auto);align-items:center;gap:10px;padding:7px 0;display:grid}.sp-line .sp-money{text-align:right}.sp-step{align-items:center;gap:8px;font-size:14px;display:inline-flex}.sp-step button{border:1px solid var(--line);background:var(--cream);cursor:pointer;border-radius:50%;width:32px;height:32px;font-size:16px}.sp-item{border-bottom:1px solid var(--line-soft);gap:8px;padding:10px 0;display:grid}.sp-item-add{grid-template-columns:minmax(0,1fr) 90px auto;gap:8px;padding-top:10px;display:grid}.sp-txn{justify-content:space-between;gap:12px;padding:9px 0;font-size:15px;display:flex}.sp-txn .sp-end{flex:none}.sp-txn+.sp-txn{border-top:1px solid var(--line-soft)}.sp-og{border:1px solid var(--line-card);border-radius:var(--r-md);background:var(--card);overflow:hidden}.sp-og .img{background:var(--teal);color:#f4faf7;gap:4px;padding:22px 16px;display:grid}.sp-og .img .sp-lbl{color:#f4faf7}.sp-og .img b{font-family:var(--serif);font-size:22px}.sp-og .meta{padding:10px 14px;font-size:13.5px}.sp-toast{background:var(--teal-deep);color:#f4faf7;border-radius:12px;margin-bottom:12px;padding:10px 14px;font-size:14px}.sp-error,.sp-app p.sp-error{color:var(--coral-deep);margin-bottom:12px;font-size:14.5px}.sp-error:empty{display:none}.sp-foot,.sp-app p.sp-foot{text-align:center;color:var(--ink-3);margin-top:26px;font-size:13px}.sp-foot a{color:var(--teal-deep);font-weight:600}.sp-groups{gap:10px;margin-top:24px;display:grid}.sp-recover{margin-top:24px}.sp-groups[hidden]{display:none}
