*{box-sizing:border-box}body{background:#fff;margin:0}.page{color:#1a1a1a;max-width:900px;margin:0 auto;padding:16px;font-family:system-ui,sans-serif}h1{font-size:1.4rem}.hint{color:#666;font-size:.9rem}.card{background:#f7f7f8;border-radius:8px;margin-bottom:16px;padding:16px}.card h2{margin-top:0;font-size:1.1rem}.card label{margin-bottom:10px;font-size:.9rem;display:block}.card input,.card select{box-sizing:border-box;width:100%;margin-top:4px;padding:8px;font-size:1rem;display:block}.extra-row{border-top:1px solid #ddd;flex-wrap:wrap;align-items:end;gap:8px;margin-bottom:10px;padding-top:10px;display:flex}.extra-row label{flex:120px}button.add,button.remove{cursor:pointer;border:none;border-radius:6px;padding:8px 14px}button.add{color:#fff;background:#2563eb}button.remove{color:#fff;background:#e11d48;height:fit-content}button.show-results{color:#fff;cursor:pointer;background:#16a34a;border:none;border-radius:8px;width:100%;margin-bottom:20px;padding:14px;font-size:1.05rem;font-weight:600;display:block}table.comparison{border-collapse:collapse;width:100%;font-size:.85rem}table.comparison th,table.comparison td{text-align:center;border:1px solid #ddd;padding:6px 8px}.payment-list{max-height:480px;margin:0;padding:0;list-style:none;overflow-y:auto}.payment-item{border-top:1px solid #e3e3e5;grid-template-rows:auto auto;grid-template-columns:32px 1fr auto;align-items:center;column-gap:12px;padding:10px 4px;display:grid}.payment-item:first-child{border-top:none}.payment-item .marker{color:#444;background:#e3e3e5;border-radius:50%;grid-area:1/1/3;justify-content:center;align-items:center;width:32px;height:32px;font-size:.85rem;display:flex}.payment-item.extra .marker{background:#dcfce7}.payment-item .info{grid-area:1/2/3}.payment-item .date{font-size:.95rem}.payment-item .amount{color:#666;font-size:.85rem}.payment-item .badge-top,.payment-item .badge-bottom{white-space:nowrap;text-align:center;grid-column:3;font-size:.8rem}.payment-item .badge-top{grid-row:1}.payment-item .badge-bottom{grid-row:2}.payment-item.scheduled .badge-top{color:#888}.payment-item.paid{opacity:.6}.payment-item .badge-bottom,.payment-item.extra .badge-top{color:#16a34a;font-weight:600}@media (width<=600px){.page{padding:10px}table.comparison{font-size:.75rem}.payment-item .badge-top,.payment-item .badge-bottom{font-size:.7rem}}
