*{box-sizing:border-box}body{color:#111;background:#fafafa;margin:0;font-family:system-ui,-apple-system,sans-serif}main{max-width:520px;margin:0 auto;padding:16px}h1{margin:0 0 12px;font-size:1.3rem}h2{margin:20px 0 8px;font-size:1rem}.card{background:#fff;border:1px solid #e5e5e5;border-radius:12px;margin-bottom:12px;padding:12px}.row{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.row>*{flex:1}button,input{font:inherit;background:#fff;border:1px solid #ccc;border-radius:8px;padding:10px}button{cursor:pointer}button.on{color:#fff;background:#4f46e5;border-color:#4f46e5}button.primary{color:#fff;background:#111;border-color:#111;width:100%}button.link{color:#b91c1c;background:0 0;border:none;flex:0;padding:4px 8px}input{width:100%}.err{color:#b91c1c;font-size:.9rem}.totals{text-align:center;grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.totals b{font-size:1.4rem;display:block}.totals span{color:#555;font-size:.75rem}ul{margin:0;padding:0;list-style:none}li{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:8px 0;display:flex}table{border-collapse:collapse;width:100%;font-size:.85rem}th,td{text-align:right;border-bottom:1px solid #eee;padding:6px 4px}th:first-child,td:first-child{text-align:left}
