@charset "UTF-8";:root{--primary: #1f4e79;--accent: #c0504d;--text: #1d1d1f;--muted: #5f5e5a;--border: #d9d7d0;--surface: #ffffff;--page: #f6f5f2;--danger: #a32d2d;--success: #3b6d11;--radius: 8px;color-scheme:light}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:var(--text);background:var(--page);font-size:15px}input,textarea,select{font:inherit;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;width:100%}textarea{resize:vertical}input.invalid,textarea.invalid{border-color:var(--danger)}button{font:inherit;padding:8px 16px;border-radius:var(--radius);border:1px solid var(--border);background:#fff;cursor:pointer}button.primary{background:var(--primary);border-color:var(--primary);color:#fff}button.ghost{border-color:transparent;background:transparent}a.button:not(.primary){display:inline-block;border:1px solid var(--border);background:#fff;color:var(--text)}button:disabled{opacity:.6;cursor:default}.error{color:var(--danger);font-size:13px;margin:4px 0 0}.ok{color:var(--success);font-size:13px}.hint{color:var(--muted);font-size:13px}.page{max-width:880px;margin:24px auto;padding:0 16px;display:grid;gap:16px}.page>*{min-width:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px 20px}.card h2{font-size:17px;font-weight:600;margin:0 0 4px}.card>.hint{margin:0 0 14px}.card-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:14px}.help-btn{flex:none;width:22px;height:22px;padding:0;border-radius:50%;display:inline-grid;place-items:center;font-size:13px;font-weight:600;line-height:1;color:var(--primary);border-color:var(--primary);background:#fff}.help-btn[aria-expanded=true]{background:var(--primary);color:#fff}.help-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.help-head{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.help-text{margin:0}:root{--zebra: color-mix(in srgb, var(--primary) 7%, white)}table.zebra tbody tr:nth-child(2n of:not(.sub):not(.sum)) td{background:var(--zebra)}.table-scroll{overflow-x:auto}.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.toast{position:fixed;left:50%;bottom:16px;transform:translate(-50%);z-index:40;width:max-content;max-width:calc(100vw - 24px);display:flex;gap:12px;align-items:center;padding:10px 8px 10px 14px;background:var(--surface);border:1px solid var(--success);border-left-width:4px;border-radius:10px;box-shadow:0 6px 24px #0000002e;font-size:14px}.toast.bad{border-color:var(--danger);color:var(--danger)}.toast a{color:var(--primary);font-weight:500}.toast .close{padding:2px 8px;border:none;background:none;font-size:20px;line-height:1;color:var(--muted)}.pill{font-size:12px;padding:2px 8px;border-radius:6px;white-space:nowrap;display:inline-block}.pill.paid{background:#eaf3de;color:#3b6d11}.pill.outstanding{background:#faeeda;color:#854f0b}.pill.part{background:#fdf6ea;color:#854f0b}.pill.draft{background:#e6f1fb;color:#185fa5}.pill.void{background:#f1efe8;color:#5f5e5a}.pill.edited{background:#fcebeb;color:#a32d2d}.pill.credit{background:#eaf3de;color:#3b6d11}.pill-x{margin-left:4px;padding:0 3px;border:none;border-radius:4px;background:none;color:inherit;font-size:13px;line-height:1}.pill-x:hover:not(:disabled){background:#a32d2d26}@media(max-width:720px){.pill-x{padding:2px 8px;font-size:15px}}tr.grp>td:first-child{border-left:3px solid #000}tr.grp>td:last-child{border-right:3px solid #000}tr.grp-top>td{border-top:3px solid #000}tr.grp-end>td{border-bottom:3px solid #000}tr.sum>td{font-weight:600}tr.sum>td:first-child{text-align:right}.warn-note{font-size:12px;color:#854f0b;background:#faeeda;padding:2px 6px;border-radius:4px}.other-amount{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.confirm .warn-note,.confirm .plan,.confirm .error{flex-basis:100%;margin:0}.confirm .void-ask{flex-basis:100%;display:grid;gap:6px;margin:0;padding:0;border:none;min-width:0}.confirm .void-ask legend{padding:0;margin-bottom:6px}.confirm .void-ask label{display:flex;align-items:center;gap:8px}.confirm .void-ask input{width:auto;margin:0;flex:none}.confirm .void-ask .hint{margin:0}.confirm .receipt-lines,.payments-popup .receipt-lines{flex-basis:100%;list-style:none;margin:0;padding:0;display:grid;gap:6px}.confirm .receipt-lines li,.payments-popup .receipt-lines li{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}dialog.ask-popup{width:min(560px,100vw - 32px);padding:20px 24px;border:1px solid var(--border);border-radius:12px;background:var(--page);color:var(--text)}dialog.ask-popup::backdrop{background:#00000073}dialog.ask-popup h2{margin:0 0 12px;font-size:18px}dialog.ask-popup p{margin:0 0 10px;line-height:1.5}dialog.ask-popup .ask-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;margin-top:16px}.menu-backdrop{position:fixed;inset:0;z-index:40}.pay-menu{position:fixed;z-index:41;display:grid;min-width:200px;max-width:300px;padding:4px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 20px #00000024}.pay-menu button{border:none;background:transparent;text-align:left;padding:8px 12px;border-radius:6px}.pay-menu button:hover,.pay-menu button:focus-visible{background:color-mix(in srgb,var(--primary) 12%,white);outline:none}dialog.pay-popup{width:min(520px,100vw - 32px)}.pay-amount{display:inline-flex;align-items:center;gap:6px;font-weight:500}.pay-amount input{width:8em}.pay-amount input[readonly]{background:var(--page)}.allocation{margin:12px 0;min-height:2.5em}.allocation .pieces{list-style:none;margin:6px 0;padding:0}.allocation .pieces li{display:flex;flex-wrap:wrap;gap:4px 10px;padding:6px 0;border-bottom:1px solid var(--border)}.allocation .pieces .name{font-weight:500}.pay-popup .receipt{display:inline-flex;align-items:center;gap:6px}.pay-popup .receipt input{width:auto}.apply-to{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;border:none;padding:0;margin:10px 0 0}.apply-to legend{float:left;font-weight:500;margin-right:6px;padding:0}.apply-to label{display:inline-flex;align-items:center;gap:6px}.apply-to input{width:auto}.owing-head{margin:10px 0 0;font-weight:500;color:var(--danger)}.allocation .owing li{color:var(--danger)}dialog.payments-popup{padding-top:0}dialog.payments-popup h2{margin:0 -24px 16px;padding:14px 24px;background:var(--primary);color:#fff}.payments-popup>p:first-of-type,.payments-popup h2+p{font-weight:500}.payments-popup .receipt-lines{gap:8px}.payments-popup .receipt-lines li{justify-content:space-between;padding:8px 12px;background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--primary);border-radius:var(--radius)}.payments-popup .receipt-lines button,.payments-popup button.outline{color:var(--primary);border-color:var(--primary);background:var(--surface)}.payments-popup .receipt-lines button{padding:4px 14px}.payments-popup .receipt-lines button:hover:not(:disabled),.payments-popup button.outline:hover:not(:disabled){background:color-mix(in srgb,var(--primary) 10%,white)}
